Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.secknv.nkmod.block;
- import net.minecraft.block.Block;
- import net.minecraft.block.ITileEntityProvider;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.PropertyBool;
- import net.minecraft.block.properties.PropertyDirection;
- import net.minecraft.block.state.BlockStateContainer;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.item.ItemStack;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.BlockRenderLayer;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.World;
- import net.secknv.nkmod.Naschkatze;
- import net.secknv.nkmod.Reference;
- import net.secknv.nkmod.tileentity.TileEntityCoil;
- public class BlockCoil extends Block
- {
- public static final PropertyDirection FACING = PropertyDirection.create("facing");
- public static final PropertyBool ENABLED = PropertyBool.create("enabled");
- private final String name = "copper_coil";
- public BlockCoil()
- {
- super(Material.ROCK);
- setRegistryName(name);
- setUnlocalizedName(Reference.MODID + "." + name);
- setCreativeTab(Naschkatze.tabNk);
- setHardness(1.0f);
- setResistance(5.0f);
- }
- @Override
- public void neighborChanged(IBlockState state, World world, BlockPos pos, Block blockIn) {
- int powered = world.isBlockIndirectlyGettingPowered(pos);
- world.setBlockState(pos, state.withProperty(ENABLED, powered > 0), 3);
- }
- @Override
- public boolean isBlockNormalCube(IBlockState blockState) {
- return false;
- }
- @Override
- public boolean isOpaqueCube(IBlockState blockState) {
- return false;
- }
- @Override
- public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
- world.setBlockState(pos, state.withProperty(FACING, getFacingFromEntity(pos, placer)), 2);
- }
- public static EnumFacing getFacingFromEntity(BlockPos clickedBlock, EntityLivingBase entity) {
- return EnumFacing.getFacingFromVector(
- (float) (entity.posX - clickedBlock.getX()),
- (float) (entity.posY - clickedBlock.getY()),
- (float) (entity.posZ - clickedBlock.getZ()));
- }
- @Override
- public IBlockState getStateFromMeta(int meta) {
- return getDefaultState()
- .withProperty(FACING, EnumFacing.getFront(meta & 7))
- .withProperty(ENABLED, (meta & 8) != 0);
- }
- @Override
- public int getMetaFromState(IBlockState state) {
- return state.getValue(FACING).getIndex() + (state.getValue(ENABLED) ? 8 : 0);
- }
- @Override
- protected BlockStateContainer createBlockState() {
- return new BlockStateContainer(this, FACING, ENABLED);
- }
- @Override
- public boolean hasTileEntity(){
- return true;
- }
- @Override
- public TileEntity createTileEntity(World world, IBlockState state)
- {
- return new TileEntityCoil();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement