Space Teleporter can teleport now.

This commit is contained in:
2020-03-22 23:06:03 +01:00
parent 1444c73dbb
commit 3f041fddc0
3 changed files with 41 additions and 1 deletions

View File

@@ -4,8 +4,13 @@ import de.wulkanat.www.new_frontiers.NewFrontiers
import de.wulkanat.www.new_frontiers.proxy.registerItemRenderer
import net.minecraft.block.Block
import net.minecraft.block.material.Material
import net.minecraft.block.state.IBlockState
import net.minecraft.creativetab.CreativeTabs
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.Item
import net.minecraft.util.EnumFacing
import net.minecraft.util.EnumHand
import net.minecraft.util.math.BlockPos
import net.minecraft.world.World
abstract class NFBlock(
@@ -13,6 +18,7 @@ abstract class NFBlock(
val collidable: Boolean = true,
val tickRate: Int = 10,
val hasCustomModel: Boolean = true,
val onClick: (ClickParameters) -> Boolean = { false },
material: Material,
hardness: Float = 1.0F,
resistance: Float = 1.0F,
@@ -45,7 +51,25 @@ abstract class NFBlock(
return tickRate
}
override fun onBlockActivated(world: World, pos: BlockPos, state: IBlockState, playerIn: EntityPlayer, hand: EnumHand, sode: EnumFacing, x: Float, y: Float, z: Float): Boolean {
if (world.isRemote) return true
return onClick(ClickParameters(world, pos, state, playerIn, hand, sode, x, y, z))
}
fun registerModels() {
registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory")
}
class ClickParameters(
val world: World,
val pos: BlockPos,
val state: IBlockState,
val player: EntityPlayer,
val hand: EnumHand,
val sode: EnumFacing,
val x: Float,
val y: Float,
val z: Float
)
}

View File

@@ -3,7 +3,12 @@ package de.wulkanat.www.new_frontiers.abstract_helpers
import de.wulkanat.www.new_frontiers.NewFrontiers
import de.wulkanat.www.new_frontiers.proxy.registerItemRenderer
import net.minecraft.creativetab.CreativeTabs
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.Item
import net.minecraft.item.ItemStack
import net.minecraft.util.ActionResult
import net.minecraft.util.EnumHand
import net.minecraft.world.World
abstract class NFItem(
name: String,

View File

@@ -2,11 +2,22 @@ package de.wulkanat.www.new_frontiers.blocks
import de.wulkanat.www.new_frontiers.abstract_helpers.NFBlock
import net.minecraft.block.material.Material
import net.minecraft.entity.player.EntityPlayerMP
class BlockSpaceTeleporter : NFBlock(
material = Material.GROUND,
hardness = 1.5F,
resistance = 2.5F,
lightLevel = 15,
name = "space_teleporter"
name = "space_teleporter",
onClick = {
if (it.player is EntityPlayerMP) {
it.player.changeDimension(2)
it.player.setPositionAndUpdate(0.0, 0.0, 0.0)
true
} else {
false
}
}
)