2015-11-29 02:25:46 +00:00
|
|
|
package WayofTime.bloodmagic.block;
|
|
|
|
|
2017-08-16 04:30:48 +00:00
|
|
|
import WayofTime.bloodmagic.BloodMagic;
|
|
|
|
import WayofTime.bloodmagic.client.IVariantProvider;
|
|
|
|
import WayofTime.bloodmagic.item.ItemTelepositionFocus;
|
|
|
|
import WayofTime.bloodmagic.tile.TileTeleposer;
|
2018-03-08 03:43:00 +00:00
|
|
|
import WayofTime.bloodmagic.util.Constants;
|
2015-11-29 02:25:46 +00:00
|
|
|
import net.minecraft.block.BlockContainer;
|
|
|
|
import net.minecraft.block.material.Material;
|
|
|
|
import net.minecraft.block.state.IBlockState;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2017-08-16 04:24:59 +00:00
|
|
|
import net.minecraft.item.ItemBlock;
|
2015-11-29 02:25:46 +00:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.tileentity.TileEntity;
|
2016-03-18 17:16:38 +00:00
|
|
|
import net.minecraft.util.EnumBlockRenderType;
|
2015-11-29 02:25:46 +00:00
|
|
|
import net.minecraft.util.EnumFacing;
|
2016-03-18 17:16:38 +00:00
|
|
|
import net.minecraft.util.EnumHand;
|
|
|
|
import net.minecraft.util.math.BlockPos;
|
2015-11-29 02:25:46 +00:00
|
|
|
import net.minecraft.world.World;
|
2016-03-16 22:37:55 +00:00
|
|
|
|
2017-08-16 04:30:48 +00:00
|
|
|
public class BlockTeleposer extends BlockContainer implements IVariantProvider, IBMBlock {
|
|
|
|
public BlockTeleposer() {
|
2016-04-24 17:06:28 +00:00
|
|
|
super(Material.ROCK);
|
2015-11-29 02:25:46 +00:00
|
|
|
|
2017-08-15 03:53:42 +00:00
|
|
|
setCreativeTab(BloodMagic.TAB_BM);
|
|
|
|
setUnlocalizedName(BloodMagic.MODID + ".teleposer");
|
2015-11-29 02:25:46 +00:00
|
|
|
setHardness(2.0F);
|
|
|
|
setResistance(5.0F);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2017-08-16 04:30:48 +00:00
|
|
|
public EnumBlockRenderType getRenderType(IBlockState state) {
|
2016-03-18 17:16:38 +00:00
|
|
|
return EnumBlockRenderType.MODEL;
|
2015-11-29 02:25:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2017-08-16 04:30:48 +00:00
|
|
|
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
|
2017-01-02 05:43:34 +00:00
|
|
|
ItemStack playerItem = player.getHeldItem(hand);
|
2015-11-29 02:25:46 +00:00
|
|
|
|
2017-01-02 05:43:34 +00:00
|
|
|
if (playerItem.getItem() instanceof ItemTelepositionFocus)
|
2015-11-29 02:25:46 +00:00
|
|
|
((ItemTelepositionFocus) playerItem.getItem()).setBlockPos(playerItem, world, pos);
|
2016-02-04 07:14:26 +00:00
|
|
|
else if (world.getTileEntity(pos) instanceof TileTeleposer)
|
2016-01-01 17:08:17 +00:00
|
|
|
player.openGui(BloodMagic.instance, Constants.Gui.TELEPOSER_GUI, world, pos.getX(), pos.getY(), pos.getZ());
|
2015-11-29 02:25:46 +00:00
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2016-01-01 17:08:17 +00:00
|
|
|
@Override
|
2017-08-16 04:30:48 +00:00
|
|
|
public void breakBlock(World world, BlockPos blockPos, IBlockState blockState) {
|
2016-01-09 02:30:49 +00:00
|
|
|
TileTeleposer tileTeleposer = (TileTeleposer) world.getTileEntity(blockPos);
|
|
|
|
if (tileTeleposer != null)
|
|
|
|
tileTeleposer.dropItems();
|
2016-01-01 17:08:17 +00:00
|
|
|
|
2016-01-09 02:30:49 +00:00
|
|
|
super.breakBlock(world, blockPos, blockState);
|
2016-01-01 17:08:17 +00:00
|
|
|
}
|
|
|
|
|
2015-11-29 02:25:46 +00:00
|
|
|
@Override
|
2017-08-16 04:30:48 +00:00
|
|
|
public TileEntity createNewTileEntity(World worldIn, int meta) {
|
2016-01-01 17:08:17 +00:00
|
|
|
return new TileTeleposer();
|
2015-11-29 02:25:46 +00:00
|
|
|
}
|
2016-03-16 22:37:55 +00:00
|
|
|
|
2017-08-16 04:24:59 +00:00
|
|
|
@Override
|
|
|
|
public ItemBlock getItem() {
|
|
|
|
return new ItemBlock(this);
|
|
|
|
}
|
2015-11-29 02:25:46 +00:00
|
|
|
}
|