From b73a90dbf818fccbfa266ebb52a5273c41c87672 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Fri, 8 Jul 2016 21:54:57 +0200 Subject: [PATCH] Make wireless transmitter have a torch like model --- .../java/refinedstorage/block/BlockCable.java | 2 +- .../block/BlockWirelessTransmitter.java | 49 +++++++++++++++++- .../blockstates/wireless_transmitter.json | 44 ++-------------- .../textures/blocks/wireless_transmitter.png | Bin 0 -> 328 bytes .../blocks/wireless_transmitter_connected.png | Bin 647 -> 0 bytes .../wireless_transmitter_disconnected.png | Bin 623 -> 0 bytes 6 files changed, 53 insertions(+), 42 deletions(-) create mode 100755 src/main/resources/assets/refinedstorage/textures/blocks/wireless_transmitter.png delete mode 100755 src/main/resources/assets/refinedstorage/textures/blocks/wireless_transmitter_connected.png delete mode 100755 src/main/resources/assets/refinedstorage/textures/blocks/wireless_transmitter_disconnected.png diff --git a/src/main/java/refinedstorage/block/BlockCable.java b/src/main/java/refinedstorage/block/BlockCable.java index 9b525d662..add8d7472 100755 --- a/src/main/java/refinedstorage/block/BlockCable.java +++ b/src/main/java/refinedstorage/block/BlockCable.java @@ -13,7 +13,7 @@ import refinedstorage.api.network.INetworkNode; import refinedstorage.tile.TileCable; public class BlockCable extends BlockNode { - public static final AxisAlignedBB CABLE_AABB = new AxisAlignedBB(4 * (1F / 16F), 4 * (1F / 16F), 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F)); + private static final AxisAlignedBB CABLE_AABB = new AxisAlignedBB(4 * (1F / 16F), 4 * (1F / 16F), 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F)); public static final PropertyBool NORTH = PropertyBool.create("north"); public static final PropertyBool EAST = PropertyBool.create("east"); diff --git a/src/main/java/refinedstorage/block/BlockWirelessTransmitter.java b/src/main/java/refinedstorage/block/BlockWirelessTransmitter.java index 211fe4307..f1dca21b0 100755 --- a/src/main/java/refinedstorage/block/BlockWirelessTransmitter.java +++ b/src/main/java/refinedstorage/block/BlockWirelessTransmitter.java @@ -1,18 +1,25 @@ package refinedstorage.block; +import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageGui; import refinedstorage.tile.TileWirelessTransmitter; public class BlockWirelessTransmitter extends BlockNode { + // From BlockTorch + private static final AxisAlignedBB WIRELESS_TRANSMITTER_AABB = new AxisAlignedBB(0.4000000059604645D, 0.0D, 0.4000000059604645D, 0.6000000238418579D, 0.6000000238418579D, 0.6000000238418579D); + public BlockWirelessTransmitter() { super("wireless_transmitter"); } @@ -31,7 +38,45 @@ public class BlockWirelessTransmitter extends BlockNode { return true; } - public boolean hasConnectivityState() { - return true; + @Override + public void neighborChanged(IBlockState state, World world, BlockPos pos, Block block) { + if (!canPlaceBlockAt(world, pos) && world.getBlockState(pos).getBlock() == this) { + dropBlockAsItem(world, pos, state, 0); + + world.setBlockToAir(pos); + } + } + + @Override + public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) { + return WIRELESS_TRANSMITTER_AABB; + } + + @Override + public boolean isOpaqueCube(IBlockState state) { + return false; + } + + @Override + public boolean isFullCube(IBlockState state) { + return false; + } + + @Override + public boolean canPlaceBlockAt(World world, BlockPos pos) { + BlockPos downPos = pos.offset(EnumFacing.DOWN); + IBlockState down = world.getBlockState(downPos); + + return down.getBlock().canPlaceTorchOnTop(down, world, downPos); + } + + @Override + public BlockRenderLayer getBlockLayer() { + return BlockRenderLayer.CUTOUT; + } + + @Override + public EnumPlacementType getPlacementType() { + return null; } } diff --git a/src/main/resources/assets/refinedstorage/blockstates/wireless_transmitter.json b/src/main/resources/assets/refinedstorage/blockstates/wireless_transmitter.json index da440692b..59d1e53a0 100755 --- a/src/main/resources/assets/refinedstorage/blockstates/wireless_transmitter.json +++ b/src/main/resources/assets/refinedstorage/blockstates/wireless_transmitter.json @@ -1,53 +1,19 @@ { "forge_marker": 1, "defaults": { - "model": "orientable", + "model": "torch", "textures": { - "side": "refinedstorage:blocks/side", - "top": "refinedstorage:blocks/side" + "torch": "refinedstorage:blocks/wireless_transmitter" } }, "variants": { "inventory": [ { - "textures": { - "front": "refinedstorage:blocks/wireless_transmitter_disconnected" - }, - "transform": "forge:default-block", - "y": 0 + "transform": "forge:default-block" } ], - "connected": { - "true": { - "textures": { - "front": "refinedstorage:blocks/wireless_transmitter_connected" - } - }, - "false": { - "textures": { - "front": "refinedstorage:blocks/wireless_transmitter_disconnected" - } - } - }, - "direction": { - "north": { - "y": 0 - }, - "east": { - "y": 90 - }, - "south": { - "y": 180 - }, - "west": { - "y": 270 - }, - "up": { - "x": 270 - }, - "down": { - "x": 90 - } + "normal": { + "model": "torch" } } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/wireless_transmitter.png b/src/main/resources/assets/refinedstorage/textures/blocks/wireless_transmitter.png new file mode 100755 index 0000000000000000000000000000000000000000..85b505d72353998f934abd2617eb36816bc42a7b GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ2Aw(#3Idn8qXit}c(D5QVo#B27BoE=on6 zczN%E(}{&YGCo{*YWqR(1>+CyUcHPG$Hm-Iu@^GhX7(pOJbkjU}!k zTX%f-!a&<_VVi50zbil2|KH@cxPL|Af0xCYU9z8QwAJs6_Nw(oy96qOS-#dPC*Az^ zX-oM=zMGgjcTP>X$t;64f!EzFf3C|g@x8n_*T3jf?8S^#uRc81K2Xh=Ve;DcqmyAY P&=U-vu6{1-oD!MN2bZe?^J zG%heMIczh2P5=M`1xZ9fR5(vPQn8BaKoq?{@z!;9KX2J0MX<0~EG)JNTcnT_29%W` zA%uYhv>28!MFa^UgrFcHMHEbtB3Pub-!t*Ocj6sp&OP_cICp3Z_y{h8b0I|3f&Xxf zKLA)RCBE-7#t2besvFSW+IxGy-RPGd@5cDpDHLt}2x zd@;vubky!KNsn>|{INKSQ7o?vd^UhU(>_VpbzB=o{h$Nw`~PpYTfPVp1U#Uy580Rg zMVhAZKo&61g9j2K5c_D4UxZ~Mjm1t#N6vK=Oh2bd2Hi(n0THShC()M!%^?S ziAjFrZKl&HO(qkx5F*<4n8W1p#Ixf#>or_@SZ@9@42_1ER8>W@WqRAgD5cIC7LbC+ z5_ovwb*Soy#^bSV+vxXlxg__A+&`wd1mkagDV5CA^7|VCkPy>oG{ORwcwJCn6I-Ti z%R<=blxdpGWzb+4k3Zy*tQFoz2guO*E@Y8y<5U3L!7UaGRZ;2f?Hy1Q1?R)~(E%-N2bZe?^J zG%heMIczh2P5=M_?MXyIR5(vPlCg{OKoG^}pFOTf5iBeY3yUk{3JXc0pqzvdf&>!K zVv&#{0SQ5ZD2Sv`!4xUPB8C0;+vNCOc9xx)H*YsPD;p4EN}Ez~9A_=mRxxh@QKczi z82Y|1Saq*npm{a#=KX#@pU)RoKUp_TL*{zDR#kPs-fh>G)oOJ-9`7wKm&@&OtE(Cy z0O`@qYb6qqB!Xt z_^~|GD*DPYtpZ^*`j+u{%(d-Aq82Rv-z;vX-6&E~A_DDa{3D~$NJYB94+1n|7*V{- zc8n}dyPe}S){07vDHwha9nVp^z+VT!RwM|5B#Cvy)(YVOB|m_$4%WlrPzHkmErhh8 z#`ATvMLf@Q9ES+*`Y+Q-*S0a2PR(XBf91nr>i56&k?bY!qXjfN z-