From c77d10cde448a5876bdb8ea983065d6f959cc7fc Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 15 Feb 2024 21:44:59 +0100 Subject: [PATCH] bedrock ores, more launch pad textures --- .../java/api/hbm/energy/IEnergyConnector.java | 6 ++-- src/main/java/com/hbm/config/WorldConfig.java | 4 +++ .../inventory/recipes/CentrifugeRecipes.java | 7 ++++ .../com/hbm/items/special/ItemBedrockOre.java | 3 +- .../com/hbm/world/feature/BedrockOre.java | 33 ++++++++++-------- src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../textures/models/launchpad/erector_abm.png | Bin 1968 -> 1969 bytes .../models/launchpad/erector_micro.png | Bin 1163 -> 2566 bytes .../models/launchpad/erector_strong.png | Bin 2544 -> 6695 bytes .../textures/models/launchpad/erector_v2.png | Bin 2876 -> 2984 bytes 11 files changed, 36 insertions(+), 19 deletions(-) diff --git a/src/main/java/api/hbm/energy/IEnergyConnector.java b/src/main/java/api/hbm/energy/IEnergyConnector.java index fc6905758..311a09ff8 100644 --- a/src/main/java/api/hbm/energy/IEnergyConnector.java +++ b/src/main/java/api/hbm/energy/IEnergyConnector.java @@ -2,8 +2,8 @@ package api.hbm.energy; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.CompatEnergyControl; -import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -112,8 +112,8 @@ public interface IEnergyConnector extends ILoadedTile { /** Shortcut for adding energy data to tiles that implement IInfoProviderEC, should NOT be used externally for compat! Use IInfoProviderEC.provideInfo() instead! */ public default void provideInfoForEC(NBTTagCompound data) { - data.setLong(IInfoProviderEC.L_ENERGY_HE, this.getPower()); - data.setLong(IInfoProviderEC.L_CAPACITY_HE, this.getMaxPower()); + data.setLong(CompatEnergyControl.L_ENERGY_HE, this.getPower()); + data.setLong(CompatEnergyControl.L_CAPACITY_HE, this.getMaxPower()); } public default ConnectionPriority getPriority() { diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 227010114..0b1fa3a55 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -39,6 +39,7 @@ public class WorldConfig { public static int bedrockChlorocalciteSpawn = 35; public static int bedrockAsbestosSpawn = 50; public static int bedrockNiobiumSpawn = 50; + public static int bedrockNeodymiumSpawn = 50; public static int bedrockTitaniumSpawn = 100; public static int bedrockTungstenSpawn = 100; public static int bedrockGoldSpawn = 50; @@ -48,6 +49,7 @@ public class WorldConfig { public static int bedrockNiterSpawn = 50; public static int bedrockFluoriteSpawn = 50; public static int bedrockRedstoneSpawn = 50; + public static int bedrockRareEarthSpawn = 50; public static int bedrockGlowstoneSpawn = 100; public static int bedrockPhosphorusSpawn = 50; public static int bedrockQuartzSpawn = 100; @@ -166,6 +168,8 @@ public class WorldConfig { bedrockFluoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B12_bedrockFluoriteWeight", "Spawn weight for fluorite bedrock ore", 50); bedrockRedstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B13_bedrockRedstoneWeight", "Spawn weight for redstone bedrock ore", 50); bedrockChlorocalciteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B14_bedrockChlorocalciteWeight", "Spawn weight for chlorocalcite bedrock ore", 35); + bedrockNeodymiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B15_bedrockNeodymiumWeight", "Spawn weight for neodymium bedrock ore", 50); + bedrockRareEarthSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B16_bedrockRareEarthWeight", "Spawn weight for rare earth bedrock ore", 50); bedrockGlowstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.BN00_bedrockGlowstoneWeight", "Spawn weight for glowstone bedrock ore", 100); bedrockPhosphorusSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.BN01_bedrockPhosphorusWeight", "Spawn weight for phosphorus bedrock ore", 50); diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 5b933fdd3..3085c7e76 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -21,6 +21,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ItemEnums.EnumAshType; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel; import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; @@ -265,6 +266,12 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.nugget_pu_mix, 2), new ItemStack(ModItems.nugget_bismuth, 6), new ItemStack(ModItems.nuclear_waste_tiny, 1) }); + + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE)), new ItemStack[] { + new ItemStack(ModItems.powder_cobalt_tiny, 2), + new ItemStack(ModItems.powder_boron_tiny, 2), + new ItemStack(ModItems.powder_niobium_tiny, 2), + new ItemStack(ModItems.nugget_zirconium, 3) }); ArrayList naquadriaNuggets = OreDictionary.getOres("nuggetNaquadria"); if(naquadriaNuggets.size() != 0) { diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOre.java b/src/main/java/com/hbm/items/special/ItemBedrockOre.java index ca2ad4853..2dc6404f0 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOre.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOre.java @@ -98,7 +98,8 @@ public class ItemBedrockOre extends ItemEnumMulti { CHLOROCALCITE("Chlorocalcite", 0xCDE036, B_LITHIUM, B_SILICON, B_SILICON), //i guess? FLUORITE("Fluorite", 0xF6F3E7, B_SILICON, B_LITHIUM, B_ALUMINIUM), //different silicon-bearing gemstones, generic lithium, aluminium from sodium compound trailings HEMATITE("Hematite", 0xA37B72, B_SULFUR, B_TITANIUM, B_TITANIUM), //titanium, sulfur from pyrite - MALACHITE("Malachite", 0x66B48C, B_SULFUR, B_SULFUR, B_SULFUR); //sulfur sulfur sulfur sulfur + MALACHITE("Malachite", 0x66B48C, B_SULFUR, B_SULFUR, B_SULFUR), //sulfur sulfur sulfur sulfur + NEODYMIUM("Neodymium", 0x8F8F5F, B_LITHIUM, B_SILICON, B_BISMUTH); //yeah whatever public String oreName; public int color; diff --git a/src/main/java/com/hbm/world/feature/BedrockOre.java b/src/main/java/com/hbm/world/feature/BedrockOre.java index 98bbd0c48..1b7318610 100644 --- a/src/main/java/com/hbm/world/feature/BedrockOre.java +++ b/src/main/java/com/hbm/world/feature/BedrockOre.java @@ -10,6 +10,7 @@ import com.hbm.config.WorldConfig; import com.hbm.inventory.FluidStack; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.util.WeightedRandomGeneric; @@ -28,21 +29,23 @@ public class BedrockOre { public static HashMap replacements = new HashMap(); public static void init() { - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.CHLOROCALCITE, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockChlorocalciteSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.FLUORITE, 1), WorldConfig.bedrockFluoriteSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.coal, 8), 1, 0x202020), WorldConfig.bedrockCoalSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.CHLOROCALCITE, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockChlorocalciteSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.NEODYMIUM, 3, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNeodymiumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.FLUORITE, 1), WorldConfig.bedrockFluoriteSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.coal, 8), 1, 0x202020), WorldConfig.bedrockCoalSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE), 2, 0x8F9999, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockRedstoneSpawn); registerBedrockOre(weightedOresNether, new BedrockOreDefinition(new ItemStack(Items.glowstone_dust, 4), 1, 0xF9FF4D), WorldConfig.bedrockGlowstoneSpawn); registerBedrockOre(weightedOresNether, new BedrockOreDefinition(new ItemStack(ModItems.powder_fire, 4), 1, 0xD7341F), WorldConfig.bedrockPhosphorusSpawn); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index ca5bae17c..fd89e6138 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2587,6 +2587,7 @@ item.ore.gold=Gold item.ore.hematite=Hematit item.ore.iron=Eisen item.ore.malachite=Malachit +item.ore.neodymium=Neodym item.ore.niobium=Niob item.ore.titanium=Titan item.ore.tungsten=Wolfram diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index b830664c3..0a827d824 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3351,6 +3351,7 @@ item.ore.gold=Gold item.ore.hematite=Hematite item.ore.iron=Iron item.ore.malachite=Malachite +item.ore.neodymium=Neodymium item.ore.niobium=Niobium item.ore.titanium=Titanium item.ore.tungsten=Tungsten diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_abm.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_abm.png index 4da76e4669055e51e674e1b5414d3396d87a7978..25763b61e65aaa973c4154451226ff558ed5b346 100644 GIT binary patch delta 1697 zcmaKsX;{(;9>@QP%2)*J(J0=fWSd7O>S|GvVjd||+VNx;Rd-?le$mC$gs}iZ%zgK$ky2TJjk40)Lp?zw)>Mc5dRBk zS6?<{Zj?{9xgFDb>5d~pC(8V3E9-&sZ8B32lXd0BGrvqEGC$`SdE@O3 zl*|t$!_j@U6Yt-v0S8!G%=C04A1+b_3$lI{?_$snZBVNb3io8T>eJe$`&T-j9nL3U z`jON7JC4=&oB-yP7EnN{J+VMxfWo7{2HzGtq6J~+G6k|}EO!=JaNf2<#9 zy?T_1symWVEQk#mm)DXun`zq*1hkyLS7mX!Ba$z0Zp&muV>7eapUYbD^t7}+)o@-@ z6AUm&?+jk#`RTn)F^tu5aeE({a7dTV56A~nBH1{d>_?E8m>4W84uk*=vlt*3lQK!v zlO%VfT1Lg2T6xyMkRQK`l$f}?GtS-sN@7ic3_%RmCdgRx{N<#iBs-Rg8iM9kroHj? z1TdwLxL!9K{p25;#vbgfF#${|WfT*KRr*f05pG!9svxHrp_r8pHKZLod2Owf`x??N zkL-4W9zTBkOjUcwwhp-|Iaonqzf48sFg2Q}?Hb*})2YvSPAK<~Na94o)@7{9A zt%-;(zxMmNq5iqiG5~d%^#E+kDgh(@vzoLA)!H9|Ye>%{UG0eZhcL6U8ciUq`G!9k zpIcro%#A?Fz)U7{*RfZA=lWVT7XTT7AKoCI|Z?&Ua0;h@ng450)aqPd=8;KnZ?3= zGwh-C|HmGw;)aM%4OC3Rqtr0m5k`zaAV}$!TjuAhCp3nT8z&k}{9>)5M&o524-PHuHZ>)769(Pv3ZBRRxDvd=OPaArRst89A(Q;)_>h|x# zu-cHHeib!0H01LFlWlZ_5dl z=nsh{7sAgZzfL_ST}9L4<5A1o>623#IuUu4#y$9>W0+y4hnCKr9ba-RD5vE00x2>T zo6W9}(y;!~zyb+r9cpR4f%cP}Fh2q$@b7SVz5)7?z=CsP>qkV%1Z2pQl11HIw-t#* zOUmW&neZRQ=s>L68LKg^@PGhc1t@`4RApaK97^!}{nPzrbO~(EJ440~_L()bFT(7d zqe-0Y<;RkP$evOTMhRP$QxcyleB}1eX&PFnI&5W>(LLNp+woA1UkBctz~nI)jB|+s z@s!~a@LaY-{i$ByXa)3zHj18!GB05g+sV2|!U-5)3B)0#c?$(pF z7WJqXjTyPtbAhB>nK@k*Qn#*ab#ecNcd0!qeca!W-TccdSrKPR8u*~5?#RkD8lq&g zt%w^ctdd(+qic+9p#!s&MQWBMNqZtk;lgO}1i1VV(cE{j+_$Um3H!3J23BNGK zs41q~GeVzDDdx30j94$mdqB28Dk0Bi(twfk59m;2L0>T`HnV^ z>yRay#b{?~lAD}Nwxh9c*uF)OGNv?)89 c6Wge_4bnzTd-wF*cn$1~k0%cM!X2OdFOUy1Jpcdz delta 1692 zcmaKsX;hMl8pq#PX7rAlj>|ZrC~kN&4b7{CprPf43!_fUs8~@_6Q$&ul$Mshy?FP{xvcy5ciz_) zw6%Q)umY^Z76pF#PcIuq>03^Go}JWs3wr(;^NGiCMs}9B-^E$ z0Rq$GOVFp(ir-2kMpA)@ZvvPm-c2-dT%jv(8?QgwyYi@+4PT#;4z}gtJT9yruV_;1 zlT!wqHQjKy-l3tq>#!#h<2=6Fvw&dP#&9+yTu4QZe2C|#(hn$-T*t6!6skvpm&@O`@%A-K<-V&KgCmjK zCRbeX7-CYP?p}7F;_>6h`_d1+ZCi3Z20?hoC*=Xw8U+6oWC+_AIMR{QHvPJ?a(}bE zjo1~SAfB4d3cyPLY`^rLAjazJ{^GUkoCR{+T)*&yo%Ua@oiw8>f|;xLGU}Lc`km(G z9TA_7eCw#!aHr}pvuXm{74Qp_4s&5vz~IW&gHD|3dth)6VI0bM7FMnPd;@zH=u)Pm zXTn0+oUTVn1{HLfOxDA&TQSl_z4(rcD7Ny5?|>V4d&Cfe3Exvhh@m~SDgBP2u7!n# zO=l!NEz-e>RSs&Ky0Y-^PwV}SuWvr+s-sY>)86i)mCTN4I&H4Z41e9&aG7dPJ`Bye zjAZCqX~N9@4*|Vv?d1aW)XP8DVa34n`Og-{_V)JVSRCOb+G8^M$I0mPWVN5ASB=)d z9tYrm<8&!>!2RHEhXyz9nEuN%bJ>jsO?JQ7Lh6Bmq{Khp&&^S5Mcf_Ny)JS%9DkQt zu~;0!5UAVTD`?v3Q&_hBDW$IEZC0be_jfFLG}coR%oGMm3lYJI1p_3TtKcsy5bQ=W9_ogoAv;=;IadYQ|9n@}|zmC7zxirpbC?9%< zg-vxri$zi6W&9OdbhN?8LbIH{vU;HmK=teHnBiK-1gG2Ok8day<5j91l%5;%@?T;| z`L_g(DaF^=WCm7f7WKP$&2@NjU2$~_+EmRfH0y1WMgf8W)w)E4U%rFVFLNYT&ApMT zW~5;}4re=Q4N*g2K}EKqOBSIcGvw?w@G4j{>P#v-SRmXE3u={USPuj8y%p$2W}mc` z7L%675M4vsA~TZT-?Gr9V+V+a%z_Z1c1_9016MXySFtCSPaV#k0TbMP(n;g5{IGlI zl5gtVw{lu8h5n{9c*l0)h+5Bi7Ohnp*ZvbVle`o1WnDq}c}d;lEodWa*za$ml|Lkr zNR<<^RMqh;xI3q?+xfWaa~sOJJQkQ+3W5nF%j%LWI1Z-r!26z|_b?sc>4a;MEDbEb zgx;+58I61o3dP~g1-(V~M?>Vo=5kD%ZbKuHbc2@m4ow)_#w@bRDX;~&%YkVBs$mG2 zL@uO!o;w)z*VFGVz5A7H2>ch+@~k}32~AZP&{Z$nnpU`Pp_gc9hfRAEfuz^%tq*zJ zgcLS-esg1YT(k^5|DPHm1Nm}NxLC~)_|kcISTUR}Nzhq@t$AC11e3IY%uGR^kIxsa zX`eLyH7|v-HfrS$7ETBxA=zLP$vHh@%7a z60nkh8!09VJav9j!T^g%w5_AN7;wdl1tkj!iMKdHe{;Y6Vm{9>O5RbS3-6{54Qh-* z{u@#-5*__}QYKN1l}ClDY>2o!IGB5y(3cL$j-iAGK_wMu8z4m4ODFPzvK5m(q?zrO%3dksO4yj0|sa zQ5L1**or~KrXE}oH|USw;U7au^vI$tV-phmno(QBeR27C{PF&3wrKg@WM8%iZc8y* zQ|{(l6$ZFI8g4-o+YMz)J3;5CnLGMsbbh^Is3eu# zy}PWR8)A`X(c)jSJ2K*R1BryruHKQqI2s<^Ee9Ipku<%{axd1)7_%bZ9?eh7G(RRejA~SxfYy1-4SoiX~tU)JWQavK!Ngc z$SslV?CiR|hl7KIYz1z(X)WJhW7M|7>(kJSuc(7iGpfc9=Cmh z8NMcOiGCfXAx$S{vqlYt7tQ2e9d3%s&cAgH7*Dn$m-;QJx8 zZpQa@n6YGh{Zj#pK2T~Jv#uP1_4?fBetie^d9*&NH0fL}DetXQs!Xf;_G=IcduV2o zvxZ91KmYsQ^701{BXi2Vy@mNJrIw_P>ASx)ipDfMWR0NGf)#Oko~KC(y(W{`(cKnY zne=}(MSkMRFKZ^(7zbHXO4oOW7?V%!`aZ={rAo?P_YPSYN5jS=3#Ohk&o|5`2v^Sf zNJlj~C2m$~LAe$1M8nk+?j5wg$v0%M+j>uRR4Dq@%FLHoM%CP(+ITS9VFy*9RU3fY zJbyaXi~@%oRfWg6!IOug?$5TCxPmUhpTE=Q0 z;fPf}pieI+`%kV5-ns$**#1KC<5>T!a@!$=Gpi9J^{R}jTwCNuz_Kvc=~yq|E!9(& zw_Vu@{FQQM99HUNdP=X(VeReLJmjyemBQ5sCFvw6lypU>HTZ)Sn{<`CSgc2*gK|^F z;6PEFpOA(%x^;0}*KzyY^D^zTYee5@f14nDs#(%x`lXV&SF3ZRs{vjf59i zlJuX5nbW~2z=1Eg5NV>;CmA-a10;{?ZUdv6{NdbazYKL-X;!#!HC)N2cBImC{k4_f z3MffPz*{iQfe?rmqdK4V#)oL6WI_l%?#<5Q30Y3vp!-A~WY+jj(ZEgaz9`txCz9qt z6MZ&v)$ne0m7CrB)jKJNLHfR8C&4D+_^lt`B-a=row8zz1-|F0k9k^n`53 z&ZDUxw2Ft1!&K?BB1Nl#UpBu_BV%IhG&ME91cRcex0ep^t>f}+A;4T!Zgws_1WZ8e zrEa;t^nkH!$rb@c<-zALiU{v2k2dcJufBW*+@4lwvMQ+8%?3N!TDGwMR`kiY@faKvEE8QO@Q=EL~-L00a5H)X%(PopjQ z@7F)dtZwv76kgs}mVhf+rXLVk49|e47DDu|R2N4MsqObUR2u_NmbM9hm!|!eKv$dD znEqH!gA}*RWbbpepvh*$7QTCA8h{aa!zMK85eD${17!dKuFsx???Gf8$230NyGONLs2bJ8%w+dZ`7S zDRZK7I3)Hzre=?3IK5rB`~rXKGpb0E*%#;5p|}SxBzF@0x6lrejMFO?iNL@M2}2~l zAL>!YIYhn66pWt>E=T42-4pjkV4hdCz?{NH_bDA-K{#Cf$s&=VG&%iF8#X6^03>!3`s#tt{@kW>SRkVsuFGZl!^bqs zJ+Q~ug|ViU4RPiI%Md?s_l+C6oOwgd6ru5ZC7N8$n=LAZ&VEz5tXr3wj!iilS{V3} zS8Fa>_Ko&3w7kL~uS6q7u@MGStADywOdirUHP*A^*cOLL_)`<+>q=2;b6Do_b7WjQ z(bXq3aegIW7(?FqHU9NQz_>d(Zm@ZyD|W=fiHpKG;jW|D?H~YaDqWoUvbu*PrV^s$he7^1IqFwOvVk+T|dpt5ZfjRkIF@h zM5mKJm<%l%U2f1KkvzFUVJQXlK9xEdm{WN6InG+`7%k1l6q8|2qql)kX}t)qdUwEx gAWe-R@}}@E;?~=`#SjtT$4vtzWr0rp{iL}Gb10tFlcQ>{z>39*eftl+FU(H@-mx;1IQ%WW@sk$uk_MFJ1 zX)0vBLo-d`ad+~0$=k{2kN@_#cti5PW=+go%bm&TZJyofV%M*4)}Pi}s{8vv!W(Xe zUoHz2TOFKF<-Fm}_`0s+t#oCdc+G8ltL^W9{&~1A%4oT1=??F0_UqQ|-#Tlypi~ft z$r6DK55)@;oWT0H8r!CX*S@%XD5m!QU#X!&1toNg1OVuwngmC+x73{ zroF!^4V|2Uiba@sHP>gqcwl|t&`#TL-dpY)ZvL)cT9WvD>iLMJv8k_bFZ;dzef0D8 zqsPwY+>@FoD7E%g)2_2-yB!v6oVe_OpX!-37Ad~cgL8vsoIR7)8v6U3{G8b1yTAEr zB^B*E^TOLda>MGBzjwa=TPHh3nXSuUaXx!mT5`)QgJceU(=U3?zB3G`c*$3ZW`$3b zpQFx`p7y%5+QVzzn~n|InXirYqlBKk4Sv7pbf8&H=46A#s{?P9l`d2}^Wtzu?TfDg z!f9Vpr#-J+>bA2`?!fNaePQ{55ImbUH*4t{H=GZ4Lg4qwFqnyaN2g($Uw!5&*SE*Tydw4+j`8- zi=H%y00kC8s6;(>x2xZcV>B!kS|>3Fy(n_vQe|Hf0H?aFFPup~HYE@!0Erc#qv3IT zs3yZi>#f$@O#-v;=}%6te=nsBi*}>g=btCXJ1fr%w$M#2+!4c(__azx`*r00`+{F) z+1lFnR@N;DpCW@u9?$^ExSbebSlQ-vzxLIWA3gBo^LgRL7iMA4?dy5YG25K~DB)F9 z1NVNblvJ$@L*(W=Hmmb^R9SKF?_{*r%FnTGF%elkMRz&G)LR^^SS)_GYepEx$Z| z$=cxUzGpXbn3SEDe#Lt@$8CY(G+*bp9GfL;UzGKq+sT%DkM(+bN5Pym_kZ5o{^YM` zB-`d+?=Rllp7*EHz$rOq-bqjC9Pb5&`+S}DCVt>FS+-DfLto&XSm(>`ZQalJ$&{Lw zM$dTZ>@0~Tf@1pmoC?mJ{b6-w>VY1IaU)l19)$L06hEMZV R^nj%cgQu&X%Q~loCIFB<97O;C diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_strong.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_strong.png index 1d71e1efde85c433eaf750f07b8abe66f7250ea4..4b32f21622b09922897a5ace2003bc828d2b5064 100644 GIT binary patch literal 6695 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 diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_v2.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_v2.png index d494ed9f24bfac383bdcabd6417a94d319678b04..f4cea5f797feb9c5ae7688c5c5c87f2daa70b77b 100644 GIT binary patch delta 2963 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 JPDHLkV1fW@nePAq delta 2854 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