From 79cfe0b6c4a72058d7963806f5b68708e6852d94 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 19 Jun 2024 15:58:12 +0200 Subject: [PATCH] yippie --- changelog | 14 ++++++-------- .../com/hbm/blocks/network/FluidDuctBox.java | 13 +++++++------ .../blocks/network/FluidDuctBoxExhaust.java | 4 ++-- .../radiation/ChunkRadiationHandlerPRISM.java | 9 ++++++--- .../hbm/textures/blocks/boxduct_copper.png | Bin 1672 -> 2534 bytes .../blocks/boxduct_copper_curve_bl.png | Bin 462 -> 389 bytes .../blocks/boxduct_copper_curve_br.png | Bin 438 -> 376 bytes .../blocks/boxduct_copper_curve_tl.png | Bin 414 -> 317 bytes .../blocks/boxduct_copper_curve_tr.png | Bin 480 -> 388 bytes .../textures/blocks/boxduct_copper_end.png | Bin 615 -> 535 bytes .../blocks/boxduct_copper_junction.png | Bin 347 -> 0 bytes .../blocks/boxduct_copper_junction_0.png | Bin 0 -> 511 bytes .../blocks/boxduct_copper_junction_1.png | Bin 0 -> 621 bytes .../blocks/boxduct_copper_junction_2.png | Bin 0 -> 618 bytes .../blocks/boxduct_copper_junction_3.png | Bin 0 -> 509 bytes .../blocks/boxduct_copper_junction_4.png | Bin 0 -> 412 bytes .../blocks/boxduct_copper_straight.png | Bin 350 -> 208 bytes .../hbm/textures/blocks/boxduct_exhaust.png | Bin 1426 -> 4010 bytes .../blocks/boxduct_exhaust_curve_bl.png | Bin 395 -> 459 bytes .../blocks/boxduct_exhaust_curve_br.png | Bin 389 -> 431 bytes .../blocks/boxduct_exhaust_curve_tl.png | Bin 362 -> 442 bytes .../blocks/boxduct_exhaust_curve_tr.png | Bin 423 -> 446 bytes .../textures/blocks/boxduct_exhaust_end.png | Bin 517 -> 689 bytes .../blocks/boxduct_exhaust_junction_0.png | Bin 0 -> 598 bytes .../blocks/boxduct_exhaust_junction_1.png | Bin 0 -> 697 bytes .../blocks/boxduct_exhaust_junction_2.png | Bin 0 -> 673 bytes .../blocks/boxduct_exhaust_junction_3.png | Bin 0 -> 553 bytes .../blocks/boxduct_exhaust_junction_4.png | Bin 0 -> 463 bytes .../blocks/boxduct_exhaust_straight.png | Bin 309 -> 279 bytes .../hbm/textures/blocks/boxduct_silver.png | Bin 1394 -> 2189 bytes .../blocks/boxduct_silver_curve_bl.png | Bin 380 -> 311 bytes .../blocks/boxduct_silver_curve_br.png | Bin 372 -> 314 bytes .../blocks/boxduct_silver_curve_tl.png | Bin 355 -> 282 bytes .../blocks/boxduct_silver_curve_tr.png | Bin 395 -> 331 bytes .../textures/blocks/boxduct_silver_end.png | Bin 495 -> 452 bytes .../blocks/boxduct_silver_junction.png | Bin 280 -> 0 bytes .../blocks/boxduct_silver_junction_0.png | Bin 0 -> 401 bytes .../blocks/boxduct_silver_junction_1.png | Bin 0 -> 502 bytes .../blocks/boxduct_silver_junction_2.png | Bin 0 -> 520 bytes .../blocks/boxduct_silver_junction_3.png | Bin 0 -> 436 bytes .../blocks/boxduct_silver_junction_4.png | Bin 0 -> 354 bytes .../blocks/boxduct_silver_straight.png | Bin 293 -> 189 bytes .../hbm/textures/blocks/boxduct_white.png | Bin 0 -> 2224 bytes .../blocks/boxduct_white_curve_bl.png | Bin 377 -> 314 bytes .../blocks/boxduct_white_curve_br.png | Bin 364 -> 312 bytes .../blocks/boxduct_white_curve_tl.png | Bin 347 -> 285 bytes .../blocks/boxduct_white_curve_tr.png | Bin 395 -> 329 bytes .../hbm/textures/blocks/boxduct_white_end.png | Bin 489 -> 466 bytes .../blocks/boxduct_white_junction.png | Bin 274 -> 0 bytes .../blocks/boxduct_white_junction_0.png | Bin 0 -> 406 bytes .../blocks/boxduct_white_junction_1.png | Bin 0 -> 507 bytes .../blocks/boxduct_white_junction_2.png | Bin 0 -> 539 bytes .../blocks/boxduct_white_junction_3.png | Bin 0 -> 432 bytes .../blocks/boxduct_white_junction_4.png | Bin 0 -> 338 bytes .../blocks/boxduct_white_straight.png | Bin 294 -> 191 bytes 55 files changed, 21 insertions(+), 19 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_0.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_2.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_3.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_4.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_0.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_2.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_3.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_4.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_0.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_2.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_3.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_4.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_white.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_0.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_2.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_3.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_4.png diff --git a/changelog b/changelog index cdd12bb6a..c4aad0278 100644 --- a/changelog +++ b/changelog @@ -1,10 +1,8 @@ ## Changed -* Changed PRISM's resistance function to work more like armor resistance instead of a straight divider -* Capped PRISM's resistance value per block to 100 (bit over concrete) -* Removed the unused rare metal ores, freeing up 5 block IDs -* Changed the .75 bolt recipes +* Updated boxducts + * All boxducts are now way cleaner, only having bolts on intersections, with straight parts only having very light seams + * Intersections now have unique textures for each size + * Copper boxducts now have a much nicer color gradient + * Exhaust pipes now have a more rusted appearance -## Fixed -* Fixed PRISM crashing instantly -* Fixed PRISM's resistance check being on backwards -* Fixed PRISM's resistance check omitting the wrong layers \ No newline at end of file +## Fixed crash caused by PRISM updating unloaded worlds \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java index ab63cb957..fb759fb93 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java @@ -35,7 +35,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve @SideOnly(Side.CLIENT) public IIcon[] iconCurveTR; @SideOnly(Side.CLIENT) public IIcon[] iconCurveBL; @SideOnly(Side.CLIENT) public IIcon[] iconCurveBR; - @SideOnly(Side.CLIENT) public IIcon[] iconJunction; + @SideOnly(Side.CLIENT) public IIcon[][] iconJunction; private static final String[] materials = new String[] { "silver", "copper", "white" }; @@ -55,7 +55,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve iconCurveTR = new IIcon[count]; iconCurveBL = new IIcon[count]; iconCurveBR = new IIcon[count]; - iconJunction = new IIcon[count]; + iconJunction = new IIcon[count][5]; for(int i = 0; i < count; i++) { iconStraight[i] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_" + materials[i] + "_straight"); @@ -64,7 +64,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve iconCurveTR[i] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_" + materials[i] + "_curve_tr"); iconCurveBL[i] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_" + materials[i] + "_curve_bl"); iconCurveBR[i] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_" + materials[i] + "_curve_br"); - iconJunction[i] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_" + materials[i] + "_junction"); + for(int j = 0; j < 5; j++) iconJunction[i][j] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_" + materials[i] + "_junction_" + j); } } @@ -83,7 +83,8 @@ 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); int count = 0 + (pX ? 1 : 0) + (nX ? 1 : 0) + (pY ? 1 : 0) + (nY ? 1 : 0) + (pZ ? 1 : 0) + (nZ ? 1 : 0); - int m = rectify(world.getBlockMetadata(x, y, z)); + int meta = world.getBlockMetadata(x, y, z); + int m = rectify(meta); if((mask & 0b001111) == 0 && mask > 0) { return (side == 4 || side == 5) ? iconEnd[m] : iconStraight[m]; @@ -112,10 +113,10 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve if(nX && nZ) return side == 0 ? iconCurveTL[m] : iconCurveTL[m]; if(nX && pZ) return side == 0 ? iconCurveBL[m] : iconCurveBL[m]; - return iconJunction[m]; + return iconJunction[m][meta / 3]; } - return iconJunction[m]; + return iconJunction[m][meta / 3]; } @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java b/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java index 42a24fe85..41a081993 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java @@ -46,7 +46,7 @@ public class FluidDuctBoxExhaust extends FluidDuctBox { iconCurveTR = new IIcon[1]; iconCurveBL = new IIcon[1]; iconCurveBR = new IIcon[1]; - iconJunction = new IIcon[1]; + iconJunction = new IIcon[1][5]; iconStraight[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_straight"); iconEnd[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_end"); @@ -54,7 +54,7 @@ public class FluidDuctBoxExhaust extends FluidDuctBox { iconCurveTR[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_tr"); iconCurveBL[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_bl"); iconCurveBR[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_br"); - iconJunction[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_junction"); + for(int i = 0; i < 5; i++) iconJunction[0][i] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_junction_" + i); } public boolean canConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir, TileEntity tile) { diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerPRISM.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerPRISM.java index 87a1f6cd7..bed495862 100644 --- a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerPRISM.java +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerPRISM.java @@ -11,8 +11,10 @@ import net.minecraft.block.material.Material; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; +import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.storage.ExtendedBlockStorage; +import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.event.world.ChunkDataEvent; import net.minecraftforge.event.world.ChunkEvent; @@ -176,9 +178,10 @@ public class ChunkRadiationHandlerPRISM extends ChunkRadiationHandler { cycles++; - for(Entry entries : perWorld.entrySet()) { - World world = entries.getKey(); - RadPerWorld system = entries.getValue(); + for(WorldServer world : DimensionManager.getWorlds()) { //only updates loaded worlds + + RadPerWorld system = perWorld.get(world); + if(system == null) continue; int rebuildAllowance = 25; diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_copper.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_copper.png index 258a60867593a8bb5b8286f8cb9f639e68fd43d1..7c5cd06f89ec19d51b905a68f9ed55a84ed180f2 100644 GIT binary patch literal 2534 zcmV;Keo!j%kP@0ouv8&PyhN2kKvh&B z0Y!o;FHsaxXdm)Y0a{9*C=#Fm4}C!jqKFECswi0yY91B|DnVCWMIb0dZD^G2G@BjY z?E2q3=HdE!?Xf-f>`am#X*3?&=bq2U_nz;&_f7+`Eu4Kk(hMD%-iBrvP;~>E(S~Jq zVN(;9X~LpiSSE!{O?>fJ|7jp)+x2hq2Ewq1Fz6u&LIi&N@%*jhAVe7S5QaT$hCTG# zcKsU*XCIHkum?qxbBzwN!1EEt4GBUML=tQJ+U6P>M1>$UA!vq16bWI06^1q2&4%?)7uDw5F2+sU>A(3dH@^;K@b7}2oXROr8>B|mK>|P z4nhP7nqeUDw*UZu)~*H-NEQM=1|SL`sx~-ycP;Z<(+v<&fS~F|(op7xicI)~WB`cT zWO;CNEq6}k05qeG!1D_o2W5f~A@L)U2ytRZaqwj5H(AhHaiC?Ki^ zQJaJ~v4f>F2tYg!#B)F-2l~tm7S0+`zaFUTPecJ1PtQd;Jy6H^P}{B^NZKjW0|T8> zMP@sCAZ-KnKwk)YSu}?bgu)Wm*8Jrw0aE zr5-5K0BNhz164Lq4-9(p1i%12P{&I3K-H5c07~>gT`SZBoa<`=D9{7LSWXW_LH(%} zfSev6qA-*{*8>TsUpze*X}S(o*P-e0>{i!dQ8t^ks0o`=Sd_w{X2R#A`af_sOpaQu zCYr4l`v?MB0zr!qv;=~tASBmXttMK{Mh?Kpf}|-3ETAZ&B}!;XGFpPF3P;O4+1A!En@<8`e) z&4${b;4c5T;5uXs8DPB5ii}(t+>b{A*CAu+156J{sd3IaTIjjSJ5Pc;E_}~JZ!^GH zDk0}}QI=uRy9hilo`$>0kW0?FEO_9#@GT#k;{d>UeL=sJSuNLhP8Y70_cjCgmY-iO z?}Z^Yg8-Ypk4@jhrsrbQbJ(}A$&g%;K^6s%8P`GtN}3{zxL$=kwZ;ZASeZuI&o>;qEt;cV9d-W=T^Qd zN3$pAGePU>fwVO)o}P;wYC_gj5Lt#ONwq0;`Hep%PyV}SJ{}P%_U{AF{rEXimchX{ zuADm-nICkZXe#FBFQL=vz+ZT=kXV{W&Y;ujVEVtW!Cv3M^{dOtlhf7iPs@E>#3vj zHZ>t>3Uu?IIH+_>DRm~ifx~SV&iY+=whd8cPbOT@r1J*7a1AL z%geZY`Et&mpHJ%no6@)sq@0(Qmhj9WukgwF^~YjLwP;*|Q+nXhjYS;X?_%RlRu4?x z`U#E}=>dnDmCiiv&CB0o!Ce<&{Ncp1a{LR?FnZw0SN_3DF#xQ*J|D50>p6$6n`1Qq zSbX7$sLt;BiJ$*1%Z9Tj=NtVC492e6k_852o;+=J^+1L}`2lCOH(z=x>Tfu0gLwbg z%U2ozaP|DD!Z!HzwB?pMs`$K)mH8K0?rhb1e=Ptd{*?g!`0Qt*)%S0J-d@d#3C(y2 z#;!eBdHqv4B{YgP-hAn)h_CmrzJCMigjy*k%+AeZrS#L^{(T0_pTG0@sE!g!09-wP zD&p(?H{W>&>V$@mocb9$oeuPWy;`V*(1>zt#eBcu_Vw#fCnie42R<9Z++X1Hdr_NA z(!Ny@iaLaU7Z|(t44ftN3~>L(m2<};zVEm9;G@v=9f@)&nqu1P#E9_Wrz5H}kM@)oT!?%c1(-wDeutXzCCO4I3qul@M` wmg4(m4;(-#7x>nChR^Snm1dxy&+nD}AFYqz_xv2M?EnA(07*qoM6N<$g1rp1a{vGU delta 1668 zcmV-~27CGD6Nn9v7k@wq1^@s6dyaLk00004b3#c}2nYxWd=hRZ6D^3q?I%y zYfM9F4-C?1?z!K&-`sn@Gou0#)=!<-Uu!hj-rS&9sUfTiMx}~$+9=mSI&F>}zmM(B z4R+tZ##evyw*mv0m9NJgwAx)>dF>5^X(5!2-VHFiKGJpZyDrLgdF8b?P#qW5@i>TC z`GxgUC-z(IE`Rqf9~$X24K2GvtK9{lUNx!Dm8a%P$7cJcPrYiQHy(b3-=6y!07i9g zst!K=&8Kj#G!x#*Gtc5&X>$3Gzt0ZdwgC`ji<4)bMSttUI>NMo0Dw{@TSV*9dA2t< zB3}P|VWF1F^Bg<*E=-HorSs^$N)4fG==CpVW#Z$#J%17&aQWRGmR66Za^jIE0xXNm z@9v-rtAgGQz#VR2WMo2ky^sgdjGx?II`+tKx@jS-3c69LVsw3QM~S7BOc-7`%R{l% ziEX|1Xm9|-vM?%Dbm_E_?wIHq9SriMspFNjTN;3LU8Jd_E7!sAP8JXb8x=9gQ?7N_c=21*8}VKE-lYu8R}}iff<$0xBZ|F+9h{b8PPY z%45Vl)pco{ev-Q%Xbdg0OaT#3f9t|Js^h{!X)2;@+sV3DoltmuUKYmm0y-|OOXtxZ zT%CW~cDpPen&FGa=Bm?!TnN+oZ{P|D)6qwiY& z)aCIDZx8u_S^1xQHT-`D;xBJL`nmmEspp?Pcd-zUyk0fg{pcn|VNld{wD?muD2o1h zQ8&<{^I+#4TJ7$zCA*b+9z&EZ)*20p!eHs}9Lu!@mJi>-O6?FUiwoSfSYu`JFn87O zWc5gm)ulRtlAJtq7E!kPw_sKX(|=-nb0ZpgiIv(ySO0mPK>0XV znh4X%Z%Tz_(W}(LK)Of`?n{qADSEz)=E-fyKwQ`3d!HISazj1eC-xz^1;lk-(+xC3 zqz9KCJ*5bgB=#Y>1;lkdobBns10@NRM^E{QpU5pBuIrjGC<>7tTzUjj5r6nH@e{cP zBz1jY4onW-p98U<$h`_w*X7vp`=U)oqz3n;N8pEZpmF+1)NRQ?#|^!Jc_&)3&ch(# zgp1OyWE9+^=ZE`%>KqUdzX84W_Fu;ai?46|{P`gPyYFAayk~_Ec3T9>r{{-h4n_C` zgXg|aPf1>V;TcrN8+bgoJAa9@=~Ze7uZQ6UL(lj1==zOze>;w=+WM(V|NTJqzv%ry z?l}v*sWF}#7C%hd3KJj97+aAwn#lHdV@bq=XZ(~yc O00008MLXsiB}wgAg6F4U{J9L+1DpE!GQH;q_tj;i5%EID2t!9JEAAc9T+5YAM2p4dj=Ires zB146=2_o;~=RJ(p^m2{Wn!Wu)Y)4}|UB~b?UoYR*;*eUU%(!K;gx2pKwKzn`vSRJy z7qagsoF42vj?)AH=Y$Lu*I##OH5*J%S4ZM*mJG(u38@sPXKkL(%#PK05KuTFLRFl2 z6}moUM^-3}wR1mK*o zT4SV#k^kWlon1LMVRKFW{Rie&>UXZ`(SX7U+tGt}P?rAq0fj5QnyY@gX`eF{1}v?A zCYr2}TwPG|1B4&YH-^47^o?Qh-3HHIyyWNc5tqMGZXMd^crNkDe&b*4Z{hzzE#Nx< O0000xT?l^&%E+DUz0*Z8v`i>Qfx>e(#F8+ z+xrCIX#}ViR0<-B>q35#{^y0|4h2_W`zBL=@w^NAd{(;Og5DnI!iqwFc=kCWYp#gHfs3oOh7E1_x~nR{;Pi{Dnw+=s^krk?VkSPL98jVuMP#P#91wrL_;i?wFxcAJLt ft~(CczfI#0OqLKgD;uw|00000NkvXXu0mjfmdu#6 delta 396 zcmV;70dxNN0=5H?G=FVLL_t(Ijm49(N<%Rig}+L2Tkox)bn+ck1gDOLZZ7T$I_W4l z`vN|IPvBHXp#>K=2c^(DxO5VsAk{%gZf@>PTOHa6YHfA$K$hfuCkOH;$5^$!%3HZw zrPFRQj7rEbB8ZA)vBsI0EY_^8uhMBZd3x-!bAFox5I&%%Eq{&6D`X)=I)$(U0^27u zhQ2j8V`yAn;Sz&OQjd|V?N#1-+Oo2|#9!1?2|aC@tL`2k=R*L3;=-?1`RD}CiB`Ra zEQG)SfPAzt`}XS#I_)O15F&M z2%;i^?SuJl%70I35~QP75?QRt%mjL@RI7>mo)gZ*^zF|9BlGtV&xz5b87NH6Ap6q9 zb93d*E!>O-UTLgIW5vq$A)XVhdJUHtSj_(_B-83+4qRdoPmkU4Y%j5~e@y&vPxtO- qBJ9tbXQw>t6qlsr{Nca-#&_bC_`}XmB8C6}002ovP6b4+LSTaJO1-uK diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_curve_tl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_curve_tl.png index 9ce5b34667712fba6b56f244a82145e6d104f073..2424e7f1547203299aabf8d32d35cb2c5f6afd54 100644 GIT binary patch delta 275 zcmV+u0qp*s1HA%}Gk*Z|Nkl-*;f0Imy2 z2a1CTA^w(^eVlT^(pmU76wmXJ6n4obCN8#gjFu@^+s*uUUUv7g58pmt~@kFh! zAwlQ3SvmxDNYFWEOYId(8BEYPZf30y%08H&am;3Doj4}w9Cu4N(?L9k1f4teg@5~v ZA3Yy!%@UyrgA4!w002ovPDHLkV1jnjeOmwk delta 372 zcmV-)0gL{<0-ghqGk*b9NklAcdC6UxyFx)c96D6|0FF{z-5gx} zB#tg_jv{pMV+eu>#lgj`LKO<-94t5~;$Us;q~0Kis)TWs>|=->4Y40XlExZox5M=9 zmGpf=5-WtP==sV0_8GO>GQZ7J?;bzPm;%lTsWdM)=cL`vpZMoEC#2T&A0An)Hx|YK z&IzG(@nF?b0d3BSKx=|1CXCAkI47(zSS83pzf^#8;=3e1He4zd;GD>f!AcJ+OL?3V z`Pj@G)^DFJ9#A-uf0}s@{485Mpm5&t&c-Z>LRR9i)D?Qq?<7%(=QjTBH+}(#2fi1s SyBI?0AwT+w%L~Xl&0o=;7{q@4RQ_JarKU`&Cr1=bpDc^LEZYi>h-s^%oEZpX5|OK)Z|gUwFAIaHPZEylSf%=kgmt1(44FwHLoYZeR>-z z*v9Z9AcfOr08-f=dXPdu)KDJPo&q*r#DnT;F&_8UI|wIa$hcpZlP00000NkvXXu0mjfdL^VJ delta 438 zcmV;n0ZIOZ1KtdUwHVvW)oZwxbQ2*wbsAymI=fAA#&5P!8nH;uXb^d;r-n9m>I zBXxpGQhY23W)m+XcAq?>JRbA*^@|!K>OZ`FJ}oReSFdp6<}D_pA>C`+s3fD6X1F59 zmpQ)3>26~H2^2$Lpq%;nshQgq%9S_{pZx2I2iPiu?FUi zV69e?0WkgahJVRuh>SI2k!&GD4vTy(tkUdv|Kse8niEnd2s;PUY@m{CWhUJMVdn^y zq$oQB(-1pdg#nbCqwEaf%K~ryPP?KxRn3WDN@jM|z?bXaq~?S#3xY8aFTrazFDD4b zu+h77kFb=$mHDN$v-g;q69AHMDYn$rN022l-4394PIYtL&Xh-wgNxPOujV|RCZ^CZ$Rg%Q`jmAHEpL+y037rk!M5Nz9;wx%wQ>b zLH5?7lra4oQN6|thYIVSwqM`RzJGuJMotN159C}BV+T|#_#Z#dfBpwNPZK#sa*UW^ zAkPKauLJ72|9=C=i8)4cir5#|b%3$9s(ljdB0N!2WR4Lt9LQ-#g7>RsRj^BNjuZ1# zcM#mM?qKu|)e5aXseK7vHAsokyE-6vhf;z$Tvw|u!SPg);9PZK^d3Bj2AAM@ zbs_j;y$8X2M4EcTHlM3dCB^N`8$3nklvo~fy@``|TxUr`t2MztkW(VBR-G){da=Se zMdmQ`SQd7tP<(p#`pFCyV-J{NP2+GNxMNMDa|C}RxSGy4@4x(=#!?naUdXwS=e5#& kUgtu|3#BYPmSs!hA7E>4``Kjeq5uE@07*qoM6N<$f_J&31m^^hGk*deNklIHCf8Ze zP+HjAS!zLNNsJW!4cdz#F~r)O$ys1=jYMNa8WX)8cIU^Q#qNO=-XxRBOWtSZ&G)@; zi)QWb^rvz`BNL6(8j)y})>vckg~1tvD-7GO(YeO5X7@nC?a_oM?w)darp9? zvq?cD7c~9BfJiD-pV5DD;d3&CDyykY~0M)SnU#=WqbDpazP_x zq8X2d&C6|i*?%HJwTYD?R&8S0oJt{7n{PjU5}YSLIYuU$NNP=$W_6;Fb75~wf^$^f zHacm9NHkKX7k{4%TT5`3%6p_v5k){Ktx;)*SSVs8=fk$7a*p6ED(#>OkFdsI6Va$W z9}dnETuJ3THlJXPLDWMM*R7IrK5R>Zbp&s5CdU^B;eU+5%GMPP{tsVjVDkyi7$R2~ zZf|WiLn7zG-j)PkYcP296jvC8J2#9+L*ita_@d8sQY~0hwzCafQu%rg+_|B(cmK|` zo3=@A-EBnjRK6~=zQhy$jlHLGmaH9fmY1|P zWQteCXNpg&*}HuT00MyR^|g`)I=_1kf?=;)zJ4T}#1|y9DQAPzxu*UoCYen+JUV7| zc?s(}0wlcOU-R<#z>3(pfchPP>j>6G0>Jokvd|20HM!wUiwY14#)3b7>s{e3I_0sg5KLIa0jV+5%{FVR!002ovPDHLkV1l7SlQjSU diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_0.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_0.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1fc103ccc09a631828e966418c0bd7424f5a39 GIT binary patch literal 511 zcmVL5I3GbHLGaGhU`N1&XGGu;pXIS zPT?Gt2(^?{Qc{ahiO@*N>E(3<5CN>ujyr&vF(jEG%`y^W`pB~WY{-pgsWB{`tfJ`Z zeAzWpVv3x^46rq%nISQ@hpl1u*Cna7RPvMU#}CX3=LlX&jA6NY$8NWyegCS5jU~0i zZY=T11-spj2Vd6&?;AZh?FT8mEn)LBY zLZh_aQ;Q553==l_yr=S*Z@njYr4k`ppB;A(pFX2-_a}i`)!wQ>?Wygda!^I9n&~rr zd%Nmd?UfCx(_wuScnKVDO04eP{Awg1g+Eq!|iDHc4lY2vzWcRoJtlRJ3RQjdGmeW*W<)@ zu(LJo8$)gi`lcW^hRRyTwxqHpV{56b<<8Uhy&037EFffplmeM{k)?~X6bP9h#1g{1 z(yRMdrZQ8cS%y?9MwTHnMXD4sTjWxuSiig11Lz&>Y)yqsus=rhbB)xBG*d{WBditT zM3Gc$D*KZ!gLkxHg6JEAl!E%#7^xMP9zJI{93tL4Ce<3LG^x@g8`}(rL)JdMAb3x1 zRtcdc$xT6C6i5|s9t;NT@9!_cQt5d!KyeP;`f#{neilk!O=RUvW!r5gw)tc+| z2d-WA93MG?cbGG4gr-I0#zeJeg6V(ZrmhLDrg1f`cQnqC7pnx{AS!FSkww8ygM+JS z>exY5j$#L6TOw0Is%C1R2G>yo?-|>Y(6l6#Evd?KKJR2>o3HD){()C+?$T~PAh?>~ z990?JnM8YzI+HA>@b}HLeA7*#vLnXUMh%2WqQkW2>hU2L&pVEfTokN(^UAkJY4e-6#nj*H#@VFWcOB!fLKR@X>5X)LC{XpS}1ncSlUX8 zbask=!NN|EfK5tC6^xaFof2G(mmSUA&g@%q7JIjs%Q`U3o5y_L``(-PdbqR>cDE-c zNf9S0Op?G^i?J=>Y=N=0*m|+wyZF9;nSe-uO9r4=yO zU}jJVpip)Q7UX<*dS^mPfs_J85hzlSN`a!ePb!7g2RkjUcd)xXArc_1aq|5K;-wg* zbOY83;sS}(8qWSfkspK063jJ(Nzx|A*uefe0V$2^PhKO>bHrcXKq`&?<`8+Fn>5887ADhi1ES`761SM07*qoM6N<$ Ef@xzKasU7T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_3.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_3.png new file mode 100644 index 0000000000000000000000000000000000000000..02c08f0fc9f1c1e5f48c8fba65441fefa3ab2243 GIT binary patch literal 509 zcmV>lX$rj`%jr25se)GL~^9JXCNl&Mrv+iN&2?ZJ1cpCDRwc#Jycs%6$zo&pqJo2x|7q7 z4=z@-43k;%@dJ#_5SwALjK3E%Gz5zMF#u7dGbqXuNeyPW2Y|8b zn=^Kvz2Wz4#=-PE8a(R#wSh>2hDhS-8Zil~ZMU$-wi%PtQznxMuMY#!do+05<-8+s zR~^Bku2u%x8EoYIwE4;7!$9;6ZSX|zan*eL4P0Fzl3dq$^zdLK=k8D&Jh9m((56AP zy<5iV*W+b}8_*T@8ec=;#m8^kW$gPLzdpZP7Nar6{up;T$5nIO<(wyPKmA`X+(*5= zpbJM7K_uy3d*RTg={4vj(Aah(#G80k=G*!Q3mo9^a1^;q00000NkvXXu0mjfJsjbQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_4.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_copper_junction_4.png new file mode 100644 index 0000000000000000000000000000000000000000..6d74263eceedabc92162a31da9f695473454d291 GIT binary patch literal 412 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 QWB>pF07*qoM6N<$g5|652LJ#7 delta 1421 zcmV;81#Lnk>%LG2r0-0Ua7BB^^Bkv}MkeAtXx&hivUqn!g|&I%nu$L6>YH zoeoUEV@U`EYbl8@woaD89s0fZNwR*~%18M4z6S&nzUS_F-+$BH`2&bw)vJk4({Ouxi%zEl0I1b!SX^Ap z%@so6;^G3eT7M19vMhZ3_z?i`^y$-F9W)vZIF6%uJ3BjY90xys{K(|?dOZMuuIt#@ z*#Wa{8@jHm2Bv9dcG7OQ!8unvdVcZZMJi7Sq3(5EN4wnyt5&PHzP=7M%*urC`v~%G zZf;Po*HbwZIl(Xt+}zxNRVo!|nl?em%EVwWP&|6$lYbD5oS+7*QTO5QC5JKS1n>QeyloFO@ zVQp*uHXRF~{)?EG5P#LJzYO1Pn&SO((Sr#0}!SV4iTCG;7 zqgnYOKk)M9OK{Fnuh-S~+UxZogg~#?!}9VnIDhA0jK%taynNSnl^>Y1EK8Nu%gf8u zl6rZ0iKV3_Y;A3UcvROnHa2qc8T*s;L_d%Q+Fob%13{$vfj9)W*IE2P6q$Y?h`7Qs zjUR|ZEhb4-< zR;z(?4gi>+p9fY z6nlGn*xlVl{)L+WUDv@m$Nc;}G)=?G%8D8=_)gIM)zuYz--qKk&~?4IDK!iO)oK-t zu~4*emy{Bo=fU@VaL!>EM)3?#T`!l*69R&f2Umda`yd}uSOC@asDS9;!DZ*aDecFv>G(>p+Z;=wXN0x0^p!Gi)GECW(Xtgf!A zWf+|E=-|OAuq+Ew%Hl7flu~&CP1A67bp_A!LIXyx;cy7YaV7!044u|l4AHMHnG=Ca}?uWx60O0ueI4t1y_EtHYYPE{NV1U735Gp40 z``z8063}Y3O08B4&1Q4__U+q$-}iyS?*QTCa@84${G$dei zb8~!ue~+(Uzrt}GeE9Gom2h-)1jli(zrT+sPoB&iIf3cAj{E!j+@IR09e;q_$NEeG z0Py9@mt5cZzJ2?KU%!4mn1H#olW`V`aFu{*&vZc);VJ=-o`GqOWKk61Dgjyl6{MjE zR|$CZ3{3N>K8hmT2?0k(N7&xp&LkWh9N_)?_YWq3ML#moCXXD)-xHq)c zNGaLvc1ZP*kyI6BS>7eC>l%QMk2%TIA{V*hL8-d{#{9LOWhG_dk*du3P$n!^t2f0> z)4cjG)0kzJBa0$uk)%{rbyKXhzRDG4#W+pKSSG|t%Ib!L|2tm*dCoKq$ityyjPu#T zTTp;u>@n6MoqunM|5?sUyfqSlHJZ*jWamBU&nH3%vz^7E0mKzx>yK=oe<7WBES4$# z*@aT-RbdE$sIyl9V+|DGV}91dkz=^dYpv1ymZ)nzPqo9H(pf+dg6R~^ zI_P|h{QB*?fIrtLr9=op6rBaWX6!vv-_mP~^#jg1yc+lKca6URU~c6~9y&_u00000 LNkvXXu0mjfqRGXJ delta 352 zcmV-m0iXWM1B(NYG=D-#L_t(Ijm48OiUKhdhCi1;5+$Nmc9y~nUcu6K3c*`=1kd1Y z<_cN`rm?gUL|Y${Oyw548D!PPt@f`%lJEat9xpAvwOXxi)9DoNJ;ULUPN#!&4iVvc zy&@uv$78(roK7d!>vao2C4=2=$9})Z7{lRkKx>V)mJkAUU4IioV6)i}V8Dprb3hzCm(dbuL zM4ENtl(m-Q@yKK{c`G?7aY}35bo`yshxa0VJ-eKx_S0^3MuBVvH;n3-UaF+N@VfoQg3vb1)bT{$x;9)mH^& yS)!DpC<^jCe+d;u!E82b49c>kl@9;yH+}-v($;i@{IH||0000)L0M{B zQYFQfReK-mWLw*q40c}xr+Z$#;_f1*D9duZ%NN`%Q;H%Z&oiqia~C(^8- z4}oT{|0*hq;=DppQ2+Qw9|9sx5<>9sMqti~ZyxazCw$+bv^o1&(=_jLgE1UAp_Sxd z&I@htutO8uTdtu@2o5mHLpXUFYj z?WeA5;B^w)XE!;p?o_ZC9MK_$nKnu(vDPwJhd6FkdH*nGSAi#=QoM{r@%K})QVOj# iT5F6kSZn{^HvR%GSOA2uV)NSo00000e$L|>34$BG<@E;rx~6d-W{Iy#P$GjI~x zT!GFKjZ2y|p#!YMjwsk-*GMdgu+@&_#(!q~itmIUm1TLG&1M*5D2jqC%g|cmoTF`9 zoO4Vj6O1u5O~YohNdQDFu-0-o97xlYx~`E@qLjjWPv7@=?|<3tc7zZJA;cI-S(Z0z zEz{|gzvy&2VXbAfTCGUa6o5R>KRWC6nwS$+Rox2!wAO>K@ArF*G2aD6QBc?QgCWoJ zw*}Yhm6#J*mLa8lG7XV*U5Atsp|wUS_0sf?r0Y7AQV8c9-h0O5@k`_7a(Q_lbE0iq z`o4dQ>zsSKi&MEf!H|BF#N22;pFeEY5Q%e+#bQCsiK?nTE{G&?4?+ltrfKd4%jJ^e s@%XeCQE|TAZaJUNgb+yL@ZWyp7Y%si|Nbzgng9R*07*qoM6N<$f@HO*;s5{u diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_tl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_tl.png index 6a7379597d9b302c5f402eef52eb910710d8fc38..f309e8de54da7dda2d0a8b03fefe915250710ce9 100644 GIT binary patch delta 400 zcmV;B0dM~50=ff`G=FhPL_t(Ijm4AAZks?9g+Igqh5=^4R@zNp$X#{YXY97iK1`%; z+5|k9nc>I8bkQVIqPlTcJ-d6a&Zl#wdjlTz`P0W$W|Bf?$RZ~!cI+}iZym$n@y=mw zj~_?8vwZpbEdUTtfH1GwXicURN^6u-Xst<%!QX#p6Gu#8%73~V=5c+p5$yN-b-Ue? z=Q(veQ%++kX2U!JQ3Z|BCPXdav+fP z@5yYg0(4!+U@c;Bj;@WE!tCn!0LB>Ze%>Rjvz(HGvg_V^)-e4l@TxxxVdsoxpjX@AJQX<1eMsz(HoU`s@Gz00{s|MNUMnLSTZpT*%%4 delta 319 zcmV-F0l@yc1L^{hG=CvUL_t(Ijm48eio+lng};EHrq~v8fb50zGJ)QrSL!X&Gh`)% zT%fB$wvnJ&wTq4}24-kxGY{Md-}CwVEcjB}woj!LN-4C~NGZ`;6GC8JS3(HH81w47 zt^g3pz*@`Ya$%Y#oOA4UJB%@S?^%`w?>*=9nQ5B1Uaxdr2Y*1(w(Zke%kg;RbUNXj zqiGt9G3@ty=6S|@&pgjmRfTho5CY>kVy#6erSi#r-&5B$Kk0tIBg8v&;)GI)VHj}E z{R)3q;)K?k$KyfMG#|qNi4#)FJg_ZFoX}e5fo)A-j6sAD@ZM9F-DaU#Z;dyq=0G=FtTL_t(Ijm48oa+^RDMGv^ad;~PeRd!Vd+K=|2)oLS2Mu{cF zr$54&pbR8zISS>>a%X+3&h7i^bvs zz#lB)F%2oZi0%q_70HKyyE~T`Hz3Ob0Q^A{a^^&M?-52ZUC*orKPC6Cot$68SHdVp zEKm4D_m98Os9J$PBcx! zQQrpCbv-*0z{H8VuGu~Bag+Bs=Wl*j+qUeU_vZ%V*fVXuX_`;rDPSD?bAwJ<9x~ou y*}q6@O{eUofw7;?{HKgDjK<bzX2KI)9sekv<=k&0000U9VRXWw%-msqto3Jyz2ar zV6j+`W!cNl0L$eP=NwsGk*eTNklxeui$&% z6lgE%q9~d;aTD!|`k^RNyPFH!Lfi~6IN-%Mn1kU-c&goQcP@&8qA1vGHf%N<%Cf{- z%V{{^hJn8CaNhIx$2~VUHwl1v9&*kO$86(;4 zcIWMO%XD}^sFXBSXeALB7f6*7WR6k_r4(tJlBOwHmT`M~OI_E9pD#74s<30j4{zU+ zDTz{&AU33Fiq;yX6k6-$eRp?9RaL0jA+o$=Q!KpgGeQbQ_3l@)-~U=XE^EJegE5Bv$A1a?nh*oY*m8;! zuipK_JO@_Zk2Fp5J^anuC#eY`5W+;9BXOQ-ng-kUh<|=?m@gleQ~lqwbBSjcAU55~YEX#QR=WoOi@IDY?r0WNc#}i>b!ZGr>pOzukTDq=7 zJg2HG%kvVV*RT1hEUDy)Ca$p7K3?ict+iZVU%yOaUDw1Ik)bDc2N)~n+|Um_ZPT*f kx9rDA+qQIFx1{ka+ly>J9|fz>00000NkvXXt^-0~f>>8Q+yDRo delta 476 zcmV<20VDpg1%(8VGk*cRNklM!9yUOvNNj-(P)1@G6o{HN zumg6HmX^+C3JRo%hSXLRJ4WIb?bgd2O&rH0NrEwkrfD$7uzy~!sq32K@kmh=00eoS zKeH@DYYo6;G9e5@q9`JYqL+G%AP6YSl2A&?a=Aon&0?`Y2=ReFT7N&CPV9C&w%hF= z0j)KY$pj$;v)ODQjC<18RaN1=r><+Hl>8{Am`a$YX)w1=d>9G#$n`&iqauM_8}dSZfKb zwP>w}9#mC@bMA%kj;`yd>l$kpHym!+l(LT?fE?KId|| z5cJEm-|wIOm!3|iUzaIOQ?%CH?{^M|!|OJdWy$q=MM}x-cKf={=ks}p)}LRmc5sLx S1#`*(0000)Q diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_0.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_0.png new file mode 100644 index 0000000000000000000000000000000000000000..62714bdbba21e231d03061c2232a712c6b00b148 GIT binary patch literal 598 zcmV-c0;&CpP)rrGa|Xi#O4NiNVsAn0=YqG1>J{vsP#!1H)LPT;_Zg4JeEs~9#d1Nft?^aVt}mRPo^pJAd@FqOyp%0$ zu_SJW`0Y5VpL}+9#?H>pt*}yxZnw++{yxSS<_>fi;WwNA1n$bLl)_qzF$QA{&N-ZO z#O*eI&=9rT>%c`()N3n_@vSxgxxFrIt>xD|#ZR-GuJYH0t+iNdan51V6yIbSJ|04d zwcu4;6b0w!7x-zGqC<%;4gG$fD2ncc4-O94+uN%J%F?m%@X52Ir(2J>*Xi*6=LN&z zknQd5TQes~!f-gmTFY!UBVSZBk|d$wZy=Op;pV)2@to;&dR^lU!-}F{GMUubS6}G? zynFkmT9!-FG$S_-s*Hq)$07*qoM6N<$f+7(b*8l(j literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_1.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_1.png new file mode 100644 index 0000000000000000000000000000000000000000..718ff2d9ec1078794eb40202524f2fafab3d00fe GIT binary patch literal 697 zcmV;q0!ICbP)loD z8Vm-E$78OquW`5HO{pqRWUaw_*P!RHF^01AJU*6`RY_S@_|lQjmjugV#k>leQ9Xx^F}P4+ ztzosYIPaOQ9+?%Mz!U{pmNj@V7?7qZ)>>?K^8-7_-rgQ>{(6gZ9;jK|T(i8L5KQKl zJkOgY`Sshz80=4MjA`nb17|G{Zq0h_iRSY;aU9d{_fbk=jA1w&a`*KgidBgVBAj!K zMkAC`IOq8HyJ0)Xm}TboDjy#o*VbB`a|CvdFUuc6sw1qmc<*t}HTV4dytR=9fWyPX zT5HV<6{2;Q?yEn^vWz^>G56oF&M>-PaB_0;d>W_IDY0Kt$~NnDh4+?avE(N6n1?&O fTQSSbMjHPE`A1vbK8y{J00000NkvXXu0mjf&kahZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_2.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5422296f6648bd20de405bf520d70f8f977f0314 GIT binary patch literal 673 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 P00000NkvXXu0mjf7^?*1 delta 1388 zcmV-y1(W)X5%LO<7k@wq1^@s6dyaLk00004b3#c}2nYxWd}7=9|DX>+W#6>2J4aS#Woe}aNT9lLdN7QqgJi-Y3kBsw_PL05;n6a-hnDbQJm zT2UGlYa7xZQRp4K@A=Z0q_OdG`M&QyaA?}*Ip=+!oO9kMCx3un*xA|XE-o%YQ549s z48|BDkq9(RgRbk)G!1ieb5Ilo)oK-ohlc@}FeqQ34r;X;E-x=3NfMr(o}lYGZ_Q>C zx~}8$@{)hIVo-iyXJ@BdtJN?wGxMoaH@v>SqE@Q`0AjHiMn^|Ib2UxF^Yb%eu^5D0 zE{C(TGXTKI$bX2Z4zk%SR8{4?d_E6VRdIcN-Iv>FGynjMG34`k2*qL%k|gmPB9Tbn zPD-T`6h+}Y`aV59?aI?MjbBTWgi@&lL6&7aJw5f@*iVVKw>Ox1kB^T?r_-(+%ACL$ z!{g&41jZP2T}P|c>baqx5;U=>Gq?NAnG+;Q0%Ht9B!3dI4FGUg!W=*(5^=oOnmK`j z7HFM1!Kni?Pt&xXdE_Ml+8YE~mw`aQ@n$;-&Fh&uGsEj6AS16DK| z4ZiM)M}Obr@wn%HbX`ZORKifTTIC94vsui~&pVQ`*(@@d46d%OK)hzNiDIz`K@dFi z0dO9ldH>sLIMnZ1{cdmtVzC&nYKo$Kk}wnsVSRlas;Z(;D17Q@P=1deSXfwqq9{nG z(|mhvG#bz}4UI+vV`F1b6a|7H*!lsl{8p>Q{eQqvE|&vi3;<9rmt9M0xm-p(9>?nH zDu_pQJ(J0J;tRru=#GBC4Ya)u>Ickl^#gV=Z?A*+0W13Y0W<6h%UAq>9X$B~z`3w^ z^#e}uMw8?l?pj0X$u(`R}t=H>FrBa^B08p>jQLonl0MTd^(P;Eb{7R*QXf*nd zAK2K~=rYFm`lL^DIW>P43Wc6oJ1GCpSHr&w(8a;QLH8^5d~a_rK$*v4F+4mx002Z$ zL@*fq)aZBmyuH0etyb%`WM8T01jZN^7k?K40Et8bi9`b9mBuP*d1)?ZI6h$PHNrXb7o)!*=`Sso19Xg#3R8@r} zN&ZbKV+^t^b9t?Un_IixMyJz(VHkX#_zr+(yIla`aF}P`Znt^sbUJ*c_m?cx$jee&IUwL_Z%P`A0IoP^SK}Z04pmi-9g9~7Z(E!+7rOW#zyz%<_4#yr%+WD`}_N@grlP) zsH%#stu4&X&JLV8L7=k%uSack9{_%?;41)nr#m@0@pR7jTaCrcK6`(ARj*hUlw$_)hySt0+?QH?yLWW}00000 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_bl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_bl.png index cbfc0f89779f381ef29dd409f6b202002c9f0ab4..3f9efab8e592bb716b9fb417ea68ee7d294356b2 100644 GIT binary patch delta 269 zcmV+o0rLL*0=EK?Gk*Z?NklYZ!(zgaBqnj1kO?5CZ0ThKL~N3=w(H$8qccfD|xI6Si%`x~^E3 z1+`YxS|K7Rr96hJ>-+vpDdF{cp;g*NN(tn>M+gDl`zCYF8GitvKJwm!nZe9W$tv}c z_x^ooEy;I4jPa*~5JFS(qXRX^7@Lw+>LU^PcmtoH0H8i9r9ea;3x3-Y0H}{jDR9o= zIF6>|JHR=20j#w+&$B7{4zSi<03yP^?@h^f01;gPW6YnPvI2}T=(O-}zwrx#%D!eN Th1hZc0000VG0{jAyGk*ayNklJdDH zx9O?}a24n!iejN)NVd+xNhvdvjkOl% z9M)Pkn+?VoE|&|Z(m~gQBu5A8DGhSS*+- zYb{;Zk)|m^DaGM%;Cj7sKA%6D@Ao?Z!6&4YG);pshV^>=F*zvsgi?yOZP{+Olahmi zPe>_;8=sOqCQwQ}3AEPC=krO)V*;%;BD}Gb^4F$UMS-C=M0n$$nD34R480+ob0kSZ z9LJNA#{@}|FiZ2^QxpYRmi>8I?+A*bcoKv@ST2{73k2WHdrwtW2qDPxoGi;;n({nn kzuyl8RaFs%#ee&aU(r$AswS?o2><{907*qoM6N<$g8O!!>Hq)$ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_br.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_br.png index a18dd32fce395c6c5f0aad1b6a093601924356a6..ecb91be52e86ae5daab36cc8cbbd61eb956da387 100644 GIT binary patch delta 272 zcmV+r0q_3w0=fc_Gk*Z_Nkl&2^<>ZI;fxodqNa-QPO5!$k zP8|secG=OVT~PRz_x>g#u-3vk2Wu@v1SuutoDpM0&iObm%c20l41*8?dhckhq1FnL zAc>qaN-3u`q`ddH5CZ0T#wQ|)5CV*dp!W^{aL!#e&|0JS4u4~$;vU{6#_%X3X_B#Tb8#k2*8v{7xyQ zQ*6|k7$Zt4&|1GWc_ldv#^y@rA4$fGG%2Oa29G2pp9wxuN(tMxp_BqOg8%j#zW_I! W`b)yHGQt1=00{s|MNUMnLSTZN4tgB` delta 330 zcmV-Q0k!_R0`vlqGk*aqNklk44ge}wPaHwTB`g4BtDQA?Hlq5T3RaJ zuoB7>Xh0MTv78hsa>bpIq9ft1x{+M0?HP@1ufjK+bB`>`;JrtZB#5F2)>;q|m>EQb z!{Gq$J^H@K>2y*6phX~rfTn3+jKMgLVCE&R*DIJAP17uIfq!z&Jwgab(-eQfG))L0 zK%LL$M_HDL;~4w>{#WGV@rYp@MYstWTwf6Y#c c|MnX{0WOgTClB6iNdN!<07*qoM6N<$f>S1!>i_@% diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_tl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_tl.png index 304d273edacb2239ba07b4a853c3ab4b8362491c..9136999aa2550eeb2e41c19936e342fe67f0413b 100644 GIT binary patch delta 239 zcmV1pw7)GB#U?U+bA_vF`oI_udvSEh?o%j1jGM)&Sv@lq1HNH9$BeB`M1?+n}nd-9Q>P zj$@WV+qS!b^fEw7@~*)&O%#{Q<>{QmIhS>X+wF#PjzTv6?Ki#vo3X;bA7%_Y00000 LNkvXXu0mjf&zzB5 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_tr.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve_tr.png index 2db7357582442b8c68ebf2766d0fac8e38fe0fa3..704acd60ca54374d1820054c6a2c7f1529cfc02f 100644 GIT binary patch delta 288 zcmV+*0pI?M1Iq%CG=Bm~L_t(Ijm48ej)O1^MIR+9Qi;R5_v8jWL{G^AlDGvSbrv1Z z6oD9a^Q6d8WdH9(PQf>A+rH|$=5u-PNhy(YUakB6UH~`~XqpBQ!Fx{#0q;E`!sT)y zr9@R#oX=;RbChLiWfZsD?bY`^*XxxK0wS`A!!QtITtom>rGM{xoQN>bGe-#_08o}C z^E~6c_e|4ts8~dPTQ3TxX~KmN7{`(4^LfbGIGs+6av5Q m&c@^MAm>bB2O0nN8@~WlILuqv;U^RT00000eyMqiK%WXF+!h7NH6xB?P~pyL2Ya0ITB zW8?<3mbgJmB8mh@HU&s*v1>NVf484xjb;1IjAq6WKUyxA7o`+ZN}AR=hxh)@rfC`h zh~S{p>9AU@D2f7O3`!}q*3@;4bB=bq&0?{jC<@Xv4H(gSy??%xWyx?jWIP^YjA1ky zp|vJS60EhrWHP~f|L5Y}nog$#PGnhzbB^=*{8421 yodf3_Vz=Ajy?@!pTWvNQ4u`{c?ZV-|{l+hmR1C8forypI0000bl0IWVbAR0LcPOR6+O~z15=toy z!?3#~gn$qNbzNr#LI_OL1Suu9ZF>O_QD!(EkH6w{I_2{`&j=xah!8?}0d!rLS>FMq zaLyrwfDi)C=QF(b|0^h&opW%`!F!JwBZvsrTCmjZ^uE7}ACCu|bBHk_#t13p3qWg) zrfGHn@0d#kA%6s{>k6$kK8!KYT4$?%zPV&C0n!I!#+aQ|iTz!1YGRBL%d)^2^R1wC zAr<~CE?w9uV2oiH1_&Xt&#Bwq`z$*}j1lX)egjlh17l~UNYEz7so!dm<1IH&aq+!M=jB=Q4oK>z>%07*qoM6N<$ Ef`v-Hn*aa+ delta 453 zcmV;$0XqJ~1MdTnG=HW^L_t(IjdfE&&ayBNeHcQa4GUagG0K)(a18HY0!Q!+-hh*E zhMvHUCMGm4Sdb#^#&7Ze?T6^sH-c0Asc=&&+s(LZTKqYxqG=jSgI876D}PB6-0yb)03ifH5PZOX zxAAhhpznLE7-J~Q5&)2X0rk399foOyWL{9+hM=oBhPc>c@AR?>beGF3_hh4 zLI@B-KnOvWWeCIY4N(-i=j-(ftu>^Spp^crfOGE3TaxFPrU_bW7-L+YR<_&U1fnQ% z*{5l8&{{jEe1F^RrNF%GX`1kSKAnIu25}riDTS3%3d1nG2`tIW?8X>p@5&BG5CmWE zyv%L|>_GW;NS4{Zk^iiqC<IhXMEf8ImO#M64pK~Jth%&HNJS38gl}}tYte-Uf7m<%;NdG&o+_MS_POMTkJEf ze9x(Pp;WdsHn@v};dtSO_tv4IdwD&|8I+td*Rm$ed)}YcP#U{)9XCU^uB+0Ci5&qd zO)|CZ3dd&13M4NHxcY`6^shh5z3N-r{$@zEHST*~&vD9Sg48sxPt)UOuUHjdv24qe aeV>`dV|v1$Uv38Zox#)9&t;ucLK6T_V{fJa diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_0.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_0.png new file mode 100644 index 0000000000000000000000000000000000000000..b519a48da1497327baf679e020a433b2261df794 GIT binary patch literal 401 zcmV;C0dD?@P)?N!{Mqtk%2m#Ba z*qLH~;ZNLM{|7%mFieIw@8yL_48B)g*S)nC!*I?a#)y>CTQp5$0Kfpi`F!pHpsFem z(Ob^@VNFCh9*@SIX*4c>dqt+fyl5D`wN6G8~^ z-WTGKwApMBLO=)sA_8kIX4cx$(6%kE*XxhuAub|gfqb|7{f_l|{Ue!~v0N^(-|x|N z9aMGfVA?#byRIvtsxJZOTygLTSwu>9&S4f~{4+W4V~m)klt$zGl&q>qDLn=9Bl(1! zYY`a>82+Ty6VoA=WyjAyn*xrF2r-V_8#ut zDM&>qw39-UMZd*I@><{Hy}&R@$nQUsOvb}#lw~;xAz)2P31)^;YGQ}O!Ly7%7D&?+ zQc5IA0x2cpI7SpjU}g{z!Z3vIPY^hz-EKF8VTd3IF!pvnUWZ|b&1T~PfLE5~kftdf zj|Z|Wn;aq{5D|hPa2XI0?)N)huNUgNhHvj`BW$-@R8@uB?KXk(JV#YksHzHDYe*@f zwZ=>cfh0*>)a&(%%jGhGiOB71t)aC>k|Yp9{1+H!z|1I$VgeHp7K;Ve>oxkmhcO0H zN(dp~+t(fgpK#yz&WtfI#vqPkbX^CZnGr>igMNdx*3P$W3ueYlDFtSBrTPoDbNj(& zN+~o=8@%jFVUYZznDG|iU)Gk>eXXXMW+*bIE76nx)DmSryOqA2iw zzhR7VLeJ+DMC3AP+ZIZxudjSQp9iaM4;f=7>#;wbPTr&!0N{8$4xi0rU%P1JeP^0v@8PUZIERva5n8>7wf%qu{Cs z=t?LqG!c@3eyhyiTKEToc{1;1=4BFK5p`Y9LI?;UAf<#-3R-Jg=kq!E%#W4=d7dN7 zGDs;bb1=r1>AwO}N+M@jM*pX2!aUDE0$=5vPN$hMhB%JF7=zz`V#XK_ zhXe6~x~}Iu&mpD6^Z7(k6kv>ja}Lfq;y9-AIp=u2UI@bwN-1<*he!xPJ^PdP`#svW zMccOEoTDsD!q!@Bw_Ai^2xAOF?{=D|bV}1SxZm$og~!%fSZk4{DWsGTLLmAy%nJlT zfU2rUV7*?Wsw%wSZ#d`3+;JQcDW#Ak2>_5`p2#_eF@~0N4$e9BeUD)npp-(WwT4m( z!!QuJEK96bDeUr^*U!+ zMmOUP^WWp~`2WYGltLJWguP+D=Vkl|bX^By490Q9IF3Khc^Q9;1t^)r^Tav;0000< KMNUMnLSTZY8Ri%O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_3.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_junction_3.png new file mode 100644 index 0000000000000000000000000000000000000000..7916c63a64acfb454e032530cda7ceb53c514c6b GIT binary patch literal 436 zcmV;l0ZaagP)Y-5JiulP72y?6~Tcka1XA-fh%$3&@J>X9J>rba0iYg zv+g9)X|Vs`lkoc4@Ob=!3{u>CQ+2B{VI-=m>Zj8wMNwd_#W{y_j>F+F`Hs!T1XimR zMNv?eC3&7>twlt}pyL9OJe$o@?)`p`3j7(({vtklI-O3v)*7ufN-305#Jkp--EKGF zOscBtW6uEh`LPXG7BO*K=4;G6B0M=TJF=Wy0vMd1-c)466BIy`o2q7dK zfcKv4yJ4|x5n;30@O(aby<;>9M;+-5X}-1=JWZ0+;tsI(WHB+WUJW6zP?wk;uqR6!K@7~}bT z?qk0pg!FQ}ACJf37{`|5a=G-;*t)K1nufZr+3)us`2XI-(ZBH3)adrt+>Zjr7`*p* e?+4#`EdBz>chW@1m#L%x0000&7ss)7&#LI@aR9#D_tK&Z7w6h$8guJSz3n5GG3S;82DZQDK? zXsr?M`~G-mSNl9qlx2zYJYlVcQtI}&1$%`!48vuNfg5WrthMO6?g{ZN0072uywWtq zwrx;Kp|0y!@Bc57_b)hLj`ptuq?9<007*qoM6N<$f=+3Y A0ssI2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_straight.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_straight.png index d8a5699bffe768d019e13de63bf108aff606fcc3..d051e9354cc8aa1d3c691e2a5d3f222029663a49 100644 GIT binary patch delta 145 zcmV;C0B--K0=)r{G=FqSL_t(IjqQ^$4g(MCiTmZr#i|x8Mb`%RK|JZNoqS015yANkvXXu0mjf-ts?v delta 249 zcmVKonHye=;S`lpHvmWuK~+_lrU}kD z7-PUWhY$ip1n)hvEWj4==q(lm|rq9~%^ zjt{K0XqpCBSZk3a$ye@v(fc!h!C!C^NGZ{_?Par+5`Eu)<>Fp$+ZK1du4{x45JHH@ zL`1Q^@B3M>t}C?GV2oi|7I^RDJI+{Z9sdVUTJL+U!@`og00000NkvXXu0mjfk)m*< diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white.png new file mode 100644 index 0000000000000000000000000000000000000000..391bc0a0df61a58ffc6c588eff585966feeddb9e GIT binary patch literal 2224 zcmV;h2v7HkP)4G}IP^nTob*MU2mDs!W zKkCwnr4s{8Oblfz5~vbV2NsINj{-{KGqDZ$JMew)bGFZp6VgvVuVjT_zjx2Q_ul(F zzDouFx3#sk*l`@#whh;HVcRww$3eH-h39$bbUN@nPkjII;X?(I4eM`E1MPMjS65dE z!w^9b!1sOlz7Nmyz&X!cX&ctRvbMGsx7%&Z%*x z+pulBuTQtz6@N3vVB0nf*L4vD0eZcjxLGC=nx-KL0`Yu505ozLfa|)q5%7IK0RSi$ z3E%etKxBNL$s?Bm*tUI}1HSL$?CdP_P`|_?0FLA2K1qo z&qK9Zg+c4I$W$Se{Zs?!H-(&Yc%BEN)9HY74qev^9nwi81F$R$H#axpUYR83oWruL zeE)Kw1A>Jy6DIsST?K$a3{Sk;z477(I{%kgEq&mM$`b>H!siLOmc`UU@C62l4>) z)dN5=rIyhHc~(jf4AP$s0Y&A-w!}q50nL<)C2uSE;pdk z1A_p_=z%gLCsXNxK>;N6K-rO#rS-rt0CZi4;PjQ1m6$OG`Lb<0mrjY#@9O{8*-!v5 z3EJ834ly648=rnlMchmSw@RER2tj!!QhtkB=jYB3PD%FboB# zkw;)yTUl9&Yqc6qPfyWqw-b@0K~ePT^*Wl(CQQ==>5w}EAYN~`+oJJwG{?rqL-EIwWdKy5?i>N)by{i@6BD_e_j)~qVTdS-Kssb(5ujBd z&w09Y0x0pnvkA+x#5$*J4}w61ovtW~Kssb30CZi4X_`1VI7oC7MN#6r{5i4+ z5Ulqd>gsAK zWh$#F0{}jM{v3185r!c+=SoUtjGR$Mp2H zsAgp;b$fdo%gf6Z0QmCdODuy{=>fT20&g(JgwlEb{5g(~j{!h*EO*K|$Kl~29zJ}C zFbu&M!|Lj4JUKauU%!40qz5)PH{*+o3uufnabss^2kYzW%FgBcl#H_ar4c@U{1}We zOifK;YHA9NMg!B+)6g^xhlhtEnQhw!W9$|HIX`&t0Po(tQ+BTFI$pkfiBF$Ci6TP) zWIZ4cq6oa}x?qgmPC+_ks?M*kuf=ktB2%x|0U!~9xw$#a&(ABtFD)(M_wV0HJs>-m z>73R%g%LnP50nKj^Z*gbAf3yU3Lv2e%7UkgXwX~gpq)oil-M7jr8Wq7&N(zHJY}8b zl1x>x)9DC*&N=q>_A>sOrlHg6Wc2_6C~~I1De2@0r1b!0d)hy}3IrR{6qu%o@87>; zdwUzLR!ceZot+(QZ*Sx2)2E5OMOhClEG%GteqLld`8tk+#l^*}9*}b&&zVqHDizT= zWit`W{{DVEh#q+J=1m0vgmYT46gd+er}qdpH#g%lr{~nUV8d3cRY`9!kf=!0F@VI# zWs~Jtkse5}VY-oxjg7cyhvV(rw;7+bZEbDED*sonUS)hUlC05a6!Li)yLa!N(qCm6 z0JQU+-hREgxhcIBm*?LXz}K%|*lA^yE~BLX<<;UiPNEG`LetaJn4Fvx1&y8~e?v|f zxgsttE#-;{N-ouTflO?ibL{W$!|net#Y-5(~b5{Tg8yin^{kFQ92u zy(N=x1_15%GscvxI6FIwsi~<9m8wc}KUSQZn@c>OaW2D(@87>KEJQ~~N3rVUG~GFn zs)VgptMc>b&$!ua<{rH+EG&$y3T6NRw{uf;{$IxAq?G+j0XRQDFXZzwc6xfM^jBGK zICpn+c-;$C5000003aOYoMDW? zzVFv$2;mhLfidP3XsvM^M^*A&ptU{)M1*bIs*>*lB02?1sXtw15h$h5$iTn-jbFDI WzVP+E4T=B&00{s|MNUMnLSTZK*?NNj delta 335 zcmV-V0kHnM0{H@vGk*avNkl#N7_45Yqg4lD;Cobv~c(`~4nc40)cTltOEbwHD_b z)>?|9z!<|gjx2$iMY074^VX3UO zTrL;VG({+-I3AAx^nL%)e7oHM2tFaDWE@9~F>JTnkI6y7CzMhQ!@zF0Ta+9Wd_qb& z-}sW`X9A_vgFtJ|dc9th{7j&=Muaz(QvTZXswgn`h6r!`6Z74XfVnq>bB-iQh~s!s z@-sn_B&@vm)JSzrS(blZ);of_t{()U53(#GvRg`7<(o|Iyhr?ke hXxo-3EdJYX`~pv*+362U>hk~q002ovPDHLkV1lmFpK$;H diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_br.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_br.png index 1883702b0b8a79a4f87a1036b1a4e3102a7b7579..b2c75f8531a4d6140b8c5b148a7914373b034086 100644 GIT binary patch delta 270 zcmV+p0rCFq0=NQ@Gk*Z@Nklp)2-aFS=U}Y`5rLVJQbLRoDW&tguB!q7(*Yp_wAN5-MJWX$ z0uez<2|4G>>QdhOM+gDSvfvwu2to)jM1^*7_C_WBd&0n~}-CI_WRcF!M0r)rp9_JNQP-jD6pcbB5}{fBTI;fX4da UpM8p<00000Ne4wvM6N<$f-^sSEC2ui delta 322 zcmV-I0logX0_*~iGk*aiNklBy_OcRX380*q+hIb`-u*Rn<}y1)Ot8k_1r{!CDI<0yBe%kYyR1 zbMW5d@pvcz&>|2*K-;!3#-Q(eF!LJIG=Z7Xw(a^BsH&=#5Pt&FG{s*q3(GzFvdV9NrJxbHw|Y_UauE~r=utW zGh?3TP1BhZ8LYO}?h2eaSp{UzM|eJ;yLsVh*{f3OP=ttn{AQ#qk-7Z<`bzNf|$FJE*@!x*qCzezH UWo?~Bv;Y7A07*qoM6N<$f*WFzRR910 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tl.png index e79b0a583991ecddc6bba42fe02b7b4ac78968a4..2684f86772dfa5de97059004bcc34ab3651d431d 100644 GIT binary patch delta 242 zcmV3`JkCu)&t>Q|4+pU`C!@k}guWQ@ZkO z=7SIz-a`_2;XB*5U8NLWOI2}qdhh>gUDpLbhM={EnW3uGT2WQZjGQy>PD+UwBO*cw zVPGuVwq30?a?aFRF|(hZbLRPc@_0Ph_x(?IcUo&mDFrj5lxxCF1}9@zRh<^7>Ma;M z&kAa-zZ00*dlS4~dnSVucb|p<1}D9D+1pw7)GB#5FsHa!UxC+?89itL2?>TIY!Rl zNoUApJb1E@Jtl+um(tP_P5l;u;Qe|MpDI4m_x;mai!p|;YtET$L(ihobz2|f~(RCd$Mt|D2#W_b^*DT9IN{MAz zXqtu?Bipty&okb8l(qKr%pU?c3$K!!gyR>l17{fG8#2EjCzehM_tz{fX+O~Zg z7K3pdcLRB_k_e{+uIswkz&VG?Ig?Vt7*jMrI3?vsDHRP6PDx1)heNS})_OOPh7H3| zWDr8w4WtKBk}7u%rfJ#@?)N*#rv{=e`zvgLHxx<*MKg(g|xVy!WT&u-4v+PX=_MDgTvB&`OJO9Cw2!$wUa@+`-di kVwxs+@4@Kd-xq%48^$EZz0;{Wg#Z8m07*qoM6N<$g4$+-f&c&j delta 352 zcmV-m0iXWK0*eEXG=D-#L_t(Ijm48Oj>0eyMW0tLkc}e&5~7PZ0Mwj-15o53oQ8@j z4Hw`Bv_3=1NE87_4h2Y|V9iEAfNozimgPTx>=_GwS*=#J)*7W0&FH2z2u767c*>mWmHHk-OA3V+7qG1KW3Yb}$>1Y-C@@-(YZx~|hSWjGwR-uIE&Yz9D@rnfop-gCKJzH)}Y yIq=>i^E{`js<&-?WVhRKJRWav7dHRxH(mizGw847L;_g=0000i&|1S7^XBLC`2YYc0rY(jr4*!;=(-M4 zN+_k!G!3-Y5JG@+4#pUYqDW~tjN|z1`yRL34V-h7Ww|@keSaHs&T+k7G0!tt+qO_j zVV-9U!?1fKgn$qNWm#qgLI_OL1f>*Wj4uEwWoD?V>douAMpac{jNyL2gNPud1QERe zx~|Ktp8!&Fj1fcxBEs=_g!lgc3bxEKMmXo-y+;TEQc75B!BV$VeczHFj|ZG{2q7SZ z0HxFmKx>VrX@7PApO}+-??FUZ*A-f8{4vHrYn?~+yJqKHX5Rv&55|l!yHVA3{WaM+ z2O>fU0n4($81thbO<`N}@8ksVrhqYqVHhBU$a7BJ_TFdN$wLTO*YyXWC<<`SF-_C% zQ3zodZ_lLQke1?dxja8DQ|k7zEYMo#_;fn$w{f25{2|l4_psK&TKjdKll=uV7;(l< Smv`|10000~HkM_5K!4Zq za=Fm9Elc0`$@3h5D2j-ph|Ok09LFR{!gjl5x7)Gb?@7~?G)+-TQ4|Hf@3Zne4wg+oLcE_&wmA`We>x^^Z7IaN-2UMKuXC{N=essZvu1jJiAiL*t^ujVOiGKJI}Lg z0XjiJk(IQ*+X2*G;2#s~3%Y7v!>&5I@%Irc~3XL_LD;nK08rV8cyqUuNF6`H(>xGwIv72|Mo;0pH zXz^jO#N)NAIylx}K2z|0`^{~+3>*xx*YBoe%zG}7)bqVi#^*B20gJx=Wr-3DFMiM4 zwN5iswBfVO&F^zpt&(HDB-^kmsEdQ)^{#)JY&W*`zTU+kAlT(HK{<4(2aDw|p2nG} z>@y@=cc-)O_-(JCA?%oSW0Ow*vSpbK@6~2WrYd>xdaM5QUGH1+o!=%ns_6bt?wk4T V@6>r6Y*7FJ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_0.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_0.png new file mode 100644 index 0000000000000000000000000000000000000000..35019f1d85fb640c96c1ac202e3b00b8c01d284c GIT binary patch literal 406 zcmV;H0crk;P)CP&3J(r%&x@BMA;VIi*v3s%d!*z0${yfw*W;^Af@cs zxXyhkC9~N~h^neu=N#kl7%3%6si!2R6iO+IqDV2N6sOaP-EPM~YmN6FDJ84birei5 zkiZ;r&T+Y1m`dRlYfJorXhqt2;p%AV@$f;cVO>*vc?#C*4jVAac!-o=bU?L-@9-K z0q5MKKzt4<#x^d^m z53mTuG$}Me`c~;{^?d|}nS}giCNmiet(B%}9RvZ4P)Z?$fRwT$i^ak+jMH`y$1y0S zV2puMiZBe}`#yvaAcVm4JUC7VLE~w)TGgKC!F64~!uvJ8%?b{qH&uBr-JYiO+zh9Szbgd>E2@B0n(7p#Oa`n=7ZT%N^s5_SW1cG@%RDTwhhiXlv2=IgLD4vKnU^Ch4;wsT`(C~>-D;h zq6pLJ6r<6o18J>0j*MhkhA4{gd_KRw^67M{+m}qW+xxa&E|*qk764$o-PZ5JWU9?M xhY$iqQD8ow|2&O(o;T^2Wr?yZe;nub`U1cEafK4fLB9Y1002ovPDHLkV1fl;;y?fZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_2.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac37ec44b867715005c577be13ad33b9ceae1be GIT binary patch literal 539 zcmV+$0_6RPP)*AI9X4l*z^yEoYz;G^<9XQdRBQqWq%7y}{-XT4qzUiqU>gEUQ%BnhzJ9j>pCVPzFx03to*=!1k+hrS){QEq!7%` zLN?%Dact1Pf#bN>&G6paoj1EPCQwyXSS%Lgd5*OfRYg@f91gRe+;qxdy9TP?qI~W>!^Ih%*CR zuU9sk4I)C8WrzsI7(|5o{myc^1i)HL+qR@J?V>0EM)GR4LPQV|k|g2rc;LMsc>vBi z(w~9FYl{e~N?q4%w_CjTc<(=gbBm(Ny2`=XSdsp;$ax*x^B!sRsR@>$hha2L7X{?`@Y9}&-3~GF!)+yUDqMb z>%AXOj`i_){L*}(X_}y_A%qZAH8f2VZns;Q;{Nwbocs&#p~ke|dw(@(+ZN{>&bg28 aJcZv5-Q0kF`PTse0000UtP)^qKEOr?`rt z4Iafz(-atEV2putepTDHH$GQNg(xgWDTTVOA%pk1+Yko+rHb&{|(iT(C!p%d&)ct8)(CdwB0L48tS;7$OQGgg``L-}jK>{(q5@e<2Es kwtwB=I1X5AFWaen03F$(Wbr5SFaQ7m07*qoM6N<$f|KiuRR910 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_straight.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_straight.png index 636913932e460ee4c37a8e5e3a141b981a1f4f52..a76af87a18d6af737b34718e8d583149f9efbe7a 100644 GIT binary patch delta 147 zcmV;E0BrxJ0>1%}G=FwUL_t(IjqQ^$4g(s&TI&|P05xkmA#a6|E(`zw002ovPDHLkV1n4p BJ&XVV delta 250 zcmV{(O$Z@a*A;86Kj#`x)8y|bUo}E`mRW~5H~;_u07*qoM6N<$f{0Xe AA^-pY