From 169f89574162b4d2fa0cf786b4e23a15f99500c9 Mon Sep 17 00:00:00 2001 From: kitsushadow Date: Sat, 3 Dec 2016 15:29:18 -0500 Subject: [PATCH] Updating with rotation --- .../nmd/primal/forgecraft/blocks/Firebox.java | 34 ++++++++++++++++++- .../forgecraft/blockstates/firebox.json | 5 ++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/main/java/nmd/primal/forgecraft/blocks/Firebox.java b/src/main/java/nmd/primal/forgecraft/blocks/Firebox.java index a72e2d9a..7615b768 100644 --- a/src/main/java/nmd/primal/forgecraft/blocks/Firebox.java +++ b/src/main/java/nmd/primal/forgecraft/blocks/Firebox.java @@ -2,8 +2,10 @@ package nmd.primal.forgecraft.blocks; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; +import net.minecraft.block.BlockHorizontal; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; +import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -28,13 +30,14 @@ import javax.annotation.Nullable; /** * Created by kitsu on 11/26/2016. */ -public class Firebox extends BlockContainer implements ITileEntityProvider { +public class Firebox extends BlockHorizontal implements ITileEntityProvider { //public class Firebox extends Block { public Firebox(Material material) { super(material); setUnlocalizedName(ModInfo.ForgecraftBlocks.FIREBOX.getUnlocalizedName()); setRegistryName(ModInfo.ForgecraftBlocks.FIREBOX.getRegistryName()); setCreativeTab(ModInfo.TAB_FORGECRAFT); + setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH)); } @Override @@ -51,6 +54,13 @@ public class Firebox extends BlockContainer implements ITileEntityProvider { TileFirebox tile = (TileFirebox) world.getTileEntity(pos); if (tile != null) { + + ItemStack playerStack = player.getHeldItemMainhand(); + ItemStack tileStack = tile.getStackInSlot(0); + + System.out.println(playerStack + " : " + tileStack); + + /* if (tile.getStackInSlot(0) == null){ if (player.inventory.getCurrentItem()!=null) { tile.setInventorySlotContents(0, player.inventory.getCurrentItem()); @@ -65,6 +75,7 @@ public class Firebox extends BlockContainer implements ITileEntityProvider { return true; } } + */ } } @@ -91,6 +102,12 @@ public class Firebox extends BlockContainer implements ITileEntityProvider { super.breakBlock(worldIn, pos, state); } + @Override + public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) { + IBlockState state = super.onBlockPlaced(worldIn, pos, facing, hitX, hitY, hitZ, meta, placer); + return state.withProperty(FACING, placer.getHorizontalFacing()); + } + @Override public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack){ if (stack.hasDisplayName()){ @@ -98,6 +115,21 @@ public class Firebox extends BlockContainer implements ITileEntityProvider { } } + @Override + public int getMetaFromState(IBlockState state) { + return state.getValue(FACING).getHorizontalIndex(); + } + + @Override + public IBlockState getStateFromMeta(int meta) { + return getDefaultState().withProperty(FACING, EnumFacing.getHorizontal(meta)); + } + + @Override + protected BlockStateContainer createBlockState() { + return new BlockStateContainer(this, FACING); + } + @Override public boolean isFullCube(IBlockState state) { diff --git a/src/main/resources/assets/forgecraft/blockstates/firebox.json b/src/main/resources/assets/forgecraft/blockstates/firebox.json index b54aaf59..33a8cc00 100644 --- a/src/main/resources/assets/forgecraft/blockstates/firebox.json +++ b/src/main/resources/assets/forgecraft/blockstates/firebox.json @@ -1,5 +1,8 @@ { "variants": { - "normal": { "model": "forgecraft:firebox"} + "facing=north": { "model": "forgecraft:firebox" }, + "facing=east": { "model": "forgecraft:firebox", "y": 90 }, + "facing=south": { "model": "forgecraft:firebox", "y": 180 }, + "facing=west": { "model": "forgecraft:firebox", "y": 270 } } } \ No newline at end of file