From babe66c154ffa1798b287e68634bffd5c5645036 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 24 Nov 2022 16:52:43 +0100 Subject: [PATCH] boxduct hitbox, tile mappings --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../com/hbm/blocks/network/FluidDuctBox.java | 65 ++++++++++-------- .../blocks/network/RadioTorchReceiver.java | 33 +++++++++ .../hbm/blocks/network/RadioTorchSender.java | 5 +- .../java/com/hbm/tileentity/TileMappings.java | 3 + .../network/TileEntityRadioTorchReceiver.java | 5 ++ .../network/TileEntityRadioTorchSender.java | 5 ++ .../textures/gui/machine/gui_rtty_sender.png | Bin 0 -> 2603 bytes 8 files changed, 90 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java create mode 100644 src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchReceiver.java create mode 100644 src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchSender.java create mode 100755 src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_sender.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 8b365ed54..9d198fed7 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -790,6 +790,7 @@ public class ModBlocks { public static Block fluid_duct_neo; public static Block fluid_duct_box; public static Block radio_torch_sender; + public static Block radio_torch_receiver; public static Block conveyor; //public static Block conveyor_classic; @@ -1979,6 +1980,7 @@ public class ModBlocks { fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pipe_neo"); fluid_duct_box = new FluidDuctBox(Material.iron).setBlockName("fluid_duct_box").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box"); radio_torch_sender = new RadioTorchSender().setBlockName("radio_torch_sender").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + radio_torch_receiver = new RadioTorchReceiver().setBlockName("radio_torch_receiver").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); //conveyor_classic = new BlockConveyorClassic().setBlockName("conveyor_classic").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); @@ -3161,6 +3163,7 @@ public class ModBlocks { GameRegistry.registerBlock(fluid_duct_box, ItemBlockBase.class, fluid_duct_box.getUnlocalizedName()); GameRegistry.registerBlock(fluid_duct_solid, fluid_duct_solid.getUnlocalizedName()); GameRegistry.registerBlock(radio_torch_sender, radio_torch_sender.getUnlocalizedName()); + GameRegistry.registerBlock(radio_torch_receiver, radio_torch_receiver.getUnlocalizedName()); GameRegistry.registerBlock(crane_extractor, crane_extractor.getUnlocalizedName()); GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java index 94b4e0a3c..4f1bc09cd 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java @@ -179,7 +179,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve double lower = 0.125D; double upper = 0.875D; double jLower = 0.0625D; - double jUpper = 0.9375D; //TODO + double jUpper = 0.9375D; int meta = world.getBlockMetadata(x, y, z); for(int i = 2; i < 13; i += 3) { @@ -201,28 +201,23 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); if(mask == 0) { - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.6875D, y + 0.3125D, z + 0.3125D, x + 1.0D, y + 0.6875D, z + 0.6875D)); - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + 0.3125D, z + 0.3125D, x + 0.3125D, y + 0.6875D, z + 0.6875D)); - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.6875D, z + 0.3125D, x + 0.6875D, y + 1.0D, z + 0.6875D)); - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.0D, z + 0.3125D, x + 0.6875D, y + 0.3125D, z + 0.6875D)); - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.6875D, x + 0.6875D, y + 0.6875D, z + 1.0D)); - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.0D, x + 0.6875D, y + 0.6875D, z + 0.3125D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + jLower, y + jLower, z + jLower, x + jUpper, y + jUpper, z + jUpper)); } else if(mask == 0b100000 || mask == 0b010000 || mask == 0b110000) { - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + 0.3125D, z + 0.3125D, x + 1.0D, y + 0.6875D, z + 0.6875D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + lower, z + lower, x + 1.0D, y + upper, z + upper)); } else if(mask == 0b001000 || mask == 0b000100 || mask == 0b001100) { - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.0D, z + 0.3125D, x + 0.6875D, y + 1.0D, z + 0.6875D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + 0.0D, z + lower, x + upper, y + 1.0D, z + upper)); } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.0D, x + 0.6875D, y + 0.6875D, z + 1.0D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + 0.0D, x + upper, y + upper, z + 1.0D)); } else { - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.3125D, x + 0.6875D, y + 0.6875D, z + 0.6875D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + jLower, y + jLower, z + jLower, x + jUpper, y + jUpper, z + jUpper)); - if(pX) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.6875D, y + 0.3125D, z + 0.3125D, x + 1.0D, y + 0.6875D, z + 0.6875D)); - if(nX) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + 0.3125D, z + 0.3125D, x + 0.3125D, y + 0.6875D, z + 0.6875D)); - if(pY) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.6875D, z + 0.3125D, x + 0.6875D, y + 1.0D, z + 0.6875D)); - if(nY) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.0D, z + 0.3125D, x + 0.6875D, y + 0.3125D, z + 0.6875D)); - if(pZ) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.6875D, x + 0.6875D, y + 0.6875D, z + 1.0D)); - if(nZ) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.0D, x + 0.6875D, y + 0.6875D, z + 0.3125D)); + if(pX) bbs.add(AxisAlignedBB.getBoundingBox(x + upper, y + lower, z + lower, x + 1.0D, y + upper, z + upper)); + if(nX) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + lower, z + lower, x + lower, y + upper, z + upper)); + if(pY) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + upper, z + lower, x + upper, y + 1.0D, z + upper)); + if(nY) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + 0.0D, z + lower, x + upper, y + lower, z + upper)); + if(pZ) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + upper, x + upper, y + upper, z + 1.0D)); + if(nZ) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + 0.0D, x + upper, y + upper, z + lower)); } } @@ -248,6 +243,22 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; FluidType type = pipe.getType(); + float lower = 0.125F; + float upper = 0.875F; + float jLower = 0.0625F; + float jUpper = 0.9375F; + int meta = world.getBlockMetadata(x, y, z); + + for(int i = 2; i < 13; i += 3) { + + if(meta > i) { + lower += 0.0625F; + upper -= 0.0625F; + jLower += 0.0625F; + jUpper -= 0.0625F; + } + } + boolean nX = canConnectTo(world, x, y, z, Library.NEG_X, type); boolean pX = canConnectTo(world, x, y, z, Library.POS_X, type); boolean nY = canConnectTo(world, x, y, z, Library.NEG_Y, type); @@ -257,22 +268,22 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); if(mask == 0) { - this.setBlockBounds(0F, 0F, 0F, 1F, 1F, 1F); + this.setBlockBounds(jLower, jLower, jLower, jUpper, jUpper, jUpper); } else if(mask == 0b100000 || mask == 0b010000 || mask == 0b110000) { - this.setBlockBounds(0F, 0.3125F, 0.3125F, 1F, 0.6875F, 0.6875F); + this.setBlockBounds(0F, lower, lower, 1F, upper, upper); } else if(mask == 0b001000 || mask == 0b000100 || mask == 0b001100) { - this.setBlockBounds(0.3125F, 0F, 0.3125F, 0.6875F, 1F, 0.6875F); + this.setBlockBounds(lower, 0F, lower, upper, 1F, upper); } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { - this.setBlockBounds(0.3125F, 0.3125F, 0F, 0.6875F, 0.6875F, 1F); + this.setBlockBounds(lower, lower, 0F, upper, upper, 1F); } else { this.setBlockBounds( - nX ? 0F : 0.3125F, - nY ? 0F : 0.3125F, - nZ ? 0F : 0.3125F, - pX ? 1F : 0.6875F, - pY ? 1F : 0.6875F, - pZ ? 1F : 0.6875F); + nX ? 0F : jLower, + nY ? 0F : jLower, + nZ ? 0F : jLower, + pX ? 1F : jUpper, + pY ? 1F : jUpper, + pZ ? 1F : jUpper); } } } diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java b/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java new file mode 100644 index 000000000..19a1bb7d5 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java @@ -0,0 +1,33 @@ +package com.hbm.blocks.network; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.network.TileEntityRadioTorchReceiver; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class RadioTorchReceiver extends RadioTorchBase { + + @SideOnly(Side.CLIENT) + protected IIcon iconOn; + + public RadioTorchReceiver() { + super(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":rtty_rec_off"); + this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":rtty_rec_on"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRadioTorchReceiver(); + } +} diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java index ba82ce6c1..fa7aaf25a 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java @@ -1,6 +1,7 @@ package com.hbm.blocks.network; import com.hbm.lib.RefStrings; +import com.hbm.tileentity.network.TileEntityRadioTorchSender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,7 +27,7 @@ public class RadioTorchSender extends RadioTorchBase { } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return null; + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRadioTorchSender(); } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index beaec1889..dfa4965f7 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -331,6 +331,9 @@ public class TileMappings { put(TileEntityCraneBoxer.class, "tileentity_boxer"); put(TileEntityCraneUnboxer.class, "tileentity_unboxer"); put(TileEntityCraneRouter.class, "tileentity_router"); + + put(TileEntityRadioTorchSender.class, "tileentity_rtty_sender"); + put(TileEntityRadioTorchReceiver.class, "tileentity_rtty_rec"); } private static void put(Class clazz, String... names) { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchReceiver.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchReceiver.java new file mode 100644 index 000000000..e83dd095a --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchReceiver.java @@ -0,0 +1,5 @@ +package com.hbm.tileentity.network; + +public class TileEntityRadioTorchReceiver extends TileEntityRadioTorchBase { + +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchSender.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchSender.java new file mode 100644 index 000000000..0203c7fd0 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchSender.java @@ -0,0 +1,5 @@ +package com.hbm.tileentity.network; + +public class TileEntityRadioTorchSender extends TileEntityRadioTorchBase { + +} diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_sender.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_sender.png new file mode 100755 index 0000000000000000000000000000000000000000..1ddae939e224e0335ca5b1f4585101e07e506db5 GIT binary patch literal 2603 zcmb7`dpy&98^^yh_x4jP+mnhmX(`=trxeMcAIa|tk%(|P98P8AU)j!Yc^*qn_pYQMb<9dBR*Y$Z{*XtK$y>FMs z0-Xf_01XD6b`Ssr{D}Y%3cj4q@!a7{)z^|?3&H0ibRrS}wGRy1cH0Z-(k=_{<-2sy z-AB7OUB>A7)O{Whzd+;@6Z6-j_PM!gd5x~>wYkSgvE0rK=A2*IMW*`r_pQEM$x-aC zGd%I;1G7eZR4Bxl)i`t)^4% z542ThrMZZe$N+uyt7cw`_LW zKeh$&T3qp5rfHf>{Ik?E zbu{f_tnANb_0+Afyl@A}vGHMr%yd`%sSGyso*|&XzQ%Zhpt{)N;)trc3LL)v(3JSh z3tcErnLTdcs<{F95HnAGS+Q-VduCK>7i>DQ5cD4h-6!DZ3LW!q>UK!;Np% z_yh%QnIabjOisL6y^Cih-0XC=;C}tvw}+mVmFcjrCZTWKGvmCQojlv{;(6dq;J~#_ zW8|WtnF_~3#{z!~4+C?%-)P+TH&L8F2LeJI@_VQ)FEc_Srq3upxi*5rFYmhQjYE{0 zme6~bP=#D5&66r0^#JxV5n?Rk^>L321gd!ldn8-vs&Je(>j}kzKJ}`<;f8X5Y&?C5kS7 zecDZo>oS4>n|!x#(b0)(_>L_W6DecKsE4V8fUH(+V*i$gw&t5ThP1=k7yg#dw9Qsp zR5$gX`f@Uk4H^o=DV$MlbH6It7R<>qY3Rtf=#poqZV+Ofs3Kpt{MSDo)mbgeZKR<& zedn|@ja}kqtV&~%8>>z2>wczyPO;d%Z7Ow`e4kgW94xBP&G{W#c_t)a;yCo8CEOPe zbGPM2XJ_Xnxm@lP{+2kC(6nlC!rfx$g0zc0{lvwKb=(2xiZ>Rx$Ou zEOe4D8YVNn-#vSC4$l@FAI=CcN`=n*`I%03*YtfdNBh*WPRT#Y5@RS9rdAnkiHp_7 z6)T==P$m!8yU3;&;RDm#&(AuS^5pq^Nv%QUQZ7-l=VW;0@{cht7F)k;eWyW=rPw$& zV+8)l*t^06Qy#LlJu|A<<3Vdmb;?N#cFvOn1gfM2b>Cb}`4&usc;v9AB=Qdfix~C0 zgYm`Zf!0Pe^(2K8os8s~5U5t7l*XNGV4l{WElhC#7NgkUQKBcm`sgi+O=<%lP@Mh$)b^kBNrg=I@soU?UqJp9iIOg+)Rpm05FBEjh4?<=$TJMP)W2 zY+u3G@}i}BpRbDi@qTR@^zV9~95{?PxWZyAATL^qGC@)p0M{0l1G=|Ih6Ps9*w)h|DhR4+L9NC;qb3X0A^bg znIyfB~@rx7wpbpxM8}X!6(VlG;Z`ON&Cd4i}Q%s&f{R)!Z~>+ zQPf0hxZm>?ZGWk+q5((hQPie*$b>`VZqirTTYrcX%_C(qR3Ffdu%3qFPbu+ln1X10 zDwJ?K4kf(_+1{`xT9?Rm%8qExQPG6hP;{UiVN*}%$Ca#4f)WfjLi4mZ;KFJVy*E;! z#X(LPjBF$?62ob{r*c?72@>Tgl=5JbCUOYGa%g%vL@bYp3tL;~JpcM73JEZ=_1&OOYK8rvO%3tM+vSi7C5X|jjd0B~V%u0tlbf1ohB2p~c#(61DMKYdCb2X<=I<~oe#nFEyhKh!$Sy9aDFp7xFQ4I6$)`+=L|P@|A;#X13yD6jj~L`0JXPpFJ*hgmO%RZOjuHS~;kB44~c1lqrirm0K)>9H0 z`xhP{-G;z9Hk3z#x7=OW(CS6O&JX7dg