From 43a9f2802e4e6f7ed6a5e38baae690efcf3c079b Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 21 Dec 2021 15:57:59 +0100 Subject: [PATCH] dosimeter, some texture upgrades --- .../java/com/hbm/crafting/ToolRecipes.java | 3 +- src/main/java/com/hbm/items/ModItems.java | 7 ++ .../com/hbm/items/tool/ItemColtanCompass.java | 2 +- .../com/hbm/items/tool/ItemDosimeter.java | 70 ++++++++++++++++++ .../com/hbm/items/tool/ItemGeigerCounter.java | 1 - src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/util/ContaminationUtil.java | 13 ++++ src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/items/arc_electrode.png | Bin 361 -> 515 bytes .../textures/items/arc_electrode_burnt.png | Bin 361 -> 447 bytes .../hbm/textures/items/arc_electrode_desh.png | Bin 250 -> 537 bytes .../assets/hbm/textures/items/dnt_sword.png | Bin 0 -> 528 bytes .../assets/hbm/textures/items/dosimeter.png | Bin 0 -> 361 bytes .../assets/hbm/textures/items/radx.png | Bin 302 -> 332 bytes .../assets/hbm/textures/items/siox.png | Bin 284 -> 345 bytes .../assets/hbm/textures/items/solid_fuel.png | Bin 300 -> 354 bytes .../hbm/textures/items/stamp_iron_circuit.png | Bin 297 -> 619 bytes .../hbm/textures/items/stamp_iron_flat.png | Bin 226 -> 536 bytes .../hbm/textures/items/stamp_iron_plate.png | Bin 245 -> 529 bytes .../hbm/textures/items/stamp_iron_wire.png | Bin 250 -> 484 bytes 21 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/hbm/items/tool/ItemDosimeter.java create mode 100644 src/main/resources/assets/hbm/textures/items/dnt_sword.png create mode 100644 src/main/resources/assets/hbm/textures/items/dosimeter.png diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 3ca599b26..8aba6c2f8 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -119,7 +119,8 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.turret_chip, 1), new Object[] { "WWW", "CPC", "WWW", 'W', ModItems.wire_gold, 'P', POLYMER.ingot(), 'C', ModItems.circuit_gold, }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.turret_biometry, 1), new Object[] { "CC ", "GGS", "SSS", 'C', ModItems.circuit_copper, 'S', STEEL.plate(), 'G', GOLD.plate(), 'I', PB.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.survey_scanner, 1), new Object[] { "SWS", " G ", "PCP", 'W', ModItems.wire_gold, 'P', POLYMER.ingot(), 'C', ModItems.circuit_gold, 'S', STEEL.plate(), 'G', GOLD.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.plate_polymer, 'C', ModItems.circuit_aluminium, 'G', GOLD.ingot(), 'S', STEEL.plate(), 'B', ModItems.ingot_beryllium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.plate_polymer, 'C', ModItems.circuit_red_copper, 'G', GOLD.ingot(), 'S', STEEL.plate(), 'B', ModItems.ingot_beryllium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.dosimeter, 1), new Object[] { "WGW", "WCW", "WBW", 'W', KEY_PLANKS, 'G', KEY_ANYPANE, 'C', ModItems.circuit_aluminium, 'B', BE.ingot() }); CraftingManager.addShapelessAuto(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.digamma_diagnostic), new Object[] { ModItems.geiger_counter, PO210.billet(), ASBESTOS.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', POLYMER.ingot(), 'S', STEEL.plate() }); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 8ccfe81cc..192fef842 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1237,6 +1237,7 @@ public class ModItems { public static Item linker; public static Item reactor_sensor; public static Item oil_detector; + public static Item dosimeter; public static Item geiger_counter; public static Item digamma_diagnostic; public static Item survey_scanner; @@ -2128,6 +2129,7 @@ public class ModItems { public static Item volcanic_pickaxe; public static Item chlorophyte_pickaxe; public static Item mese_pickaxe; + public static Item dnt_sword; public static Item meteorite_sword; public static Item meteorite_sword_seared; @@ -4726,6 +4728,7 @@ public class ModItems { turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_control"); turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_chip"); turret_biometry = new ItemTurretBiometry().setUnlocalizedName("turret_biometry").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":rei_scanner"); + dosimeter = new ItemDosimeter().setUnlocalizedName("dosimeter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":dosimeter"); geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":geiger_counter"); digamma_diagnostic = new ItemDigammaDiagnostic().setUnlocalizedName("digamma_diagnostic").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":digamma_diagnostic"); survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner"); @@ -5309,6 +5312,8 @@ public class ModItems { .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) .addHitAbility(new WeaponAbility.BeheaderAbility()) .setDepthRockBreaker().setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe"); + + dnt_sword = new ItemSwordAbility(12F, 0, matMese).setUnlocalizedName("dnt_sword").setTextureName(RefStrings.MODID + ":dnt_sword"); ToolMaterial matMeteorite = EnumHelper.addToolMaterial("HBM_METEORITE", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); meteorite_sword = new ItemSwordMeteorite(10F, 0, matMeteorite).setUnlocalizedName("meteorite_sword").setTextureName(RefStrings.MODID + ":meteorite_sword"); @@ -6856,6 +6861,7 @@ public class ModItems { GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName()); GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName()); GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName()); + GameRegistry.registerItem(dosimeter, dosimeter.getUnlocalizedName()); GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName()); GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName()); GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName()); @@ -7474,6 +7480,7 @@ public class ModItems { GameRegistry.registerItem(elec_pickaxe, elec_pickaxe.getUnlocalizedName()); GameRegistry.registerItem(elec_axe, elec_axe.getUnlocalizedName()); GameRegistry.registerItem(elec_shovel, elec_shovel.getUnlocalizedName()); + GameRegistry.registerItem(dnt_sword, dnt_sword.getUnlocalizedName()); GameRegistry.registerItem(smashing_hammer, smashing_hammer.getUnlocalizedName()); GameRegistry.registerItem(centri_stick, centri_stick.getUnlocalizedName()); GameRegistry.registerItem(drax, drax.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java index 15a1b8fb0..c00c329be 100644 --- a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java +++ b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java @@ -61,7 +61,7 @@ public class ItemColtanCompass extends Item { TextureMap map = (TextureMap) register; TextureColtass cumpiss = new TextureColtass(this.getIconString()); map.setTextureEntry(this.getIconString(), cumpiss); - this.itemIcon = cumpiss; + this.itemIcon = cumpiss; //apparently i was quite pissed when i wrote this } else { this.itemIcon = register.registerIcon(this.getIconString()); } diff --git a/src/main/java/com/hbm/items/tool/ItemDosimeter.java b/src/main/java/com/hbm/items/tool/ItemDosimeter.java new file mode 100644 index 000000000..2baa8132a --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemDosimeter.java @@ -0,0 +1,70 @@ +package com.hbm.items.tool; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.armor.ArmorFSB; +import com.hbm.util.ContaminationUtil; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemDosimeter extends Item { + + Random rand = new Random(); + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean bool) { + + if(!(entity instanceof EntityLivingBase) || world.isRemote) + return; + + if(entity instanceof EntityPlayer) { + + if(ArmorFSB.hasFSBArmor((EntityPlayer)entity) && ((ArmorFSB)((EntityPlayer)entity).inventory.armorInventory[2].getItem()).geigerSound) + return; + } + + float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity); + + if(world.getTotalWorldTime() % 5 == 0) { + if(x > 0) { + List list = new ArrayList(); + + if(x < 0.5) + list.add(0); + if(x < 1) + list.add(1); + if(x < 2) + list.add(2); + if(x >= 2) + list.add(3); + + int r = list.get(rand.nextInt(list.size())); + + if(r > 0) + world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); //TODO: rip new sounds either from BM or FO3 + + } else if(rand.nextInt(100) == 0) { + world.playSoundAtEntity(entity, "hbm:item.geiger"+ (1 + rand.nextInt(1)), 1.0F, 1.0F); + } + } + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(!world.isRemote) { + world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); + ContaminationUtil.printDosimeterData(player); + } + + return stack; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java b/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java index 93e73b5e8..c484a78e0 100644 --- a/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java +++ b/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java @@ -98,5 +98,4 @@ public class ItemGeigerCounter extends Item { return stack; } - } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 45ef2c341..4633cf69d 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -296,6 +296,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.starmetal_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); MinecraftForgeClient.registerItemRenderer(ModItems.schrabidium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.dnt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); for(ItemSwordMeteorite sword : ItemSwordMeteorite.swords) { // MinecraftForgeClient.registerItemRenderer(sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index 0a66e73b2..6ce03bd3f 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -216,6 +216,19 @@ public class ContaminationUtil { player.addChatMessage(new ChatComponentTranslation("geiger.playerRes").appendSibling(new ChatComponentText(" " + resPrefix + res + "% (" + resKoeff + ")")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); } + public static void printDosimeterData(EntityPlayer player) { + + double env = ((int)(HbmLivingProps.getRadBuf(player) * 10D)) / 10D; + + if(env >= 3.6D) + env = 3.6D; + + String envPrefix = getPreffixFromRad(env); + + player.addChatMessage(new ChatComponentText("===== ☢ ").appendSibling(new ChatComponentTranslation("geiger.title.dosimeter")).appendSibling(new ChatComponentText(" ☢ =====")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); + player.addChatMessage(new ChatComponentTranslation("geiger.envRad").appendSibling(new ChatComponentText(" " + envPrefix + env + " RAD/s")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); + } + public static String getPreffixFromRad(double rads) { String chunkPrefix = ""; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index c80279835..558135269 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -393,6 +393,7 @@ geiger.envRad=Gesamte Umgebungsstrahlung: geiger.playerRad=Spieler-Kontaminierung: geiger.playerRes=Strahlungsresistenz: geiger.title=GEIGERZÄHLER +geiger.title.dosimeter=DOSIMETER hadron.analysis=Analysiere... hadron.buttonOn=Analysekammer (falls vorhanden) ist AN @@ -1202,6 +1203,7 @@ item.dnt_plate.name=dineutrom brustplatte item.door_bunker.name=Bunkertür item.door_metal.name=Metalltür item.door_office.name=Bürotür +item.dosimeter.name=Dosimeter item.drax.name=Terra-Bohrer item.drax_mk2.name=Gehärteter Terra-Bohrer item.drax_mk3.name=Schrabidischer Terra-Bohrer diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 070947f09..2bfcd7bf8 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -467,6 +467,7 @@ geiger.envRad=Total environmental radiation: geiger.playerRad=Player contamination: geiger.playerRes=Player resistance: geiger.title=GEIGER COUNTER +geiger.title.dosimeter=DOSIMETER hadron.analysis=Analyzing... hadron.buttonOn=Analysis Chamber (if present) is ON @@ -1278,6 +1279,7 @@ item.dnt_plate.name=dineutrom chestplate item.door_bunker.name=Bunker Door item.door_metal.name=Metal Door item.door_office.name=Office Door +item.dosimeter.name=Dosimeter item.drill_titanium.name=Titanium Drill item.drax.name=Terra Drill item.drax_mk2.name=Hardened Terra Drill diff --git a/src/main/resources/assets/hbm/textures/items/arc_electrode.png b/src/main/resources/assets/hbm/textures/items/arc_electrode.png index f8538efc46b97ab155938a893d1fd4b730ac7604..4eebcc2aec51eb9e54803213709da155fee3a0a4 100644 GIT binary patch delta 489 zcmVy#(smp;6L~aMkZ!VWF&+PBm;RRMIMEH&)!|P?&-S6sxvr` zwf48ZwGP1t5Cj1}pAR;h4WcO0OeTY7vx(_+O2{VyX0sVCmwyYnT#lAXB~VJS-EL8> zRw1d8B}u~leuv3qqLD}h&*zh0cDo&^R7zcdksS^PjYgwzyWObOY8a2lD3{A-C!aD-estsNe5rA7VbAL#x%|a5ykK?4IoR`}Y%s z!(m#fR4^Ki;D7OWxWMsv#QA*2YPI6z<#PG=4j4HekK=m1!eX)DbUMN7^;S1_Kw7Pk&oD{=(^W(qdpRh(I8K!C=6brPu3ORsSV( z0eM6!7X?P65tqvakH-T#oes0vjE$~Zb>Y=E77HV5G@6geyy|?6?|pF7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%hhNHDpIvQUCw|+DSw~ zR5(walF1H)AP_`77`M2^efR&rvWCLoAYdHl@Q^OLuxaoBynklfHt{*;*5VU1Pt$~P z97XtY1DfY~M%Q(y>l$TQx)WXK<~+}lB#DrJtYF`FEX#tv?@<&5q9_vbv1TQk=w_B2 z$FY#V>z8B`maUsr**cd%$26ONR#*bj8^$x=nTaJRbKAC$W^xJEb(N2#X&QM|dbjU5 zCp7bQ@quJnhDR_Ag=`y41;0B!3BTNLh0L01FZT01FZU(%pXi0004TNklA{f(3 z4*31F8VJBTHHB`s3yZ~qcDoI|7P2tIk>K^f?Qq~M8bvyrg(!-M$K!uH*m60^#2Ea7 zfV<=ku969mf=i_mBuQew3LH=C$;-J>Xx357J;G!#pxkW1Q+>mEBB|y#R6v?F)5`uK zkS>*YEGDq?{F134MOKK#zFyrh z2ku=FjoTBXFEZe~Rm_bW2lnX)P3PA)(aIbkSFggpLzq}r)^)FZ7BmRhmIxhoiC5hx zgB!2;OQb$4nuFf3k00004XF*Lt006O%3;baP00009a7bBm000id z000id0mpBsWB>pF7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%hhNHDpIvQUCw|+DSw~ zR5(wSjynp%Komt&iN+6Og3(EEf+7f}v9gF;u(5ClcG-pCE`QvDotv-~TYJGyY@O>1 zB7Ww9nc{Hgo%?1O2Y@w7DT?RWDE|?wF2YbkN=c*T1Br^zizM1X3%>6`2*EFMEaCuZ z6krhe@EUbg-3sY~KiDQ7R(*kaD3FL6n&lGdXJ;&PoKhd#VFOvm#iaJWob$EFanDA$ z&O+?Rf=079#78fBJ*D8g99F*2yCntRy6g}Vf zz4v@GFMo&9Cx!^KaFGUXT!a!PgfWDhb}fq9M7W4ZS|*4tqM(iF!f+vKWT+IbbkQcr zl%N*nAYzi3Hllr)Z)!cwAe_=JP#pTa!@6z^bc7Qzio)1^m!xwwyZ) zucr&y*Bf9V0L0S7=5~1tleR@CD4?qU07izJGTezHCjh-L^|JPgK~<4h?dx+T*&P-~+KStrQ0&|E>G4g)ztGMaRbB zhcAdLjr6Y!I!O#lz7qE(neW+#JI7)?xYW(nk=k;Y!*Ec<^Kt`|(1OE(0N3SEvRa|>D8OhwzyhhFY^fFQ zvK0yy=G|O?`CJ~0go=72e+yIMHGG79ULZO+j6bBxvWW`Yy;%SN002ovPDHLkV1i@9 B_SOIZ delta 222 zcmV<403rXG1o{DxB!2{RLP=Bz2nYy#2xN!=006N`L_t(Ijh)jw4#F@HMbT@-Lf8(w zVP}-INNGT65}-jK5s0wFuVMj1W1}I&vYn~ioM-uI3LqXD)DFFMZ-c2{6Q-U_dKa4hY z;PDRFMDSlg1M+aV=C|!=Km*ct@G4|ZqVOpLe`f|V1(~Q{mOVr9 Y2RL$5BE$^|L;wH)07*qoM6N<$f^(W&FaQ7m diff --git a/src/main/resources/assets/hbm/textures/items/dnt_sword.png b/src/main/resources/assets/hbm/textures/items/dnt_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..fb74fb890dd24121f0d27bdd824b8769d347ca09 GIT binary patch literal 528 zcmV+r0`L8aP)yfwlU9 z?i}B05W3N9XN^m$RNnf6pA3yeuV>akn0(NEqS0(qtJPBP%glh3lGCGo8qGH1rO4im z%*Q}Hxp*nknJ;p-SxLQr*0upDC69O4Bkn|6 zzz7b1XyB*hAzUeC42M57@LO`F6#agmLHEfB4ihwBl6+D)OwfSs={JsHea03H@iM4tYrPT0@EqJPdV1^6iI1Y!a(7wEVWX-p$OBF`1NzP^zg9EJ@D?YWR=@`!?6OJKtO8XKEfT4^P=O}U%+59%iyBax<< Suaq(X0000g<-Z#fJ&{}&@6xnWa@nz7PE!S5U=*@QYgh?U- zSpSCRTXB1NV)99nSSh6);!;XG+*TO;g)YeT^qrggoLHR7^L~! z*+W>p%7QNN@H;bu(U-4aLqI@QRvu#0^=n``f(C%V(`PRj5wm0D<4% zJ~2GF^9jsm1v(!lh7Dj11Krp>hCe_Je~>hR#E5nQ2so5aV&LHs0JFb*`M~h;!z8V1Kz)T1=k4E{POi*tS-grg)?W){O9HR!0`E- z00S@A2L^R57p!Voa2c?!A%Q`F^$&v}>pzC~zp*+Lw->5>bbtN}u>OJb1zGtN{ZHKy-jBAh8;tq@?s;NlEGd&1-x9D=8`cKXc{` z)-b>ds(f_*pE+{|j&EMu^B-3r;*7?9tuYJ?43HRr0PNvSn^%GTc?E&xdd Z0Cc2S&UWNSjtl?*002ovPDHLkV1i~jd=UTu diff --git a/src/main/resources/assets/hbm/textures/items/siox.png b/src/main/resources/assets/hbm/textures/items/siox.png index 3dad754d2e79e5ef35f9d81afc50677bf20521e6..affd7e27b3b7cbea6740814396bab283633e4af3 100644 GIT binary patch delta 318 zcmV-E0m1&90@(tPB!3BTNLh0L01FZT01FZU(%pXi0003CNkl>;dPWkDDC@#6=Bu~{h4kkw$mtgJkk7Lzms$}J^q00`{eyMLF#**O%<*45Po(-S64 zAkGCKaP8VPhR>fr!wrLpVFOshAT1@7;rjLKVEp*;V=xAZ5$ysHXly8F;NcMfv%h@# z!0_?IE8<-M0yAdLXXxqehqG}3tS(rvXd^>@UMk!L8R>}(D^_kI-T-lNafbSaPB7cd z%nVHP^70a&7dPze?EX7CI)XJhJ3E8L^7Hc<4jnqgNOWcb8G_8mrkN@L0O*fbDA=AT Qz5oCK07*qoM6N<$g5;Qup8x;= delta 256 zcmV+b0ssEl0-OSnB!2{RLP=Bz2nYy#2xN!=007fTL_t(IjkQs+4TLZZynlTaDTSq^ zg@sTSpko1M$pWlELrK95hzVFA4NB{;f)F?o==ImxxjV;a;77c24^>t1u^xs&$*!=-urt2KE)U7+f1w>20000<%O$ExRaG31#|h7j$$6fq{eDl^b%YQw#$e3nN`F;VTrQWH+d*KxUZ=XQ zDa#Uo5CWUc27uLS#rb@uC<-2r$3$QpA#Jx?L}VDm7}@Q1T(4J7rxO78`~CX}B7%qv zww-gRD$Y5)_cQwd@;>Ovy`ZY{d_GZCilX>gphpOS7~}A>_nx+Ge=lH+K}3i#a=YDt zd471iL5z_Q!ZAdsX&RcQ>90TQ%@`@mvXo_60+Oost(&#)Z{Y=LS!)SZI+vdS0000< KMNUMnLSTY^@Ra%h delta 257 zcmV+c0sj8t0;~d%Gk*Z%NklCmaD z057&l9}))s{m9eiG)*)!xH|xVmO!b$V4qE}cY#S}RH^P*so& z+#UgVm6_5d^_PLFVxH%~CkYX`2%aLuDangSL||rt+_B$_33{#=j0_V4Edmwm6^Wh!D@00000NkvXX Hu0mjf0s?tZ diff --git a/src/main/resources/assets/hbm/textures/items/stamp_iron_circuit.png b/src/main/resources/assets/hbm/textures/items/stamp_iron_circuit.png index 6dcef43854674b4261d4ccbd6b9fdee1b1c96b23..71978e8c7a6710e760aedc0bb159271f268e7428 100644 GIT binary patch delta 605 zcmV-j0;2t?0_y~j8Gix*005AYXf^-<010qNS#tmY3labT3lag+-G2N400JFJL_t(2 z&wY|RYbsF`g|FlIen1c(*oYuRl1juXg*IAflfot_#6Kaa{SOur2#63!8O6p<3yBCp zEEJ*$Q80>%5g#N*z25KMxmAh`%&^bdYpt{Pnj?$FVwabf`G0(VJRbl0@lmVQpP!$i z-|vq`qh7DKTCE-qhvV_MUax=uduSVtM!jCIQmF(%a5|l-R7$MXYFAfRrBdnr{T@zP=6ygJ3ZD^z?*VXmkar`~9AUl!n=CMqY|#G#dGQKDzaKoiCdL zPS6lVQ9|PlG&t&)mzPK+^7ZvajWJ17;N>h9g+k%x=6}X!vn>{j$z%eDxXb18#l^+r zw+@5AA6 zv)SZ82t*IeU@+)(I+3Btr&6h4fPw(f%VaWSO;CwMf7{joYPN&b# z&bST^hgO3YCMEaOa71ndIpE>+^z_?pL-_gmx!>=CJKxJ rB@YgVEaSiYaHSFEi($~*F6{gP_cvju{w@A#00000NkvXXu0mjfgt;vR delta 281 zcmV+!0p|Ye1gQd$8Gi-<001BJ|6u?C00eVFNmK|32nc)#WQYI&0N_bPK~y-6rIS4h z#2^rbUl#A;39QrP4i@%-)Z!_`E)bBkIY`=6wmF7P+TCJNHt{D5d0;cl`{s>k({F$R6#SJNec->Fi{jk0hk1k8Gix*005AYXf^-<010qNS#tmY3labT3lag+-G2N400GKLL_t(2 z&yA8x%jr=R#$SKiB}tv+k_iSzCL|?enV1@C6v34`8B{xnzKl+zGklem%~Q zU2kvabl%RY|8DR9dY-kOXYH+uL?YpExLU0q4u_9#L$BAL&wpoOHk;Gwbf?p4G#YUD zwcG7}y@S2UWHK6!I-O2Y6t~+AQfxMx#bS|4rEa$yWk}rbca=&7RIAk{lgVs0yIQSs zxm-S<2O|JYCX>hGkw_$fs?};bNJ2Ck^?JR2zrS9uJDpDYlM+C|vBEYO3^tn$F%Ya) zD;g@53gu3x6MtF$15?OduU8Jx@FP_@91fq)*KW6az20CjaJgK_hVy(rl~2(?(Zg!7 zSSa6Wwfg=3bUFtFbW#nd_D&ki^ay{@oYB3gX|#q7!+uYMngBd z-Odr+!{LxI6pO`fw~JjSE64bn5}sIpyrWjDVSO|jaeteILV@ysT&O?>1ZuN_zFaQL zFav9?07`i8uYy%@n&203C|Chi z!3^xZ-`2w`XrP+l+vE{=3Pc1rUZF8&CD1(qKuYPa6q~j7(RY3W`nX2%iG5PTi;HIp=@Q|D6B1nrJi{i9|Y`&VIjtduc|a@qctW$#%Ovm&*-@!(OjP z4zBHX`}r{L7K_DfHX95ENs?SH7f5-%UN07lbUJ;#UMWLBQ520v1JqtJP|=*}$C1WUN-J-|ug?+fJtwe#m8@;5f;yR4On~ zUZ>OP_4@n$o_|WE#^dqvcqB@bz+}Rg%Y_GC*pkU4BtSs~0s)7^;dZ-Qtrl(L!7n|V z=E2FJHk&ON4ElV&-ELQ{R&n()>Gaq7)S*eBHZ_D? zlgR{4o6Y9oa5$gOfVezQSq#l2FcynNW_|sGs0=^_Pq|!1einp2e=A??>$73D|%gC|HXM(XxyyR-vIyiij@)h9Lc`5Vqf)k+_U8Z#<9!0Pp>_Dd#NS z#~8l=0C3J7yQY+Gs2U3=35WsRw@v*iEddIf^NeTc^r4-TGT6>-V073|2L)&$w eOKbh;JAVMig;#_YLgtA80000X!~KnO z)8ziiTXTBPyzg_K=XuYOGMP*&mFoBVhr{9HjgWmlU%6bKOn)ZB;SkK}blUB9w?~kB zy? zEtgBfFjQ5g)o!=LAOP8HHXe^B5{bcJ5DJChrzF!#A1i3L+Z_l55Cg#P_oJcL>v7!i zc%;gI+GJ|y^MAQsuPci3)8gkNL=NVDzso{&p-}jLIL&4gwdRx{n$2cpxm+$5i(!m{ delta 233 zcmVT)siF8bbdn!(Kb1<=c2=KTV=n?Wh11psW@))byCNYf<)DI9s0#-3Epxvn*O2QyU* jA%xr00TyG-qwo9%Pk>f(y6@vh00000NkvXXu0mjfY>#A`