From 3a125113be3619773dc6e9b53d626cc9988b471e Mon Sep 17 00:00:00 2001 From: lordIcocain <62835225+lordIcocain@users.noreply.github.com> Date: Wed, 11 Dec 2024 17:48:31 +0200 Subject: [PATCH 01/21] Fix LSC wireless rebalance push wrong info. (#3638) --- .../common/tileentities/MTELapotronicSuperCapacitor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java b/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java index b4e63059931..af28462d37a 100644 --- a/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java +++ b/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java @@ -844,8 +844,8 @@ private int rebalance() { ItemBlockLapotronicEnergyUnit.UMV_wireless_eu_cap .multiply(BigInteger.valueOf(getUMVCapacitorCount())))); - if (transferred_eu.signum() == 1) { - inputLastTick += transferred_eu.longValue(); + if (transferred_eu.signum() == -1) { + inputLastTick += Math.abs(transferred_eu.longValue()); } else { outputLastTick += transferred_eu.longValue(); } From 5439c54361646ceb061758f31b1fd3007b5bd7fa Mon Sep 17 00:00:00 2001 From: Zhehe Date: Wed, 11 Dec 2024 07:58:25 -0800 Subject: [PATCH 02/21] Fix Rocket engine pollution (#3635) Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- .../base/generators/MTERocketFuelGeneratorBase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/MTERocketFuelGeneratorBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/MTERocketFuelGeneratorBase.java index e7480e0f129..792f02dc8b7 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/MTERocketFuelGeneratorBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/MTERocketFuelGeneratorBase.java @@ -233,7 +233,7 @@ public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long && aBaseMetaTileEntity.increaseStoredEnergyUnits(tFluidAmountToUse * tFuelValue, true)) { int aSafeFloor = (int) Math.max(((tFluidAmountToUse * tConsumed) / 3), 1); this.mFluid.amount -= aSafeFloor; - Pollution.addPollution(getBaseMetaTileEntity(), 10 * getPollution()); + Pollution.addPollution(getBaseMetaTileEntity(), getPollution() / 2); } } } From d292310315455d63ff8a82a71545fa1c56fead75 Mon Sep 17 00:00:00 2001 From: Ethryan <3237986+Ethryan@users.noreply.github.com> Date: Wed, 11 Dec 2024 17:06:54 +0100 Subject: [PATCH 03/21] Remove a few more commands the shouldn't be in use. (#3634) Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- .../common/commands/ClearCraftingCache.java | 39 ------------------- .../common/commands/GetWorkingDirectory.java | 37 ------------------ .../loaders/RegisterServerCommands.java | 4 -- 3 files changed, 80 deletions(-) delete mode 100644 src/main/java/bartworks/common/commands/ClearCraftingCache.java delete mode 100644 src/main/java/bartworks/common/commands/GetWorkingDirectory.java diff --git a/src/main/java/bartworks/common/commands/ClearCraftingCache.java b/src/main/java/bartworks/common/commands/ClearCraftingCache.java deleted file mode 100644 index 24f82d90d84..00000000000 --- a/src/main/java/bartworks/common/commands/ClearCraftingCache.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2018-2020 bartimaeusnek Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following - * conditions: The above copyright notice and this permission notice shall be included in all copies or substantial - * portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -package bartworks.common.commands; - -import net.minecraft.command.CommandBase; -import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; - -import gregtech.mixin.hooks.BWCoreStaticReplacementMethodes; - -public class ClearCraftingCache extends CommandBase { - - @Override - public String getCommandName() { - return "bwclr"; - } - - @Override - public String getCommandUsage(ICommandSender sender) { - return "bwclr"; - } - - @Override - public void processCommand(ICommandSender sender, String[] args) { - BWCoreStaticReplacementMethodes.clearRecentlyUsedRecipes(); - sender.addChatMessage(new ChatComponentText("Recipe Cache cleared ")); - } -} diff --git a/src/main/java/bartworks/common/commands/GetWorkingDirectory.java b/src/main/java/bartworks/common/commands/GetWorkingDirectory.java deleted file mode 100644 index b52e067deaf..00000000000 --- a/src/main/java/bartworks/common/commands/GetWorkingDirectory.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2018-2020 bartimaeusnek Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following - * conditions: The above copyright notice and this permission notice shall be included in all copies or substantial - * portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -package bartworks.common.commands; - -import net.minecraft.client.Minecraft; -import net.minecraft.command.CommandBase; -import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; - -public class GetWorkingDirectory extends CommandBase { - - @Override - public String getCommandName() { - return "bwgwd"; - } - - @Override - public String getCommandUsage(ICommandSender sender) { - return "bwgwd"; - } - - @Override - public void processCommand(ICommandSender sender, String[] args) { - sender.addChatMessage(new ChatComponentText(Minecraft.getMinecraft().mcDataDir.getAbsolutePath())); - } -} diff --git a/src/main/java/bartworks/common/loaders/RegisterServerCommands.java b/src/main/java/bartworks/common/loaders/RegisterServerCommands.java index 199dcae799c..51f2511f7a4 100644 --- a/src/main/java/bartworks/common/loaders/RegisterServerCommands.java +++ b/src/main/java/bartworks/common/loaders/RegisterServerCommands.java @@ -13,8 +13,6 @@ package bartworks.common.loaders; -import bartworks.common.commands.ClearCraftingCache; -import bartworks.common.commands.GetWorkingDirectory; import bartworks.common.commands.PrintRecipeListToFile; import bartworks.common.commands.SummonRuin; import cpw.mods.fml.common.event.FMLServerStartingEvent; @@ -24,7 +22,5 @@ public class RegisterServerCommands { public static void registerAll(FMLServerStartingEvent event) { event.registerServerCommand(new SummonRuin()); event.registerServerCommand(new PrintRecipeListToFile()); - event.registerServerCommand(new ClearCraftingCache()); - event.registerServerCommand(new GetWorkingDirectory()); } } From ec3bef4f27cbc9dc608f3af83765ed22282571a8 Mon Sep 17 00:00:00 2001 From: purebluez <81239247+purebluez@users.noreply.github.com> Date: Wed, 11 Dec 2024 10:14:06 -0600 Subject: [PATCH 04/21] Allow I/O Hatches to be placed on all Steel Casings in the Industrial Lathe (#3637) Co-authored-by: Martin Robertz Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- .../machines/multi/MTEMultiLathe.java | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java index bc686957386..d85eead5148 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java @@ -137,28 +137,22 @@ private int getPipeTier() { STRUCTURE_PIECE_BODY, (transpose( new String[][] { { " ", "AAAAAAA", " ", " " }, - { "DBCCCCD", "DBCCCCD", "DBCCCCD", " " }, { "DBCCCCD", "DBFFFFD", "DBCCCCD", " " }, - { "DBCCCCD", "DBCCCCD", "DBCCCCD", " " }, { "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA" } }))) + { "ABCCCCA", "ABCCCCA", "ABCCCCA", " " }, { "ABCCCCA", "ABFFFFA", "ABCCCCA", " " }, + { "ABCCCCA", "ABCCCCA", "ABCCCCA", " " }, { "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA" } }))) .addShape( STRUCTURE_PIECE_BODY_ALT, (transpose( new String[][] { { " ", "AAAAAAA", " ", " " }, - { "DCCCCBD", "DCCCCBD", "DCCCCBD", " " }, { "DCCCCBD", "DFFFFBD", "DCCCCBD", " " }, - { "DCCCCBD", "DCCCCBD", "DCCCCBD", " " }, { "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA" } }))) + { "ACCCCBA", "ACCCCBA", "ACCCCBA", " " }, { "ACCCCBA", "AFFFFBA", "ACCCCBA", " " }, + { "ACCCCBA", "ACCCCBA", "ACCCCBA", " " }, { "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA" } }))) .addElement( 'A', - buildHatchAdder(MTEMultiLathe.class).atLeast(Maintenance, Muffler, Energy) + buildHatchAdder(MTEMultiLathe.class).atLeast(InputBus, OutputBus, Maintenance, Muffler, Energy) .casingIndex(((BlockCasings2) GregTechAPI.sBlockCasings2).getTextureIndex(0)) .dot(1) .buildAndChain(onElementPass(MTEMultiLathe::onCasingAdded, ofBlock(GregTechAPI.sBlockCasings2, 0)))) .addElement('B', ofBlock(GregTechAPI.sBlockCasings3, 10)) // Steel Casings .addElement('C', Glasses.chainAllGlasses()) // Glass - .addElement( - 'D', - buildHatchAdder(MTEMultiLathe.class).atLeast(InputBus, OutputBus, Maintenance, Muffler, Energy) - .casingIndex(((BlockCasings2) GregTechAPI.sBlockCasings2).getTextureIndex(0)) - .dot(1) - .buildAndChain(onElementPass(MTEMultiLathe::onCasingAdded, ofBlock(GregTechAPI.sBlockCasings2, 0)))) .addElement( 'F', ofBlocksTiered( @@ -249,8 +243,8 @@ protected MultiblockTooltipBuilder createTooltip() { .addController("Front Center") .addCasingInfoMin("Solid Steel Machine Casing", 42, false) .addCasingInfoExactly("Grate Machine Casing", 9, false) - .addInputBus("Any of the 9 Solid Steel Casing at Each End", 1) - .addOutputBus("Any of the 9 Solid Steel Casing at Each End", 1) + .addInputBus("Any Solid Steel Casing", 1) + .addOutputBus("Any Solid Steel Casing", 1) .addEnergyHatch("Any Solid Steel Casing", 1) .addMaintenanceHatch("Any Solid Steel Casing", 1) .addMufflerHatch("Any Solid Steel Casing", 1) From 8dae2bd304cc6e4dc16ef484e44445bf38f6b08c Mon Sep 17 00:00:00 2001 From: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Date: Thu, 12 Dec 2024 07:24:55 +0100 Subject: [PATCH 05/21] Fix UUA time multiplier (#3641) --- src/main/java/gregtech/common/config/MachineStats.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/common/config/MachineStats.java b/src/main/java/gregtech/common/config/MachineStats.java index ce679052b88..59f60e66b2e 100644 --- a/src/main/java/gregtech/common/config/MachineStats.java +++ b/src/main/java/gregtech/common/config/MachineStats.java @@ -127,7 +127,7 @@ public static class MassFabricator { public int UUAPerUUM; @Config.Comment("Speed bonus delivered by the UUA.") - @Config.DefaultInt(40) + @Config.DefaultInt(4) @Config.RequiresMcRestart public int UUASpeedBonus; } From ca649c74fbec1e383a8a9a3ada142c865c71a282 Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Thu, 12 Dec 2024 19:38:14 +0000 Subject: [PATCH 06/21] remove outdated compat code (#3307) Co-authored-by: Martin Robertz Co-authored-by: RecursivePineapple --- .../java/gregtech/api/recipe/RecipeMaps.java | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index 262b2921ddf..31c4ce8b249 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -31,8 +31,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -import org.apache.commons.lang3.ArrayUtils; - import com.gtnewhorizons.modularui.api.drawable.UITexture; import com.gtnewhorizons.modularui.common.widget.ProgressBar; @@ -475,16 +473,6 @@ public final class RecipeMaps { .minInputs(1, 1) .slotOverlays( (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GTUITextures.OVERLAY_SLOT_MOLD : null) - .recipeTransformer(r -> { - if (ArrayUtils.isNotEmpty(r.mFluidInputs)) { - if (Materials.PhasedGold.getMolten(1) - .isFluidEqual(r.mFluidInputs[0])) - r.mFluidInputs = new FluidStack[] { Materials.VibrantAlloy.getMolten(r.mFluidInputs[0].amount) }; - else if (Materials.PhasedIron.getMolten(1) - .isFluidEqual(r.mFluidInputs[0])) - r.mFluidInputs = new FluidStack[] { Materials.PulsatingIron.getMolten(r.mFluidInputs[0].amount) }; - } - }) .build(); public static final RecipeMap fluidExtractionRecipes = RecipeMapBuilder .of("gt.recipe.fluidextractor") @@ -494,16 +482,6 @@ else if (Materials.PhasedIron.getMolten(1) (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GTUITextures.OVERLAY_SLOT_CENTRIFUGE : null) .progressBar(GTUITextures.PROGRESSBAR_EXTRACT) - .recipeTransformer(r -> { - if (ArrayUtils.isNotEmpty(r.mFluidOutputs)) { - if (Materials.PhasedGold.getMolten(1) - .isFluidEqual(r.mFluidOutputs[0])) - r.mFluidOutputs = new FluidStack[] { Materials.VibrantAlloy.getMolten(r.mFluidOutputs[0].amount) }; - else if (Materials.PhasedIron.getMolten(1) - .isFluidEqual(r.mFluidOutputs[0])) - r.mFluidOutputs = new FluidStack[] { Materials.PulsatingIron.getMolten(r.mFluidOutputs[0].amount) }; - } - }) .build(); public static final RecipeMap packagerRecipes = RecipeMapBuilder.of("gt.recipe.packager") .maxIO(2, 1, 0, 0) From d523aa4cdcfce590b48c212a76babec56202fb36 Mon Sep 17 00:00:00 2001 From: Caedis Date: Thu, 12 Dec 2024 19:57:18 +0000 Subject: [PATCH 07/21] Separate tool crafting sound from getContainerItem (#3639) Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- .../gregtech/api/items/MetaGeneratedTool.java | 25 ++++++++++++------- src/main/java/gregtech/common/GTProxy.java | 20 +++++++++++++++ 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/src/main/java/gregtech/api/items/MetaGeneratedTool.java b/src/main/java/gregtech/api/items/MetaGeneratedTool.java index eaa1fe7c8d5..4c9cdf39ae8 100644 --- a/src/main/java/gregtech/api/items/MetaGeneratedTool.java +++ b/src/main/java/gregtech/api/items/MetaGeneratedTool.java @@ -43,7 +43,6 @@ import cpw.mods.fml.relauncher.SideOnly; import crazypants.enderio.api.tool.ITool; import forestry.api.arboriculture.IToolGrafter; -import gregtech.GTMod; import gregtech.api.GregTechAPI; import gregtech.api.enchants.EnchantmentRadioactivity; import gregtech.api.enums.Materials; @@ -649,6 +648,15 @@ public final boolean doDamageToItem(ItemStack aStack, int aVanillaDamage) { return doDamage(aStack, aVanillaDamage * 100L); } + private static boolean playSound = true; + + public final boolean doDamageNoSound(ItemStack aStack, long aAmount) { + playSound = false; + boolean ret = doDamage(aStack, aAmount); + playSound = true; + return ret; + } + public final boolean doDamage(ItemStack aStack, long aAmount) { if (!isItemStackUsable(aStack)) return false; Long[] tElectric = getElectricStats(aStack); @@ -658,7 +666,7 @@ public final boolean doDamage(ItemStack aStack, long aAmount) { if (tNewDamage >= getToolMaxDamage(aStack)) { IToolStats tStats = getToolStats(aStack); if (tStats == null || GTUtility.setStack(aStack, tStats.getBrokenItem(aStack)) == null) { - if (tStats != null) GTUtility.doSoundAtClient(tStats.getBreakingSound(), 1, 1.0F); + if (tStats != null && playSound) GTUtility.doSoundAtClient(tStats.getBreakingSound(), 1, 1.0F); if (aStack.stackSize > 0) aStack.stackSize--; } } @@ -672,7 +680,7 @@ public final boolean doDamage(ItemStack aStack, long aAmount) { if (tNewDamage >= getToolMaxDamage(aStack)) { IToolStats tStats = getToolStats(aStack); if (tStats == null || GTUtility.setStack(aStack, tStats.getBrokenItem(aStack)) == null) { - if (tStats != null) GTUtility.doSoundAtClient(tStats.getBreakingSound(), 1, 1.0F); + if (tStats != null && playSound) GTUtility.doSoundAtClient(tStats.getBreakingSound(), 1, 1.0F); if (aStack.stackSize > 0) aStack.stackSize--; } } @@ -731,13 +739,12 @@ private ItemStack getContainerItem(ItemStack aStack, boolean playSound) { aStack = GTUtility.copyAmount(1, aStack); IToolStats tStats = getToolStats(aStack); if (tStats == null) return null; - doDamage(aStack, tStats.getToolDamagePerContainerCraft()); - aStack = aStack.stackSize > 0 ? aStack : null; - if (playSound && GTMod.gregtechproxy.mTicksUntilNextCraftSound <= 0) { - GTMod.gregtechproxy.mTicksUntilNextCraftSound = 10; - String sound = (aStack == null) ? tStats.getBreakingSound() : tStats.getCraftingSound(); - GTUtility.doSoundAtClient(sound, 1, 1.0F); + if (playSound) { + doDamage(aStack, tStats.getToolDamagePerContainerCraft()); + } else { + doDamageNoSound(aStack, tStats.getToolDamagePerContainerCraft()); } + aStack = aStack.stackSize > 0 ? aStack : null; return aStack; } diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java index ed5ffeb4c8f..a330682d453 100644 --- a/src/main/java/gregtech/common/GTProxy.java +++ b/src/main/java/gregtech/common/GTProxy.java @@ -109,6 +109,7 @@ import cpw.mods.fml.common.ProgressManager; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.network.FMLNetworkEvent; import cpw.mods.fml.common.registry.GameRegistry; @@ -2792,4 +2793,23 @@ public void onItemTooltip(ItemTooltipEvent event) { } } } + + /// Used for tool sounds in the crafting grid + @SubscribeEvent + public void onPlayerCrafting(ItemCraftedEvent event) { + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { + ItemStack stack = event.craftMatrix.getStackInSlot(i); + + if (stack != null && stack.getItem() instanceof MetaGeneratedTool mgt) { + if (this.mTicksUntilNextCraftSound <= 0) { + this.mTicksUntilNextCraftSound = 10; + IToolStats tStats = mgt.getToolStats(stack); + boolean playBreak = (MetaGeneratedTool.getToolDamage(stack) + + tStats.getToolDamagePerContainerCraft()) >= MetaGeneratedTool.getToolMaxDamage(stack); + String sound = playBreak ? tStats.getBreakingSound() : tStats.getCraftingSound(); + GTUtility.doSoundAtClient(sound, 1, 1.0F); + } + } + } + } } From 80a1c8ed8e2371886c360e90f82e2b7b612819a6 Mon Sep 17 00:00:00 2001 From: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Date: Thu, 12 Dec 2024 20:25:09 +0000 Subject: [PATCH 08/21] Remove some GT tools (#3203) --- .../ProcessingDetravToolProspector.java | 2 +- src/main/java/gregtech/GTMod.java | 8 +- .../java/gregtech/api/enums/OrePrefixes.java | 32 -- .../java/gregtech/api/enums/TextureSet.java | 24 +- src/main/java/gregtech/common/GTProxy.java | 24 -- .../gregtech/common/items/IDMetaTool01.java | 9 - .../common/items/MetaGeneratedItem02.java | 16 +- .../common/items/MetaGeneratedTool01.java | 117 ------ .../common/items/flinttools/FlintAxe.java | 30 ++ .../common/items/flinttools/FlintHoe.java | 12 + .../common/items/flinttools/FlintPickaxe.java | 12 + .../common/items/flinttools/FlintShovel.java | 12 + .../common/items/flinttools/FlintSword.java | 30 ++ .../common/items/flinttools/FlintTools.java | 181 +++++++++ .../java/gregtech/common/tools/ToolAxe.java | 175 --------- .../java/gregtech/common/tools/ToolHoe.java | 132 ------- .../java/gregtech/common/tools/ToolKnife.java | 50 ++- .../gregtech/common/tools/ToolPickaxe.java | 139 ------- .../java/gregtech/common/tools/ToolPlow.java | 110 ------ .../java/gregtech/common/tools/ToolSense.java | 114 ------ .../gregtech/common/tools/ToolShovel.java | 127 ------- .../java/gregtech/common/tools/ToolSword.java | 128 ------- .../common/tools/ToolUniversalSpade.java | 160 -------- .../oreprocessing/ProcessingShaping.java | 41 -- .../oreprocessing/ProcessingToolHead.java | 264 ------------- .../oreprocessing/ProcessingToolOther.java | 9 +- .../loaders/postload/BookAndLootLoader.java | 28 -- .../postload/CraftingRecipeLoader.java | 6 - .../gregtech/loaders/postload/GTPostLoad.java | 53 --- .../postload/recipes/AssemblerRecipes.java | 350 ------------------ .../core/recipe/RecipesMachines.java | 4 +- .../java/gtneioreplugin/GTNEIOrePlugin.java | 11 - .../plugin/item/ItemDimensionDisplay.java | 1 - .../resources/assets/gregtech/lang/en_US.lang | 6 + .../textures/items/tools/flintAxe.png | Bin 0 -> 865 bytes .../textures/items/tools/flintHoe.png | Bin 0 -> 840 bytes .../textures/items/tools/flintPickaxe.png | Bin 0 -> 887 bytes .../textures/items/tools/flintShovel.png | Bin 0 -> 854 bytes .../textures/items/tools/flintSword.png | Bin 0 -> 1257 bytes 39 files changed, 362 insertions(+), 2055 deletions(-) create mode 100644 src/main/java/gregtech/common/items/flinttools/FlintAxe.java create mode 100644 src/main/java/gregtech/common/items/flinttools/FlintHoe.java create mode 100644 src/main/java/gregtech/common/items/flinttools/FlintPickaxe.java create mode 100644 src/main/java/gregtech/common/items/flinttools/FlintShovel.java create mode 100644 src/main/java/gregtech/common/items/flinttools/FlintSword.java create mode 100644 src/main/java/gregtech/common/items/flinttools/FlintTools.java delete mode 100644 src/main/java/gregtech/common/tools/ToolAxe.java delete mode 100644 src/main/java/gregtech/common/tools/ToolHoe.java delete mode 100644 src/main/java/gregtech/common/tools/ToolPickaxe.java delete mode 100644 src/main/java/gregtech/common/tools/ToolPlow.java delete mode 100644 src/main/java/gregtech/common/tools/ToolSense.java delete mode 100644 src/main/java/gregtech/common/tools/ToolShovel.java delete mode 100644 src/main/java/gregtech/common/tools/ToolSword.java delete mode 100644 src/main/java/gregtech/common/tools/ToolUniversalSpade.java create mode 100644 src/main/resources/assets/gregtech/textures/items/tools/flintAxe.png create mode 100644 src/main/resources/assets/gregtech/textures/items/tools/flintHoe.png create mode 100644 src/main/resources/assets/gregtech/textures/items/tools/flintPickaxe.png create mode 100644 src/main/resources/assets/gregtech/textures/items/tools/flintShovel.png create mode 100644 src/main/resources/assets/gregtech/textures/items/tools/flintSword.png diff --git a/src/main/java/detrav/items/processing/ProcessingDetravToolProspector.java b/src/main/java/detrav/items/processing/ProcessingDetravToolProspector.java index 85d31927803..1525303a68d 100644 --- a/src/main/java/detrav/items/processing/ProcessingDetravToolProspector.java +++ b/src/main/java/detrav/items/processing/ProcessingDetravToolProspector.java @@ -26,7 +26,7 @@ public class ProcessingDetravToolProspector implements gregtech.api.interfaces.IOreRecipeRegistrator { public ProcessingDetravToolProspector() { - OrePrefixes.toolHeadPickaxe.add(this); + } public void registerOre(OrePrefixes aPrefix, Materials material, String aOreDictName, String aModName, diff --git a/src/main/java/gregtech/GTMod.java b/src/main/java/gregtech/GTMod.java index ba46592c975..a52a9c2013c 100644 --- a/src/main/java/gregtech/GTMod.java +++ b/src/main/java/gregtech/GTMod.java @@ -88,6 +88,7 @@ import gregtech.common.config.Other; import gregtech.common.config.Worldgen; import gregtech.common.covers.CoverFacadeAE; +import gregtech.common.items.flinttools.FlintTools; import gregtech.common.misc.GTCommand; import gregtech.common.misc.spaceprojects.commands.SPCommand; import gregtech.common.misc.spaceprojects.commands.SPMCommand; @@ -328,6 +329,11 @@ public void onPreLoad(FMLPreInitializationEvent aEvent) { if (FMLCommonHandler.instance() .getEffectiveSide() .isServer()) AssemblyLineServer.fillMap(aEvent); + + // Flint tool setup. + FlintTools.registerTools(); + FlintTools.registerPosteaTransformations(); + FlintTools.registerRecipes(); } @Mod.EventHandler @@ -589,8 +595,6 @@ public void onPostLoad(FMLPostInitializationEvent aEvent) { GregTechAPI.sAfterGTLoad = null; GregTechAPI.sBeforeGTPostload = null; GregTechAPI.sAfterGTPostload = null; - - GTPostLoad.createGTtoolsCreativeTab(); } @Mod.EventHandler diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java index 73a502bf4e8..ff6360bf75e 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -240,35 +240,11 @@ public enum OrePrefixes { bulletGtLarge("Large Bullets", "Large ", " Bullet", true, true, false, false, true, false, true, false, true, false, B[6] | B[8], M / 3, 64, -1), /** consisting out of 2 Ingots. */ - toolHeadSword("Sword Blades", "", " Sword Blade", true, true, false, false, false, false, true, true, false, false, - B[6], M * 2, 64, 32), - /** consisting out of 3 Ingots. */ - toolHeadPickaxe("Pickaxe Heads", "", " Pickaxe Head", true, true, false, false, false, false, true, true, false, - false, B[6], M * 3, 64, 33), - /** consisting out of 1 Ingots. */ - toolHeadShovel("Shovel Heads", "", " Shovel Head", true, true, false, false, false, false, true, true, false, false, - B[6], M * 1, 64, 34), - /** consisting out of 1 Ingots. */ - toolHeadUniversalSpade("Universal Spade Heads", "", " Universal Spade Head", true, true, false, false, false, false, - true, true, false, false, B[6], M * 1, 64, 43), - /** consisting out of 3 Ingots. */ - toolHeadAxe("Axe Heads", "", " Axe Head", true, true, false, false, false, false, true, true, false, false, B[6], - M * 3, 64, 35), - /** consisting out of 2 Ingots. */ - toolHeadHoe("Hoe Heads", "", " Hoe Head", true, true, false, false, false, false, true, true, false, false, B[6], - M * 2, 64, 36), - /** consisting out of 3 Ingots. */ - toolHeadSense("Sense Blades", "", " Sense Blade", true, true, false, false, false, false, true, true, false, false, - B[6], M * 3, 64, 44), - /** consisting out of 2 Ingots. */ toolHeadFile("File Heads", "", " File Head", true, true, false, false, false, false, true, true, false, false, B[6], M * 2, 64, 38), /** consisting out of 6 Ingots. */ toolHeadHammer("Hammer Heads", "", " Hammer Head", true, true, false, false, false, false, true, true, false, false, B[6], M * 6, 64, 37), - /** consisting out of 4 Ingots. */ - toolHeadPlow("Plow Heads", "", " Plow Head", true, true, false, false, false, false, true, true, false, false, B[6], - M * 4, 64, 45), /** consisting out of 2 Ingots. */ toolHeadSaw("Saw Blades", "", " Saw Blade", true, true, false, false, false, false, true, true, false, false, B[6], M * 2, 64, 39), @@ -1092,20 +1068,12 @@ public enum OrePrefixes { OrePrefixes.screw, OrePrefixes.ring, OrePrefixes.foil, - OrePrefixes.toolHeadSword, - OrePrefixes.toolHeadPickaxe, - OrePrefixes.toolHeadShovel, - OrePrefixes.toolHeadAxe, - OrePrefixes.toolHeadHoe, OrePrefixes.toolHeadHammer, OrePrefixes.toolHeadFile, OrePrefixes.toolHeadSaw, OrePrefixes.toolHeadDrill, OrePrefixes.toolHeadChainsaw, OrePrefixes.toolHeadWrench, - OrePrefixes.toolHeadUniversalSpade, - OrePrefixes.toolHeadSense, - OrePrefixes.toolHeadPlow, OrePrefixes.toolHeadBuzzSaw, OrePrefixes.turbineBlade, OrePrefixes.wireFine, diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java index 4a13dcc9b4f..7abb799e210 100644 --- a/src/main/java/gregtech/api/enums/TextureSet.java +++ b/src/main/java/gregtech/api/enums/TextureSet.java @@ -34,20 +34,20 @@ public class TextureSet { "/dustPure", "/crushed", "/crushedPurified", "/crushedCentrifuged", "/gem", "/nugget", "/casingSmall", "/ingot", "/ingotHot", "/ingotDouble", "/ingotTriple", "/ingotQuadruple", "/ingotQuintuple", "/plate", "/plateDouble", "/plateTriple", "/plateQuadruple", "/plateQuintuple", "/plateDense", "/stick", "/lens", "/round", "/bolt", - "/screw", "/ring", "/foil", "/cell", "/cellPlasma", "/toolHeadSword", "/toolHeadPickaxe", "/toolHeadShovel", - "/toolHeadAxe", "/toolHeadHoe", "/toolHeadHammer", "/toolHeadFile", "/toolHeadSaw", "/toolHeadDrill", - "/toolHeadChainsaw", "/toolHeadWrench", "/toolHeadUniversalSpade", "/toolHeadSense", "/toolHeadPlow", - "/toolHeadArrow", "/toolHeadScrewdriver", "/toolHeadBuzzSaw", "/toolHeadSoldering", "/nanites", "/wireFine", - "/gearGtSmall", "/rotor", "/stickLong", "/springSmall", "/spring", "/arrowGtWood", "/arrowGtPlastic", - "/gemChipped", "/gemFlawed", "/gemFlawless", "/gemExquisite", "/gearGt", "/oreRaw", aTextVoidDir, aTextVoidDir, - "/oreSmall", "/ore", "/wire", "/foil", "/block1", "/block2", "/block3", "/block4", "/block5", "/block6", - "/pipeSide", "/pipeTiny", "/pipeSmall", "/pipeMedium", "/pipeLarge", "/pipeHuge", "/frameGt", "/pipeQuadruple", - "/pipeNonuple", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, - aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/crateGtDust", "/crateGtIngot", "/crateGtGem", - "/crateGtPlate", "/turbineBlade", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, + "/screw", "/ring", "/foil", "/cell", "/cellPlasma", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, + aTextVoidDir, "/toolHeadHammer", "/toolHeadFile", "/toolHeadSaw", "/toolHeadDrill", "/toolHeadChainsaw", + "/toolHeadWrench", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/toolHeadScrewdriver", + "/toolHeadBuzzSaw", "/toolHeadSoldering", "/nanites", "/wireFine", "/gearGtSmall", "/rotor", "/stickLong", + "/springSmall", "/spring", "/arrowGtWood", "/arrowGtPlastic", "/gemChipped", "/gemFlawed", "/gemFlawless", + "/gemExquisite", "/gearGt", "/oreRaw", aTextVoidDir, aTextVoidDir, "/oreSmall", "/ore", "/wire", "/foil", + "/block1", "/block2", "/block3", "/block4", "/block5", "/block6", "/pipeSide", "/pipeTiny", "/pipeSmall", + "/pipeMedium", "/pipeLarge", "/pipeHuge", "/frameGt", "/pipeQuadruple", "/pipeNonuple", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, + aTextVoidDir, "/crateGtDust", "/crateGtIngot", "/crateGtGem", "/crateGtPlate", "/turbineBlade", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, - aTextVoidDir, aTextVoidDir, aTextVoidDir, "/plateSuperdense", "/handleMallet", "/toolHeadMallet", }; + aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, + aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, + "/plateSuperdense", "/handleMallet", "/toolHeadMallet", }; public boolean is_custom = false; diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java index a330682d453..2bedabd299c 100644 --- a/src/main/java/gregtech/common/GTProxy.java +++ b/src/main/java/gregtech/common/GTProxy.java @@ -78,7 +78,6 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; -import net.minecraft.world.WorldSettings.GameType; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeEventFactory; @@ -158,9 +157,7 @@ import gregtech.api.util.GTUtility; import gregtech.api.util.WorldSpawnedEventBuilder; import gregtech.common.config.OPStuff; -import gregtech.common.items.IDMetaTool01; import gregtech.common.items.MetaGeneratedItem98; -import gregtech.common.items.MetaGeneratedTool01; import gregtech.common.misc.GlobalEnergyWorldSavedData; import gregtech.common.misc.GlobalMetricsCoverDatabase; import gregtech.common.misc.spaceprojects.SpaceProjectWorldSavedData; @@ -2236,27 +2233,6 @@ public void onPlayerTickEventServer(TickEvent.PlayerTickEvent aEvent) { return; } - if ((aEvent.player.ticksExisted % 200 == 0) && (aEvent.player.capabilities.allowEdit) - && (!aEvent.player.capabilities.isCreativeMode) - && (this.mSurvivalIntoAdventure)) { - aEvent.player.setGameType(GameType.ADVENTURE); - aEvent.player.capabilities.allowEdit = false; - if (this.mAxeWhenAdventure) { - GTUtility.sendChatToPlayer( - aEvent.player, - GTLanguageManager.addStringLocalization( - "Interaction_DESCRIPTION_Index_097", - "It's dangerous to go alone! Take this.")); - aEvent.player.worldObj.spawnEntityInWorld( - new EntityItem( - aEvent.player.worldObj, - aEvent.player.posX, - aEvent.player.posY, - aEvent.player.posZ, - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.AXE.ID, 1, Materials.Flint, Materials.Wood, null))); - } - } final boolean tHungerEffect = (this.mHungerEffect) && (aEvent.player.ticksExisted % 2400 == 1200); if (aEvent.player.ticksExisted % 120 != 0) { diff --git a/src/main/java/gregtech/common/items/IDMetaTool01.java b/src/main/java/gregtech/common/items/IDMetaTool01.java index 684636100bd..9dbd41dccd6 100644 --- a/src/main/java/gregtech/common/items/IDMetaTool01.java +++ b/src/main/java/gregtech/common/items/IDMetaTool01.java @@ -3,11 +3,6 @@ public enum IDMetaTool01 { // Please pretty please, add your entries while conserving the order - SWORD(0), - PICKAXE(2), - SHOVEL(4), - AXE(6), - HOE(8), SAW(10), HARDHAMMER(12), SOFTMALLET(14), @@ -24,10 +19,6 @@ public enum IDMetaTool01 { UNIVERSALSPADE(32), KNIFE(34), BUTCHERYKNIFE(36), - @Deprecated - SICKLE(38), - SENSE(40), - PLOW(42), PLUNGER(44), ROLLING_PIN(46), DRILL_LV(100), diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem02.java b/src/main/java/gregtech/common/items/MetaGeneratedItem02.java index d0e66fe9aaa..9f097741f67 100644 --- a/src/main/java/gregtech/common/items/MetaGeneratedItem02.java +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem02.java @@ -261,20 +261,20 @@ public class MetaGeneratedItem02 extends MetaGeneratedItemX32 { public MetaGeneratedItem02() { super( "metaitem.02", - OrePrefixes.toolHeadSword, - OrePrefixes.toolHeadPickaxe, - OrePrefixes.toolHeadShovel, - OrePrefixes.toolHeadAxe, - OrePrefixes.toolHeadHoe, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, OrePrefixes.toolHeadHammer, OrePrefixes.toolHeadFile, OrePrefixes.toolHeadSaw, OrePrefixes.toolHeadDrill, OrePrefixes.toolHeadChainsaw, OrePrefixes.toolHeadWrench, - OrePrefixes.toolHeadUniversalSpade, - OrePrefixes.toolHeadSense, - OrePrefixes.toolHeadPlow, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, OrePrefixes.___placeholder___, OrePrefixes.toolHeadBuzzSaw, OrePrefixes.turbineBlade, diff --git a/src/main/java/gregtech/common/items/MetaGeneratedTool01.java b/src/main/java/gregtech/common/items/MetaGeneratedTool01.java index 11c3fa104ef..555c180ee56 100644 --- a/src/main/java/gregtech/common/items/MetaGeneratedTool01.java +++ b/src/main/java/gregtech/common/items/MetaGeneratedTool01.java @@ -1,6 +1,5 @@ package gregtech.common.items; -import static gregtech.common.items.IDMetaTool01.AXE; import static gregtech.common.items.IDMetaTool01.BRANCHCUTTER; import static gregtech.common.items.IDMetaTool01.BUTCHERYKNIFE; import static gregtech.common.items.IDMetaTool01.BUZZSAW_HV; @@ -15,12 +14,9 @@ import static gregtech.common.items.IDMetaTool01.DRILL_MV; import static gregtech.common.items.IDMetaTool01.FILE; import static gregtech.common.items.IDMetaTool01.HARDHAMMER; -import static gregtech.common.items.IDMetaTool01.HOE; import static gregtech.common.items.IDMetaTool01.JACKHAMMER; import static gregtech.common.items.IDMetaTool01.KNIFE; import static gregtech.common.items.IDMetaTool01.MORTAR; -import static gregtech.common.items.IDMetaTool01.PICKAXE; -import static gregtech.common.items.IDMetaTool01.PLOW; import static gregtech.common.items.IDMetaTool01.PLUNGER; import static gregtech.common.items.IDMetaTool01.POCKET_BRANCHCUTTER; import static gregtech.common.items.IDMetaTool01.POCKET_FILE; @@ -36,18 +32,14 @@ import static gregtech.common.items.IDMetaTool01.SCREWDRIVER_HV; import static gregtech.common.items.IDMetaTool01.SCREWDRIVER_LV; import static gregtech.common.items.IDMetaTool01.SCREWDRIVER_MV; -import static gregtech.common.items.IDMetaTool01.SENSE; -import static gregtech.common.items.IDMetaTool01.SHOVEL; import static gregtech.common.items.IDMetaTool01.SOFTMALLET; import static gregtech.common.items.IDMetaTool01.SOLDERING_IRON_HV; import static gregtech.common.items.IDMetaTool01.SOLDERING_IRON_LV; import static gregtech.common.items.IDMetaTool01.SOLDERING_IRON_MV; -import static gregtech.common.items.IDMetaTool01.SWORD; import static gregtech.common.items.IDMetaTool01.TURBINE; import static gregtech.common.items.IDMetaTool01.TURBINE_HUGE; import static gregtech.common.items.IDMetaTool01.TURBINE_LARGE; import static gregtech.common.items.IDMetaTool01.TURBINE_SMALL; -import static gregtech.common.items.IDMetaTool01.UNIVERSALSPADE; import static gregtech.common.items.IDMetaTool01.WIRECUTTER; import static gregtech.common.items.IDMetaTool01.WRENCH; import static gregtech.common.items.IDMetaTool01.WRENCH_HV; @@ -66,7 +58,6 @@ import gregtech.api.items.MetaGeneratedTool; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; -import gregtech.common.tools.ToolAxe; import gregtech.common.tools.ToolBranchCutter; import gregtech.common.tools.ToolButcheryKnife; import gregtech.common.tools.ToolBuzzSaw; @@ -79,28 +70,21 @@ import gregtech.common.tools.ToolDrillMV; import gregtech.common.tools.ToolFile; import gregtech.common.tools.ToolHardHammer; -import gregtech.common.tools.ToolHoe; import gregtech.common.tools.ToolJackHammer; import gregtech.common.tools.ToolKnife; import gregtech.common.tools.ToolMortar; -import gregtech.common.tools.ToolPickaxe; -import gregtech.common.tools.ToolPlow; import gregtech.common.tools.ToolPlunger; import gregtech.common.tools.ToolRollingPin; import gregtech.common.tools.ToolSaw; import gregtech.common.tools.ToolScoop; import gregtech.common.tools.ToolScrewdriver; import gregtech.common.tools.ToolScrewdriverLV; -import gregtech.common.tools.ToolSense; -import gregtech.common.tools.ToolShovel; import gregtech.common.tools.ToolSoftHammer; import gregtech.common.tools.ToolSolderingIron; -import gregtech.common.tools.ToolSword; import gregtech.common.tools.ToolTurbineHuge; import gregtech.common.tools.ToolTurbineLarge; import gregtech.common.tools.ToolTurbineNormal; import gregtech.common.tools.ToolTurbineSmall; -import gregtech.common.tools.ToolUniversalSpade; import gregtech.common.tools.ToolWireCutter; import gregtech.common.tools.ToolWrench; import gregtech.common.tools.ToolWrenchHV; @@ -121,48 +105,6 @@ public class MetaGeneratedTool01 extends MetaGeneratedTool { public MetaGeneratedTool01() { super("metatool.01"); INSTANCE = this; - addTool( - SWORD.ID, - "Sword", - "", - new ToolSword(), - ToolDictNames.craftingToolSword, - ToolDictNames.craftingToolBlade, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.TELUM, 4L)); - addTool( - PICKAXE.ID, - "Pickaxe", - "", - new ToolPickaxe(), - ToolDictNames.craftingToolPickaxe, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 4L)); - addTool( - SHOVEL.ID, - "Shovel", - "", - new ToolShovel(), - ToolDictNames.craftingToolShovel, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 4L)); - addTool( - AXE.ID, - "Axe", - "", - new ToolAxe(), - ToolDictNames.craftingToolAxe, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.METO, 2L), - new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); - addTool( - HOE.ID, - "Hoe", - "", - new ToolHoe(), - ToolDictNames.craftingToolHoe, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.MESSIS, 4L)); addTool( SAW.ID, "Saw", @@ -273,21 +215,6 @@ public MetaGeneratedTool01() { new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), new TCAspects.TC_AspectStack(TCAspects.METO, 2L), new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L)); - GregTechAPI.registerTool( - addTool( - UNIVERSALSPADE.ID, - "Universal Spade", - "", - new ToolUniversalSpade(), - ToolDictNames.craftingToolBlade, - ToolDictNames.craftingToolShovel, - ToolDictNames.craftingToolCrowbar, - ToolDictNames.craftingToolSaw, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.TELUM, 1L), - new TCAspects.TC_AspectStack(TCAspects.METO, 1L), - new TCAspects.TC_AspectStack(TCAspects.FABRICO, 1L)), - GregTechAPI.sCrowbarList); addTool( KNIFE.ID, "Knife", @@ -308,25 +235,6 @@ public MetaGeneratedTool01() { new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), new TCAspects.TC_AspectStack(TCAspects.CORPUS, 4L)); - addTool( - SENSE.ID, - "Sense", - "Because a Scythe doesn't make Sense", - new ToolSense(), - ToolDictNames.craftingToolBlade, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.METO, 2L), - new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L), - new TCAspects.TC_AspectStack(TCAspects.MORTUUS, 2L)); - addTool( - PLOW.ID, - "Plow", - "Used to get rid of Snow", - new ToolPlow(), - ToolDictNames.craftingToolPlow, - new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), - new TCAspects.TC_AspectStack(TCAspects.METO, 2L), - new TCAspects.TC_AspectStack(TCAspects.GELUM, 2L)); addTool( PLUNGER.ID, "Plunger", @@ -705,31 +613,6 @@ private void initCraftingShapedRecipes() { new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.IronWood), 'S', OrePrefixes.stick.get(Materials.IronWood) }); - GTModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(SWORD.ID, 1, Materials.Flint, Materials.Wood, null), - GTModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "F", "F", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GTModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(PICKAXE.ID, 1, Materials.Flint, Materials.Wood, null), - GTModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "FFF", " S ", " S ", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GTModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(SHOVEL.ID, 1, Materials.Flint, Materials.Wood, null), - GTModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "F", "S", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GTModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(AXE.ID, 1, Materials.Flint, Materials.Wood, null), - GTModHandler.RecipeBits.MIRRORED | GTModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "FF", "FS", " S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GTModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(HOE.ID, 1, Materials.Flint, Materials.Wood, null), - GTModHandler.RecipeBits.MIRRORED | GTModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "FF", " S", " S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); GTModHandler.addCraftingRecipe( INSTANCE.getToolWithStats(KNIFE.ID, 1, Materials.Flint, Materials.Wood, null), GTModHandler.RecipeBits.NOT_REMOVABLE, diff --git a/src/main/java/gregtech/common/items/flinttools/FlintAxe.java b/src/main/java/gregtech/common/items/flinttools/FlintAxe.java new file mode 100644 index 00000000000..207165ef60c --- /dev/null +++ b/src/main/java/gregtech/common/items/flinttools/FlintAxe.java @@ -0,0 +1,30 @@ +package gregtech.common.items.flinttools; + +import java.util.List; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.item.Item; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; + +public class FlintAxe extends ItemAxe { + + public FlintAxe() { + super(FlintTools.FLINT_MATERIAL); + this.setUnlocalizedName("flintAxe"); + this.setTextureName("gregtech:tools/flintAxe"); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List subItems) { + // Create the default sword item + ItemStack flintTool = new ItemStack(this); + + // Enchant the sword with Fire Aspect I + flintTool.addEnchantment(Enchantment.fireAspect, 1); + + // Add the enchanted sword to the creative tab and NEI + subItems.add(flintTool); + } +} diff --git a/src/main/java/gregtech/common/items/flinttools/FlintHoe.java b/src/main/java/gregtech/common/items/flinttools/FlintHoe.java new file mode 100644 index 00000000000..7e0e1ddc1dd --- /dev/null +++ b/src/main/java/gregtech/common/items/flinttools/FlintHoe.java @@ -0,0 +1,12 @@ +package gregtech.common.items.flinttools; + +import net.minecraft.item.ItemHoe; + +public class FlintHoe extends ItemHoe { + + public FlintHoe() { + super(FlintTools.FLINT_MATERIAL); + this.setUnlocalizedName("flintHoe"); + this.setTextureName("gregtech:tools/flintHoe"); + } +} diff --git a/src/main/java/gregtech/common/items/flinttools/FlintPickaxe.java b/src/main/java/gregtech/common/items/flinttools/FlintPickaxe.java new file mode 100644 index 00000000000..eb090652611 --- /dev/null +++ b/src/main/java/gregtech/common/items/flinttools/FlintPickaxe.java @@ -0,0 +1,12 @@ +package gregtech.common.items.flinttools; + +import net.minecraft.item.ItemPickaxe; + +public class FlintPickaxe extends ItemPickaxe { + + public FlintPickaxe() { + super(FlintTools.FLINT_MATERIAL); + this.setUnlocalizedName("flintPickaxe"); + this.setTextureName("gregtech:tools/flintPickaxe"); + } +} diff --git a/src/main/java/gregtech/common/items/flinttools/FlintShovel.java b/src/main/java/gregtech/common/items/flinttools/FlintShovel.java new file mode 100644 index 00000000000..708b055f017 --- /dev/null +++ b/src/main/java/gregtech/common/items/flinttools/FlintShovel.java @@ -0,0 +1,12 @@ +package gregtech.common.items.flinttools; + +import net.minecraft.item.ItemSpade; + +public class FlintShovel extends ItemSpade { + + public FlintShovel() { + super(FlintTools.FLINT_MATERIAL); + this.setUnlocalizedName("flintShovel"); + this.setTextureName("gregtech:tools/flintShovel"); + } +} diff --git a/src/main/java/gregtech/common/items/flinttools/FlintSword.java b/src/main/java/gregtech/common/items/flinttools/FlintSword.java new file mode 100644 index 00000000000..0dc482cf556 --- /dev/null +++ b/src/main/java/gregtech/common/items/flinttools/FlintSword.java @@ -0,0 +1,30 @@ +package gregtech.common.items.flinttools; + +import java.util.List; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; + +public class FlintSword extends ItemSword { + + public FlintSword() { + super(FlintTools.FLINT_MATERIAL); + this.setUnlocalizedName("flintSword"); + this.setTextureName("gregtech:tools/flintSword"); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List subItems) { + // Create the default sword item + ItemStack flintTool = new ItemStack(this); + + // Enchant the sword with Fire Aspect I + flintTool.addEnchantment(Enchantment.fireAspect, 1); + + // Add the enchanted sword to the creative tab and NEI + subItems.add(flintTool); + } +} diff --git a/src/main/java/gregtech/common/items/flinttools/FlintTools.java b/src/main/java/gregtech/common/items/flinttools/FlintTools.java new file mode 100644 index 00000000000..f883ef05a84 --- /dev/null +++ b/src/main/java/gregtech/common/items/flinttools/FlintTools.java @@ -0,0 +1,181 @@ +package gregtech.common.items.flinttools; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.init.Items; +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.oredict.ShapedOreRecipe; + +import org.jetbrains.annotations.NotNull; + +import com.gtnewhorizons.postea.api.ItemStackReplacementManager; + +import cpw.mods.fml.common.registry.GameRegistry; + +public class FlintTools { + + public static Item.ToolMaterial FLINT_MATERIAL = EnumHelper.addToolMaterial("FLINT", 1, 128, 4.0F, 1.0F, 5); + + public static Item AXE; + public static Item SWORD; + public static Item PICKAXE; + public static Item SHOVEL; + public static Item HOE; + + public static void registerTools() { + // Create items. + AXE = new FlintAxe(); + SWORD = new FlintSword(); + PICKAXE = new FlintPickaxe(); + SHOVEL = new FlintShovel(); + HOE = new FlintHoe(); + + // Register them with minecraft. + GameRegistry.registerItem(AXE, "flintAxe"); + GameRegistry.registerItem(SWORD, "flintSword"); + GameRegistry.registerItem(PICKAXE, "flintPickaxe"); + GameRegistry.registerItem(SHOVEL, "flintShovel"); + GameRegistry.registerItem(HOE, "flintHoe"); + } + + public static void registerRecipes() { + // Flint Sword Recipe, with + GameRegistry.addRecipe( + new EnchantedRecipe( + new ItemStack(FlintTools.SWORD), + " F ", + " F ", + " S ", + 'F', + Items.flint, + 'S', + Items.stick)); + + // Flint Pickaxe Recipe + GameRegistry + .addRecipe(new ItemStack(FlintTools.PICKAXE), "FFF", " S ", " S ", 'F', Items.flint, 'S', Items.stick); + + // Flint Axe Recipe with Fire Aspect I + GameRegistry.addRecipe( + new EnchantedRecipe( + new ItemStack(FlintTools.AXE), + "FF ", + "FS ", + " S ", + 'F', + Items.flint, + 'S', + Items.stick)); + + GameRegistry.addRecipe( + new EnchantedRecipe( + new ItemStack(FlintTools.AXE), + " FF", + " SF", + " S ", + 'F', + Items.flint, + 'S', + Items.stick)); + + // Flint Shovel Recipe + GameRegistry + .addRecipe(new ItemStack(FlintTools.SHOVEL), " F ", " S ", " S ", 'F', Items.flint, 'S', Items.stick); + + // Flint Hoe Recipe + GameRegistry.addRecipe(new ItemStack(FlintTools.HOE), "FF ", " S ", " S ", 'F', Items.flint, 'S', Items.stick); + + GameRegistry.addRecipe(new ItemStack(FlintTools.HOE), " FF", " S ", " S ", 'F', Items.flint, 'S', Items.stick); + } + + public static NBTTagCompound transformFlintTool(NBTTagCompound tagCompound) { + int oldId = tagCompound.getShort("Damage"); + int id; + boolean fireAspect = false; + + switch (oldId) { + case 0: + id = Item.getIdFromItem(FlintTools.SWORD); + fireAspect = true; + break; + case 2: + id = Item.getIdFromItem(FlintTools.PICKAXE); + break; + case 4: + id = Item.getIdFromItem(FlintTools.SHOVEL); + break; + case 6: + id = Item.getIdFromItem(FlintTools.AXE); + fireAspect = true; + break; + case 8: + id = Item.getIdFromItem(FlintTools.HOE); + break; + case 40: // Sense tool + id = 0; + break; + default: + return tagCompound; // No transform needed. + } + + tagCompound.setShort("id", (short) id); + tagCompound.setShort("Damage", (short) 0); + tagCompound.setTag("tag", new NBTTagCompound()); // Erase old GT data. + + // Apply Fire Aspect enchantment if fireAspect is true + if (fireAspect) { + NBTTagCompound enchantTag = getEnchantedTagCompound(); + + // Attach the new tag containing the enchantments to the tool + tagCompound.setTag("tag", enchantTag); + } + + return tagCompound; + } + + @NotNull + private static NBTTagCompound getEnchantedTagCompound() { + NBTTagCompound enchantTag = new NBTTagCompound(); + NBTTagList enchantments = new NBTTagList(); + + // Add Fire Aspect enchantment + NBTTagCompound fireAspectTag = new NBTTagCompound(); + fireAspectTag.setShort("id", (short) Enchantment.fireAspect.effectId); // Fire Aspect ID + fireAspectTag.setShort("lvl", (short) 1); // Level 1 + enchantments.appendTag(fireAspectTag); + + // Attach enchantments list to the "tag" NBTTagCompound + enchantTag.setTag("ench", enchantments); + return enchantTag; + } + + public static void registerPosteaTransformations() { + ItemStackReplacementManager.addItemReplacement("gregtech:gt.metatool.01", FlintTools::transformFlintTool); + } + + private static class EnchantedRecipe extends ShapedOreRecipe { + + private final ItemStack result; + + public EnchantedRecipe(ItemStack result, Object... recipe) { + super(result, recipe); + this.result = result; + } + + @Override + public ItemStack getCraftingResult(InventoryCrafting inventory) { + ItemStack craftedItem = result.copy(); + craftedItem.addEnchantment(Enchantment.fireAspect, 1); // Add Fire Aspect I + return craftedItem; + } + + @Override + public ItemStack getRecipeOutput() { + return result; + } + } +} diff --git a/src/main/java/gregtech/common/tools/ToolAxe.java b/src/main/java/gregtech/common/tools/ToolAxe.java deleted file mode 100644 index 03b761227c7..00000000000 --- a/src/main/java/gregtech/common/tools/ToolAxe.java +++ /dev/null @@ -1,175 +0,0 @@ -package gregtech.common.tools; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; -import net.minecraft.world.World; -import net.minecraftforge.event.world.BlockEvent; - -import gregtech.api.GregTechAPI; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; - -public class ToolAxe extends GTTool { - - @Override - public int getToolDamagePerBlockBreak() { - return 50; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 100; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 200; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 3.0F; - } - - @Override - public float getSpeedMultiplier() { - return 2.0F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @Override - public String getCraftingSound() { - return null; - } - - @Override - public String getEntityHitSound() { - return null; - } - - @Override - public String getMiningSound() { - return null; - } - - @Override - public boolean canBlock() { - return false; - } - - @Override - public boolean isCrowbar() { - return false; - } - - @Override - public boolean isWeapon() { - return true; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "axe") - || GTToolHarvestHelper.isAppropriateMaterial(aBlock, Material.wood) - || GTToolHarvestHelper.isSpecialBlock(aBlock, Blocks.ladder); - } - - @Override - public int convertBlockDrops(List aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, - int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { - int rAmount = 0; - if ((GregTechAPI.sTimber) && (!aPlayer.isSneaking()) - && (OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData)))) { - int tY = aY + 1; - for (int tH = aPlayer.worldObj.getHeight(); tY < tH; tY++) { - if ((aPlayer.worldObj.getBlock(aX, tY, aZ) != aBlock) - || (!aPlayer.worldObj.func_147480_a(aX, tY, aZ, true))) { - break; - } - rAmount++; - } - } - return rAmount; - } - - @Override - public float getMiningSpeed(Block aBlock, byte aMetaData, float aDefault, EntityPlayer aPlayer, World aWorld, - int aX, int aY, int aZ) { - - if (aBlock.isWood(aPlayer.worldObj, aX, aY, aZ) - && OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData))) { - float rAmount = 1.0F; - float tIncrement = 1.0F; - if ((GregTechAPI.sTimber) && !aPlayer.isSneaking()) { - int tY = aY + 1; - for (int tH = aPlayer.worldObj.getHeight(); (tY < tH) - && (aPlayer.worldObj.getBlock(aX, tY, aZ) == aBlock); tY++) { - tIncrement += 0.1F; - rAmount += tIncrement; - } - } - return 2.0F * aDefault / rAmount; - } - - return (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) - || (aBlock.getMaterial() == Material.plants) - || (aBlock.getMaterial() == Material.gourd) ? aDefault / 4.0F : aDefault; - } - - @Override - public ItemStack getBrokenItem(ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead - ? MetaGeneratedTool.getPrimaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.toolHeadAxe.mTextureIndex] - : MetaGeneratedTool.getSecondaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.stick.mTextureIndex]; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public void onStatsAddedToTool(MetaGeneratedTool aItem, int aID) {} - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.RED + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE - + " has been chopped by " - + EnumChatFormatting.GREEN - + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE); - } -} diff --git a/src/main/java/gregtech/common/tools/ToolHoe.java b/src/main/java/gregtech/common/tools/ToolHoe.java deleted file mode 100644 index 8c68d41b44c..00000000000 --- a/src/main/java/gregtech/common/tools/ToolHoe.java +++ /dev/null @@ -1,132 +0,0 @@ -package gregtech.common.tools; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.AchievementList; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; - -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; -import gregtech.common.items.behaviors.BehaviourHoe; - -public class ToolHoe extends GTTool { - - @Override - public int getToolDamagePerBlockBreak() { - return 50; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 100; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 200; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 1.75F; - } - - @Override - public float getSpeedMultiplier() { - return 1.0F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @Override - public String getCraftingSound() { - return null; - } - - @Override - public String getEntityHitSound() { - return null; - } - - @Override - public String getMiningSound() { - return null; - } - - @Override - public boolean canBlock() { - return false; - } - - @Override - public boolean isCrowbar() { - return false; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "hoe") - || GTToolHarvestHelper.isAppropriateMaterial(aBlock, Material.gourd); - } - - @Override - public ItemStack getBrokenItem(ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead - ? MetaGeneratedTool - .getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadHoe.mTextureIndex] - : MetaGeneratedTool - .getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public void onStatsAddedToTool(MetaGeneratedTool aItem, int aID) { - aItem.addItemBehavior(aID, new BehaviourHoe(100)); - } - - @Override - public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { - super.onToolCrafted(aStack, aPlayer); - aPlayer.triggerAchievement(AchievementList.buildHoe); - } - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.RED + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE - + " has been called a stupid Hoe by " - + EnumChatFormatting.GREEN - + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE); - } -} diff --git a/src/main/java/gregtech/common/tools/ToolKnife.java b/src/main/java/gregtech/common/tools/ToolKnife.java index 908a9daaadc..c5b8273d254 100644 --- a/src/main/java/gregtech/common/tools/ToolKnife.java +++ b/src/main/java/gregtech/common/tools/ToolKnife.java @@ -1,5 +1,7 @@ package gregtech.common.tools; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; @@ -9,8 +11,10 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.IIconContainer; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTToolHarvestHelper; -public class ToolKnife extends ToolSword { +public class ToolKnife extends GTTool { @Override public int getToolDamagePerBlockBreak() { @@ -52,11 +56,55 @@ public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override + public boolean canBlock() { + return true; + } + + @Override + public boolean isCrowbar() { + return false; + } + + @Override + public boolean isWeapon() { + return true; + } + + @Override + public boolean isMinableBlock(Block aBlock, byte aMetaData) { + return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "sword") + || GTToolHarvestHelper.isAppropriateMaterial( + aBlock, + Material.leaves, + Material.gourd, + Material.vine, + Material.web, + Material.cloth, + Material.carpet, + Material.plants, + Material.cactus, + Material.cake, + Material.tnt, + Material.sponge); + } + + @Override + public ItemStack getBrokenItem(ItemStack aStack) { + return null; // Copied from ToolSword + } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.KNIFE : null; } + @Override + public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { + return !aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa + : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; + } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText( diff --git a/src/main/java/gregtech/common/tools/ToolPickaxe.java b/src/main/java/gregtech/common/tools/ToolPickaxe.java deleted file mode 100644 index 91be7dae29f..00000000000 --- a/src/main/java/gregtech/common/tools/ToolPickaxe.java +++ /dev/null @@ -1,139 +0,0 @@ -package gregtech.common.tools; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.AchievementList; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; - -import gregtech.GTMod; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; - -public class ToolPickaxe extends GTTool { - - @Override - public int getToolDamagePerBlockBreak() { - return 50; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 100; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 200; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 1.5F; - } - - @Override - public float getSpeedMultiplier() { - return 1.0F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @Override - public String getCraftingSound() { - return null; - } - - @Override - public String getEntityHitSound() { - return null; - } - - @Override - public String getMiningSound() { - return null; - } - - @Override - public boolean canBlock() { - return false; - } - - @Override - public boolean isCrowbar() { - return false; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "pickaxe") // - || GTToolHarvestHelper.isAppropriateMaterial( - aBlock, // - Material.rock, - Material.iron, - Material.anvil, - Material.glass); - } - - @Override - public ItemStack getBrokenItem(ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead - ? MetaGeneratedTool.getPrimaryMaterial( - aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadPickaxe.mTextureIndex] - : MetaGeneratedTool - .getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public void onStatsAddedToTool(MetaGeneratedTool aItem, int aID) {} - - @Override - public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { - super.onToolCrafted(aStack, aPlayer); - aPlayer.triggerAchievement(AchievementList.buildPickaxe); - aPlayer.triggerAchievement(AchievementList.buildBetterPickaxe); - try { - GTMod.achievements.issueAchievement(aPlayer, "flintpick"); - } catch (Exception ignored) {} - } - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.RED + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE - + " got mined by " - + EnumChatFormatting.GREEN - + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE); - } -} diff --git a/src/main/java/gregtech/common/tools/ToolPlow.java b/src/main/java/gregtech/common/tools/ToolPlow.java deleted file mode 100644 index e0f25fa2f13..00000000000 --- a/src/main/java/gregtech/common/tools/ToolPlow.java +++ /dev/null @@ -1,110 +0,0 @@ -package gregtech.common.tools; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.EntitySnowman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; -import net.minecraft.world.World; -import net.minecraftforge.event.world.BlockEvent; - -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; - -public class ToolPlow extends GTTool { - - private final ThreadLocal sIsHarvestingRightNow = new ThreadLocal<>(); - - @Override - public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, - EntityPlayer aPlayer) { - return (aEntity instanceof EntitySnowman) ? aOriginalDamage * 4.0F : aOriginalDamage; - } - - @Override - public float getBaseDamage() { - return 1.0F; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "plow") - || GTToolHarvestHelper.isAppropriateMaterial(aBlock, Material.snow, Material.craftedSnow); - } - - @Override - public float getMiningSpeed(Block aBlock, byte aMetaData, float aDefault, EntityPlayer aPlayer, World worldObj, - int aX, int aY, int aZ) { - // Speed nerf for using AOE tools to break single block - if (aPlayer != null && aPlayer.isSneaking()) { - return aDefault / 2; - } - return super.getMiningSpeed(aBlock, aMetaData, aDefault, aPlayer, worldObj, aX, aY, aZ); - } - - @Override - public int convertBlockDrops(List aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, - int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { - int rConversions = 0; - if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP))) { - this.sIsHarvestingRightNow.set(this); - - if (!aPlayer.isSneaking()) { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - for (int k = -1; k < 2; k++) { - if (((i != 0) || (j != 0) || (k != 0)) && (aStack.getItem() - .getDigSpeed( - aStack, - aPlayer.worldObj.getBlock(aX + i, aY + j, aZ + k), - aPlayer.worldObj.getBlockMetadata(aX + i, aY + j, aZ + k)) - > 0.0F) - && (((EntityPlayerMP) aPlayer).theItemInWorldManager - .tryHarvestBlock(aX + i, aY + j, aZ + k))) { - rConversions++; - } - } - } - } - } - - this.sIsHarvestingRightNow.set(null); - } - return rConversions; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead - ? MetaGeneratedTool.getPrimaryMaterial( - aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadPlow.mTextureIndex] - : MetaGeneratedTool - .getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE - + " plew through the yard of " - + EnumChatFormatting.RED - + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE); - } -} diff --git a/src/main/java/gregtech/common/tools/ToolSense.java b/src/main/java/gregtech/common/tools/ToolSense.java deleted file mode 100644 index 55a3882db54..00000000000 --- a/src/main/java/gregtech/common/tools/ToolSense.java +++ /dev/null @@ -1,114 +0,0 @@ -package gregtech.common.tools; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; -import net.minecraft.world.World; -import net.minecraftforge.event.world.BlockEvent; - -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; -import gregtech.common.items.behaviors.BehaviourSense; - -public class ToolSense extends GTTool { - - private final ThreadLocal sIsHarvestingRightNow = new ThreadLocal<>(); - - @Override - public float getBaseDamage() { - return 3.0F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 4.0F; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "sense", "scythe") - || GTToolHarvestHelper.isAppropriateMaterial(aBlock, Material.plants, Material.leaves); - } - - @Override - public float getMiningSpeed(Block aBlock, byte aMetaData, float aDefault, EntityPlayer aPlayer, World worldObj, - int aX, int aY, int aZ) { - // Speed nerf for using AOE tools to break single block - if (aPlayer != null && aPlayer.isSneaking()) { - return aDefault / 2; - } - return super.getMiningSpeed(aBlock, aMetaData, aDefault, aPlayer, worldObj, aX, aY, aZ); - } - - @Override - public int convertBlockDrops(List aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, - int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { - int rConversions = 0; - if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP))) { - this.sIsHarvestingRightNow.set(this); - - if (!aPlayer.isSneaking()) { - for (int i = -2; i < 3; i++) { - for (int j = -2; j < 3; j++) { - for (int k = -2; k < 3; k++) { - if (((i != 0) || (j != 0) || (k != 0)) && (aStack.getItem() - .getDigSpeed( - aStack, - aPlayer.worldObj.getBlock(aX + i, aY + j, aZ + k), - aPlayer.worldObj.getBlockMetadata(aX + i, aY + j, aZ + k)) - > 0.0F) - && (((EntityPlayerMP) aPlayer).theItemInWorldManager - .tryHarvestBlock(aX + i, aY + j, aZ + k))) { - rConversions++; - } - } - } - } - } - - this.sIsHarvestingRightNow.set(null); - } - return rConversions; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead - ? MetaGeneratedTool.getPrimaryMaterial( - aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSense.mTextureIndex] - : MetaGeneratedTool - .getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public void onStatsAddedToTool(MetaGeneratedTool aItem, int aID) { - aItem.addItemBehavior(aID, new BehaviourSense(getToolDamagePerBlockBreak())); - } - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE - + " has taken the Soul of " - + EnumChatFormatting.RED - + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE); - } - -} diff --git a/src/main/java/gregtech/common/tools/ToolShovel.java b/src/main/java/gregtech/common/tools/ToolShovel.java deleted file mode 100644 index d4676efeedb..00000000000 --- a/src/main/java/gregtech/common/tools/ToolShovel.java +++ /dev/null @@ -1,127 +0,0 @@ -package gregtech.common.tools; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; - -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; - -public class ToolShovel extends GTTool { - - @Override - public int getToolDamagePerBlockBreak() { - return 50; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 100; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 200; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 1.5F; - } - - @Override - public float getSpeedMultiplier() { - return 1.0F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @Override - public String getCraftingSound() { - return null; - } - - @Override - public String getEntityHitSound() { - return null; - } - - @Override - public String getMiningSound() { - return null; - } - - @Override - public boolean canBlock() { - return false; - } - - @Override - public boolean isCrowbar() { - return false; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "shovel") - || GTToolHarvestHelper.isAppropriateMaterial( - aBlock, - Material.sand, - Material.grass, - Material.ground, - Material.snow, - Material.clay); - } - - @Override - public ItemStack getBrokenItem(ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead - ? MetaGeneratedTool.getPrimaryMaterial( - aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadShovel.mTextureIndex] - : MetaGeneratedTool - .getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public void onStatsAddedToTool(MetaGeneratedTool aItem, int aID) {} - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.RED + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE - + " got dug up by " - + EnumChatFormatting.GREEN - + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE); - } -} diff --git a/src/main/java/gregtech/common/tools/ToolSword.java b/src/main/java/gregtech/common/tools/ToolSword.java deleted file mode 100644 index 03c76f92c6f..00000000000 --- a/src/main/java/gregtech/common/tools/ToolSword.java +++ /dev/null @@ -1,128 +0,0 @@ -package gregtech.common.tools; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.AchievementList; - -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; - -public class ToolSword extends GTTool { - - @Override - public int getToolDamagePerBlockBreak() { - return 200; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 100; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 100; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 4.0F; - } - - @Override - public float getSpeedMultiplier() { - return 1.0F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @Override - public String getCraftingSound() { - return null; - } - - @Override - public String getEntityHitSound() { - return null; - } - - @Override - public String getMiningSound() { - return null; - } - - @Override - public boolean canBlock() { - return true; - } - - @Override - public boolean isCrowbar() { - return false; - } - - @Override - public boolean isWeapon() { - return true; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "sword") - || GTToolHarvestHelper.isAppropriateMaterial( - aBlock, - Material.leaves, - Material.gourd, - Material.vine, - Material.web, - Material.cloth, - Material.carpet, - Material.plants, - Material.cactus, - Material.cake, - Material.tnt, - Material.sponge); - } - - @Override - public ItemStack getBrokenItem(ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return !aIsToolHead - ? MetaGeneratedTool.getPrimaryMaterial( - aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSword.mTextureIndex] - : Textures.ItemIcons.HANDLE_SWORD; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return !aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { - super.onToolCrafted(aStack, aPlayer); - aPlayer.triggerAchievement(AchievementList.buildSword); - } -} diff --git a/src/main/java/gregtech/common/tools/ToolUniversalSpade.java b/src/main/java/gregtech/common/tools/ToolUniversalSpade.java deleted file mode 100644 index 9333e1f19ca..00000000000 --- a/src/main/java/gregtech/common/tools/ToolUniversalSpade.java +++ /dev/null @@ -1,160 +0,0 @@ -package gregtech.common.tools; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.AchievementList; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; - -import gregtech.GTMod; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.util.GTToolHarvestHelper; -import gregtech.common.items.behaviors.BehaviourCrowbar; - -public class ToolUniversalSpade extends GTTool { - - @Override - public int getToolDamagePerBlockBreak() { - return 50; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 400; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 100; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 3.0F; - } - - @Override - public float getSpeedMultiplier() { - return 0.75F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @Override - public String getCraftingSound() { - return null; - } - - @Override - public String getEntityHitSound() { - return null; - } - - @Override - public String getMiningSound() { - return null; - } - - @Override - public boolean canBlock() { - return true; - } - - @Override - public boolean isCrowbar() { - return true; - } - - @Override - public boolean isWeapon() { - return true; - } - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return GTToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "shovel", "axe", "saw", "sword", "crowbar") - || GTToolHarvestHelper.isAppropriateMaterial( - aBlock, - Material.sand, - Material.grass, - Material.ground, - Material.snow, - Material.clay, - Material.leaves, - Material.vine, - Material.wood, - Material.cactus, - Material.circuits, - Material.gourd, - Material.web, - Material.cloth, - Material.carpet, - Material.plants, - Material.cake, - Material.tnt, - Material.sponge); - } - - @Override - public ItemStack getBrokenItem(ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead - ? MetaGeneratedTool.getPrimaryMaterial( - aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadUniversalSpade.mTextureIndex] - : MetaGeneratedTool - .getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? MetaGeneratedTool.getPrimaryMaterial(aStack).mRGBa - : MetaGeneratedTool.getSecondaryMaterial(aStack).mRGBa; - } - - @Override - public void onStatsAddedToTool(MetaGeneratedTool aItem, int aID) { - aItem.addItemBehavior(aID, new BehaviourCrowbar(2, 2000)); - } - - @Override - public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { - super.onToolCrafted(aStack, aPlayer); - aPlayer.triggerAchievement(AchievementList.buildSword); - try { - GTMod.achievements.issueAchievement(aPlayer, "unitool"); - } catch (Exception ignored) {} - } - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.RED + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE - + " has been digged by " - + EnumChatFormatting.GREEN - + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE); - } -} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java index 0f4b3d28b65..9a42178b1c4 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java @@ -327,47 +327,6 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic } } - if (GTOreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial.mSmeltInto, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(2, aStack), ItemList.Shape_Extruder_Sword.get(0L)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial.mSmeltInto, tAmount)) - .duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS) - .eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier)) - .addTo(extruderRecipes); - } - if (GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial.mSmeltInto, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(3, aStack), ItemList.Shape_Extruder_Pickaxe.get(0L)) - .itemOutputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial.mSmeltInto, tAmount)) - .duration(((int) Math.max(aMaterialMass * 3L * tAmount, tAmount)) * TICKS) - .eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier)) - .addTo(extruderRecipes); - } - if (GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial.mSmeltInto, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(1, aStack), ItemList.Shape_Extruder_Shovel.get(0L)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial.mSmeltInto, tAmount)) - .duration(((int) Math.max(aMaterialMass * 1L * tAmount, tAmount)) * TICKS) - .eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier)) - .addTo(extruderRecipes); - } - if (GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial.mSmeltInto, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(3, aStack), ItemList.Shape_Extruder_Axe.get(0L)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial.mSmeltInto, tAmount)) - .duration(((int) Math.max(aMaterialMass * 3L * tAmount, tAmount)) * TICKS) - .eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier)) - .addTo(extruderRecipes); - } - if (GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial.mSmeltInto, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(2, aStack), ItemList.Shape_Extruder_Hoe.get(0L)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial.mSmeltInto, tAmount)) - .duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS) - .eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier)) - .addTo(extruderRecipes); - } if (GTOreDictUnificator.get(OrePrefixes.toolHeadHammer, aMaterial.mSmeltInto, 1L) != null) { GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(6, aStack), ItemList.Shape_Extruder_Hammer.get(0L)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java index 888c6221af0..f03cccaddb4 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java @@ -16,7 +16,6 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; import gregtech.api.enums.TierEU; -import gregtech.api.enums.ToolDictNames; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; @@ -28,19 +27,11 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg // HEAD??? generator public ProcessingToolHead() { - OrePrefixes.toolHeadAxe.add(this); OrePrefixes.toolHeadBuzzSaw.add(this); OrePrefixes.toolHeadChainsaw.add(this); OrePrefixes.toolHeadDrill.add(this); OrePrefixes.toolHeadFile.add(this); - OrePrefixes.toolHeadHoe.add(this); - OrePrefixes.toolHeadPickaxe.add(this); - OrePrefixes.toolHeadPlow.add(this); OrePrefixes.toolHeadSaw.add(this); - OrePrefixes.toolHeadSense.add(this); - OrePrefixes.toolHeadShovel.add(this); - OrePrefixes.toolHeadSword.add(this); - OrePrefixes.toolHeadUniversalSpade.add(this); OrePrefixes.toolHeadWrench.add(this); OrePrefixes.toolHeadHammer.add(this); OrePrefixes.turbineBlade.add(this); @@ -57,34 +48,6 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic boolean aProducesSoftMallet = aMaterial.contains(SubTag.BOUNCY) || aMaterial.contains(SubTag.WOOD) || aMaterial.contains(SubTag.SOFT); switch (aPrefix) { - case toolHeadAxe -> { - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.AXE.ID, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) }); - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L), - GTUtility.getIntegratedCircuit(2)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.AXE.ID, 1, aMaterial, aMaterial.mHandleMaterial, null)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - } - if (aSpecialRecipeReq1) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "PIh", "P ", "f ", 'P', OrePrefixes.plate.get(aMaterial), 'I', - OrePrefixes.ingot.get(aMaterial) }); - if (!aNoWorking) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "GG ", "G ", "f ", 'G', OrePrefixes.gem.get(aMaterial) }); - } case toolHeadBuzzSaw -> { GTModHandler.addCraftingRecipe( MetaGeneratedTool01.INSTANCE.getToolWithStats( @@ -555,105 +518,6 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic .addTo(assemblerRecipes); } } - case toolHeadHoe -> { - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.HOE.ID, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) }); - } - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L), - GTUtility.getIntegratedCircuit(16)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.HOE.ID, 1, aMaterial, aMaterial.mHandleMaterial, null)) - .duration(10 * SECONDS) - .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV)) - .addTo(assemblerRecipes); - } - if (aSpecialRecipeReq1) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "PIh", "f ", 'P', OrePrefixes.plate.get(aMaterial), 'I', - OrePrefixes.ingot.get(aMaterial) }); - if (!aNoWorking) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "GG ", "f ", " ", 'G', OrePrefixes.gem.get(aMaterial) }); - } - case toolHeadPickaxe -> { - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.PICKAXE.ID, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) }); - - if (aSpecialRecipeReq1) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "PII", "f h", 'P', OrePrefixes.plate.get(aMaterial), 'I', - OrePrefixes.ingot.get(aMaterial) }); - - if (!aNoWorking) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "GGG", "f ", 'G', OrePrefixes.gem.get(aMaterial) }); - } - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial, 1L), - GTUtility.getIntegratedCircuit(5)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE.getToolWithStats( - IDMetaTool01.PICKAXE.ID, - 1, - aMaterial, - aMaterial.mHandleMaterial, - null)) - .duration(10 * SECONDS) - .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV)) - .addTo(assemblerRecipes); - } - } - case toolHeadPlow -> { - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.PLOW.ID, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) }); - - if (aSpecialRecipeReq1) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadPlow, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "PP", "PP", "hf", 'P', OrePrefixes.plate.get(aMaterial) }); - - if (!aNoWorking) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadPlow, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "GG", "GG", " f", 'G', OrePrefixes.gem.get(aMaterial) }); - } - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadPlow, aMaterial, 1L), - GTUtility.getIntegratedCircuit(6)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.PLOW.ID, 1, aMaterial, aMaterial.mHandleMaterial, null)) - .duration(10 * SECONDS) - .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV)) - .addTo(assemblerRecipes); - } - } case toolHeadSaw -> { if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { @@ -687,134 +551,6 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic .addTo(assemblerRecipes); } } - case toolHeadSense -> { - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.SENSE.ID, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) }); - - if (aSpecialRecipeReq1) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadSense, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "PPI", "hf ", 'P', OrePrefixes.plate.get(aMaterial), 'I', - OrePrefixes.ingot.get(aMaterial) }); - - if (!aNoWorking) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadSense, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "GGG", " f ", " ", 'G', OrePrefixes.gem.get(aMaterial) }); - } - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadSense, aMaterial, 1L), - GTUtility.getIntegratedCircuit(8)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.SENSE.ID, 1, aMaterial, aMaterial.mHandleMaterial, null)) - .duration(10 * SECONDS) - .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV)) - .addTo(assemblerRecipes); - } - } - case toolHeadShovel -> { - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.SHOVEL.ID, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) }); - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L), - GTUtility.getIntegratedCircuit(9)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE.getToolWithStats( - IDMetaTool01.SHOVEL.ID, - 1, - aMaterial, - aMaterial.mHandleMaterial, - null)) - .duration(10 * SECONDS) - .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV)) - .addTo(assemblerRecipes); - } - if (aSpecialRecipeReq1) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "fPh", 'P', OrePrefixes.plate.get(aMaterial), 'I', - OrePrefixes.ingot.get(aMaterial) }); - if (!aNoWorking) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "fG", 'G', OrePrefixes.gem.get(aMaterial) }); - } - case toolHeadSword -> { - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.SWORD.ID, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) }); - - if (aSpecialRecipeReq1) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L), - GTProxy.tBits, - new Object[] { " P ", "fPh", 'P', OrePrefixes.plate.get(aMaterial), 'I', - OrePrefixes.ingot.get(aMaterial) }); - - if (!aNoWorking) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L), - GTProxy.tBits, - new Object[] { " G", "fG", 'G', OrePrefixes.gem.get(aMaterial) }); - } - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L), - GTUtility.getIntegratedCircuit(10)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.SWORD.ID, 1, aMaterial, aMaterial.mHandleMaterial, null)) - .duration(10 * SECONDS) - .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV)) - .addTo(assemblerRecipes); - } - } - case toolHeadUniversalSpade -> { - GTModHandler.addShapelessCraftingRecipe( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.UNIVERSALSPADE.ID, 1, aMaterial, aMaterial, null), - new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial), OrePrefixes.screw.get(aMaterial), - ToolDictNames.craftingToolScrewdriver }); - if (GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null - && GTOreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L) != null) { - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L), - GTOreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L), - GTUtility.getIntegratedCircuit(11)) - .itemOutputs( - MetaGeneratedTool01.INSTANCE.getToolWithStats( - IDMetaTool01.UNIVERSALSPADE.ID, - 1, - aMaterial, - aMaterial.mHandleMaterial, - null)) - .duration(10 * SECONDS) - .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV)) - .addTo(assemblerRecipes); - } - if (aSpecialRecipeReq2) GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "fX", 'X', OrePrefixes.toolHeadShovel.get(aMaterial) }); - } case toolHeadWrench -> { GTModHandler.addCraftingRecipe( MetaGeneratedTool01.INSTANCE.getToolWithStats( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java index 04aac52d4f2..252ce171604 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java @@ -118,14 +118,7 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic new Object[] { "LBf", "Sd ", "P ", 'B', OrePrefixes.bolt.get(aMaterial), 'P', OrePrefixes.plate.get(Materials.AnySyntheticRubber), 'S', OrePrefixes.stick.get(Materials.StainlessSteel), 'L', ItemList.Battery_RE_HV_Lithium.get(1L) }); - GTModHandler.addCraftingRecipe( - (MetaGeneratedTool01.INSTANCE - .getToolWithStats(IDMetaTool01.POCKET_MULTITOOL.ID, 1, aMaterial, aMaterial, null)), - GTModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GTModHandler.RecipeBits.BUFFERED, - new Object[] { "ABC", "DEF", "CFG", 'A', OrePrefixes.stickLong.get(aMaterial), 'B', - OrePrefixes.toolHeadSaw.get(aMaterial), 'C', OrePrefixes.ring.get(aMaterial), 'D', - OrePrefixes.toolHeadFile.get(aMaterial), 'E', OrePrefixes.plate.get(aMaterial), 'F', - OrePrefixes.toolHeadSword.get(aMaterial), 'G', Dyes.dyeBlue }); + } } } diff --git a/src/main/java/gregtech/loaders/postload/BookAndLootLoader.java b/src/main/java/gregtech/loaders/postload/BookAndLootLoader.java index e227d7f21a2..ddeca38d976 100644 --- a/src/main/java/gregtech/loaders/postload/BookAndLootLoader.java +++ b/src/main/java/gregtech/loaders/postload/BookAndLootLoader.java @@ -259,20 +259,6 @@ public void run() { ChestGenHooks.addItem( "mineshaftCorridor", new WeightedRandomChestContent(GTOreDictUnificator.get(OrePrefixes.gem, Materials.Emerald, 1L), 1, 4, 2)); - ChestGenHooks.addItem( - "mineshaftCorridor", - new WeightedRandomChestContent( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.DamascusSteel, 1L), - 1, - 4, - 1)); - ChestGenHooks.addItem( - "mineshaftCorridor", - new WeightedRandomChestContent( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.DamascusSteel, 1L), - 1, - 4, - 1)); ChestGenHooks .addItem("villageBlacksmith", new WeightedRandomChestContent(ItemList.McGuffium_239.get(1L), 1, 1, 1)); @@ -319,19 +305,5 @@ public void run() { ChestGenHooks .addItem("strongholdCrossing", new WeightedRandomChestContent(ItemList.McGuffium_239.get(1L), 1, 1, 10)); - ChestGenHooks.addItem( - "strongholdCorridor", - new WeightedRandomChestContent( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.DamascusSteel, 1L), - 1, - 4, - 6)); - ChestGenHooks.addItem( - "strongholdCorridor", - new WeightedRandomChestContent( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.DamascusSteel, 1L), - 1, - 4, - 6)); } } diff --git a/src/main/java/gregtech/loaders/postload/CraftingRecipeLoader.java b/src/main/java/gregtech/loaders/postload/CraftingRecipeLoader.java index fb7871992fd..f54d15bcd79 100644 --- a/src/main/java/gregtech/loaders/postload/CraftingRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/CraftingRecipeLoader.java @@ -1838,12 +1838,6 @@ public void run() { OrePrefixes.dust.get(Materials.Graphite), 'S', OrePrefixes.plate.get(Materials.Beryllium) }); GTModHandler.removeRecipeByOutputDelayed(GTModHandler.getIC2Item("crophavester", 1L)); - GTModHandler.addCraftingRecipe( - GTModHandler.getIC2Item("crophavester", 1L), - bits_no_remove_buffered, - new Object[] { "ACA", "PMS", "WOW", 'M', ItemList.Hull_MV, 'C', OrePrefixes.circuit.get(Materials.MV), 'A', - ItemList.Robot_Arm_LV, 'P', ItemList.Electric_Piston_LV, 'S', ItemList.Sensor_LV, 'W', - OrePrefixes.toolHeadSense.get(Materials.Aluminium), 'O', ItemList.Conveyor_Module_LV }); GTModHandler.removeRecipeByOutputDelayed(GTModHandler.getIC2Item("RTGenerator", 1L)); GTModHandler.addCraftingRecipe( diff --git a/src/main/java/gregtech/loaders/postload/GTPostLoad.java b/src/main/java/gregtech/loaders/postload/GTPostLoad.java index 35c4e2d874b..d30ed643f29 100644 --- a/src/main/java/gregtech/loaders/postload/GTPostLoad.java +++ b/src/main/java/gregtech/loaders/postload/GTPostLoad.java @@ -15,16 +15,13 @@ import static gregtech.api.util.GTRecipeBuilder.TICKS; import java.util.Arrays; -import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; @@ -33,8 +30,6 @@ import com.google.common.base.Stopwatch; import cpw.mods.fml.common.ProgressManager; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import gregtech.GTMod; import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; @@ -52,7 +47,6 @@ import gregtech.api.util.GTRecipeConstants; import gregtech.api.util.GTRecipeRegistrator; import gregtech.api.util.GTUtility; -import gregtech.common.items.MetaGeneratedTool01; import gregtech.common.items.behaviors.BehaviourDataOrb; import gregtech.common.tileentities.machines.basic.MTEMassfabricator; import ic2.api.recipe.IRecipeInput; @@ -439,53 +433,6 @@ public static void doActualRegistration(Materials m) { if (m.getBlocks(1) != null) GTRecipeRegistrator.registerUsagesForMaterials(null, noSmash, m.getBlocks(1)); } - public static void createGTtoolsCreativeTab() { - new CreativeTabs("GTtools") { - - @SideOnly(Side.CLIENT) - @Override - public ItemStack getIconItemStack() { - return ItemList.Tool_Cheat.get(1, new ItemStack(Blocks.iron_block, 1)); - } - - @SideOnly(Side.CLIENT) - @Override - public Item getTabIconItem() { - return ItemList.Circuit_Integrated.getItem(); - } - - @Override - public void displayAllReleventItems(List aList) { - - for (int i = 0; i < 32766; i += 2) { - if (MetaGeneratedTool01.INSTANCE.getToolStats(new ItemStack(MetaGeneratedTool01.INSTANCE, 1, i)) - == null) { - continue; - } - - ItemStack tStack = new ItemStack(MetaGeneratedTool01.INSTANCE, 1, i); - MetaGeneratedTool01.INSTANCE.isItemStackUsable(tStack); - aList - .add(MetaGeneratedTool01.INSTANCE.getToolWithStats(i, 1, Materials.Lead, Materials.Lead, null)); - aList.add( - MetaGeneratedTool01.INSTANCE.getToolWithStats(i, 1, Materials.Nickel, Materials.Nickel, null)); - aList.add( - MetaGeneratedTool01.INSTANCE.getToolWithStats(i, 1, Materials.Cobalt, Materials.Cobalt, null)); - aList.add( - MetaGeneratedTool01.INSTANCE.getToolWithStats(i, 1, Materials.Osmium, Materials.Osmium, null)); - aList.add( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(i, 1, Materials.Adamantium, Materials.Adamantium, null)); - aList.add( - MetaGeneratedTool01.INSTANCE - .getToolWithStats(i, 1, Materials.Neutronium, Materials.Neutronium, null)); - - } - super.displayAllReleventItems(aList); - } - }; - } - public static void addSolidFakeLargeBoilerFuels() { RecipeMaps.largeBoilerFakeFuels.getBackend() .addSolidRecipes( diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java index 02a9442f323..04616669f23 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java @@ -2939,356 +2939,6 @@ public void run() { .eut(20) .addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Wood, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.wooden_sword, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Stone, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.stone_sword, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Iron, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.iron_sword, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Gold, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.golden_sword, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Diamond, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.diamond_sword, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Bronze, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Sword_Bronze.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Steel, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Sword_Steel.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Wood, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.wooden_pickaxe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Stone, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.stone_pickaxe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Iron, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.iron_pickaxe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Gold, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.golden_pickaxe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Diamond, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.diamond_pickaxe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Bronze, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Pickaxe_Bronze.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Steel, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Pickaxe_Steel.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Wood, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.wooden_shovel, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Stone, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.stone_shovel, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Iron, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.iron_shovel, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Gold, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.golden_shovel, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Diamond, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.diamond_shovel, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Bronze, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Shovel_Bronze.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Steel, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Shovel_Steel.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Wood, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.wooden_axe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Stone, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.stone_axe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Iron, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.iron_axe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Gold, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.golden_axe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Diamond, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.diamond_axe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Bronze, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Axe_Bronze.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Steel, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Axe_Steel.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Wood, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.wooden_hoe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Stone, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.stone_hoe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Iron, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.iron_hoe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Gold, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.golden_hoe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Diamond, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(new ItemStack(Items.diamond_hoe, 1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Bronze, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Hoe_Bronze.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Steel, 1), - GTOreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), - GTUtility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Tool_Hoe_Steel.getUndamaged(1)) - .duration(5 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - // fuel rod assembler recipes GTValues.RA.stdBuilder() diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java b/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java index 62fc892d094..ee757fc03ef 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java @@ -273,9 +273,9 @@ private static void gt4FarmManager() { CI.getRobotArm(aTier, 1), CI.getSensor(aTier, 1), CI.getRobotArm(aTier, 1), - ItemUtils.getOrePrefixStack(OrePrefixes.toolHeadSense, CI.tieredMaterials[aTier], 1), + ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1), CI.getTieredMachineHull(aTier, 1), - ItemUtils.getOrePrefixStack(OrePrefixes.toolHeadSense, CI.tieredMaterials[aTier], 1), + ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1), CI.getTieredCircuitOreDictName(aTier), aInputHatches[i].get(1), CI.getTieredCircuitOreDictName(aTier), diff --git a/src/main/java/gtneioreplugin/GTNEIOrePlugin.java b/src/main/java/gtneioreplugin/GTNEIOrePlugin.java index 5c970fd032a..a5db5901692 100644 --- a/src/main/java/gtneioreplugin/GTNEIOrePlugin.java +++ b/src/main/java/gtneioreplugin/GTNEIOrePlugin.java @@ -2,8 +2,6 @@ import java.io.File; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; import net.minecraftforge.common.MinecraftForge; import org.apache.logging.log4j.LogManager; @@ -17,7 +15,6 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLLoadCompleteEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import gregtech.GT_Version; import gtneioreplugin.plugin.NEIPluginConfig; @@ -47,14 +44,6 @@ public class GTNEIOrePlugin { public static final String VERSION = GT_Version.VERSION; public static final Logger LOG = LogManager.getLogger(NAME); public static File instanceDir; - public static final CreativeTabs creativeTab = new CreativeTabs(MODID) { - - @Override - public Item getTabIconItem() { - return GameRegistry.makeItemStack("gregtech:gt.blockores", 386, 1, null) - .getItem(); - } - }; @Mod.Instance(MODID) public static GTNEIOrePlugin instance; diff --git a/src/main/java/gtneioreplugin/plugin/item/ItemDimensionDisplay.java b/src/main/java/gtneioreplugin/plugin/item/ItemDimensionDisplay.java index 39fdacda99d..9c7c7b06fe6 100644 --- a/src/main/java/gtneioreplugin/plugin/item/ItemDimensionDisplay.java +++ b/src/main/java/gtneioreplugin/plugin/item/ItemDimensionDisplay.java @@ -17,7 +17,6 @@ public class ItemDimensionDisplay extends ItemBlock { public ItemDimensionDisplay(Block block) { super(block); - setCreativeTab(GTNEIOrePlugin.creativeTab); if (FMLCommonHandler.instance() .getEffectiveSide() == Side.CLIENT) { diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang index 78ea8d1d537..850e013a73c 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -1630,6 +1630,12 @@ gt.solar.system.mercury=Mercury gt.solar.system.titan=Titan gt.solar.system.phobos=Phobos +item.flintSword.name=Flint Sword +item.flintAxe.name=Flint Axe +item.flintShovel.name=Flint Shovel +item.flintPickaxe.name=Flint Pickaxe +item.flintHoe.name=Flint Hoe + gt.multiBlock.controller.cokeOven=Coke Oven gt.locker.waila_armor_slot_none=Slot %s: §7None diff --git a/src/main/resources/assets/gregtech/textures/items/tools/flintAxe.png b/src/main/resources/assets/gregtech/textures/items/tools/flintAxe.png new file mode 100644 index 0000000000000000000000000000000000000000..4a1a8c8334b2c0048848083e97b18badf7a983da GIT binary patch literal 865 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|6p}rHd>I(3 z)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N#&bHNrE^*Ox&H$mU>RWfWpy z2C^7|kbzN(ffdYVVDMs;hO>hhHK1yk7#P|!8CaldqJT6AcmOd_HH=czRX7;#aZAHS8?tx|+mh4$+(B?z>s|E>Eak-A())7fPKQmi9h)d-FTC9P_09U?UIIu28Zyk|4&W|yGgLS zJT_%m_VfDscpe`gpA)|xihGFfi&T>A6; zynI`=e5=H}{S{0?ZOkJ754bMmi8#=h!vDmnew zj=lFkFzcf3!R&_RGhfuRJ1e#^i{CT4Q}Jc0V2bgkw+e>~su-6@rWpGe?>cK>7slLi zmB*N+l`Zp~Px$}!ipP6}Vl}!ZSZL@iSbf%`uff1kvnL`wIb)d%Fn#Svb5aaQnG8xh Mp00i_>zopr0659~vH$=8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/tools/flintHoe.png b/src/main/resources/assets/gregtech/textures/items/tools/flintHoe.png new file mode 100644 index 0000000000000000000000000000000000000000..ed788a127f6fe182c193d297b8c8b5773c4d966e GIT binary patch literal 840 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|6p}rHd>I(3 z)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N#&bHNrE^*Ox&H$mU>RWfWpy z2C^7|kbzN(ffdYVVDMs;hO>hhHK1yk7#P|!8CaldqJT6AcmOd_HH=czRX7;#aZAHS8?tx|+mh4$+(B?z>qxS>Eak-A())7K)~S9WqoDk&+=;jpPUq4leLkn$)wSwyQ9P4&!3;d zIme!#pD(#VvgtCz3`K=mvuDq4?Ck7hOzBv6#h8@clzT7B5Xu#W4*2NU7H{~v7TxS=qi(ct}qQpPh36VfJZ{$F2v zq+yMuTK{ym%y&NF|JN%X=j|6v;jP%quvzlSbLswlk3ze1G-mjoNSnd7X4$2qX>0Tr ptUhZXe&8jKz2%%h)^HbYHipKxX>;;i?LaA= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/tools/flintPickaxe.png b/src/main/resources/assets/gregtech/textures/items/tools/flintPickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..d26be7b33fef0bfc124d66b8cd4b9ad5ca3321ce GIT binary patch literal 887 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|6p}rHd>I(3 z)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N#&bHNrE^*Ox&H$mU>RWfWpy z2C^7|kbzN(ffdYVVDMs;hO>hhHK1yk7#P|!8CaldqJT6AcmOd_HH=czRX7;#aZAHS8?tx|+mh4$+(B?z>xgy>Eak-A()&Xk#V5oG^3G`(f^B2=h;*?EtGR+Si-p^G9X~W!}Ig) zdH(=abMJ9%D0Grq`*C+gXpW-~96Xd%lP`2M32i!-i%> z=EHy9`aig}VHbm5_mK}K!hioi*vxUmRo<>9q2lK!)d+pzNm6rsCZtW+{J*}IB}`dG z<%oiw9$%TFBeTOSS)Nu2zL<*B1&=R=A6p;4|IlI96sb7o1heKpJePXTc3SW{Y?q8Q z)^JN;IM~$5km+Q$c|$_4O$VpK*|{%Y{WpEGBXE)6$(jm=rXvA=ST{?GC7hVWv8i*T mI(3 z)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N#&bHNrE^*Ox&H$mU>RWfWpy z2C^7|kbzN(ffdYVVDMs;hO>hhHK1yk7#P|!8CaldqJT6AcmOd_HH=czRX7;#aZAHS8?tx|+mh4$+(B?z>vJ<>Eak-A()&Xk#WGIi#a7F<=^2e_LZMl)=bY}c9_M=%6jlu{oh|l zKRi6l-Zou7-e}VSpCj&vP5%G<-2U+X{(7FAoScHEJ_TZYY`fCb)IxMu*yyx1{Lwo6 zlPSm8!;l z(W4JHG6Z)Ti#g1Cs%jz07gKS%;PJ)qIj<7f7G8K^w%B7)p@EOu)wCUq3iVoE1%?ew zIsd+?yI4!haX-mm`^h#>X#4ys-XdN%jm4ESf5k9-`5U9aG-L7(P=fJv^>bP0l+XkK D10wa) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/tools/flintSword.png b/src/main/resources/assets/gregtech/textures/items/tools/flintSword.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c538a4fe76940c0bb3787c8e221fc4cfcd5a12 GIT binary patch literal 1257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDAAG{;hE;^%b*2hb1<+n z3NbJPS&Tr)z$nE4G7ZRL@M4sPvx68lplX;H7}_%#SfFa6fHVkr05M1pgl1mAh%j*h z6I`{x0%imor0saV%ts)_S>O>_%)r1c48n{Iv*t)JFfg6S42dX-@b$4u&d=3LOvz75 z)vL%Y0O?||sjvbvb5lza6)JLb@`|l0Y?Z(&tblBgu)dN4SV>8?tx|+H?jfSfFg)+ zA4CH}eP~{0i5*M}nlQSq2!uSs8e~Cq4gN)$slb2)yUP&jEMzex^&sC_1!PvF=0vz; z=BDNqgZyG>W}}Z)0$rnXeolT-a6w{nsvXcCuofgCbk$&MB5_%RBmvcEqYsK}q_~G9 zEU+jrW!Z7r=)+T~9hY78;(5S?``gpSF~mY}?nFbbW(NUR_wbFIB6+kp<|+EV+G3g7 zH^C_V1aDA#!;KvAgHAp5DJoj)W@);~KL0!S=j#jd6H_C(*JMfsRaYJe6qy**wQ7}8 zd4I!!(%4`DmL98U)@22OA|cb3ZuU&zJoa!klUap|z;Q$C?u{vHO(klTg)f_^3f^LJ zKH%*1Am#q|=(VN~J68*BKe}OG@f>&I2h(HDi%I-FyzhrY!WRRclM;vT@1IwYIH^rE zVE-Jx+<7}nswJA_XDsTzre?&!U?*=H`~Lm8etxyb(Tx*)j|gA?tdj8KXVMH`)|;%{ wU)O(rOsuAkIfKCP@6R4_4ky85}Sb4q9e05;2f0ssI2 literal 0 HcmV?d00001 From 860e05e885a20a564ccc117c3d91f3405833ead4 Mon Sep 17 00:00:00 2001 From: Ableytner <56540036+Ableytner@users.noreply.github.com> Date: Thu, 12 Dec 2024 21:33:13 +0100 Subject: [PATCH 09/21] Add missing goodgenerator solidifier recipes (#3645) --- .../java/goodgenerator/items/GGMaterial.java | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/src/main/java/goodgenerator/items/GGMaterial.java b/src/main/java/goodgenerator/items/GGMaterial.java index aa9aedf9bbb..82a622f166e 100644 --- a/src/main/java/goodgenerator/items/GGMaterial.java +++ b/src/main/java/goodgenerator/items/GGMaterial.java @@ -285,7 +285,8 @@ public class GGMaterial implements Runnable { .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() .addMultipleIngotMetalWorkingItems() - .addMetaSolidifierRecipes(), + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes(), OffsetID + 21, TextureSet.SET_SHINY, new Pair<>(GGMaterial.orundum, 2), @@ -639,7 +640,8 @@ public class GGMaterial implements Runnable { new Werkstoff.GenerationFeatures().disable() .onlyDust() .addMolten() - .addMetalItems(), + .addMetalItems() + .addMetalCraftingSolidifierRecipes(), OffsetID + 52, TextureSet.SET_SHINY, new Pair<>(Zinc, 1), @@ -1000,6 +1002,8 @@ public class GGMaterial implements Runnable { .addMolten() .addMetalItems() .addCraftingMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 4), OffsetID + 81, TextureSet.SET_METALLIC, @@ -1020,6 +1024,8 @@ public class GGMaterial implements Runnable { .addMolten() .addMetalItems() .addCraftingMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 2), OffsetID + 82, TextureSet.SET_METALLIC, @@ -1042,6 +1048,8 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 6), OffsetID + 83, TextureSet.SET_METALLIC, @@ -1068,6 +1076,8 @@ public class GGMaterial implements Runnable { .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() .addMultipleIngotMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 3), OffsetID + 84, TextureSet.SET_SHINY, @@ -1192,6 +1202,8 @@ public class GGMaterial implements Runnable { .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() .addMultipleIngotMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 7), OffsetID + 95, TextureSet.SET_SHINY, @@ -1219,7 +1231,9 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems(), + .addMultipleIngotMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes(), OffsetID + 96, TextureSet.SET_METALLIC, new Pair<>(marM200, 18), @@ -1248,7 +1262,9 @@ public class GGMaterial implements Runnable { new Werkstoff.GenerationFeatures().onlyDust() .addMolten() .addMetalItems() - .addCraftingMetalWorkingItems(), + .addCraftingMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes(), OffsetID + 98, TextureSet.SET_SHINY, new Pair<>(AnnealedCopper, 4), @@ -1274,7 +1290,9 @@ public class GGMaterial implements Runnable { new Werkstoff.GenerationFeatures().onlyDust() .addMolten() .addMetalItems() - .addCraftingMetalWorkingItems(), + .addCraftingMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes(), OffsetID + 100, TextureSet.SET_SHINY, new Pair<>(TinAlloy, 4), @@ -1292,6 +1310,8 @@ public class GGMaterial implements Runnable { .addMolten() .addMetalItems() .addCraftingMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 6), OffsetID + 101, TextureSet.SET_SHINY, @@ -1313,6 +1333,8 @@ public class GGMaterial implements Runnable { .addMolten() .addMetalItems() .addCraftingMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 5), OffsetID + 102, TextureSet.SET_METALLIC, @@ -1355,6 +1377,8 @@ public class GGMaterial implements Runnable { .addMolten() .addMetalItems() .addCraftingMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 3), OffsetID + 104, TextureSet.SET_SHINY, @@ -1449,6 +1473,8 @@ public class GGMaterial implements Runnable { .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() .addMultipleIngotMetalWorkingItems() + .addMetaSolidifierRecipes() + .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 4), OffsetID + 109, TextureSet.SET_METALLIC, From af1cc12262d4e5f58e176e45082f23f9c816bf23 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 12 Dec 2024 14:55:10 -0600 Subject: [PATCH 10/21] Deprecate BW low power lasers (#3644) --- .../common/loaders/ItemRegistry.java | 2 + .../common/loaders/recipes/Assembler.java | 106 ------------------ .../tileentites/tiered/LowPowerLaser.java | 1 + .../tileentites/tiered/LowPowerLaserBase.java | 1 + .../tiered/MTELowPowerLaserBox.java | 4 +- .../tiered/MTELowPowerLaserDynamo.java | 8 +- .../tiered/MTELowPowerLaserHatch.java | 8 +- .../tiered/MTELowPowerLaserPipe.java | 4 +- 8 files changed, 24 insertions(+), 110 deletions(-) diff --git a/src/main/java/bartworks/common/loaders/ItemRegistry.java b/src/main/java/bartworks/common/loaders/ItemRegistry.java index a644e6c838e..4117a32563e 100644 --- a/src/main/java/bartworks/common/loaders/ItemRegistry.java +++ b/src/main/java/bartworks/common/loaders/ItemRegistry.java @@ -386,7 +386,9 @@ public class ItemRegistry { public static ItemStack giantOutputHatch; public static ItemStack humongousInputHatch; + @Deprecated public static ItemStack[][][] TecTechLaserAdditions = new ItemStack[3][4][4]; + @Deprecated public static ItemStack TecTechPipeEnergyLowPower; public static void run() { diff --git a/src/main/java/bartworks/common/loaders/recipes/Assembler.java b/src/main/java/bartworks/common/loaders/recipes/Assembler.java index b96c6653b21..d3bf75812fc 100644 --- a/src/main/java/bartworks/common/loaders/recipes/Assembler.java +++ b/src/main/java/bartworks/common/loaders/recipes/Assembler.java @@ -9,7 +9,6 @@ import net.minecraftforge.fluids.FluidRegistry; import bartworks.common.loaders.ItemRegistry; -import bartworks.system.material.WerkstoffLoader; import goodgenerator.items.GGMaterial; import gregtech.api.GregTechAPI; import gregtech.api.enums.GTValues; @@ -24,19 +23,6 @@ public class Assembler implements Runnable { @Override public void run() { - Materials[] cables = { // Cable material used in the acid gen, diode and energy distributor below - Materials.Lead, // ULV - Materials.Tin, // LV - Materials.AnnealedCopper, // MV - Materials.Gold, // HV - Materials.Aluminium, // EV - Materials.Tungsten, // IV - Materials.VanadiumGallium, // LuV - Materials.Naquadah, // ZPM - Materials.NaquadahAlloy, // UV - Materials.SuperconductorUV // UHV - }; - GTValues.RA.stdBuilder() .itemInputs( new ItemStack(ItemRegistry.BW_BLOCKS[0], 1, 0), @@ -134,98 +120,6 @@ public void run() { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - ItemList.Circuit_Parts_GlassFiber.get(32), - GTOreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 8), - WerkstoffLoader.CubicZirconia.get(OrePrefixes.gemExquisite, 2)) - .itemOutputs( - new ItemStack( - ItemRegistry.TecTechPipeEnergyLowPower.getItem(), - 1, - ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage())) - .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(72)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - - ItemStack[][] converters = ItemRegistry.TecTechLaserAdditions[0]; - ItemStack[][] input = ItemRegistry.TecTechLaserAdditions[1]; - ItemStack[][] dynamo = ItemRegistry.TecTechLaserAdditions[2]; - - ItemList[] emitters = { ItemList.Emitter_EV, ItemList.Emitter_IV, ItemList.Emitter_LuV, ItemList.Emitter_ZPM }; - - ItemList[] sensors = { ItemList.Sensor_EV, ItemList.Sensor_IV, ItemList.Sensor_LuV, ItemList.Sensor_ZPM }; - - OrePrefixes[] prefixes = { OrePrefixes.cableGt04, OrePrefixes.cableGt08, OrePrefixes.cableGt12, - OrePrefixes.cableGt16 }; - - for (int j = 0; j < 4; j++) { - for (int i = 0; i < 4; i++) { - ItemStack converter = converters[j][i]; - ItemStack eInput = input[j][i]; - ItemStack eDynamo = dynamo[j][i]; - long recipeConsumption = switch (i) { - case 0 -> TierEU.RECIPE_EV; - case 1 -> TierEU.RECIPE_IV; - case 2 -> TierEU.RECIPE_LuV; - case 3 -> TierEU.RECIPE_ZPM; - default -> TierEU.RECIPE_EV; - }; - - int solderingAmount = Math.max(144 * i, 72) * (j + 1); - - GTValues.RA.stdBuilder() - .itemInputs( - new ItemStack( - ItemRegistry.TecTechPipeEnergyLowPower.getItem(), - ((j + 1) * 16), - ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage()), - WerkstoffLoader.CubicZirconia.get(OrePrefixes.lens), - GTOreDictUnificator.get(prefixes[j], cables[i + 4], 8), - emitters[i].get(2 * (j + 1)), - sensors[i].get(2 * (j + 1)), - ItemList.TRANSFORMERS[4 + i].get(2 * (j + 1))) - .itemOutputs(converter) - .fluidInputs(Materials.SolderingAlloy.getMolten(solderingAmount)) - .duration((10 * (j + 1)) * SECONDS) - .eut(recipeConsumption) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - new ItemStack( - ItemRegistry.TecTechPipeEnergyLowPower.getItem(), - (j + 1) * 16, - ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage()), - WerkstoffLoader.CubicZirconia.get(OrePrefixes.lens), - GTOreDictUnificator.get(prefixes[j], cables[i + 4], 8), - sensors[i].get(2 * (j + 1)), - ItemList.HATCHES_ENERGY[4 + i].get(2 * (j + 1))) - .itemOutputs(eInput) - .fluidInputs(Materials.SolderingAlloy.getMolten(solderingAmount)) - .duration((10 * (j + 1)) * SECONDS) - .eut(recipeConsumption) - .addTo(assemblerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs( - new ItemStack( - ItemRegistry.TecTechPipeEnergyLowPower.getItem(), - (j + 1) * 16, - ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage()), - WerkstoffLoader.CubicZirconia.get(OrePrefixes.lens), - GTOreDictUnificator.get(prefixes[j], cables[i + 4], 8), - emitters[i].get(2 * (j + 1)), - ItemList.HATCHES_DYNAMO[4 + i].get(2 * (j + 1))) - .itemOutputs(eDynamo) - .fluidInputs(Materials.SolderingAlloy.getMolten(solderingAmount)) - .duration((10 * (j + 1) * SECONDS)) - .eut(recipeConsumption) - .addTo(assemblerRecipes); - } - } - GTValues.RA.stdBuilder() .itemInputs( ItemList.Hatch_Input_HV.get(64), diff --git a/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaser.java b/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaser.java index 7dc3eca2f8b..077be58a71f 100644 --- a/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaser.java +++ b/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaser.java @@ -20,6 +20,7 @@ import tectech.mechanics.pipe.IConnectsToEnergyTunnel; import tectech.thing.metaTileEntity.pipe.MTEPipeEnergy; +@Deprecated public interface LowPowerLaser extends IMetaTileEntity, IConnectsToEnergyTunnel { boolean isSender(); diff --git a/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaserBase.java b/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaserBase.java index a4e21be96f5..b9ddf8df4bb 100644 --- a/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaserBase.java +++ b/src/main/java/bwcrossmod/tectech/tileentites/tiered/LowPowerLaserBase.java @@ -25,6 +25,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.MTETieredMachineBlock; +@Deprecated public abstract class LowPowerLaserBase extends MTETieredMachineBlock implements LowPowerLaser { protected long AMPERES; diff --git a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserBox.java b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserBox.java index e4eba7d464d..d2a862d5787 100644 --- a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserBox.java +++ b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserBox.java @@ -23,6 +23,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GTUtility; +@Deprecated public class MTELowPowerLaserBox extends LowPowerLaserBase { public MTELowPowerLaserBox(int aID, String aName, String aNameRegional, int aTier, long aAmperes, @@ -161,7 +162,8 @@ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirec @Override public String[] getDescription() { - return new String[] { "Like a transformer... but for LASERS!", + return new String[] { EnumChatFormatting.RED + "DEPRECATED! This will be removed in the next major update.", + "Like a transformer... but for LASERS!", "Transfer rate: " + EnumChatFormatting.YELLOW + GTUtility.formatNumbers(this.getTotalPower()) + EnumChatFormatting.WHITE diff --git a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserDynamo.java b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserDynamo.java index da3e3e4ac2b..678cf380d05 100644 --- a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserDynamo.java +++ b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserDynamo.java @@ -13,11 +13,14 @@ package bwcrossmod.tectech.tileentites.tiered; +import net.minecraft.util.EnumChatFormatting; + import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import tectech.thing.metaTileEntity.hatch.MTEHatchDynamoTunnel; +@Deprecated public class MTELowPowerLaserDynamo extends MTEHatchDynamoTunnel implements LowPowerLaser { public MTELowPowerLaserDynamo(int aID, String aName, String aNameRegional, int aTier, int aAmp) { @@ -55,7 +58,10 @@ public long getAMPERES() { @Override public String[] getDescription() { - return mDescriptionArray; + String[] desc = new String[mDescriptionArray.length + 1]; + desc[0] = EnumChatFormatting.RED + "DEPRECATED! This machine will be removed in the next major update."; + System.arraycopy(mDescriptionArray, 0, desc, 1, mDescriptionArray.length); + return desc; } @Override diff --git a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserHatch.java b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserHatch.java index b9fa9c14b67..7cc2b8c345a 100644 --- a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserHatch.java +++ b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserHatch.java @@ -13,11 +13,14 @@ package bwcrossmod.tectech.tileentites.tiered; +import net.minecraft.util.EnumChatFormatting; + import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import tectech.thing.metaTileEntity.hatch.MTEHatchEnergyTunnel; +@Deprecated public class MTELowPowerLaserHatch extends MTEHatchEnergyTunnel implements LowPowerLaser { public MTELowPowerLaserHatch(int aID, String aName, String aNameRegional, int aTier, int aAmp) { @@ -30,7 +33,10 @@ public MTELowPowerLaserHatch(String aName, int aTier, int aAmp, String[] aDescri @Override public String[] getDescription() { - return mDescriptionArray; + String[] desc = new String[mDescriptionArray.length + 1]; + desc[0] = EnumChatFormatting.RED + "DEPRECATED! This machine will be removed in the next major update."; + System.arraycopy(mDescriptionArray, 0, desc, 1, mDescriptionArray.length); + return desc; } @Override diff --git a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserPipe.java b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserPipe.java index 0a8ddb19d30..0d4bf98282d 100644 --- a/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserPipe.java +++ b/src/main/java/bwcrossmod/tectech/tileentites/tiered/MTELowPowerLaserPipe.java @@ -33,6 +33,7 @@ import gregtech.common.GTClient; import ic2.core.Ic2Items; +@Deprecated public class MTELowPowerLaserPipe extends MTECable implements LowPowerLaser { public MTELowPowerLaserPipe(int aID, String aName, String aNameRegional) { @@ -74,7 +75,8 @@ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirec @Override public String[] getDescription() { - return new String[] { "Primitive Laser Cable intended for Low Power Applications", "Does not auto-connect", + return new String[] { EnumChatFormatting.RED + "DEPRECATED! This will be removed in the next major update.", + "Primitive Laser Cable intended for Low Power Applications", "Does not auto-connect", "Does not turn or bend", EnumChatFormatting.WHITE + "Must be " + EnumChatFormatting.YELLOW From 20672ce983c9275202b7a1d128ba9ad9efa3670d Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 12 Dec 2024 15:03:37 -0600 Subject: [PATCH 11/21] Migrate GalaxySpace materials to GT5u (#3520) Co-authored-by: Martin Robertz Co-authored-by: RecursivePineapple --- .../system/material/WerkstoffLoader.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/main/java/bartworks/system/material/WerkstoffLoader.java b/src/main/java/bartworks/system/material/WerkstoffLoader.java index 079238c28a4..c3d326042ca 100644 --- a/src/main/java/bartworks/system/material/WerkstoffLoader.java +++ b/src/main/java/bartworks/system/material/WerkstoffLoader.java @@ -1570,6 +1570,55 @@ public static void setUp() { 104, TextureSet.SET_SHINY); + // Extracted from GalaxySpace + public static final Werkstoff LiquidHelium = new Werkstoff( + new short[] { 210, 230, 250 }, + "Liquid Helium", + "He", + new Werkstoff.Stats().setBoilingPoint(4) + .setGas(false) + .setMeltingPoint(1), + Werkstoff.Types.MATERIAL, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + 11500, + TextureSet.SET_FLUID); + + public static final Werkstoff HafniumCarbide = new Werkstoff( + new short[] { 125, 135, 125 }, + "Hafnium Carbide", + "HfC", + new Werkstoff.Stats().setMass(192), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().onlyDust(), + 11501, + TextureSet.SET_METALLIC); + + public static final Werkstoff TantalumCarbideHafniumCarbideMixture = new Werkstoff( + new short[] { 75, 85, 75 }, + "Tantalum Carbide / Hafnium Carbide Mixture", + subscriptNumbers("(TaC)4HfC"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().onlyDust(), + 11502, + TextureSet.SET_METALLIC); + + public static final Werkstoff TantalumHafniumCarbide = new Werkstoff( + new short[] { 80, 90, 80 }, + "Tantalum Hafnium Carbide", + subscriptNumbers("Ta4HfC5"), + new Werkstoff.Stats().setMass(192) + .setMass(962) + .setMeltingPoint(4263), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().onlyDust() + .addMetalItems() + .addMolten() + .setBlacklist(OrePrefixes.plate), + 11503, + TextureSet.SET_METALLIC); + public static HashMap items = new HashMap<>(); public static HashBiMap fluids = HashBiMap.create(); public static HashBiMap molten = HashBiMap.create(); From 0c3832cccc2e5467133012c6379b93f39dd75b23 Mon Sep 17 00:00:00 2001 From: BlueHero233 <87818077+BlueHero233@users.noreply.github.com> Date: Thu, 12 Dec 2024 18:22:03 -0300 Subject: [PATCH 12/21] Add Signalium, Lumiium and Enderium ABS recipes (#3355) Co-authored-by: Martin Robertz Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> Co-authored-by: StaffiX <32968022+StaffiX@users.noreply.github.com> --- .../core/recipe/RecipesGregTech.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java b/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java index ffac299ae2f..d00e8c7e8c0 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java @@ -721,6 +721,49 @@ private static void extruderRecipes() { private static void blastSmelterRecipes() { + // Enderium + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + Materials.Tin.getDust(2), + Materials.Platinum.getDust(1), + Materials.Silver.getDust(1), + Materials.Thaumium.getDust(2), + Materials.EnderPearl.getDust(2)) + .fluidOutputs(Materials.Enderium.getMolten(8 * 144)) + .eut(TierEU.RECIPE_EV) + .duration(20 * SECONDS + 1 * MINUTES) + .addTo(alloyBlastSmelterRecipes); + + // Signalium + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(3), + Materials.AnnealedCopper.getDust(30), + Materials.Ardite.getDust(10), + Materials.Redstone.getDust(50)) + .fluidOutputs(GGMaterial.signalium.getMolten(5 * 144)) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .duration(5 * MINUTES) + .addTo(alloyBlastSmelterRecipes); + + // Lumiium + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(6), + Materials.Tin.getDust(10), + Materials.Iron.getDust(10), + Materials.Copper.getDust(2), + Materials.Silver.getDust(8), + GGMaterial.lumiinessence.get(OrePrefixes.dust, 10), + Materials.Glowstone.getDust(10)) + .fluidOutputs(GGMaterial.lumiium.getMolten(5 * 144)) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .duration(5 * MINUTES) + .addTo(alloyBlastSmelterRecipes); + // Eglin Steel GTValues.RA.stdBuilder() .itemInputs( From 5db70f27aef9560fbb2d90976a1b77cea6756224 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Thu, 12 Dec 2024 22:39:59 +0100 Subject: [PATCH 13/21] update --- dependencies.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 4618fba8432..68b03943f7a 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -80,8 +80,8 @@ dependencies { compileOnly rfg.deobf("curse.maven:cofh-core-69162:2388751") compileOnly("com.github.GTNewHorizons:Nuclear-Control:2.6.7:dev") { transitive = false } compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false } - implementation("com.github.GTNewHorizons:Hodgepodge:2.5.82:dev") - compileOnly('com.github.GTNewHorizons:Botania:1.11.6-GTNH:dev') { transitive = false } + implementation("com.github.GTNewHorizons:Hodgepodge:2.6.0:dev") + compileOnly('com.github.GTNewHorizons:Botania:1.12.1-GTNH:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:HoloInventory:2.4.13-GTNH:dev') { transitive = false } compileOnly rfg.deobf("curse.maven:extra-utilities-225561:2264384") compileOnly rfg.deobf('curse.maven:minefactory-reloaded-66672:2366150') From 09769ca9a50be0f32fecf47a4fb8fdb172081e73 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Thu, 12 Dec 2024 17:13:08 -0500 Subject: [PATCH 14/21] =?UTF-8?q?Rotate=20Screwdriver=2090=C2=B0=20From=20?= =?UTF-8?q?File=20(#3640)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Martin Robertz --- .../ggfab/textures/items/gt.ggfab.d1/36.png | Bin 418 -> 633 bytes .../ggfab/textures/items/gt.ggfab.d1/6.png | Bin 318 -> 305 bytes .../textures/gui/picture/tic_bolt_molding.png | Bin 320 -> 298 bytes .../iconsets/HANDLE_ELECTRIC_SCREWDRIVER.png | Bin 317 -> 380 bytes .../HANDLE_ELECTRIC_SCREWDRIVER_OVERLAY.png | Bin 186 -> 241 bytes .../items/iconsets/HANDLE_SCREWDRIVER.png | Bin 238 -> 278 bytes .../iconsets/HANDLE_SCREWDRIVER_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/Botania-Dragonstone/bolt.png | Bin 2769 -> 250 bytes .../Botania-Dragonstone/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/Dreamwood/bolt.png | Bin 1161 -> 1368 bytes .../CUSTOM/Dreamwood/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/Dreamwood/toolHeadScrewdriver.png | Bin 1189 -> 1398 bytes .../Dreamwood/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/Livingrock/bolt.png | Bin 153 -> 258 bytes .../CUSTOM/Livingrock/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/Livingrock/toolHeadScrewdriver.png | Bin 189 -> 309 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/Livingwood/bolt.png | Bin 1156 -> 1368 bytes .../CUSTOM/Livingwood/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/Livingwood/toolHeadScrewdriver.png | Bin 1182 -> 1398 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../bolt.png | Bin 1499 -> 1314 bytes .../bolt_OVERLAY.png | Bin 4896 -> 4586 bytes .../toolHeadScrewdriver.png | Bin 1356 -> 2041 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 5035 -> 4638 bytes .../CUSTOM/WhiteDwarfMatter/bolt.png | Bin 4831 -> 4077 bytes .../CUSTOM/WhiteDwarfMatter/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/bedrockium/bolt.png | Bin 162 -> 204 bytes .../CUSTOM/bedrockium/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/bedrockium/toolHeadScrewdriver.png | Bin 243 -> 238 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/eternity/bolt.png | Bin 2045 -> 1757 bytes .../CUSTOM/eternity/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/eternity/toolHeadScrewdriver.png | Bin 2959 -> 2813 bytes .../eternity/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/exohalkonite/bolt.png | Bin 3097 -> 956 bytes .../CUSTOM/exohalkonite/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/hotexohalkonite/bolt.png | Bin 12671 -> 11749 bytes .../CUSTOM/hotexohalkonite/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../hotexohalkonite/toolHeadScrewdriver.png | Bin 3980 -> 1286 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/hotprotohalkonite/bolt.png | Bin 557 -> 730 bytes .../CUSTOM/hotprotohalkonite/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/infinity/bolt.png | Bin 643 -> 757 bytes .../CUSTOM/infinity/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/infinity/toolHeadScrewdriver.png | Bin 965 -> 1185 bytes .../infinity/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/magmatter/bolt.png | Bin 993 -> 705 bytes .../CUSTOM/magmatter/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/magmatter/toolHeadScrewdriver.png | Bin 1577 -> 981 bytes .../magmatter/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/protohalkonite/bolt.png | Bin 211 -> 258 bytes .../CUSTOM/protohalkonite/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/spacetime/bolt.png | Bin 5775 -> 1136 bytes .../CUSTOM/spacetime/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../CUSTOM/spacetime/toolHeadScrewdriver.png | Bin 9334 -> 2160 bytes .../spacetime/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../materialicons/CUSTOM/universium/bolt.png | Bin 531 -> 737 bytes .../CUSTOM/universium/bolt_OVERLAY.png | Bin 143 -> 183 bytes .../CUSTOM/universium/toolHeadScrewdriver.png | Bin 566 -> 745 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 143 -> 183 bytes .../items/materialicons/DIAMOND/bolt.png | Bin 161 -> 194 bytes .../materialicons/DIAMOND/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../DIAMOND/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../DIAMOND/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/DULL/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/DULL/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../DULL/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../DULL/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/EMERALD/bolt.png | Bin 161 -> 194 bytes .../materialicons/EMERALD/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../EMERALD/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../EMERALD/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/ENRICHED/bolt.png | Bin 161 -> 194 bytes .../materialicons/ENRICHED/bolt_OVERLAY.png | Bin 206 -> 224 bytes .../ENRICHED/toolHeadScrewdriver.png | Bin 178 -> 204 bytes .../ENRICHED/toolHeadScrewdriver_OVERLAY.png | Bin 231 -> 234 bytes .../items/materialicons/FIERY/bolt.png | Bin 161 -> 194 bytes .../materialicons/FIERY/bolt_OVERLAY.png | Bin 186 -> 224 bytes .../FIERY/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../FIERY/toolHeadScrewdriver_OVERLAY.png | Bin 203 -> 234 bytes .../items/materialicons/FINE/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/FINE/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../FINE/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../FINE/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/FLINT/bolt.png | Bin 161 -> 194 bytes .../materialicons/FLINT/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../FLINT/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../FLINT/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/FLUID/bolt.png | Bin 161 -> 194 bytes .../materialicons/FLUID/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../FLUID/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../FLUID/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/GEM_A/bolt.png | Bin 161 -> 194 bytes .../materialicons/GEM_A/bolt_OVERLAY.png | Bin 143 -> 183 bytes .../GEM_A/toolHeadScrewdriver.png | Bin 178 -> 204 bytes .../GEM_A/toolHeadScrewdriver_OVERLAY.png | Bin 143 -> 183 bytes .../materialicons/GEM_HORIZONTAL/bolt.png | Bin 161 -> 194 bytes .../GEM_HORIZONTAL/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../GEM_HORIZONTAL/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/GEM_VERTICAL/bolt.png | Bin 161 -> 194 bytes .../GEM_VERTICAL/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../GEM_VERTICAL/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/GLASS/bolt.png | Bin 161 -> 194 bytes .../materialicons/GLASS/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../GLASS/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../GLASS/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/LAPIS/bolt.png | Bin 161 -> 194 bytes .../materialicons/LAPIS/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../LAPIS/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../LAPIS/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/LEAF/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/LEAF/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../LEAF/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../LEAF/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/LIGNITE/bolt.png | Bin 161 -> 194 bytes .../materialicons/LIGNITE/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../LIGNITE/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../LIGNITE/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/MAGNETIC/bolt.png | Bin 161 -> 194 bytes .../materialicons/MAGNETIC/bolt_OVERLAY.png | Bin 245 -> 344 bytes .../MAGNETIC/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../MAGNETIC/toolHeadScrewdriver_OVERLAY.png | Bin 327 -> 505 bytes .../items/materialicons/METALLIC/bolt.png | Bin 107 -> 173 bytes .../materialicons/METALLIC/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../METALLIC/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../METALLIC/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/NETHERSTAR/bolt.png | Bin 161 -> 194 bytes .../materialicons/NETHERSTAR/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../NETHERSTAR/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/NONE/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/NONE/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../NONE/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../NONE/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/NUCLEAR/bolt.png | Bin 161 -> 194 bytes .../materialicons/NUCLEAR/bolt_OVERLAY.png | Bin 143 -> 183 bytes .../NUCLEAR/toolHeadScrewdriver.png | Bin 178 -> 204 bytes .../NUCLEAR/toolHeadScrewdriver_OVERLAY.png | Bin 143 -> 183 bytes .../items/materialicons/OPAL/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/OPAL/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../OPAL/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../OPAL/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/PAPER/bolt.png | Bin 161 -> 194 bytes .../materialicons/PAPER/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../PAPER/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../PAPER/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/POWDER/bolt.png | Bin 161 -> 194 bytes .../materialicons/POWDER/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../POWDER/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../POWDER/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/QUARTZ/bolt.png | Bin 161 -> 194 bytes .../materialicons/QUARTZ/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../QUARTZ/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../QUARTZ/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/REFINED/bolt.png | Bin 161 -> 194 bytes .../materialicons/REFINED/bolt_OVERLAY.png | Bin 143 -> 183 bytes .../REFINED/toolHeadScrewdriver.png | Bin 178 -> 204 bytes .../REFINED/toolHeadScrewdriver_OVERLAY.png | Bin 143 -> 183 bytes .../items/materialicons/ROUGH/bolt.png | Bin 161 -> 194 bytes .../materialicons/ROUGH/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../ROUGH/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../ROUGH/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/RUBY/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/RUBY/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../RUBY/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../RUBY/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/SAND/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/SAND/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../SAND/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../SAND/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/SHARDS/bolt.png | Bin 161 -> 194 bytes .../materialicons/SHARDS/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../SHARDS/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../SHARDS/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/SHINY/bolt.png | Bin 161 -> 194 bytes .../materialicons/SHINY/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../SHINY/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../SHINY/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes .../items/materialicons/WOOD/bolt.png | Bin 161 -> 194 bytes .../items/materialicons/WOOD/bolt_OVERLAY.png | Bin 141 -> 183 bytes .../WOOD/toolHeadScrewdriver.png | Bin 155 -> 204 bytes .../WOOD/toolHeadScrewdriver_OVERLAY.png | Bin 141 -> 183 bytes 185 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/ggfab/textures/items/gt.ggfab.d1/36.png b/src/main/resources/assets/ggfab/textures/items/gt.ggfab.d1/36.png index 951edab1172e18def54f14dadee0a6207b2c9c39..56856961d6c3a6b681782f884d591ec1b9d98e5c 100644 GIT binary patch delta 599 zcmV-d0;v6>1Nj7y8Gi!+001a04^sdD03c&XQcVB=dL{q>fP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u0Rm7=R7C&)08mg+R8&+~SXWzHTV7sYVq#)tWo2n;X>4n2 zaBy&Ra&mTdc1cP~PEJlxP*PY}S6^OVWoBh;Y;1INaz;i*N`Fa7P*PG@SXgCcWE=+ z_TIbx|F?MYRr8R&IkUSnA>{YiI6HOlPQm5&c&)cj^m73kN(9kE1;iZM<`PaNU_ zB&4KhgQR!@0i-jMB4)W9CHaC72C$+fYKc&8tz4-Bbe6733L*6d)tYfYOK0s4s){{Y z6QSGF8HzR4ry7zm=;1bp%19l{6U3=8!{)iUK+jSJtk%Y6yJLIEK|KOatFv+0UfIpO lV~Tv`0eP~QIeh>5`v+ao__!U002ovPDHLkV1mlU)IHaZwNaB1x7XWzZU{^4iU?o@;tbYzRY~yj7W&l_LKv%v~ z9LnuZ8#dFSgzjJoJ{%4u?JmItNti@1@}0dPXvz}aUf<^9@mNHHZosrnW(-SU#2}EI z1R>DGZnv9Hr&Dp%D3yq0f=ReKSTzTBbQRioetDkX-#-cfOw%;ya0i&=a9{_>F$YCJ zRPXw7xfEMaXn%+-2^!cW)JP;uwJHGk{QN520sX55wX6oEthIi)-EKR{^?EI)L4V&9 zh*?{U5N&WKg2ZOC=_KD|IyT1;+qT)P3zO<&>cV=xo)xW;5g}VpU6LBbTCB3hOpfP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u069=hR7C&)0RR90*z)qZ=;+Vy@8806^y0W&i*H0b)x> zL;?Q-E#8qK7;Oi1Nliru=nM=1I4qo^vF-o>07XeeK~xyiV_+Z&FfyX?nV5;^v!Khf zu%fAFV`b++;&QTaakKKE@EN&ySy*lWLSsOZ+vD-7jdN|#^nW}N z8iVX~0szE$UJL*Lb=O5|EmCU{XpN6J=5W2{T>zCNOs&OWxkP`lK-c#XXbrbq#$U+I zbi$A=rAU%3rTDqupG};50B@BFs#2mooucde7)24PQWiVyc(dVq6#X&*08tbY=Q-xa gpx0=Kr##^oj7y>|ZSpc900000Ne4wvM6N<$g8OQJO8@`> diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/tic_bolt_molding.png b/src/main/resources/assets/gregtech/textures/gui/picture/tic_bolt_molding.png index f2ec0bc144cc7295732fcde0a0a27fd5be47257b..7a3049a297846a0624c51be4b37294125db27a85 100644 GIT binary patch delta 283 zcmX@Ww2EnhL_G^L0|Ud`yN`l^ltQvckS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy2@DKY zGZ+}e3+C(!v;j)!2Ka=y0_hJQX1;v&NmE1P%tXK9iiUNY_cr)z{l7ia$ss1v&TH?Q zRo2Qza~hlf|Nr0dSpF(d15-(mUoZnh+2pepKwdp#lDE4HU;bVLe;|*&#M9T6{RIyX zBcG^u<)I}&p*T+$#}JO|$q5cjTmoG;BW~Wf!EnN$kk{ASn9b-+bcpkERc1*yDKE!a z3T>Gc;Tak;1Xt}9IkSQ1>Q2_wmU*#KJV{I1j@@B0UdGre#w>ZvINh(;k|%{jTH1My b13QDr94Sd@LFag0pj8Z>u6{1-oD!M<1GZeo delta 305 zcmV-10nYxa0>A>07=H)`0000V^Z#K0009R{L_t(I%VS`m2YC7F(|=rYEXW*94Go+M zk>#%6xWNcxGomYK?VgIF@#xXRaCW5RIR*v>28P(_x8Q~_AuEPyp3*y?;poxBaLr{! zMGTRW=NOE=ycxFayMx<_>o)KG@8l5k|K+Ps|6jiP^uM^G0e{Z^e|sjJjqDv3bb|~n zR2aJY`r!P6kO+olbNv|_OC~aW)_jgX5YfT2W2YEW@)8(c@q1v^j1dOtnw_038S2VA zP{hxlxP#jOSfIf)&tJ5j!6MWT#Y+TTfUX%CSXfP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u0D(|UR7L;)|KH!=LPA0zAtA}h$^QTTIyyQT85zRD!uIy| z=jZ3x*w`~OG7=IJySuyX?Csy(-O$g_!NI|@va%~HE3~z=cq0x2dYB zn3$N`+uY60&c46DudlD6p`ekGk;KKswY9aUr>K~jn2U;vo}QkMkC23fg#Z8loh#7? z00002bW%=J004HA%{Tx600Cl4M??UK1szC{As%Vy3=9AnF>^b})BpegM@d9MR2b7^ zV4xphL>FLUM&+}xvauucIXJnvd3X_gK7Ii~Az=}?Iih0X5|UEV2n8~-a`Fm_NG2#L jtEj4>*rBeWiO-Dy=aDeaoELSV`hXbe6nMQBy zI1ZvO7>&k+VJ66Wv!?NoY}=;W?csSIUt8h}mE-w!{tyQ800000NkvXXu0mjfuQ`6A diff --git a/src/main/resources/assets/gregtech/textures/items/iconsets/HANDLE_ELECTRIC_SCREWDRIVER_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/iconsets/HANDLE_ELECTRIC_SCREWDRIVER_OVERLAY.png index e3033547c38c92fb62b6ab929eb4a174f5dfc3da..0ffbdb9db836e184650a6b473fbfb22b94b3ffb0 100644 GIT binary patch delta 201 zcmdnR_>pmfL_G^L0|Ud`yN`l^ltQvckS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy2@DKY zGZ+}e3+C(!v;j&e2Ka=y{{R2q$;nAkQPIlEN>Wmi;Xi}1v5}CF(0>L7ZEbC!?EKbk z=YWbCOM?7@862M7NCR<_yxm*&w0Sd@^x;Tb#Tu)9| sAY!0(AVMv`s$ngIPqBf4kHS?GhGYiDEtbj!B|wD?p00i_>zopr0EopoH~;_u delta 170 zcmey!xQlUuL_G%^0|SHn=l_X7inG8YvY3H^TM&d9>r>(<0tMMiJbhi+@9~I>=$jmg zoU{fg#Fpgk?!xdN1Q+aGJ{c(D?&;zfVsSe8$N&HK%&IdIuQV)7YFM=BQN6nQ^8YE4 z3YwZf@1HvL%05z0KuG9UeooF8`Gqqc+IzAoXJlt5-#XKfbt1!RK@%gx&dd)BP9`*p Q0nKFaboFyt=akR{0EZzy1poj5 diff --git a/src/main/resources/assets/gregtech/textures/items/iconsets/HANDLE_SCREWDRIVER.png b/src/main/resources/assets/gregtech/textures/items/iconsets/HANDLE_SCREWDRIVER.png index eed4a90317c4e3fe8ada2b0edecd9c5764015076..d18b8d74c6d04e253040efa82a1e2cde6b1cf008 100644 GIT binary patch delta 235 zcmVfP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u00Lr5M??VshmXv^ks%&`=nM=188LG^$kYG;0DDP9K~yNu z)sZ0%!axv3-!xS?l4g@$g!A-f?H!Pq3P^**A-O?=AwfOFx^~lQX2ghj|L0F8WVinMJNX?bY71vg`^PCOQThQt1rI>dAXS lFCj1<*mC3)C4<;|_YX3uLKgmHAJPB-002ovPDHLkV1k@WT-g8s delta 195 zcmV;!06hPe0`38j83+ad001BJ|6!3^9)I2i3JC%y+fY=E00006VoOIv0RI600RN!9 zr;`8x0DDP9K~y-)?b0C%Kp_kUVDEnkZ(v#R0D@S|HjBk#w*4}LAQ;s5cS3-Gvb6&unlO+M x!a%kF=NwkZ(HR-B)=tRrBQc`29^qF$u>p_Z3^9%3DsTV*002ovPDHLkV1m@@POSg{ diff --git a/src/main/resources/assets/gregtech/textures/items/iconsets/HANDLE_SCREWDRIVER_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/iconsets/HANDLE_SCREWDRIVER_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..844e4365af706bff7ff97e32b137a3af9a0a13d2 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Botania-Dragonstone/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Botania-Dragonstone/bolt.png index 622a45dc42c5448c20c45165f11dd4d8788ffc9c..1986d0e057fbcee6524b3ed644c30dd0e7077e44 100644 GIT binary patch delta 233 zcmca8`ipUbWIZzj1A~Sxe=v|zNcITwWnidMV_;}#VPNf4lwpgAG^y|Nk#C>%T2f8)He3UoeBivl~fiAYPKUyNkfoO}sil4tt5G zuPgft9v((Mu}cM$<$yw(o-U3d5|@(`7Dy(zJT^95+`VDLriGmwiWhVj6csM+{P5w^ f!p;xD=Pxpte_?3g=a^{))WqQF>gTe~DWM4f6#HSf literal 2769 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 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Dreamwood/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Dreamwood/bolt.png index 3a8108a64d23e5498f9b643a9cf0889bb12a5ce2..3f4ec3ed10ade1d446eda2f97b9a4e890e953920 100644 GIT binary patch delta 365 zcmeC=yumd=LV|^vfq~)e-A6$T49qVwot*Ol;L@T^(}HJ2qn86K)JFE p=P|ga=A{;8CMyKFJ1GPd<)>xlq)IKf=mRQe@O1TaS?83{1ORVQfbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Dreamwood/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Dreamwood/toolHeadScrewdriver.png index 6d6a4c0221508946f659cdfef4b02ae2bf861c0c..c4dfd1f7fa580f57fa1bd368853b95deab364329 100644 GIT binary patch delta 394 zcmZ3=`HgFWq&PDJ1A~Sxe=q|B^NUPp=YY)QWCjL{-i;Oynd_%;?biZIDsZTGq@7;ap(Szd`&+k0AfAh}mcb+`@|NnoL*%S?+ zPR5cTzhDN3XE)O7LA)eycNf7&TWxm%IqW5#zOL*qcz75j4U4T$TmcH1dAc};NL)@% zP~bE$TKH+^jL3kWYjQMd%EI_U?9{d9cXms+oDRm>~_Pc_*XGEXp^ zxX66&InV^#64!_lps%fx^9w4AGSf3k7@Q$2AXCA}z`$I=v7jI)RlzeaSx-kHF(*d> ztg2X{D784Xs4O)_Z(iCRO`u82Fq2YJi<65o3raHc^BCMy^HPg4lNEy8ofHC!^3yVN VQl*w#^Z}JKc)I$ztaD0e0swbUmh%7r delta 184 zcmV;p07w7!3Z)5<86O4!001BJ|6u?C1Mq1>Lr_UWLm*IcZ)Rz1WdHzpoUt(B1AkzY zbRqx%0B}h}K~y-)V_+CG;KQ#U|6hK7|DS9Fj+{I7|J0=m|3LsW$1M&^od2m12I~2KO^Um#* m#}3FPcb+`@&oBxw0073PV_6ixTn&E!0000bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/bolt.png index bbfdedeba934990d63c46d4a35f344ec059194c0..8107f13b938a6bc5248b4f0a95a0851cc0da73a8 100644 GIT binary patch delta 241 zcmbQq*u*qJvYwfNfk8u;KNv_UBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3l zfkC`r&aOZkpoC?BPlzj!zHs)?f&JT_Kfib3;^~to_g}kq{^+sY2lj5eee?Y3Gy9Jm z*?sxK(NjnFZr`%(?#)YQPVU>Yd&~d-|Jwsix`CP*OM@RqD82Q956-<@`3Tb<~IEF}EPEJ@Lnc(u+*l_cL&JCM3F77NSC|cNA n@cF}{&JQ2C7j$w2oxjN7{D@)Jw6pL1Kt_4G`njxgN@xNA(3fN* delta 136 zcmV;30C)d_0+|7j8Gi-<001BJ|6u?C0ANW(K~xwS?ZHb9Krj?Q(YODFSb;F8s)$PJ zlNO0YgsEj*TTlZd=g99vVXTq2!qjtJCzZ*NShiKHtH(Km#OepbzIiI0A+b8ES%Rf$ q6cTH2CC4_CrwQ^_p;F}c$PEw{ILIe{r@jCH002ovPDHLkU;%>Z200A? diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/toolHeadScrewdriver.png index 377e34f18883f02cf9894ba6068bac483b76545c..5f61ea6fd7587f2a3136f885fb268af20eefe6e3 100644 GIT binary patch delta 293 zcmV+=0owk(0kr~<8Gi!+001a04^sdD03c&XQcVB=dL{q>fP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u09sH?R7C&)0PgVU>FDF&;o9Eb+Re|&=;_?n(#y!iz~kiE z($vS#&cx^F;nmmA#>vCuJ(YgPfNQ|Jc5!hr! z5JZ$L#>K)=7~Agw?548tJ^3AT@I04*Xcg8l3?0|8L$tDFMeTNkxkt2Ync%7vKedR~ z*2Ekd%RP*UR&GbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/bolt.png index 8bc1fd827629f56107a25c6766326ca015bed1e1..c8cfa63b216e981c59b32612c725b7174b0b1a0c 100644 GIT binary patch delta 365 zcmZqSyumd=LV|^vfq~)e-A6$T49qVwot*RtkHI}P kFSRH$Ss}>XNg<#pKP@vSRcg6KA5b}ir>mdKI;Vst03fGrhyVZp delta 151 zcmV;I0BHZ%3WN!e7$67+0000V^Z#K000Z!8LqkwWLqi}?a&Km7Y-Iodc$~2?;R9=6 zlyo8h002)(L_t(I%VS^|1@r@625SGw)*PUx@;}g2`+tI-9O;H+m}&iwFj4#OuB}L( z<}3>h@-&0|oMr-ax~@Fwnv)F`|Azr>CrdL7P^5W;0RYPg9ATOj=Sctn002ovPDHLk FV1m6YI)nfK diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/toolHeadScrewdriver.png index 44714a5336323e6e6fab9ada90f58a3c2f9dd2ab..a345b8344fceb89fe662a07a2618ea007c932c59 100644 GIT binary patch delta 394 zcmbQo`HgFWq&PDJ1A~Sxe=q|B^NUPp=YY)QWCjL{-i;Oynd_%;?biZID3ouZLv(d>k*Yr2muC|o-)>jR&Fvu{|2r*Fd(o@N`*8Ttg|Jwz5^+27BB|(0{ z3=Yq3q=9)!-tI1fkG9(G0!p!$c>21szu@6vkTfi|K5+$PpQnpsh{WaO1O-k5qlKSl z&WH^7xh6-WrYwvv#7-oc{y0y-qY)`YZU&YK4@KlqHA@c;oiHpqVo&!y= zEpd$~0s7i1IlrK?C^J2yguxlY0x}hh3=GT_9199^QWZS&lJ#^H5_57Cz^aNBic*VH zi^@_{^ya1A(FB^L3^OSuwK%ybv!En1KaasZH7~U&Gg%?X-AN&!C_gPTCsk^>MITT( NgQu&X%Q~loCIDRmd@KL} delta 177 zcmV;i08an*3Z4m&86O4!001BJ|6u?C1Mq1>Lr_UWLm*IcZ)Rz1WdHzpoUt(B1AkzY zbRqx%0BK1?K~y-)V_+CGpvb}Kf3CImf3gioF;e;;VxsjQWDwbg1Q@9N&oEP?%#ciT zO|T(xHae6U;%}@?nIYc#s{gAkbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/MagnetohydrodynamicallyConstrainedStarMatter/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/MagnetohydrodynamicallyConstrainedStarMatter/bolt.png index 4880804fee020778421551b4d99a8cee203039d2..0917982fa05c9cce67775b9af55e4121cb01c5ce 100644 GIT binary patch literal 1314 zcmWlXdo&by9L0YV^EOzaFf+a*1mC`1~R4CdOTcejaXUVgN zUZ<_&kzU(mr`7HhiQNu*DCVO=)zewyJ`DI$AU7NkG5cMqoeng_m|%|)ip=qP_2hdA zbPJJTg(OQPn2j%Dy>O&X4$1H}7Vkn)Vv8&rL{G0VXHNLik-$MD2PgQbwVQeyfDswq z`QxGk)b==T_tb%b{kGU>h!t#<%)&lvlscio0auMt$HjAZ95TW^Kiv0$oPl#LIK&xq zrC^%ai<3SP+^2q1Q`S|1iJ_h5EL-cE<#@bVhMH- zY#@jvNFi8Du##X4!6yBlHaQdke<~CNasnAaAi)zibPC^zSnwi4^QMi9Xb3XIEvu(O z`UfBOxXAF~OnNh)_1=*-6k&=8f_#HfZ|d+8CRUqHc~jek^ct>7uM2%-wIxDXh&M$h z6G1fWx5OsS$1vuA4-3iG*fkTm+zDqYJPFpZvGqGt+To5HGR?5la!^d0iZMmHH7>c0 z%r!u%06H&>N8zjh$AvFlSlu2}BwFI~T>Pb&9FhY+LFQ$8MZ8(EbjSd@Wt+e=JW+Y(nS4pnqFweu!++luhkLLayJ9`XJ&!fRcRm&_e8h~qt(m5Bsnpv2 z*C+@rXwgVUBck{Z3mVGnF0IOWb-O8xf1$lJRrURo^}@lFfd!?hUp|*7c3ih=Ov>{M zx!blica(9TXMU3xr`1IZW;ZNRwwkHMdo<>KS50a+W_X3%-!D^fE48!FYhT(6q!NWk zA5X)Jvp8IS*!##1y8^zmqBtlgPq8@IT)d({Yjs{4HeVbT=E#p%>Z+RUqeoktM;>@7 z)NC_#UXdW`UvEKu`Prt?2NlvOM^*2H0>6Ss&wLHFGdP{dZga7rYKvQ9}Tajej^xkh$kU{TtOW;~7)UiK$W?f&J S7T>8Sf&@#J1zrw_Iq*N-y>6KR delta 1474 zcmV;z1wHzr3fl{i86^e)006!y@#6ph00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y%? z?*bQp1#n43K~#8N?V4F^R8<(q|995TOqZc8dmBkvqd-|wWhoMn#U+G@@IcfDi7^<| z7sVIUKzPuYkdW{oyfm1o7+exV0wE&CxPZ|V#Z(im3rlJ#Eu8{wr!#Z=_sq~%$UXPo zxo1!&&H26Dlg#&>dv0>R-<*5yf#!dNzdpf#q2?|4hOUmVc{wqCJ~Dlqq@6g@Ss&u{ zwIQ-;f%jxK8XQU`k<~=`#>|QD9i_4j}Q|=FcS|d_+a;BqB9NDM__C@=iLWW5##Aiat12r+uI)LhO8y*F0y}3L+Q=Qz`hWPu`N_?t^`z zCbEn5S_8($R&RyHX9DD|yVx?VM8OAtO;gBCF;^c*otX21F9gi0z{8#W-iAGl_JO82 z;iuE2Gc&*S!Ji8WGYNiDZt29e1AeuHxKIk5Nx)ct)uRtyFC*WdO|Db%L30DSt&Dy3 zhJp{8#)~BJnlrr$(I2UOpczf@wSaVH=I4VS>WOp)d=ZvT+PR=DlgFsaj#^)Y~J&g8&ra0k4@|wuc2Oo?T zwPAoOReaFgNJMIYu|XIoRebREi~@bIS;Yr`EEdn4zTtyIsy=92rhT9(LRx3a7u@;z z;9wbRtAL+t!j?{?n{hY86H|$QiM8;bZ^O7RtQ+-?m6r7Z`b1T>^}%>m{<2})0S^m} zo$UiMBIphKEkXHy;*}LdN<40N4~$n7_Y=*Yb=n7-BILIC;JtWE!3W1gNmo?D-`<6} zrv@yAuj_td`|L2k z?1;d;nnca%q@}PND=p`P{wS`+OHuxAhcwpq5pq7r{#p~VP0r%(g9CCCxx$^!C#5x- zI|J8*)P2Bb%ZR0aad3g24UMS&0AGweUO?NB;Ty@ zKJ2UyxFts3D@LG-_JO82;qzmpGc!LQ?5rd(z z!d`pU2YhZEFEq$scN`hPFCd+-0J-jgNgAFa(2b$3Yzh5t%nfa{`PBjt>?}M38 zIDX63VRB7`+&@ntIqQQ*OW0g1-wt);(){2JA8fC1OqSMq&Ig?_T>CbO@)r4*4Og@e c@&)(@w%4%{m%hM6jQ{`u07*qoM6N<$f^Y@R&Hw-a diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/MagnetohydrodynamicallyConstrainedStarMatter/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/MagnetohydrodynamicallyConstrainedStarMatter/bolt_OVERLAY.png index 33336d7ff8b19a243bfeb695e93249091969ff06..46f1b5dd517e1394c8c3a301de01ce4ef88988bf 100644 GIT binary patch literal 4586 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 z zuCuV%WXu`8S6bsII!=tu@5qZW0I+1S15erCNke-_hD#9gf5cGk|8S2Wkn z994O!*dffJUM4MCKB1%HY|^^Qxn-3v#4qhmS*GCI?jN49@gzNm=C?W(_SkoFMry)# zN4wE*SWowwm=l4_v}h+tKefP$dg#9O+pn%yR%LGad|`ypX7xhn4%G2ZyJZx${-sYs zev6I$a;x%Z*(X{CD|{qc^6<|N&@pOsbRrKQeyq(ReaFx%TVvcqX1R@A)y3`EE3&V) z?73W1U3Fn;4+SIU-W~hPFZOG5-Ild?w5PNiUL7qGpKzJlu3snZI>!b5F_{2;aGvx_ z7}cto2&R?eOru%{`Xq%S@-^xZbO}z<kW+NU|P} zOb(Ty$xBdgjPC1WD>A}>K#h|K&8Svs46sp5H}k^a-ehLcX=VtyL`(0y!aB0Z*nBLZjiQGh2gJ&q)GFpHI#n8-}zGPQaoi|y_0&4M^A4u=5{ z3`3HJM2rlLVWNqmmm?52pn5__5?T$-#EHnY@uZke2jjGN@u_uE>3e#Op-%;%2g``) zSZpT5Qma}0Jq%<}0wC!N=r27CGVpW4iogxpcs+^-CEyxzVt)z@eebV}*Q?CwU?>Y$ z;c5UifLYleO&KhahQIePNuVUuIqVcBiB!ObOX?_^fq67w;Zy_O@yREVZU&Rn9gBBA1vW2gj4_rF86-yCeQc7 zQm~&eghT=n5(lIZhYLe&n9Y$ve3_s~SWYaT)v!2C&O zQ}33F#FzFy^**Wy^IoFS%)0_c(B2dbNCJ+T;{;s2LueeLQR1L|^wsM-JMkB_AY^le z2nQ4q8|Pr4oNz8fr~nJ-#lulH*9#E}yo4XK8?*{C5z*s*N}waq3e=}rE1FyHO1Xaw zPmIG&%K#K(Ky1dJ6=U^f%rbS2cPWcle-cGx2J~w)z^~T^+85}CtoQA(Pc&2G`5Rw- zi}5$k0H_Bh`6PV@`K;hTO19}e(uXktSZs75^9>Y=orCGJSb@cE0!C|6A`P004R>004l5008;`004mK004C`008P>0026e000+o zoVrmw00006VoOIv0RI600RN!9r;`8x00(qQO+^Rj3=9AnGU_s!ZU6uWZ%IT!RCwC$ z+ih%9*Bu7%=O4!}v7O+!NeC}-iA{LP3QYqHu@%%&=(-4^u7A=xRcj~IR?}K-42=p+ zAWiBRgq1<74n8nVLq(ft>88I@urH$T zL7~oBV|j2}I@X)!Tttfd>LRfAgg*5*9RXiC%i7e=Y~Am zrRc$$TEZ6x`mRCdbf{J3+f)4A}w~l|c?FZgT+3gWDwBHj%uvEPa|w zRew4s=DLZ)mx1uXbX)Nrtnv^M0cN@(KkifXfR7VS6R5LgbOws?p#2_ViW4v*kf(YT zJvh0TaG5YoLRv1U?H9PFmblghoF9PAwok1pk4>xm%!BWUo(HLiU3>5S~(?3Xmr<7v2SD z!1g8rF`&i?SrJzB;K)n@(YzkyULS0(A)+xLZldJwzvryVtOI<~TtRnV93`$KWYuN0 zlIE5=o}KC8J9m2YN_ua|$A31ISsvWl;ra@)vvG_b>^YxqyX8GN7$O|;ydLB%Rex@- zAvgj!2w63(=7DjqhwL^`QYnyi!|EP{?=I8#;LLQd<-x5Vu5^(v`}Fn;pLq}ix?<_J z;`a+_54;&Aee*rY-}yIA@}qmnk7nhpjr{9_{vn|23Z&(drU&C)mIqcopKyB}x!O4f z58mto{MXwG?%uB-xtgV^Yd`>yUw=c>gGxZQW+GH@fV2m_VaN-L*Vgz9$nb;YnOW+! z!Ob<~BOq66Jb%DeH&Y3LZ9)XHQ+3)e1}qP(6b%2=Os??i?H4|7tROa>1d!4=^7d+S zv5?C%YeUV0354uZt&R33^4%Han!*?AM|Wa}mhzR6W=>+48_j!SJ~dxi+Bb z!An8nGG@!k+HD3CVQdvEPc1iDpntiX{HdFKC!oGx zNIV&!J=_ntM>IU(&&lB*l27|JJviQKd0-`P_*4bCr$N($7pD-36cCyQzV#MxoM7*O9Y@cXqywE(BX zc|FK}J@H&CkxBs{^gzD(4@FFNHIf}m$mi=V53J-2+oqCyT7T~}bGe5{gI@B$B8}fK zY^WgO0vwG%+LIa{7#^UxCZlsvGvHb~Q6s>+2~7{;0=P|e5Be9Dvud^r=74fKF5j0e#d<-<3z;w69W@BxT=bGF+GE=jp_stl`eb(<6l=5G{36g3yfuCdm0000< KMNUMnLSTZTMAf|j delta 1338 zcmV-A1;zUL56lXXBYy=GNkl6;37{~Eb+S$)6v}H;c3QRjd2ZkXeE`)Sig8d^8 zX-sqRe!vB5M?@ZS$g9(w;XzXs%>`jNJwY(yP6VUHgK~S6dBBo^LJ!85Y@#5f z&ItzsP$u|@Zso?(=6CW*X1oC&tjkay^mY$^D1?@P%ma#SLJwX@fO!^}YZZnpu)_BR zf{+7);MzEN&o2n+oC?Q-@Lh=@WoB-V zkxa0+d4FMn4$nFSAuqXMg$~IKCE*IJy@B*Z@H3Bc~2^=cEe6Vn@fWm_9X-5MtG1T^x)Vq zIFTjvV0RL1@d`q!o!pt`;Ci0m6`vaH;8KbnWXksESn{{5|Ay5H62{-4>w- zt2O0;s-E;9Y=NDFBps>-(>0+7OEsv}gdRMn8Q{St%>WNB2BCc#EY<`eVGYWq9z3RT zXMdUlO6>-CP@k?m=d=%Y+~o_Ixf+l(9VHqR#0Wi@ZG;EQH8?ZEAPwdnO&(Rw$O7)epr$z6mx;HZAYhU|~N4JZSYB;K7lR zFu`nq2c^2ugBQK_}4{^mY%b(|=*DWZA1}5|r7X!54YR%~2+(ONH}eBwv8BiYdb`Q1; zhHAk)kaLehI1%;-gdQ9Z!Hp@B^GJ!XF#(Pa{jWVZl@6=z{G8_$dQfEJc9rDqEPslJ z&ZmL(LJ!WCDi8XC2aSH1FKPY1m;v(~P%pW=vsi~ic|s3fPKPzg26^y~_=L}d=YegK(_*8Q2YtnZZwvVS5y=hv^AB+)#|}%}l3PSpIG7BLse+JZ zzkwd?l01{w;vj6MbF#EwSd|Paoy(+YF*LbLA@EOP0`@NlLPp1yrk)94#H+1)C!(S*9@@Qq*6bTh2zPiKXT wwtPXzi7Z?96tG$_P7Zr@4v%mv5B{P40vIYTb<4SS-2eap07*qoM6N<$f}=`mHvj+t diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/MagnetohydrodynamicallyConstrainedStarMatter/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/MagnetohydrodynamicallyConstrainedStarMatter/toolHeadScrewdriver_OVERLAY.png index 4a65b594014d2c136b874dda0bce681f44066626..efd85f140baa014b69a2aa28d28438e3b5196982 100644 GIT binary patch literal 4638 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 literal 5035 zcmeHKc~lcu7Y|lYP!w9(L}ZB7iaOZ?$w*L4Kq5v$hzJF(lgT8El7(a>0i`Gk7AY1* z6s=k*2wIoA;DU-20V(bj7phVewA5OuR$IhM?Mpz!)1LDk&-wbF$(dy4zI%V~-rrr4 zmnEGw-O*vB1BF6y6o-mr;M>V^4YmWH-j83P6v{jIQ{>U43^hS|gHA;x;1HRt$06KI zs3;Wk^#>bb*SC!yn%NRlJIO{oxXN&JYvbgCyB9x`$nwdrChxp(_MAs#&{EvziTy8z zwqLy)yEC%u7rR}SonxlN`K&x=n{(&lu2I}B{pI6r^qkKVO%+w{?}qY^`)a$-^13|3 z=`8j;)a%EPh}=;J5L!u1%~i zDvxsZ)RgZ@Z+R?aSzF5(|q%HU6x+C61}Hn(?TNj z3)fADn|5zsAA9fS_O|Cg?T-x?bh6^1{1A7fb>Eth(Kz)=$x)Az3p`E9Ms>ODMs(T) zy0l1=Gh7zdu=g@!K@v0QKChv6=r>Ka0}^8gU#&k}&?WMDNIg=}^=Vu9y4%Gx)fQK# z)6nJ7AIxpy2WHU>X*K6#j@~}qGPd3Im|K1Kxd+aNPX6Hi07~jOHLewEV&!*5A3FJ>TtVQJ&L@#G7@ubLQ042|M79=cjVDy7ZYHn-SZwUJm;<<~pj~ zN=HP0ApC&0MD5~v{_EJF?jze5N3A*HX5Q{oFAR96R`W-0NLIa9cfmMTd42iT64oPC zb3>}^*c|VpGp^6t`Nf{h);s!ULs`VWG}95g>daMT*Q%3SYrm>vRp!#3hun@SA9|%R zdu>8|#PwxgvGQ$8Yf5)NpWx}!9DCr=L?K;0W^F^oSkH*^(h(U`q-~AmALm}c@{(GD zxl ziky)hSATr|dHR#e!WWr7)&Ac-Q+Ik#*;00X;6zAFq1db-ghHuUD16!WpxHO4t`US* zOGjjcM`lx9Rwg+mek+|E z5jkzxh@TV7MxOkAQFyc5WWV)pOQ+g#hi$fv%^LH1j}pm=pnwX(b8}}_(e6pRYT9eC zadUH@uDQRePPaLXHY9+(K*fGs6QS6Dxps!z!2>&;!=3BolF}tU?fcIpXCI8(bMOyA z*N|%4RD9$8vXI*o4~hK+Y!*2#WW65v#B`|R3@@ak~$^OA;63P01Zx}kXe(U zH6msK)ryONdyAM(g{&&%LIE{eB87xH0}gR$92x@-HWNuKYM=uYU{I2t7&Yw2%c8 zRp=Ix0xA`(LofZ)=p~Xqc&)LQ1;7X0jOyu38iTIU(ED2$$>1aa((BN_S{UWv*NiU1 zjk-k!3=dAiwd9!o5K64iUcbnYU=2r!(eVUa15}M*SLSP5P8Un0eHIo9)PzQFwE|?n zrb!a2S7g2Bn`OlsPJc&$c^~d;+Am|bDg!Nv1QF@5MHctOA_3L1KcduOgc7mda!@|X z#{5wjL%B+r!&50>9#g@GnK;uA<1_evEUvO2lvrydQ7wjBpa3|H05~|VQt-KaKbVUu zP?&?UlrUe(^M^6ElB@D(@tL@S)ej=vK!B=56Z(5)fl>k}9;W0dfI7@$a}_X$@27-$ zetsCtWnd_S!{f1)JdPDgi6J36g9ZiZBs8cRr|Y$9>w<-FBuFY2P+2s_D~U7#B~`#c zK$V~v6dw6%MNVk&ND{Ts$@KGQa~Vt?*oejFu=<%t;RYipMGGjCL1XuXW628wq5;gJ zmO=#pR#*@WA~fJAsWZrRx$;uB=C>|2(Aeo~?&DndydfHGKYguz6ZEIEUVu>BDh zZz6+%F#751l!Pkze`#B~2MXxPc_?87`zKpPJuMZ9C-yw`JSGsiWOY(9Dze$D_Je sdT-r=3o_K%+P&U=%5cfLE{@Au98X6~I# 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 w?IHlonE{B`g25ov&}}Z2$lO literal 4831 zcmeHLc~leU77uPHLd6AKsAdRQWtn8MlSmW{AVDJ#K*gmpnM}e6S(r=+pcGe*+o>9N zt5tj|h$})BL~*P8R-YS!S{3_H6lAeT9|G@7K*ZCY)8jd>|CyYb%-rSo-TV9Qy~$)* z#N-K14#OO1G@6qvG)MtHovlajUf@h`XhUhV?p|rp(;klC_2Lmb63(`^ zl=sef`gBNC=$s!X-sm6hz1OhhNnJ`+uGgNJ?ew|*{bW9k_Dqs4Z&Y_hmW3O}zvD;}huJW4zqh<4B;ZEGMRZXrBS~-r>ixp`C20 zoVC6t=b>lXBl-wpeW{#T2wMo(VTp=eE4q_2O4ruHuG4iB6VX&-N==WLZ-#hGN-bV&9<`Fa zs$1mS83&yQH%tQMU~%YTU-poao-ANKbgwZ>6!<2HZK5IAN^ zh&f;!le_x#<+CEAbME~07G>Ks@^x13PFYO;mgBAmV#zC8j7R-h=jSNBHcc0Bk16k- zU%O8uG_$_#JNV4*y(0(vd>gjcWvq|y)N2PLa!eKSqXk51z4`||zR#&Vd-on#nD97k z-?n1vAzfmA^?2f;G1aAEbIVLOi>pgEp8P8DCwFvLmPbFgu~%}0b4K0EuJ6Sc@2z9- zU8+NzPO3Nd*>Zo`WHs%Ad;g{7LGzuiuZ^X`mW?X9?CUx+W9Lf9#CgSAwji!-ndz7F z%-TT8(hTd){Cl{t)wc+_by8Ndx!h+?dh2%u!LR+6aQ8-Dc)w&{Q**3atNiKIa+Y*< zW-BHwZ82SrEX!9kc|3i;D2rZG@qj#WUfSHSzgF|C$nj)#TanYL{uj43*NWP1YMZvU zY2LNXeSfpAsrW(L@sJY7mS?D2dTVx*aJaaD=OoGWrqS#c6H;k}Oe+1*G@waWYwdr&dtP=cIP3(=t6*u}*^2b7=9|BrY@lVu;#=-=?c$GX)e0GV<7^k{q2AC! z=O9m&dZ^K|E>oZWC`x#D*4CT#Z<_NNbIvFO0z7}jGl_wE=Wu;lugdgiqkXP=*NN&1 zWrIDxdw%>`om-{lYPan}`T3hupN-C&R;Ap%BKEUloL`KFinuMTR(3#9hopl`vj?;Fxz`yChvH95|FIXvS)pKJ3hk6*;+dBnxJ z6&BXSUm0O2>h35Rdc><(v3f&se>DW<%1d-BA2h|jIp zrtRi;rpiWr_?T04GLOtYjQlzm47W4_46$kQNn%W|Wuhv*5@)7p4PeO8X#V3;3@Da> zQ;-tZ5IPCtP4OuPM5rW;seCyiH%Re#A~cP}qtYfvV`&MPNW~a8*12qc8nn0h>?VWBJ?`Q ziis-qCQ8C!06p{}KCMA6?}XPGJ6HgGuu@P1i_Jt>S}m)qhmi_S1|S^){iTO78hjV9 z6u41uA~8HT8P`!BT_IFhr@z5OCfd?bVJtim*8)=`Se5uvZN|V#E*A&sF_SesS&)QbU0oz&t;c1EYSp62=8;6cLHIxBwM)fs*Nr6sp5;D--}{5&(zoC*raNDilUl zDmKg$B0L!7iZGb%$L9zTj!5Xo<92}vCkarMXkyo>tWYWdh4GbsA`!xdl_E7C=3yKh zMo}(6Mz~x=fN+IMK4ybbVd4-ysYStd5?WM)vkW?oO<^Tm92g;!FgQ%)qa-2`rPRPd z!jPjF6dv_a6HRFGCIUQ0sxyFBqNrRI7;csXuUpB!m!2!Sv@<|a?npIltP103J0JFhbubB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/bolt.png index 829db27426ec03a731ef5ae0d274567c1dfad28f..8802a9de5e1a6fecd3231cc517911a42fbc18580 100644 GIT binary patch delta 187 zcmZ3)c!qI;WIY2ASj||l7f2~2dj$D1FjT2AFf_Cdx@v7EBgx`9!5T~O9hkVfI=3Y zE{-7*my;6~ND4R_%#;9vmK@g$Aq6IzKOUHIh6e=pKV5Ub#yRxxi?hw^R=czMx^z_a bu`yŒ&I&bxO&Ll`_={an^LB{Ts5P=q_* delta 145 zcmV;C0B--x0ipqr8Gi-<001BJ|6u?C00DDSM?wIu&K&6g003M`L_t(IjbmUK1@r?V zA|n5>i8B$a+1A#UK}bjlt08y+4-e0OHa52Z+}zw)H8T^k+0oIF;oG-w46k0jVkFsS zZ*TAajEsz=J6lCX<$q644^C$j1;`4p5efjC1R29vdy8QJ015yANkvXXu0mjfj!!q% diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/toolHeadScrewdriver.png index d08d1a0207a360ab6cae6d4301ef0befac82470c..7be220afbdea3869ab20fc5bf44450868b25cf37 100644 GIT binary patch delta 221 zcmey&_>OUcWIY2ASj||l7f2~2dj$D1FjT2AFf_Cdx@v7EBgx`9tKInV(SxEfI?B8 zE{-7*my;6|I3=Ww4K^rzJiPyZLPCN|*rfkopIb3A3k$`60#eMzJ@&CL|9G;owTN|8 zwRFAIxAarGE&lE}SF(|zfq{XK`HrvBY6s370D_v|BAIpy3=BUXiR4!3wJZl(!{F)a K=d#Wzp$Pz>AxPK& delta 226 zcmV<803HAC0rLTn8Gi-<001BJ|6u?C0J=#;K~#7FbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/bolt.png index 2b1e56eaad6aa902666ae2eef44fe5467ecf06bd..22e8e6314b0a67ff19570deedbf23002113c6c81 100644 GIT binary patch delta 1742 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 O0000i5o diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/toolHeadScrewdriver.png index b66fbe8061557e308e8717c2f93c60246e5985d4..9f8679b22ac4b62d57b90336cc79c27d3f7ae1ca 100644 GIT binary patch delta 2806 zcmV004R>004l5008;`004mK004C`008P>0026e000+o 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 IM6N<$f)jmTE&u=k literal 2959 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 diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/toolHeadScrewdriver_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..844e4365af706bff7ff97e32b137a3af9a0a13d2 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/exohalkonite/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/exohalkonite/bolt.png index bbdfa256373e96d67e3bab47cfa0f196bdae5b97..6c0075bf7c58c96812d8aa6e2982120d77742e8b 100644 GIT binary patch delta 945 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 diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/exohalkonite/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/exohalkonite/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/bolt.png index 3c63df6bfdc419c7cd2bfd09d0f6278dc973d314..8c753106aea56f0f85c2b02efbd4d78c4d616ddb 100644 GIT binary patch literal 11749 zcmYj%byQT}_cne|2MGrO36TK=5e1|{U`Xi@ln&|cX6P6|Nh#^>j-i{Ok?wA!M(JUw z8GhsU{pVe??z(rKyVl&Z_u1#{XFtylQ~4xAg#Q8`2M32pPFC^@_D+n0gByeQ82iLg zcFKso(V578QNqFTV#2`*2*$y=!43uNeR(q+LxpD0PK9iClc><@FlcggVCLxJq)pNi3?EaHYS0g3Uxna3JlbhSS)Vra~ zz0uv`awJ8@<5+QY#y(5L+pB+ddF^duYZ<~Q>96b10tp|?O!r3u#~i6Ju`Hb!$&cWN z|DBF7G8|#VgT!Ca$HxhSC_4RP64Dh`7|-(7+n=4@!u=63<``n)?I)c>>;3(b9?8R!wL z<%7db9&aMa`>6RaqlI55qAQ6=z$E+fKc<>TMFK(r*y+@@->wz=7CVy`r5)N7cJbqQ zJyZj}^Vl{%OJqo)5sNk3?6SX`%%mtap@+7@!aWgsAL$;85M9h>oByY2@7ZGka1?l{ zL4FX5`+`qh?Hb`VR`X7`sH8?jFm5=$=j!xF`LawB* z-J|(t0ZiG}ICW0OXDbiP{rN{FCZs8RFHAPoT$rc%b8lXZ(-7=ff%F}$w}e{n%uE#B zdaFlLTuj{SoaJ)OcK*xTW_nte4B&kkXsF$XJ1Z)B&pH0b%Lm115*qTB92}Gav4UlA z$#5PNM{;HpKAU1nnRpnUv&E^#rIb>)SnC3xwlNn(UvPkE;@O7dViB@aj z9<|ye%!#%Rv`?tVr=sabk`lq0{O?E3KQjr2)|Tp!ehVvNIFJhgOyiyqwk z5~%;oxBT@t9>WB2v+rxqfgSr-#$c70*Fx?&(E2CD5_APyfdt-iAP7G+?y)4fK=(4Z zI!EnqnRlKW_my4@_oKtbE4}y=9J}L=c^eOP`>pLVByT{~qYERI2**>N_q|)7g-F`| zb0`~?)LnUvh$E?wXSQb0;X@{^87N`T10vmbpp#>}&PdJi-x4Oih6GnHr&Ge6=_knw zg;hrMZ@P;{5)Cn9QJ6~=pwMumsz<#Djv6nNT$=Sr{MZmrwWiE7#mwuG{d$PYz<(jB z-{wxx(l%R->3rkKSj}QOB-JS#0I-N13nQO@2BTi|e_=PP{+lQ6j zubK4_M~<-#dA}30-i*_Yf+2S%%7H-KN9r0euivRr={(lR|9|#5^m2+;#O&+S-Q$%V2Vls8en&=+-2kqbI)UY?OOY^l7ckvMJ0f1Z<$&@qk|yc5vR3q$IDyj1Va zLj~Neq7WGeig6}j!yx%8_Y7Cc*;ru|nsO&5e%Vs-{s$T)64K8{*=hP2{L9bJY;(mQxFF{bCS*q!sW50{7!a zE5U`Ef@e&Hsg7AbwZO#5U?|}3xS=ukpt+7`4iLTznTWTlCw>r^Hz|!CVNF5-kKL$nQT8&|6wW8je3{vA_5gE2}0E7rdHb?};BV zIK0|c2e`k1W-)n%iTdAVo%4nZ?ZH2o(wAuC81;m0ewd8mNU z@u>k2S#1|~XP5~P?y4z?Sc$}Ui}KFHP@a_os``Z~>6e~;wQQ%8Bk}j&q!IM`Ht4?B z*YN6F;Kt<{pv+(Y{@MB(a^uJ-H1ciX7vx4AIX;nPVL9d4pO*|u!v?1tp9V6{4TDab z0GFPi6(xL->;f4Oa-Ng_vdyDtC$QS|ksM1kf#55_7MYQL`sM(?qD!_RQYGZiyr1OAkDE6dY8z@crng-}Tc)X} z0IJ+e)=5@z_=W)D==1=%+h?#=zTLS}zDF}TK5>zL9zr~RmvwtDy+XWIl1;pLE2)+# z)Rha0ggS?b+u?kS2zu6IrInvT9$g@ehg)R%T2d=ISv8J0F6Q|+v!u5C&pbi_EfY9# zjH9cf)gu08gp@m3kU4BzS0wsr1wHzydp9p3td{6|^dS4I_6XFE9wJkB0?d^YW;Q+tUrqm5BbyIqCc@8|dA+ci zfy|b^;QTNE?es%9guL!mO$r_qc@>=Q7?2WQDq0y&EJ5}BRjY1fVnf*EAMS3oXgtni zCB^**T|}Xr96N8H#j`RR$vGkzaezN z5NoyXe?as*V`{?t&+`iSdnGUHuau7!XQ9d8<*@M;Gz`m&5B-(;9B97H@*94K?1q73 zc6R_S!XNq^YVFH?z@y{FXvcGbhan*OS9U_EbF4m_Emi8|~4uKzi9S z)EwXHlXEHGX|sTQo;g{7|KT;KSNWU$p{!+e0$-4H@`O*cPXqWp9sm>DXon;Qf2E^) zn?XEry=Ymk>3Isjj{ExMIRYaUg~S%xw^4*O_>uni7btV#EB|rchoM_22DSt7x8dsU zWq?INHtfKL%7VVU+jIe%a^3_mm5_BpI`=rr^jxVsr0i&Y@XhOm12G!$5X^(FK;4eT>~1RPby8IY1`JP zZ%OyOCKx3THVeR4=fePjrU1ZvFyye-6a~aAeC9gW{QaM0 zhO6}?)`v}46dWV|MXago7t_!UfE$z#<)@ZE>(YHF|9ChUgR-ta=10KDOJNy zG*pPzqaUg%N&Ad7{ljM?Pf#y0^K{m|HV|K24xl4z+)fu``n)bz00g14;5ZT|K|GRj z4!lIUWqA|-XTUCz#h6>Tt+Rql!H3-u_f0lSP(rpJjW2#YW}-ST*qn$+JTs)xdVLQ5 zpd5I#rMKNICdUQpb%+l0o}giEE9&)U;2A*=K~8+%dR)@_^+aiT93veQWq_E|hJi1r zjWe(6yBvp9GO=n_WcljI-?k5zIJwg{+DYhT_vY;|ea58CUJ%B{fJ4W1V1y?RnEKZEs za50d_(1HsjD;rMG24Wsc$CNGvrZFA_KGe}zfxbE^=tC4lF~psV{rC50%e-|~+p)k? zJpp}E+;v8Y#$@?1T-_BYri{pTaBvUZZ%EglKOQA40G#Tg3=GW;$G^|HjNd_6rQ3mp z5O6YPXjoyk5kRpvqil2cs21Mcs({w~_;KZ{UROxrO~4Bjospl)NF9Jiv$D6pu)JD$ zn%c)_*#t9L`F^edad)*XHro3IlrG>Lc}khTx7+8OpI%KJ^!%TTdcuBOqh-*o1Mw)s z=Tr++CbCqif97AsKT~r4K$xV!ueVdMA@0v_l9vZFOO4BC?#?`F01HU5fL2I6-iuPc z3CE>=7tTsAhYyqe2y>R@5>0*;8m3~ZR)t&83*8yT?fVErs@0g1<}79(@&gR)*l@D= ze|nYn3PUQ6>X&5RH8{aaI+*Y~IQB{LczsLIxK!E;pCf6HupyQ25d$kXUIWh)Q}$d4 z#9a8O)ITab_w;2{8-}jNWE=VRncoLqlJ1xa2`pY|XA}E0pL$tsN~#XNBKrA#v2XUI zV4}|uzKg`Lmdgwq<4NZg6!t3A6h#;&tLrE87j7{svXl zA)#u%=A;q+le!H*7XIAs{j#PGz^>F#I~S`g_{$aD8|KHxB~X&HMCctl?-*mZq@{QSzpFCRtwcbB(VJ4?>uTOKTHuNpOofh{u{Cx(2sjo zRn?~QVCoUzd!O+c*=MDoQjfzm+fjf4`A#HLt3I)WEO}ys$9h^l&~~Z&pztOY@9IW8 zOOZ)5##D~ExZlMa^X)J*4V_^2{5%Z{cOE{=B1p>wSU+}5d5Ba|D_VtZbFjW5(&bCM z6}7!5{OaKZJ9QPy(#P!gWCxQd!NaJlM;-`v(+IP{@1hWQY&jfd5d#H2#ASgbV8pz zF;*psekr`0P**L-+T>|sh1{H`J*)VNI?gm@ZN3Rh$$Y71%0#8s|Lum?1)TdfeALlO zTRN3{xsF}^-mr=|*vg29?3EzbdxGf%Mmci6qG4x?y_moHjjm|ubKvek(t-FzBa$w6 zNLKxLrhQQ-rWAljA2_kLhBE)#lh)wKlu66@7p{oz6yE+oIj1`6BNs2%VY(9#m4chIJV(ix>BO_gJ9zN1U~Q!UThRA{V(%(?Le zpY1oSZm%d-`fcgRh&)y7-gPS|YFDMErJ2T_HnQWR+*}tD(;@s$*Fm%&=BHR6S};&F zPkPP1dYnP?W-4oTf+J%OY-3eiDRn)%qAbwpWm{L54%zN^)JThh43pCS)h2#rx zbC-RZ&9Y~6u|q!J9!pX56a5@VCN&xD>soi&ahq9Ka4`LXr9)r#7w&8!e&c|N&++xK zW(52J-^!M_eOt$w1?BnL$>M`4-qBwM?Z0FPR;zQ2x9vdrfosD`1tup`-7+eA4NsNE zxNapin+h7S5W=nRkF*;gW0wADAP#spG8Kl5};xH8$PKT4VBEd(5l#J{RNz znb7!9Qrc>hy$0Ce0^}Q2L<;wwGzqA@RD{ImhnyY->9kx-$KHTZJkl@6`3iS*@=N31p z&L#^JnEdWnTNl!MyNvJnLTEON)bOD^W?v&81Vrdxw)1|zB{Zjx05L(?ckg3iu}cH(XH_q?ub_kB2y zGuEb48 z0dvv-s|n1B)?)N(1;jC)!r{u4;i;y(yZ!QmKpSGc_5#?=0=)f?&lzSl-egYz5pU^<9$!h}9is&;AW#llG*{-FXIC4S zex{@DpS|cX7qIO3lsvw?h9?VG!@Ji_`wWkOD=ivshl3?^6=zKAg0=!5v-#rl0j0T? z11Q>3-~F67&CaKgQM{`qaa#Jq!zPI1>CG>`oIYV$#FO}}_IGRk^oPS@v%_1rVM!@k zD^S)cYWW7W8=Gb2n2I8&mQyvuzpkxs+vAg+{dTsxWjN-c+&Sm)6{P~Khv}#_pF3f; zPR01uzLK!%_F&ha*5A~7(GpT@@{UA%1(%JTT|+{D0T-^W z+n`P>*p%d*-Ic?E_-|+7534Qe zYdb7bqg4MP|BEO5p{MVdO5k;J^0Bq)pM}g($r5ab+Shdj_OAOS zWj?IqPH;IROQ+qk>g_YmeYQF6U&(zT0Tq{$mtPlO4t)dd%8nZnZ3w}G*VfkakIEtG z{>^=zu6`%bJ%2U3%iyVLmLv-nvj{}p{PQy@4V{28c ze!3EBajna@$vn#ejHNPv|E6X(j-m=Zc_a-*G_L$TCj4d5$FNlRv*cNKI zmgu0?>2^ZX;I~KJ8WmXmEG<>O4{9Tih$>q;i3H$%l;(P^0dC5}MngE@d<>h#?0;Z0 znT$1P!4|e^pX7X@ciM!~XK~r3PP(8Y>4ODt$+~!-hleY4{BEC5ONj#{zGfIoO-wRy zyKKMFIK~#`eLoC81Ie^w^{l9tijH5FpfCABzpa}(AD_4d`Wav4->imPP@uXpa>9_* z4V3I6_oAA*oWR87jU*xfuEnTAhc~y!zRhlWJ%N`aYL{j%o{Unghr#9y4XEVHBlA8G zTI8+DJRFr&UEoFsR6hw8HD*rMtY2HF$lU0dBGMy50Rl>mCZ1BhA@#=jY6Zl^Y%Lm$J-Df3(WI^qt9kZOtB}423?%nm^Tg(0g+1k8d3m9x zDTOh6kQm~Gl!KAeuGHJ59m=}{-1~&8&nw!%bgTDjt-?p*(GZE&`Lhw9?Kl*zWKp%4 zlX+A7qcY8(KDw>*2)RXEsX16ULD^WFce%R4EUxxvM$HzPGJmwn-#nmj8zB&!%B&Y8&krbf?BZWMZ4jlTtYY5L)xQ)qRf0k``WbbQ%s1&Ih0 zw5qa^e?#TVNp?X|SiQC9A50UV^{hyEp-vCD_NKhvEq#(nT87Z5a39{fl6|cR1-rXw z!A2Is0Z+D`dT)ICSU+$M{iAmp+`!-l)T5$W3z{uc0L{DS9|h(!>u5NAo?Y|^sz@pE z&X%vdApCn(C0gpcv-x`mkg51trq+}e`FP?59eJ$^jg`Fnq_x9hsom>YtF(5j5=a0s zjDhWI>u`Nd>1M^eZh@Mxin{ulS8YAe56xe%zJ84<2doZx#rz&6Uw2$HyGz4<{VU~D zqp&CX5#H730)fT>0Y(daaq7W$zgQjjwL@i#{pVav*t5=g`znmmipb@=6 z0_xOvJ)2HP8QXzRmH?y_6sQftZM{MT?Em|+UFo#6{udv4rjIsq_d}h+qNy`z^78U_ z@7+<;=RXYlp+CGnRYQ?A^-e%OGII4}A)gpP=k3hV8V1DhA}oJbT!^!x1JPu@@{-Ru z(F{+HFV@UF8oP;7DK}3-ly?H*58j%mN@$P`@4CkAo{l_?fdL{TPaMiR2Czb5@=e$~ z*#kPhfS*$M=oHB|KjQ}pYC-%g^*3R2w&>n2xTbD~3)nI=c%C{XrJE&JSAb6PAgldW z;nc}geujt;kG{9ILSkn=+^-&SZZA$i3vas#gBrr z_0H&5{@%q(^V1@L0Yy>>Gg=a_fDcYubk~|!b>jb3L~NQ3Ifa=#oi! zf^%oTR&~dV%8p`0l(d*1mWW)u1UxRPVs{N%dtxmmk5tafQb+N9f*1Iv}o+p#Gam+(=$kis3m1TMI#)UrWz+LQ~OavA>KPteg^UwF3m>*$uU zsF!LwMefCf^I-`ljsIRcon))zqlBq{vbFGRo}wj94@KQu)}Eg!7EN#YXo`nsmCH>6 z5*tX*t_GFlWbwWYn0U@7s4yn6f4$#Wr}2F~sc^RgKmMl&8PExi6pPUMR2myXpH)yqCntNE9cL?f`0WXYlA7#}AHImRywX z{w{8B#So7-tW2$Y4tZI%o}HtQkv!XT?f;Bi`56gtK@`wH4UK+F-y>C$0TBdW&NmpI z{ievZYoHz01HNbd4OhGm(M6PCma#0ZMF`~Z#2I`=SodkNRBANYNV9ee85>t#bn}Es zv%Bc`>10|Qj*)^#)r^b|od)>(KsaC;n@au%F0e?W51UWOqyJS#;Q*J%T7%G}aS%lo z>oW9`e9CqF3|wr&k=$+)buVrC{o5C$Vb%UtC)0wc))Z9o7Jy|yXSZ1n#px4l6=tC+ zUWl@s!zirsA&6C&=3kY*#G>OCMW7)0$p+S3{ZDgHY{drYY=6|4>ACD@-0gRarMtUS zI9jbUI$2CdhJmvE&_*eszfHO(kZt0J*^u9H1k&U{u3`OF07YVtB2tK zGvk!ssSmpR51Plq0Kc4X+Q*TG+UT{tOA~GLPSk-PYt_u^+HpH@W>x{|-C0ko5Ga)O zPkG<(IWvQH_?94|8Y?L-8yh!9-6t0oh!+wS@B5oUZ8H8G$7@{v9+n9MU;eH)X}X@D zO*DJn0^TAW6nDg@(9{%{h6VoH6fX=$&;WyWzsfhVIa!GDy$hH6E)>;1x_1Vw2mXnD zCmM}%ace!hj_BVG@ZD z*?3e}=gzECzt}sylL*p8;PxU)p1%JL*WD6iM`nEy)#`#Kn%?kZ@=Kyy9)X);<^2nP z`c)b@uTTLsZumb9$lv!LXdSFyt=sr;Uc+JF)J35NeHIXZ8#MhEb zoA_YHMX}p&zMZB2htaqnPVSLgqeetwkxK23vkHss&%@5T$H(UScX z-M_Cp=f+n(SZ|_v^CCGZ1&^Q5=Y^hn$C^KbtIH53>O9lH(jSmm0omYWE=r1S-?Rd~yd#zNJW!UMnK>1%N{ zx9waq3h6Bj!Kt6!KdriLM(mRYsEQv%pvbZ5(sx^L_Mn~dq$_My9${|4S@+$V{mL zLsN4*k^C;?>dxkS9%i}lH}sv^n?3PbV!d5KU)LP5P)wt!2T!RnY_(gS5L5?K8y!V5`4y zObB1#v%I^btfgH2O9xv5qR;wjT}AWJkN>Ff zCR(Fe5>Yf_#A$3)aUV%Zcsn;#aBRX7^8DR z#jt7~$cgdYu#eR5qw2-Nz7J(Y>4|D(5pL8T!n`ifvu`)W{+|`t%HNOws)T2tg z^5sSrS@tHn+IzmyU75pJi}AC8XU5+973N5;e8Moq(#}LOlU%9M_#n?q>%@{R{kGL5 zZFuoZ2=wYqv1^wMsxW~IUM9-4akv&C)m`!atMeXwX# z%AMEdIVK8ax70m^B>_(%e#Cuh+)hrYFKB8r#_dJn^@=0Vk(s&%=$HpY(A!m%voEE9 zv{8K-UXV*k9#8ZWWqU$Du^$URuc~g&WSi2v_>_?6L9*#!lqEBzjx&E7hIZDuOppk_6@8^XZHW>Z}*CrH6Y@WR(M8 zrFcT_+gV4~1G71@>}9oQ#a7_VHo*I|;i(BiA)Xb@7Vb>ieIDL9z}zQg3nw6KLaxXB z1z~X2G}Veq^Qyn_%s?XS@5`^f(BSJpO`W2o%}W|9A+iaxj32u1Pev-&St95KStXsX z#UBQx$ef2EhSTxa;hDTB4uvZA1oAiEWoL*yZi4sDe7Eg0jtgcb zo3#?K(}rlZ*8%)JYu|5P-?M{Tv7AW8!TcqbYMFBsRg9Lfl}{A=V#gO-Vxj$d2^*jm z4ileOK#Z+Qu_n)ye!d>fGkZ~{XC@6g*o_1b3|(B`kMVu8J%`jscITF=4t%OlY&XDQ0l-D<<632pe@n6K4>=<3{1FePYodCs=kPaH);D$L_&&JVGGfT=_eX)&wNE@k2OyYh(eeg~ z$2PDt$gSQ-!*^?`&6G1COX}lKV>V~YgW`Cl1*wRrS@^DjNFJD=P};v;!gX?x{Uc~9 z$r8U0fo;w_8#RhN;cW@}{Zj}%|Izmk^YT~`R@sy*et~0`zR-P*O#^jPQnbEW-8tq8 z1vg(m`0Qaj9my;+uQ2dhv+Z8;HPPf#L)(>Zdb2(*r{FwdJ=M?JXoSh}=~ZRvstF+# zlfsOyKUORMBE$Kf_3?q4*Ya|GSnOvd*fNpkr;g3B_dGO17asQM9|odWDs~4|+B$1r z5!~)4KaY|gVn1OL2}-&8THe^Pf(#;t)TL6F?e5^`_a;cSK|?nUkhkik;iz?wk{33-lrYNw2(XReNTEi5 zjxkCrQ^TJ3!?JPzy&@`q8P_4o87}r&Pgb8u-Wje-82(uA^%J1tbb|OKEZf>(mAZnu zD+yP?L~al8pPclRU-PkMy|T#F*Qfu!K6dHxsUKI0#GS*hZZE_-uOiS*yYKD>+qg=C z%4R--S4>}Hvn-EqyA#O^c^1$~=dw#?w{6Bbw&zIzd!ez?**5%vIX`rhyz=3^rv14` ze-%3q&nzHUg%@v0GWRw%H6%Og{muSBZ;pAbhQW_%56nu9SkCU|sKV%7-kUo!(g~xW z>yZi+!%qbgHU{5mn(P@3DX}_tz0Yc86tRHdq6UH;%v@3hlQSOA2w5;VQ zMMhh}dW@P}2qG^oUQLH3StPcsEl}F!mLcEeh0+fws>Yc~ec<9MAK98EGgE*6uga>V zI2!cJCE$O@r!AdGX1Xa|?=0so%E{;JD=vK|Se*n>X}^B!NgOf6nVTAtqB(epK~teMh!!Y`=>Th3{#_?^N#l_ENoMjT!C(&9+#tvrI1M^na= z$fe-uiuHbVHi4$W2X8rqscr~C+vLL0;Ze}V{N&t1vE7%9qB^otwal2dSf(aHjX>$@ zV7i{TqLCMUeD@l4`ot-CNcrw$KHwQAelymjAy(D?umUbi?zd>#Wv0#ZC;7Wa=>V%_ z=C<-aMG*4Q#jS@qM71)zE7bG)w3h6uY7DBibI-*5$Q?bB1UX(iS_(TGpeJlYg&Y$8 zXe@GaInzYw+qiqqO@EHDox|-ba;bF`E64Cc$NdpK?YO-T?jP8(HO|uYIr>>pX2$#jf{sOX*?tX7;REQM^iD>W7+N zUL{>3B*r}1hR<%={Pg)_|EmAN%dLtZTcs;+w&o@)`z2LDifooDYEO^URoy6LJ5-)@ zsIy4dH8uEL4)vw}N$svE4ElJ+)tjfhd64O3CmDkylLUYNS+S@ zE4CUyFcZ-+UxLUX?|@_-Oourd^)3R7VMiDcLt3T-->^PTox+4VaKe5QLwrtJOq!p+ zIg@(nzcW%G=3EHFC@hB{cY4eNrKCBT*6wW(O5JgS6i6zpgYDwK3+fjwIS&VaHh`pP zH=8goNlfXY4xEgim)tj@Bp-u)mW|$J$o2Zcm&^=K5;A~GSf9gWpxqBch{|Xp7&5~a zU2~d#bgQqskqEy53G%f#=NLpCy=QGSRB;5%jMfOvx1?lprbWdIxCEa6B?RBm%*Y0; z|CXasjsGs5uM8Z)^PIN778+Ta3JR|V_Q z90Ki#f3gXIV%+a9;so6N7*T-v#7C(!fV%JD5C|%`+JAGQs-#D`ivGa0zlq%<_(XP{J1y0L8n64{HdPjF8IEKQxacExi72@ z*X+GJmQ)eUku;c|D%Mw=eEDioIXVRdi7WK0jel8<(h$2r;tH9~{@(|wr457MjjUl> zcH-*;#iiCmBYirRYQF@$4yC922e$8oRS<(;m_RcA-sx4jU#h0MMDNuwr3C*LW>L>j z6ZZIhaH29J_CDi-#d@=$f{^M9N{f2tl^cf4hOvF92a^d6iVanvwsU7=ik~e1C^HHc z8W-%=OAAm=c9SuF2^!c_3F1A8j9eGi4|ENJ+$VO=3g+lka)}5=!wB5vw^O*CGVjpg z3cyz&2O+S*-?W!P;1*1W&`~eebV8|z&zRI8nm&Y?9$UB>8K(5?RkO4hcY=q_UA=sp zvwEunm0_&Oh@ZosGFaT4$cHT&fpY@#2hm$U#9dcAQg}w~&`LCm zJI;<4v^avao}&Gba)nxPFb3K(Kc_X5=IP5FzivTJLS4uq0miUp-1Mn{{Z@j_eqe>I zn_i%Rx!o};eOYT##O=bBr*e!pYeZ*>RiA|AhO_R}i=ma6bCcFbzliRjN)R48wpb@i zdSt^(l8ItZ-RN@^M`tZ3Yii@}?>5|zzq@0vzlaVV|Ni(|N3py{bqC5^s<3wC8evH( zjZIb^PcqMdu+o#LF+PmR9eaJQUdj5Hn&6>WoK4n@5|%or_g zI2)pV?hxt!cv%0)Nj*;2?MvBxyJzuC@F6{c=NCMEpiS3u&ro1Qz%qgdmhl&g4X`If z)PrI0>aMk0UVbG;+MTGW%Z^7_jLdZhVlSA1FsFz?VHV}D9d3?Jck1@UbyEzW7NoHp z+s${8qv`psNwUtc9?5&X2pSW0SJl&jc+q>oKZ6o~xx&QH*fAY%?r|T8t@#ZPq69bM z#lOKwBfFAl0YtsbAS%IX>6IG)>7s&_(P{^;yE=r}1QHiVRnm=OsHgfJ(Mk_Pi#KKq zI4r_2bfRF-7MZ;bg?9sVVqNDby<6bMpiSI?B$k7%`-x2Ea`w=xCnTeTW7Ptsw_^4O z^!1^}r#C!=JpUanJFIx8Gko6*yW^oJR~{n}p|+xY_g?@5tOo$k6M=nG(yCw<)DX0W z<^ZT39k(-jjxsg8D)4eZodsI(DmrJAKf^$W89h3)W4Ln6Q>NSfal9+)y9_J24$_w|}Xe%>GS2c+-ra=_Ytv z9vMDT!SjT}RzT>5CRHanStOSc{N_uwBjFFP*tgpY<$5NtuobJUqh z73_0j2(VjpSIJObbeCxJ*lunqoMGFL=m~iGcd>x}<;r|8rZfMWnS7YyR1M|W!kdO4 zB7sMIJ{gKVq!GgmnOT%*(Uoz_j zz}8lj{VzFegANgi)qC)~6V+NXE(rSjv(76V4o=nhnEuxfe6Fo^peO~<%;Q~1EWh3D~&=$TYnGUxU?j?YSW78sN0%A3Zk}*ekvhauRbt}p=pzTP*mKxs@p4g zz9IjG1d<{x^BHW|u0aGIc^k!aEZ-xt$cIjeu)=g)$sNap0swvUL1dp=#sLFs*RFl! zZ;p2aO0srD_`~Q}*gYj=GDC_}LOuzB$dCnECWL_%;o)0-;l=uy6}cgI1ZWTmEo;o0 zhefxj&EUmk;R?k(0zs1O#Kt%Lt#~A?D{U#d6V{eHM#=JywMDYM%{3MRmw4LDefF!r zp@5wTK#u7{1?+x(;XXlKB`)Lw6h{sM2gxykJ=A9gXqP(#$gj9{z8L)g{ji2b#q^<` z(zm_tRKs-aT*iL7%K#w|IByRHE-=cv4y|W4U;eTXfH5w-tAw(TIqZ=Q3;r`bsHP6o zS}H}_WJ>>^@BjPhY!mN3?W9;E6vj}g()y>k{>Y8k523)VL=(&w(CB9CMlp%FLP~h{ zT8onH6d)o3wsI^dllVRl#@amHBho8jlw-klQ)Cgf2BRmLGJt@qj)iX}{qCiIp!=hC zC_vo%a~m=mS#Si-045DT6T^Pb1lz^sk5&{4oT3q3O(Z#fm`VqU)t3bYlJk3WKl;<-2h$ zpAm~1uk50%?KC3*X5{7taJB0m*^O%V-+VY2#cs4rsNUj#r5ydu6+?KcTE)vL4RJR> zVoG`6yxHNV|Ah!)?e53t%K*QxB{k9Jtp584?upIUH+q$7czV`LhcEfZ0Y@LM)c4Qc z;^Cm*{{-X=2r%r^SbTK^{^c;Ncjq1;h&df$h?9IiI~W53{}TX}4hu8w&MB>fz_zCTOq0>|N>d5{Sb-w58% z{cvu*q4fs%xCXAb{I`7OY3&~S61E3)BC{NCiB(59-Q%HSq;vMi43>5J=6*Yj0{acf7e+B1+ z^@IhB>q^#|4>dOZiM{Vfn}SCVs- zL{){|QjjDWn3BBUS2(xW<@bA{HHSqg9qy*}g}S*_-{0D>`3}W}>YwE=uiUGpuoylB zHeDV&UqEtvNgWlXzTLM!l9@hwyej)x%}NGeF!~`AKZFc21Z@3mS&8qI}H63O+s| zk)te9;j76R%`kYjs(ibVW#4Kiafz5t3UdC?YWp;-K-$K*V2$vfV=rg5_iH|zuS4vv zy|Me4;2nG=_LRk)AkiL!Qov%D9jrQ1=rtz zt&bxL+AF&Y@L*MO<@SJ||LM-`zl$7yDae3rs-qs{AO!HbYZS|rw8x>4e=MPW-8Set z@!ch@qaJZdfNCNm!9Zt4oegM~l_4_0DFA7Yjb|8;PY7-UAoWD&CU|rgqOl~}V*h); z;-e!92+AS?Q#XZ^$5vh$0T=vO0@b7eM{PVqqHVGaoIg3ploVyabVS+AyJ zh%k;h+Cdd=Kpdwi6fWy~{kAq=HV+49zAfK_HxfC~nx1$19t}YophePn((T>5EqI6F zY(FMuh2Dsf5v^#2gQegorO6MK6ZfeR@=rq%cla-Ung*@qB}QD>ECgWsj7w zgOYUf4`|Cd(h@88_6|~|%k@|4HO0l^X?F>dM(pT2C4t5V}*=Ny|xc+lrTVqXf@MU;VI@-w)u%70}3p?HVmBXN0A(U#t?|1+?wDeIWK%selsfl6nFK$Z%l`deW_| zx%3M)lyVY)@jnb@<$*;@0Qdu5B;e{T+vgyF%<6>#s8;%r;DT@!K1l@J0YYDj6i>fy zbvv&v;ezVcgpHJa;@>)6M?QO4m_Yw23-jho)O6DS}RKd7Fbd3TclGR+Micyr^ITR;>epy{|gPDIgX-P@$hS!Ek&H zbX?5`rvnN21~Sw`0(SiFx9p$3O=Vp!M4ycUVh*elWZhr{eF}OnPWNLTu4L9n>)qPt z!N=X61{g{}aEdE(C9xBOKk&TrefuS7iTJ1A*)C7M5}c$B&aZpiLZ6dmv>YJ?HcCFW z9VKHkyAzGSD>L99&5{=NX43fk@mkc3$TEERYo5^V39IeNA{}#DB2Yb4q7yzidPs+2 zt}~1_ron;bY%@YkJNXUjWOqDXmD1(Qk_dA2dDoP);;y?Z`d(x|)Y1+qS(o0pmKyk& zJeD-F;eS-MrPOleP>C)ImLb>uuR%d&HY>_kzc~W;HWr>S_HbnmXq|(^8Vwr;|M*nF zTd=-Iz|Z;*L$~;XHTW!fADSf{j`0b)s5htyxXM#QOzK2nUIC*&sP0Bt*G)pr33lEu~C=B#ng}__q=qf_?~q&nd1OIW!DN2m$Is0l70?J0*#mVBb)nAB{p| zX)YGW+m((^qX$4;+SuqGOZ?criNG?Rqkv8GW=TPIOHT#iUjM2AkgeDoBtcVIDI;t> z?i4WJu|7C3ZW5zVw<_tDz9}IPvJnQ1FE!2Bx=4ot53pc}%^B%AXjGELC_uK(uOAhf zZ9*X?BnYO#YRxp(&7IhuK^~d3S4^=fs6tXec* zkehNUk$Im1?+O-Pnb|;lm2T!L)mx;%3@OcT+o-s`0}t&&2l94)_Iqyn3tX)o2#@;h z?dMMhCDh(Du7MC9hpwU1CkS>vFR=Y_#w(u4Yeoi9lB-kN_eg zfyI1qzQ1u8z1m4LqptI*(Tffa3!6wY_Fh66=jyUSxUY^W6)dh2zb5!Ad~0nA>>Eh2 zwl&o|%oLXXcIPKSYxQxtb4df+a64adtmB*64M7LP9^I8dD6}mV$^?z!W6s(7OsUjRr6vx8O!p<32?mCT~Nf;Yt znvTPZoBoiWjPDp@s)V;2JHxW#a@_ABxQK~hx-4(yNcLbof{#2Z{c>ReRgynAWfr?` zzn0MZ34K6Go`fUV>-@#P{=4nS1QO!@Xu*~I^SAhKN6PQm*PvdCX)Qs}i@lF_u8mCe znk+0@wX*ZftvVp7nr;e%C3%)NOw(x8cd9oYz>4orGqE)Gh<{x$W)Rq4CAWz9iooNI ze6ZKtJyl-t?dSRb@^G_dGi^pf)Dsh;327NlI*e{*aPQx4dJy@E=DoN4f=$D*3ZBpH ziamxgH4r=X5wS^8OVxy|G*_k_N@+M`Ku1rDEgxUUqo6vYmk%5yNjEDCjqH@4zlYJ1 zj#>fp6XYM6pQ5Rjmj@#I?B7Rm$-irS5pANET4)$>c4=Y0k5FFe_(M+uVn$*V+r*!H z-Xo{@_EI=)ynNv0YlRlF6n++mSa)|Haf=ql6-lp}Vmf;Dvb`Y?uZAXgou2zLkJXpQ zsmt|!ZcOnF9!`+$K+k-q+YsxBkNvplhwq)k?+!_jSDY|u-!e_1TOkDRmcZm>gF-!$ zMC9t7a|mt9hjQGX%Xzy%5e6U#hZ$a=Mk(f>B)w4E27!lcWNd^w`j^dX*cIIU!@lYnodfb6G}BUB4=rnPoE zmtN;Yh>>MstyJJPmIHuQfWWs$L)M1Ysq)38dBudQi=LU>Qv%Q5#j=`8y>lBP0#{Y` zIEx7+YrJm<O^T=Gqo0`VJv+a^y5;*1o1MZ`@Eer8i|N@*LOP`N{Y0+=1@cht~`{IH|%_yNZy9pJ=QtC%Bi3BkJj2wZ(N7OKtR*=^!Ph?vj|=LwY(2xTsD_r1Jw^)@ngt zD@ztR+kk#!z2-I%dPtF$JazIftJ1<7vyuTh40kGF0wV~6+|`aBf_OSZcY)0l{hx&C z;Me=Vq)>szCiVDiAP~ft@t&6Qb|OGh|3-gC_V+^}A-8vTWnRfqLXM5`6!9*lArc-L znio{uYAho7j4S!>$zeA$Skdl^@)lI#@kWH{l7o4=XZ@ih_*wapA9OxFH<_P&bB_Mz zDE)eME9t9wgZg=-yie~T9hT#rj zb`73%nr;->hmF&j@YPtfDoTL=J>(x)f0+tY$lw(@DNJ@*Qkl~ZN~%a<_~28+>)_g$ zUyL3qzO}jn)wQ*ETW7|bsbJ!|E7h-79dDfE0&7wsoIQGoRhF zQ^LwHt=>bxvg_BT2N?EOE`<-)@`Cdc0G^D2u#7i(j~Yvq{c~a()^dXr@nVf!Hc3ZH zwy@CbV|}Nk&-d{JU*!J;R}dExc@z|l6tCF7PfgqjyQaAN61Nq(J?hg<%_kgJLV@Fa z@Jk*1-ez$M7V`YFV!(xq^J6C@9obP2>Ms^NZRhW4=j+kdgAy@PDZg)r$2u8gGaFZm zXA`TXv6GsO=Oj4Hj=z9DT4s|~wrmLGnF0VVCd(bp8@0-=&ldRxRzsCi>UK_;bxx}S zrq=4^{*+g0UR>nBEErY@$*W-q=2y1vmC1Dnb~~|F2(C+WHj~hO=~F5k9M+ zP@~D;^q22WN50QJ-TIEz$^!O^pz|M{LSb@`A?z{7z@4QC7WNvFJ&eS21%!c3a&Eex zCoCj+acR-U!g90=wVj7RH$LC~j>0HI5b#kvw;3_NcN5Q}O(1Xtj`YptPYaX@q8`-P z@y+Ujx2u5TB}CO7rH0?Pat@-Tz_igph~cypB)SQ7ZsJQ>`;6; z{I%tCVsVW*UU+*)Wc8^@L(k7^hWMfW#7h09N3&GPmm#$$kOJ~%iBoYCd&u!cUv5W` zYyVpQZ1dU(;kD!_@vkK>trs{;;9m=!j$RbcOsR)UWUEQE-w&u*dh9A;iPzzTGg#S* zF$0v(=WQvh?`jl2KsrtoFQ#s`{_(4>Vfu!j3SIqy3cKvfgi3AwEF}C`D;B62;-X9C zw>tOR);O*$sKDlFw4WPec?c3c$#!xHio)+31I!=#1oD_nVFQYlKTo$D+Rv0zK9c9| z4^SAFkt%6f1`7r6o$9At#2B6BjPZ9VguNG=e!^%At$dp^#3r?L+L8G$ZF+?GB+}SI zNkRx;Deq(3;*&*@df6RHm_s_ZTm$G%Y2S{bTlJ>1?Rr(B9mRTQM*~Y z@9zrO8tEO`n%zG7S3r^Ce7jgI531zsYI@ob6hmh=a${O0dih-u>_k>9FrC6}tJJ3J z=xS>-=yX>jFE%YIN+!`FG@s8U=`;czqW_7E#Xi}gwaX2SaZ3ffYx8@^{mX`ve3ltW zy1NITSOgckm@^kh+!*Rd9bEM7?Ys4XZVya+ft>i+LYVP;3#7t?zq_mslm#1*3EhpG#6m60`a1o$D;wYNqtAi`lRv2{7B?x(#C&kDUBIc20_3Z zpN#3qZ+#(~FWmU^m+@gTCFFo~yx3L(HDIsXA>>NoRNf6T8)0kH;g6T8QapO$4w&Y+yiw6e=K$98Lzt4c z;n3g-4#R*Yh;RI2%PJzc7~k+b9>;yF3;Q>31$usxtz=C7&CJ%|T*aLX&_(cc)5AYn zD?k4IT~bLdP-kPiy>!LzwULIfJKrKJjXwlNvl2S!S}uDk<_62~Zv7+&F-aSJR+rGn zX8t9i)9uHa5SW&aGj1;g*E+mPxaM&3{zc$rfXD#qfy=Th7Sqmaq5pFJoFd>bYEpx| z=bL>Q{3cUonl{>e6BbpI(6v>%NMWq!(e`1WS?0WAy6zaR2r0?;i%*vV|EICqj=`e- zdyf&ti>}8n)9|z!-@TxOV7TgVz*P`3ae1Iz7GIr=U8ow2a)Mtt`xaC4jLY#n5{(0{ zQt&kD4x~gXIB~T@OzV0$w#&mTD5z5wz+eN*$$pIT%M>8SqxB^UpBfK)Q1`u)O=zm$jei>dto*iI04KY#buk2}&3EN!zy z^opm5Eh!igxT1P8FHDO?AV59zGk zUEgmV&Q4IvZ@*5sz;pt!K!2t`< zyVYeDOF=QW>``5aM3LZS{KS9-JK&?5d@cAW8bLUUE=bnA6(IOc4eIL=bl~mqp%%7) zc!r}l4Gd2ezxM`E(&o(dH4R{uT38ktNT*&W%p_`3X2=#xq-+*weXUr%??Qx{Fzt8V{+Sb^F z1`SRAdvFY}7@+xcUEY2rKY$T*(3g3=h4A2zGR@2~o-N@mWXNaq z_Y=1M+^K`hL2yNpN9-yz#Yp)nEb5OZdvVnlr=9r1BL#EUX<&`>)9q0l#Vm2x1EMSg z+}J(Q+^fdg&@Y(28g$-F<>dJI_}_j8dZe3W@t1l3fqFc}Qu4w}pZj>}b8QAZTKv)~ zYq1b1V-!*M>4Wx8df9q&lbyH)9tnEyg_K*5ov*Pb{_(pn$v=Q+&Phzl~T{ik?RQuQid3gRb z%Y;WLX(1#zyfhCcbI2g12r7qs!M%`gWO^K3Cl>JTN0;5=OC))TaauWH%wW0qy>jnp zx!;r4mdXc*9O)WxR0*Rsz8Bmd1_k@HzO>bUxm&|sb5B-n6+H4R8Yj7@=}7*3ojRP; z7IXNk+~zA9#hc0S=kI306)D8A3Z|Kq5W$of+FEfkO~8P~d`q*(VmJ^6wsyPS(M_P& zB2JmfSp1guTyt>kR1sld-mz7)g_E^CBBLh&kCYlp2t<9SSReqij$Ro*Rh<006DI)n zu-!`8J+2#Fa>NV8aB@=JnM)5~%^T8|QB*uA60VAg~k2?ifG|KQX)>v#;%z$LM+eKv+@Pw=&K877l&ubGei*jL;)wu z4|F&<>wB6U(wpVSWhhL?m(s2E#>t2MY?EI-$Ek)%sZKuh(h8X@XGOW-p|FKl1!iob zW&WS`8k1RVNq-0Dw8_`Oz*IhkZ`$el;t`Jg=Z&mFMbd_N)rUielfB@%>sq}2?)lW- zx1R=IYwnU>apb$V=_Cv2#|;}y9t+lp#}?i=mrAySFcK{nue(|fe3;?+TB+T~`^ts( z^9JkJtQ_DS+_5T~FEWrv1J^*7$;dmC$#lC>w5Sw2ckus+j`sTvdt{XSk2sHP_ht7p zS%;c7q4%{mPuR>0`bd5g(HmWW4#KjAUyiHbe|#QFI((yCWzypqFpXk5Ro@+v)DLcB zG09R2=B}z4f?7xIV+^h$e;#9A_+>ni7va$ilkN?$7qMeA_~mnqcR31SF=c-DS3(nR zz>+bc_ZJf~7pHexljrOwrSYK?oEgK){%%|BFjg8voC;ODgZ8t-y ztC>H&H!=h&pD*JD*FJ?57W`0U%opS~r`8dYlAnKIC&if-8}loBHv0AXn->Q3A0$iJ zH3}W^t})|G2M2C%9LMco?w0p)v+un0EIEss)$r<#sxdkVUv$@AKs!FL(ZE6vK1m7Y zzoreRUZ9XT*-a$+ge?=`?*OHzwZG*KBf%ChTq;W=Foz3;!50U+)t8}DTmyrkZI!`x zyl*V0D!9JVx0p?Rma|i-XGn7ix{mZBhPfDAfL1%?j{#W)T14Ulmfj1zbq~&IJh;<1 zDc>Y!r`A@V(AcT89v&>7R27UV*V@>-W#!xU{QVoV36E#5tDEm%g{TuNy(waI9MzVo zOcXLc0(aAh4G>2P@(iP?D6$6_@v{K=7%=4;5X@Up%D6y8*k1AkYaGn|54}EWP^4vJ zT)X|1)27I9q27}E#z}ZZA}_a&WwYaL0V8nbV~+3PU_o2~y>GLHH7{OM{X11;k(_A< zZ~8Ms(vik<;I!CjExJlr|5&hmwrG0Wf3mlj{~oSSIP1>--y*?pRjHB!nt!0^JztwI zzem5gjwgQ#-W?50dna;}pZ!|1*r~U;RF7vmfLRbji1F6Ge*LTJRT1N~uA9$Fe!gQ> z-Ivu13*CcRShi2+QbFVd^!v2%XMmHPXK&}3$2$<*d|;o|niRhI{BVBIk|>p5%}$z8 zpn4wEFKcyy1%Ii9mfymHMI4WGdN}Qr4*MOV-0)+Ys``YjytIMs*IyXoQ>ymXR+cjw zMbvj_DN3?`j0mZX&)0|H73_-P1s5}%ETiU1Lo9E3rMwi?tTo%$xA-FB$Zg-7zqYF+ zk%JL>9EJ6dD^J)yhRF%N4-hH)x&Iz}0R((~pEb+?^D;}F@!lqpPIIqTco)7lJlu5z z#p)=jb0Xk)5qb(E|NM`mv+v^|V++Hix+ci7vSN`-&X~x9dhPJG+E}Iq&$-VlWb&u0 zg@JMnxVS?6j06g{7wqD}=K*QpLGo<$BewgmJhxwpP-%aaL>|K2;( zOdoOAw!&Ag2xhS|RN4~%Axq6DFE_t0CQ6x5ukMM7mFi6PJOKWsfi#%>d=s{Q7?<=% zSSt0kP`YxU$u&j9J4Vv7CTDyralpkGb4~5ScAIw4aN>(OXPJ`~`y9vgPK_v*w89&l zZ(yk~J4a;WC_hzR8k&!|7o}t0 zV;8wah`<9ra|_Ammmo7Qpku;i_ZhiPTz0B~T+#x|t?p+YJ+=Ayz{cU&e~XZ=rHE$a zeU^~Bo||(W*jdMM$~Qu&3v-vl;zJxRgerEK#G+gQ#4V*0bat$nkB*e*drtm&S^|Qu z|GD*sT?~t*9#cPNUg$#z0^5}~Jg)!m+y{Ejels-TIteTq@b<`S z->ZqWSQzk-Tv+SNys}-ajVFE506(?;gLaCFM*qM?ylZ;LYi#Rct%A`kdRnzsHY>^6 zlelf*+xk5pLu0(_VUo$izxC6*=QU^KHn@Y)`eE|o2|Lf9cwZyIGKng$blr~U#(8Iq z{3d?i&pL>BT`|K?gDW82Q!#>scc8R3qJP-jvvUcKeY!bWImtvWK=F!kCAyNvMynfC zOUOT+ow3fq2b_MdUl4n;HeHfb#hUkk0IcJU3t>2*#`^-AdXyABs6lg#s?Iqa?e-hA zPe)2CCu0|reOmAf?LknU{wIg!6IH?|arcJ?(&Tpoit_NjD*OV>tnXbYuX?Rm4{m^e z6Nw=J!*grr@S|guFO$gLrR}7P8En7TDTsv&pQFr=TG(6X5ly>NB+&?hYM;MEV7Y~_ zlvkJpG)Ri~ i;2_G592|A2#DLvv{VUu*h5x4s0xdN?)mjyJ*#83ICP$|L diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/toolHeadScrewdriver.png index 8004e42d5298051e1a6188822a682e3403a39f7d..b6964c0f18a4aa5520dd40ec4bab3e8087606296 100644 GIT binary patch delta 1277 zcmVfP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u0PRprR7C&)03>)x2DN4xc~2c-I}(_74vby|lT#vlPatbS z4|!Z*!Erl;O$VM-PMus6n@bONSuCq|4tZS@m2o48T>#DHBY%rv4tro6hgb=LT}*~) zft6;5hipB^b}*h@Oqp3fdQnG+TM>n20OI8gd{Zl(bpXoc0IgCDfK@S~U<{*nH_*=z zh-o&<%0&PE34~xCZbn9wV*uUdPo-}@gIEQkTR?_d0=jVllvx3%WgBEb9A7#gflLa6 zTx8_`QMu3ykbh+xb3_4`T%yUw3V>P1_wx;*aSD=YPqoXQ#K8d7WdNyA1dvf1cVz$n z|LOXAJOBUy0d!JMQvg8b*k%9#00Cl4M?_8;VR7F8000McNliru=nM=188YfJnQj08 z1A9qCK~!ko?b~g0(m)Ug@TM390|pvVgrc-4DrzJ|#D7$z_)wqy{$Iz}|NqWp=O(n- zAiTTbro;WZ*}L4{9UVD+JP+H)wOi2k>$joZXx@Q#(89Lgz6ff@@S(+zo17TJRaNj7}NOb=y7)L<`HTh6I&h) zG2iCL$Mt(WvE@PW@pSr(Jf15aFPuDP#yxm^vkBz`@))s4ub{_yxgPzfm`8W0%|{jU z@Yw^`TeHba#Up?HCOvRHCOlqQj}OhGXnefJAAeAGd=&NI_m?TJ@5$rz;87`$2Danj zn|zNsdtiTG@rVbUKgeTVvIot#v6fGpJ=WxrCLihd z^7znWBRnp1JyQ1Aaz3@?vC1euM7a8G3xHxX0!@kADyI!OlH0;~rvsm`{aA!tta$FG;oHgVz(@ z@|r!2%`dJV4dHP?{qsFG!sCZ2kB0D|@omv#&GQSdS7^Rvk1O%K{50*+6&_sAW)EE7 zN2*5$|NesaKa6?M{1R>R>-(CA*bgF)NO<7)rF+o(`)t7;_ zJ}>;f&mMvBzxSD#<6}IX!YB&&pQc>t9YQ7Hou7Y zV2?V-2Y!FkpHNwU_)|9z?L4lyPiXBvkmBLh`Mv_~7iss)G!JX_Z1yR~GabS@-w{ri7mfP*FzS00000NkvXXu0mjfo9cFu literal 3980 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 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotprotohalkonite/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotprotohalkonite/bolt.png index fe66371930997ea352989732a6d639aab786efab..75f19ac5026c3fa4ceb47183d9ef6c75156acecc 100644 GIT binary patch literal 730 zcmah`>r2y77(TnGP3E))IZSP}hzu=1^g$vhZ9})z>HH!2p;{`@ry67+eXwB{2@(R) zBnHW^M2n%8_Fl4fq+Rw|k|p5EX31A2Kc=RD`(eV=pAy{ydCu+XSb z##op>O>3eWA;b;|70%TJUkOX7tn;II!xLz+k&-0pcUu+*tz;-(@4tM~f z^#)qe(HP(dwtyCFy%MTm+rV@9o3TYSvbBK7fxz4qU;&`cq?y!i0KWqW$tIlcLQcZ| zY0K-ZD*Vt?<^5DL++H%!_IP2eY~+n~u%p>OUNh16(9`2yo~fO3*N(bgFMTg|Hx&23 zpm8w(!ffuhF5b@f^*I%h6InS!9|!Vhew4~C&w20qe0wa*zfywa z0vCS)!bwCyR5(w?k;_XPVHCyBJVX-{GbD~E5~*N8s^Fr92u8?OH@YxeSN;+9f9cAF zn^ZK=F1jj)xR6?KRVeBr_#nhlM|>t`a(liwM8?LQ;DI}LzQ_5^y?5~D()`?3E3)Um z{jWvseKWrZ_$GI_#}yv@lMm)1AdCo2-IjM!0=GB=(jo% zaV>=0IN){jTmck0pmUo0nInu4y38?q>twau^lHbSWcV0Gci7XS#&QD&RLizXqx zVd&|tzlDwI(J6e{$$#%4fTmXEEkK3l8nek@y=EWH1f`36h1{?`jIwizrB8G7Y|Vdd z@LNq26{w)f;GtpAOh~#=`js2Ehfpe)kQ&Qm9eCSk1l%{TJt_dGbImH~MQZhEH#d<; z;>amu=0he+NAVU{j)Oaokd}foU~e7)pLf?c24ZpisT^ZrWHQT%7sD_d9Ub)>T%d%* z<{t=1&EQN#zZ6N-L}r(N=cOt#=ZIVMABdPcJpaL1krUtXs1`;6)Pf}$%&HBG6}ha) z`~$I-rB4y+0jU50 N002ovPDHLkV1g|U_A3AY diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotprotohalkonite/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotprotohalkonite/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/bolt.png index c3056f7ad04c328f80fde923f07707afb77d1699..62dc1cf05bad6463858fb2b85efea4f0d2dbb5d2 100644 GIT binary patch delta 744 zcmVfP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u0Yp$tR7C&)0N#-DyNLSbssHDt=(?Qs;kNwnvevM@>F3?y z@5!#Z;;8TGt?tv8(c+H$^_cG1eA?o3;GXZnm-Xnl|K_ph!+)#r(ai(;koeZzU-j-^|hD@$B#F z+RxD6%J1yY>f5~7-?94jzUrl>S>74M-hR@@B{q%+K)oa@0V1NJr|67}1IRF3v0d!JMQvg8b z*k%9#00Cl4M?`B7s_}1^4XkSG}0ii<$0mIO>)r%*`!M zNNZa=q<^E+1?lSUfw+77ApP|#VPgg`dj`D_-_S5*WONKNKH-N1CZ`}l(^a)Hjd^Bv z4l*BFfGjSBA6t|e=a7rbE6BC!s#>|he0z6q>8i6I)?qb8NXc|ntvuA!wWc+ut7^rjuCgDp z9}Te|^8QdG-xoD<{!k<5Q#EpbQ6u+THS+&MO&N3L@d@($@(Ou-|A2gceM5eJtB^nY a9{L}i$wrV8Ez%bN0000AlC>Za zZePbmGK;!3E#Gm9bp;%IBzqWzSbk)>D<1sU!221ADSfh`pj(-sveXw3hmA5q$H%)( zS3KNnJw-n(-(QM@|&XXnV8wL4}Q_Y+70m&fdvna*-pzI;60@Wu2i7CCS!>=dU zE**=9kChq*y?+=xbz35=t|RW%u%~~NkV)qe&XO|P`br8P829M|l0odXUW)a>wu|Th z*m)&Uh<{`uGzMsFIpSf@(lAOA9ICo_I52h*pO{cJRYE3O5no4pP_&AC#~ta5^a07D z52|4bAGBNy?Q=9Lo_Hay>mrIGC@n)SJRXmsX_`dX(SH#|kz6=1H!&I6=x9y(j_YXa z^a05r&c2_*2eyl3IKg4vlJ|k!luqS?G&OtOwtUS$eV~7$4@d@aO)rHH{@JYjPiy`` zsxTpc&IhhbAJ7Mc&mjgu72<`Q&NrYf z0L5t;nQRnbHdV|QC3Y_QwcF?ib6D=qN`#x2@$Jhk)a+|1d|+Rq4}O#Hchg9yrDNby P00000NkvXXu0mjfgJLQ= diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/toolHeadScrewdriver.png index 118737756728b0f5f7ef27d9a34d4e5d4786f697..4c0e429e157b5abc9752104e30e1f5fcc961b922 100644 GIT binary patch delta 1176 zcmWksc}$ZB9Q_<~xP^d6=AwguS?1;z)MZl%DC$P%aFc=Jk$E6)9kImQrZx_mv*>dh7mrdB69P_mbc1^sab2e+lVD z5X9vmudN;k`th6X+X&*^a)QXrB?!Ccl&K|%)YSx`J4g_rHwfarq???W^#t+8p6Ksl z86E@9X5;i}Tr5CxDvlk-jY?!?AvFp2T5$Cm&Xaf~!rlA0k&hk&TDkV>a;XXwbNJ~Lg9rE*$lZloN+`5gTKhQmZ zre^0I7UU*$^;kId>IsaiM|FMNPBXe_gGeiQ;K03EW3@q;?=Th`r6?{%Q4#Lepx`Pl zYFA+#8KCtfw!DE8DVG(SRPBRacLSLdp%fb1oBJiOL9C6XB) z7gn2PbaYxG20+uaZg@ze(U_f3xS*J!hQ~)btkgd`724Y&>j$52YiPij#w8M&xm?Ux ztV2Ua(X&aVQmfVK+?XP1T4tsOv?J*2!{}?5SUe*Tz+|!w4jP|5GZ_q13WePbjfuwC z7}RP{rcJ4w_Eedgg3)Nw>nDeXkeG_ZM4ZjVPe-tK7cO1LsZ%&|2!B3A&IP0;;Xyl! zOK>?0PbP4`)?HrsR0fr#f0|F0-k!!i(`3^m>vubTa~dzvPma5dC(Qr0HQveg3~Wxy z_NX1iCXM{a|K!lOTOybnTQ?_rh<8flHioy>$A?(*S#nsn%p*UHjMyBzr$aBd?*9Iy ze;4&>1Y=q7Ck@Y|6HfG~q)`cp35C%^wL9(7110P#_PZsw-DC}usR|6S+R6+QHyw68 zrEs`Ht%Hu)eVg-(f!f(egd&Vck6tmd7TU^kTH@H3&)S_1P3hSzLi$60a*5{#Y6@xjKzj#)pSm+yV zkLnMng~vn=zofH_5BKfd|G}%4U1J=+W!dQrui!73MNOpNwnfT8={qe=g>fjuU{$J2ga&+=CH%;v<1 ztFD|PEB{?eVMt delta 954 zcmV;r14aCy3B?DH8Gi-<006!I^LPLN1B^*TK~#9!?VMdxQ&$v*`IWutU8i+AT(piY zcDzzVtk#(}A{J|h28>m-Fho8pHGE2;LehX~03ietNJ0|g$w>k+5T0H~yxPl)Gi0qF z@XWb+pS||ld!L2|#}pSY!lkR21HSwMzG;FRw*`=<^U&N3_kTPBNb6;|a~FC>1(16# zc=QCG`^_Ph-Y)pl2d{GGklcJ9v9$=xo0vl;(_Tgk`wZCv$bD;uj!K?ij|7k_c7V&( zJPle-E?QgRhD#8j@4khr*Pz2KfV5lzmkSN#&u+=4;=1;_IBv# z6r}Ka3*5c~kNO0Vwx7W5hLLe|NcBM{JR5|$pgE*GqJRB?(|zFaz~f#)l<&4dR~HQb zWez#%{tf#3VRpeB^3K}_lamnMFozVTCpZd)ASG$_Uk52A5>Praha|Tnqhm4PGzI&I_YFJ`SNZb4YRA z$8j(SyMJkO$lG9mgLoVc%Ys&aJBn@FfFMALMB?K?N|GpVCu6J^^Q>0|kiXNL%p9r@ zobH3^X<3xZ0|PKI0im!tq~!Ba_4{EbVGgnUiyTIyP!x3OnMg#Q!c;2dFdv8^S=%Ok zB7m%37X-O94;?xw?Kmg*qf+#O8Qh(mqfP!EEmt9|{kjptB%4g6Awrx{6 z5ke9LTYcbgA8c*G&W@zP4pNRpz_w*kE@rc5CCX>i2OkBZk#n{WEK9a3XQELG`}-PY z^?~|8`vdI{)CcMVoge7@K<5WKKRAOv(DQ}b?T?->d=R4N3w7cHy?^lD_DAm@ykC0% zpnr~hp!XANO7AD0F1?>vM?TQ^3$@!HeZO$3^!-8|`9R+{)|9?)JYD*}v5tJ8|39dO z=>HE+mHz*rj(pJA2#rmG0Dbxie0~ltT@yggeFhgUz|Ef}oyvJ=xemYlA%OhQ3?293 z>9k-R($xk}`r*Z%V6r*U$!0Lj%a9<2!!sE-J%tPp-wGf%?H7E1Y;mh1fP7v0hp$ew cKlo7n5BTs47v+pHBme*a07*qoM6N<$f`&-Q!vFvP diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/toolHeadScrewdriver_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..844e4365af706bff7ff97e32b137a3af9a0a13d2 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/bolt.png index 89fcf268793a1efa929989f188889f23ce75b577..ee3c68d8e070638881a7386c5893d86f7f6dda5f 100644 GIT binary patch delta 692 zcmV;l0!#hj2f+o98Gi!+001>h84v&f03c&XQcVB=dL{q>fP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u0Vz;SR7C&)082_rMny$xX=+eVP)|=!WMpJXNl8aXM~jP# zmX?-UT3T6IS(uoZOG`^`Zf;OdP&YOr*F zJUTmZaBx#nQ&dz`E-o%aL_||kQfq5#VqsxeS65e8S9NuDN=ZpqR#%LSj7&>RW@TnD zFED0hWh5jdaBy%|RaS?GhcPiRcXxMQU0q>dU_U=UGBGiQg@rdaH*0EZVPRo9IXY@; zY8)IKe|~;BIDa@)Q&VkiZFzZllarGEN#&M(?rjndR$)O?|=OmIt&T=Ru6yN_#bpOBF z7p(oI%;w(^Rd!XOEG;k(HU3e4mOS~E)f)0UV%z@T2D07V aL;nNgGZ)C4$$L=%0000pyf8Gi-<0007&=^_9C1E@(vK~#7F?ODxATTu`mlY&VsMxrYbl7(g^ z){Uu&^`{FXCe(&TlO|%ojo?DB1K<)$AIqiAqIt zdPWeg_sqGstB7!gG0DvL&CDInoWBdkUl}V93`8jNFZ^P#1CW$4L=p+`4v3x!cwY9adxVR|A zk&h4z23dD^H&`qdO)>_O%H-svP%tUjFc=jmTLnU|L*&RLdqJJm@bEAL-cHXw9;UW& zwOV!mcV}lOdw*J01;37u;qdTKz-wlJ5#3EqP+wn9k};Iv5tS$y+39pbu~3Bcr?eDD zW-vB3#`shQrBX?gjDe)m+}tb_ObRv(Mg_`NfuX@ca%7Udpw24%Cd?Wd8sLSmLvUhJ zgVn!VT3VRNRB<~WeBJ#fbfutBI^Z42Y*s7$IXlBW0)L5pq9iE4zl}zj&1M5Dm(k7Zw&4Dku!< zNC$XcsDG@igoDfhq|@@v1v-$*^z^h)Fe&(v8;tZHQw0(uBjm{ZulazVqnX)khR9Gv za3bxpyXxRVi@WyJ>MC!pjDQyucSQUg9UbNS0~_rB*oVEnJrXN@1iqzVR=&B&WHM4R z1|er8Z+koQ`~7H#-S4|(3q^ECr9KMCtJP7~=`ss%+B3 z2I9yJUiS2`CVq2qd3mWxMh8*}NN#bZ1jArdpez-@wUP=XZ6+mHxmLbUChu{`&9;&p ziGM`c#l;1ne3+lVM@AgEI->z)e0-eM*lVD0R)E!1N+2VKRHC8J-^Xt*On~!2NbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/toolHeadScrewdriver.png index 1354d0b76f8719c170cccba04a38cd35f15205b7..d0add842f3e4a668d530948753e85db11cea8ed8 100644 GIT binary patch delta 970 zcmV;*12z1q4Alpa8Gi!+001>h84v&f03c&XQcVB=dL{q>fP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u0nSiNR7C&)0BUJzR#jG)mzQB+U{q98UR_;HOidyoA!=!A zI5;>_QBfNk8(dsmTU%R&g@smDR$^gdl$4ZvdV4oEHezC8e}8{}OiWBMFfb}9DNIXD zS65eASy@R*Ni;MxOG`_JhK5s9Q+auLR#jDZc6L};SZ{7_KR!QQTwPmQT8D;)U|(N0 zHa2{Gd{ifJ{qEXJ%($U|@iMfTE$HPEAf=Utmv8PJf=Bo@;7qc6N4|n3;@>jA?0U zXJ=M418BHmCpq z00(qQO+^Rj3=9AnF>^b})BpehX-PyuR7l6g)KybLaS+B~1sfGGKm}1yM8(9w7VK{9 z#BQ(y3j@3B<9hu&ca9G1-7{y-%)2}PT|d8Hm4Cm876$~vLBS#X9vTKq!Xw~FsSK7& zqu}V6SXiNqV}SUC-!<^hrBc(0nj|<`tAkTg^>CUY9abh}z?sG@I9r_q=jP=zfQj?< zb`=!T+M;4u7ifk{O3T<^c?DcqRSjFLHE?ZRJ=|bz6a;GW={%Y(bc>`F)?3@)_748g z*?-jy_w@F`a+?Y69~gv(h9wLzBG?}<*Qj6~V-e%9Xo7jWC%G?Eg8A7syg$=3v+$hG z0MFYN7+`V9r}J1|p~b3Icx~MQJ2#y0rgjV7mhrvU@33E^V;A1r7aa5h?w7aAZlMpQ zF8D~#`*G|%fvZo?VE4HjzPP-CJ=Ztz?L*x?18nvBbRG{%diZe!o_tck&oAe&#rz64 sCceS%A9mQ~`Gk`dUkvcgd;I760fsC*6r7>~CIA2c07*qoM6N<$f^k`k&;S4c delta 1571 zcmV+;2Hg482dNB@8Gi-<0007&=^_9C1@K8kK~#7F?OAI~R7Vs(BPt455j0@bCf3jd zYyp)>Dz6wr!&=l>Lni+?{jIcfT|D%-p%>!hi1hgocFDOG_;RAshhPPtKmD=g)rz$Bx-UWmT1l4)t;(7@+dc@o_RYKL>VpM=WN7 z{z9UnqUfnpr|9k5w>862q!}6-N;~%-~cQy zEkS5Vh*=;e00>fBTT5nU{(?7eW+CnVeN7O>dHzjgB!69AUIAbht*x!>7i2#Y2HdK; zriRSU&BAdKzkCT4u2*=ec^(oqb@$=M0=^73SD@PsIe z%5b*8F0qwqWpxz>1_l)E6cvcB3ksqK*(}6;LS<#8tgXoypp&uu_Vg)nad80;cX#OS z?lx;ojQz!Nad9!db?X*QOG}f0s50OPDJd!B;(x`9U~6m3yY|}MIRY^;F|?|xN^+gG z*or)`va*84#zqKY>8s^rtT)N;fPesMZ*LEW4<81+OB)+19Sa6%(A(Q<*kEt`y8*E= zv1Wy1!T>=~Zr->-_wBQSLx&DQZC$Ob4ceiYFu)F!=9U&>#l~c7dkcJhd{vpKqMti= zj(-OD`!h@e<-e56+R8Fu9)>U5wGn4$XPB6n06$+}Sthcm25+Mue0D;^GiN@A$3H&C zL!nh=z^$5^n#lP0I4mu_%k9&g|f+_7N*Dp{XcqmF+2?JpSxQGA^;kG zZ6IrFYlb2ORx{MjYOFI!OH_o1hf~}mV1G3OXC?NjiD1Bua3!)~w=k>y`=Ny06M4VI z?cKX~sh5`*&B@83YR-}njE&>s;;8jOYnYy%f>!oSWvt`JssLyd;2%J*_*?-5%E`@< z*h|I$os6Zoua}JcJ_3`Iuc5M{LK2Q90D?8QG?Rse1?cH{hJW{D_l`hHaxyJ1FMpR@ zXD!Ae4{Yu1prfP1;wqj1C@d@_4h{~0YeLyiWo9#xm?;652_`;f)f0za3=x-4T_`@iAmEt>-Y@*|>J{KCBplwio7(rybB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/protohalkonite/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/protohalkonite/bolt.png index 587217e11dff91a7c3ec13b66a8fa96b1fcb6280..d6375b80e55392db85159c48c4c7c10b8515895c 100644 GIT binary patch delta 241 zcmcc2*u*qJvYwfNfk8u;KNv_UBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3l zfkC`r&aOZkpoC?BPlzj!X6UeFoSV(G%!i@hnW@#0aeg4fWN(Hx7sl1$j7!rPrpGeu zYi3wq&M-fh;Y>Hfk~D?|IsgCvKVswwG>n0BE$l4#{9#e& ihmYI~Iyr*QUu1B8#4u~x+4p`RqdZ;xT-G@yGywqDe@&SH delta 194 zcmV;z06qVL0@DGI8Gi-<001BJ|6u?C0GdfeK~#7F?T|4F!cY)IXQNmJQfRC9u(tFb z0nuJC7qGLi76i5S0%FdQGEIt9>C$Dw??QHenH1mg+NvVm!D~N wK0AYVOsrQxUIK@g*X$Pf>v>Xv`QdR-T28bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/bolt.png index 793a3600ebd2a68b78f022c6f7496d8470723796..ddbaa035bb1d12f775f0eb3898979c3a090d0705 100644 GIT binary patch delta 1126 zcmV-s1eyDfE$|4C8Gi!+008ZZG2H+F03c&XQcVB=dL{q>fP?@5`Tzg`fam}Kbua(` z>RI+y?e7jT@qQ9J+u0IN_;R7C&)02B=<6AUC64=yJVGL3g!BM&Yu6FMpqHaQhM zBM&W@fMYBZIVln~77i;W5HVI8N+b|2L>fj-8b_3zRzDa)#DC6%uD63m7(uqbdT=CP zY&lX`97<>*SgNCGo|j<~3?mm0EfftW0}2}z4k`oN&u!V9~u(`0q&7*l}PcIcaEE6{w4=xuDD}!%Vn4f0<|Nq;es^5T<_WBjZDhS`M%v`vrW>it-;ER;_sJ} z?Xu=oS+g^Rn%V23rh_)!a3P2V((htc3-fSgmEl3k z+ITb`Pi&K8emfM8Zqz(F0}tK%r8Dr*?LSQJWqCN=kBCPbZyS%sqw$F5F{bCS+A~Ty za~>0q4u9Sm;d}a>=%|D7sJNdQzSoM5O5$O1FU!N}zS5@rKYP(pO@-us2I;3I=^WPw z$^8t{&vTBqB=`O1`!2`x7|A_;M>EgapOW17o3FF|=%}Vbau0pX{_<^6^Da87i-*(w z3eq1O7B%mqqnZlI{Sl-;{!r9>jE-t5B=;wf{(qAO52yQ6s5#DgzmVLYz^4v!_NOHG zN05G*bG#+FUqSk$^IMX8nfX4+y$lbMdl?=i_p&^kSsRbWqw#1wcsxY*dpLQ>?tgK* zm)-y3bT7OA#p!;b%EP<=W%GN-tUO%qW%^T+dzt=}PNdNWQXn0iIUqE_U9wzq{9_6Rj(NSGIobE3m zebV*(B=<7=O-b$zJT9Z7I(fL3d#K~q`xlP z+(kzv@i4i+h4jD6nc`k_R2L7Y`+G?LCx7SoLUR9CWxOT1mpR{oXS>{2)(~m@UV+m+oJpSbd>E2@nem0>UY3W`y$lbMds!ZBzenTIcwaOg zjmQ7Sqs?zOw26*7Add$_8(kg-_s9dz0eFm#>g3^a4`)C;E^}TVB=@Tk-7gmRy8VaG sy(|x>ds!aCJ)dTMf6C!8=Dm66Gz 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 diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/toolHeadScrewdriver.png index 1f97bc45d0b801abdd75a71dd9000e82bd46a817..bc04e6cf8a131dca442ad391aee97d099aabd41c 100644 GIT binary patch delta 2158 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 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/bolt.png index 2353a5ff6632301db08bd4b7f52a8e252ea547a2..42301e01a007acefc7e54da7b6b3fa39f9f6fc52 100644 GIT binary patch delta 354 zcmbQt@{o0cgaivS0|Ud`yN`kx7#M3Zot* z6q2m>ba4#fxSpJ#z-w?w;uKQ=+hpZHCzo0L48FXK%F#P*j{;Rmm$*ih03B_WoL^8` zl$oAU!VplJl#`jP;F6!4n3=b2qG2>pnG#G{N@{U(QD#9&W_})nyQgn}LQ-jFPKj=2 zo5WeC RbOy>Wc)I$ztaD0e0sz1GY=Hm( delta 146 zcmV;D0B!%_1(O7j7$67+0000V^Z#K000D$)LqkwWLqi}?a&Km7Y-Iodc$~2?bpd9V z!+q2M002r!L_t(|oMT`Z1@r^y>9zl{i8B$anT45!AvL8M!w^PdG&3!Hgmu9>!AY?OM7Z77JL4Ym5MgevJ06m^1IbqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co_M_E)`6c0}AnZx+pk?a9mIR@qd1!2n)ksKlz8n-OJVhr5HS2{an^L HB{Ts5H@7P# delta 100 zcmdna*v~jYLYjk(fq_B(^Z!I3#g^pl?gFHN;HUHM`iYrxcJ~;0`K8z@f7m$!1!X*4 y978NlC;$2X-=0~up|jD+AnU*i#>H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/toolHeadScrewdriver.png index 2343ef9d24b7be70628f3b567689d1d78efae7ef..c6bb503d4c427cfbc1f58deda404bd1e0cdfef4f 100644 GIT binary patch delta 362 zcmdnS@{)CegaivS0|Ud`yN`kx7#M3Zot*Qz@c^t@LFY)wsWq-lL!ysw&%4lXD zP)M=f)5S4_<9c$!0Y;XECX0=xD5f|B9AMO1(4=-?!664728PMA7~h9Zd@cr5EnVUo zQ37o8nRyDuLGDgI>5jq-ZVU{fFy*<4d8KKI$t9&lsYPJ*KJzA=0-DDMSCF5Q Yn!^Cn8=c_k43uH;boFyt=akR{02ZHg2><{9 delta 182 zcmV;n07?Jp1-1l`7$67+0000V^Z#K000D$)LqkwWLqi}?a&Km7Y-Iodc$~2?bpd~u z!+q2M003=CL_t(|obApr4uBvG1<*q8stX)}MUJ3@cvaHkgfT$SIx+aC(w3J33=?a7 zvc@OrKb?yhBM=ctkqg+vqL^8X==E|4e|(-$e%hVrGiwjdh2cb000UA07*qoM6N<$f}HC}tN;K2 diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/toolHeadScrewdriver_OVERLAY.png index d83a131004a555d47a5656fbeecf79ad3a7ccc7f..5385a7b02536e36c893324a1872a6202c066f214 100644 GIT binary patch delta 167 zcmeBY+|D>bqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co-y&UK!2I0}AnZx+pk?a9mIR@qd1!2n)ksKlz8n-OJVhr5HS2{an^L HB{Ts5MVc#n delta 100 zcmdna*v~jYLYjk(fq_B(^Z!I3#g^pl?gFHN;HUHM`iYrxcJ~;0`K8z@f7m$!1!X*4 y978NlC;$2X-=0~up|jD+AnU*i#>H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt_OVERLAY.png index 9c310b5b096b0db9e70013deac688fbe601845af..405c6c75fa69304a09aa4b57005c4e5cf40efb3e 100644 GIT binary patch delta 208 zcmX@d_<(VOL_G^L0|Ud`yN`l^ltQvckS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy2@DKY zGZ+}e3+C(!v;j&81^9%x{{R2~-Me>p@813Ya{vFwtAX6ri{{=3$}*P(`2_>%Uu8$` z0V&2LZ+91l4pvzYAcwQSBeIx*fm;xSJsIm$;wJ({*-JcqUD;po@G$a;T`HI?2NaU@ xba4#fxSpJ#z-w?=qK_?rt=lNj$z>KlLqRIz$`>&#FM)~}JYD@<);T3K0RSZiLGu6r delta 163 zcmaFBc#d&`gfs^m0|SHn=l_X7iY>|8-G$*l2rk&WeDcJ0x!QX?VxkP|Q) O7(8A5T-G@yGywpIYDEzM diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver.png index 6b0517b8791e9ff70f55ba3b70e934246d3790eb..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 187 zcmdnQc!qI;WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfAAG? aWMwcel}wl<+yyj?fx*+&&t;ucLK6UL9X9*` delta 134 zcmX@ZxQTIsq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJ#CtqUym|_oS9lx(%G-Oo zIEGl9PEL?8d0;OxVO2ltu^km3m6}(q&^Y`b2#k%4j3zzp;uhEYQ~&FWW~83vy0$rX iwN(~UhYYw37#NanCfn!SikJ>Giow&>&t;ucLK6T;{xiJ* diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver_OVERLAY.png index 2aea2f961d4e75613ef1b4aee349b0d2a2ed2f37..02d3a495d96a4fa01d189b4cc6893e4c7f1c8e32 100644 GIT binary patch delta 218 zcmaFP_=<6YL_G^L0|Ud`yN`l^ltQvckS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy2@DKY zGZ+}e3+C(!v;j(p2Ka=y{{R2~>C>nG-k$t_vE={R?EiOX0!7>e{C5BqFqH)P1v4;| zO+IS@Ih+L^k;M!Q+=2`Y!Q6t3^(pZafuigsp1!W^FL-zuB#mAf z&CCM|DSEm%hHzX@PB_3gWr4|LgDDF$90Cq7YAH0S9S}I=pu@nhu$9T6=}$^BP%(q2 LtDnm{r-UW|y@y67 delta 189 zcmV;u07C!j0p|gb7#j!%0000V^Z#K0000JJOGiWi{{a60|De66laYxYf8Goh6e<^^ z^>F?G004AJL_t(I%VYfi|33pIfQf-Z05{?Uc=E!47a0HmT`icA!p5wJ00000NkvXXu0mjfZ4gvJ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/bolt_OVERLAY.png index d2c1f987c0ce19066438f44545955e460c96c385..405c6c75fa69304a09aa4b57005c4e5cf40efb3e 100644 GIT binary patch delta 181 zcmdnR_<(VOL_P~M0|Ud`yN`l^ltQvckS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy2@DKY zGZ+}e3+C(!v;j&81^9%x{{R2~-Me>p@813Ya{vFwtAX6ri{{=3$}*P(`2_>%Uu8$` z0V&2LZ+91l4pv!@iHdU8FL-zu`NS?2OqK&mNqV|ChHzX@PEg=AI4se}7QohR6zJqK ai=Uw&m2u^Z7?zhnMGT&Eak-aXR_O|Nr*PsxuO=FbMHf?EG*4la0Z2fA#mihyNd6{qJecu;S;tySpPyh0PfH u&$jR?BpBB*cWjusfxF{^&8#Vk5)90e%#yz49$$b)GI+ZBxvXyYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYLkk1LFQ8Dv3kHT#0|tgy2@DKY zGZ+}e3+C(!v;j(p2Ka=y{{R2~>C>nG-k$t_vE={R?EiOX0!7>e{C5BqFqH)P1v4;| zO+IS@Ih+L^k;M!Q+=2`Y6ZHk0U-0lSNE*E|nwbZbQ}lFk4B@z* zoN$0~$^w(g22&PhI0PJE)KX|tJ0Nh#L5G21VJnkC)1Q=NpkfA3S3j3^P6Eak-aXR_O|Nr*Psxun1*#1;kf3oM8{JyDM_5Xak+EWgz6jv~%NHl4BEKS4gL zU1eh1gYri=bDG)&_%xW>1jJ)2cogj}GVuPaFMn2lOZDl(YzBte#w?Q`wkh#m09wM} M>FVdQ&MBb@0K8Z}fdBvi diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt_OVERLAY.png index d83a131004a555d47a5656fbeecf79ad3a7ccc7f..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 167 zcmeBY+|D>bqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co_M_E)`6c0}AnZx+pk?a9mIR@qd1!2n)ksKlz8n-OJVhr5HS2{an^L HB{Ts5H@7P# delta 100 zcmdna*v~jYLYjk(fq_B(^Z!I3#g^pl?gFHN;HUHM`iYrxcJ~;0`K8z@f7m$!1!X*4 y978NlC;$2X-=0~up|jD+AnU*i#>H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver.png index 6b0517b8791e9ff70f55ba3b70e934246d3790eb..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 187 zcmdnQc!qI;WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfAAG? aWMwcel}wl<+yyj?fx*+&&t;ucLK6UL9X9*` delta 134 zcmX@ZxQTIsq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJ#CtqUym|_oS9lx(%G-Oo zIEGl9PEL?8d0;OxVO2ltu^km3m6}(q&^Y`b2#k%4j3zzp;uhEYQ~&FWW~83vy0$rX iwN(~UhYYw37#NanCfn!SikJ>Giow&>&t;ucLK6T;{xiJ* diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver_OVERLAY.png index d83a131004a555d47a5656fbeecf79ad3a7ccc7f..5385a7b02536e36c893324a1872a6202c066f214 100644 GIT binary patch delta 167 zcmeBY+|D>bqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co-y&UK!2I0}AnZx+pk?a9mIR@qd1!2n)ksKlz8n-OJVhr5HS2{an^L HB{Ts5MVc#n delta 100 zcmdna*v~jYLYjk(fq_B(^Z!I3#g^pl?gFHN;HUHM`iYrxcJ~;0`K8z@f7m$!1!X*4 y978NlC;$2X-=0~up|jD+AnU*i#>H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..eb576fed2ec67cd6a3d3b6dcb2e9da4f5e03e1bc 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96ZNhFMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@02t*nng9R* delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..c294368b8b481be1912cf226c7055b74df60444d 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0L@q@6#xJL delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..54e5f0dbc29b50c14ddaf000d8f781e8757f4161 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXk7F(aV0+dtsba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E0A%Sh#{d8T delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/bolt_OVERLAY.png index 036f53807f4b6876e2c3509bc054eb036e8c7df6..4da49f1a27cd976651fa0eb61c177d79f3e8eeee 100644 GIT binary patch delta 301 zcmey$c!OzzWIZzj1A~Sxe=v|zNcITwWnidMV_;}#VPNHyF%#*!evUYsnYZ(MiUj~a$oT9F!G6ADwr$>l=Aj;aSV~ToSfjm z)Z=sJL=2l)n3-Bx3L~GHnVDY-qh6kwT%3q)%^xP7FHB8Nhcs#g0}Tr~Qy4upH8l%U m7&9dW106+dHyJ6Nh+()lk*Qfr_r`Ldu?(KBelF{r5}E)vxM{)w delta 202 zcmV;*05$*E0`&oq83+ad001BJ|6!5M9)I2p4;CUS9npH600006VoOIv0RI600RN!9 zr;`8x0D?(GK~xwS?ZGWl!$1HA(C;?M1@d!%ooQ`rh$D^|);2SZZ*KhniChiu<%ieF z{$Tr%R?d_CAqj5_my5Kp?~+I&3DYbsY#YlW3DZR1Nh{YY^Gx5%zrWyk@>y9|(l_cj zsFn4d+nrKKi(36MjHJc7a=TLs<3Qh$R;4fwbRGHj1&$tT9-y~)6aWAK07*qoM6N<$ Ef~4nI*#H0l diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYw|D$^cmE$A0hIaQ(edBh z;(tZOe+~8j=H~w+BK~J&{MXR3A{wKu$&jWI6{+pVC zl$)9US68Q|nLr1^jjf(pcM9k}*^(eXkZ*B=$6-#^Kv~8lZ+91l4pvzYAcwQSBeIx* zfm;xS8S7KxCjtf8OFVsD*-q;rbrve0 zXh@fHa?jZKzxSx6{$AGat5@0SO<1CRCELO`Vei8d?R#01A156@Q_U%>^y*Q;lgp7# z>;0P*3wGXnb3EhC!}!nY!QD6iGOkDvJ9o77pH5uFAB`y=%#MjfxM_V*t?`zopr03dKBjfOQ!@nO*1M5n;ERH~VBButIe`Vw7)@G(B}K z;62K>$_N1+kG(lhRpvCocREQ>mZ?(+aJwzvpe!|DT?+U?89(YD04spDLGcMsgUbcC zWM~^0u(+m?%)sJjalKB5v@LwIRFy_rZ=|`eTvg-udLve5us@_Ui+$>hrdTJ5qCgfQ j8r<*8HzS00000NkvXXu0mjfE~|PQ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/bolt.png index c6f1bc9d38ef2b1ef9d701cd89b477c4dbb7fce9..1acc21b98b68df0d590f5613010f8b2ecfd25696 100644 GIT binary patch delta 155 zcmc~^%Q!)@o&gA~W-QnXq!f}pf_xbms?-=58d?|_egTCVUNA6}8Za=tN&u;1U=S~u zvn$XBD8W<`m_0!d}PLH_gqL?C74>EaktF()}eg7ph?`uTZ({U<&ve}C`q{k_%ZFWctW sR)70{cX#>8>ozR8ZH!$e{RRvSt_D^-NkubB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..54e5f0dbc29b50c14ddaf000d8f781e8757f4161 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXk7F(aV0+dtsba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E0A%Sh#{d8T delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..eb576fed2ec67cd6a3d3b6dcb2e9da4f5e03e1bc 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96ZNhFMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@02t*nng9R* delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt_OVERLAY.png index d83a131004a555d47a5656fbeecf79ad3a7ccc7f..c294368b8b481be1912cf226c7055b74df60444d 100644 GIT binary patch delta 167 zcmeBY+|D>bqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co_Lay(H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver.png index 6b0517b8791e9ff70f55ba3b70e934246d3790eb..54e5f0dbc29b50c14ddaf000d8f781e8757f4161 100644 GIT binary patch delta 187 zcmdnQc!qI;WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfAAG%U70aRn%(?CIiY5+ZRqIYEK*&;RoW4m6#q|0Wgs?? aWMwcel}wl<+yyj?fx*+&&t;ucLK6UT12-Z7 delta 134 zcmX@ZxQTIsq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJ#CtqUym|_oS9lx(%G-Oo zIEGl9PEL?8d0;OxVO2ltu^km3m6}(q&^Y`b2#k%4j3zzp;uhEYQ~&FWW~83vy0$rX iwN(~UhYYw37#NanCfn!SikJ>Giow&>&t;ucLK6T;{xiJ* diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver_OVERLAY.png index d83a131004a555d47a5656fbeecf79ad3a7ccc7f..844e4365af706bff7ff97e32b137a3af9a0a13d2 100644 GIT binary patch delta 167 zcmeBY+|D>bqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co-xNi>*&w0SfVXx+pk?a9mIR@qd1!2n)ksKlz8n-OJVhr5HS2{an^L HB{Ts5N@6Ra delta 100 zcmdna*v~jYLYjk(fq_B(^Z!I3#g^pl?gFHN;HUHM`iYrxcJ~;0`K8z@f7m$!1!X*4 y978NlC;$2X-=0~up|jD+AnU*i#>H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt_OVERLAY.png index d83a131004a555d47a5656fbeecf79ad3a7ccc7f..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 167 zcmeBY+|D>bqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co_M_E)`6c0}AnZx+pk?a9mIR@qd1!2n)ksKlz8n-OJVhr5HS2{an^L HB{Ts5H@7P# delta 100 zcmdna*v~jYLYjk(fq_B(^Z!I3#g^pl?gFHN;HUHM`iYrxcJ~;0`K8z@f7m$!1!X*4 y978NlC;$2X-=0~up|jD+AnU*i#>H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver.png index 6b0517b8791e9ff70f55ba3b70e934246d3790eb..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 187 zcmdnQc!qI;WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfAAG? aWMwcel}wl<+yyj?fx*+&&t;ucLK6UL9X9*` delta 134 zcmX@ZxQTIsq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJ#CtqUym|_oS9lx(%G-Oo zIEGl9PEL?8d0;OxVO2ltu^km3m6}(q&^Y`b2#k%4j3zzp;uhEYQ~&FWW~83vy0$rX iwN(~UhYYw37#NanCfn!SikJ>Giow&>&t;ucLK6T;{xiJ* diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver_OVERLAY.png index d83a131004a555d47a5656fbeecf79ad3a7ccc7f..5385a7b02536e36c893324a1872a6202c066f214 100644 GIT binary patch delta 167 zcmeBY+|D>bqMnff2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`?NMQuIw*(co-y&UK!2I0}AnZx+pk?a9mIR@qd1!2n)ksKlz8n-OJVhr5HS2{an^L HB{Ts5MVc#n delta 100 zcmdna*v~jYLYjk(fq_B(^Z!I3#g^pl?gFHN;HUHM`iYrxcJ~;0`K8z@f7m$!1!X*4 y978NlC;$2X-=0~up|jD+AnU*i#>H$rV$2N5vzTSy*nS47WAJqKb6Mw<&;$T{8y&9z diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..eb576fed2ec67cd6a3d3b6dcb2e9da4f5e03e1bc 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96ZNhFMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@02t*nng9R* delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..c294368b8b481be1912cf226c7055b74df60444d 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0L@q@6#xJL delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..54e5f0dbc29b50c14ddaf000d8f781e8757f4161 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXk7F(aV0+dtsba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E0A%Sh#{d8T delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0NAA`TL1t6 delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/bolt.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/bolt.png index 8675564a9b1aa92cf3d9a38d1eb3197edf673315..29d3fd08b388aa225af0a781f5eb0dbada0c2144 100644 GIT binary patch delta 177 zcmZ3;c!+U=WIY2ASj||l7f2~2dj$D1FjT2AFf_CXMsm#F#`j)AP6(or^HVL3bL1Y z`ns~e;NfB96T4I}Sq>;9>FMIA6(VstIbngMMfb7$fBBrB=uN#6aQ-60y;Hnf_Z+*% Q160M}>FVdQ&MBb@01taJWB>pF delta 117 zcmX@axR7yzq!b$i1B3kM|A|0~Ey>&6h2cL4F4((#^2AKJfP0L5jG7vrc~_!<@_L>w zjv*GOlM^IZzc8ntpZC{);i#i diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/bolt_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/bolt_OVERLAY.png index 3f0d6efcacdbbcc2d9fd04d1dff1e63021f710d9..78d5f0c041659ba1ca6718083e25dd0bc5285f03 100644 GIT binary patch delta 140 zcmeBW+|D>bB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0LFGE-v9sr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/toolHeadScrewdriver.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/toolHeadScrewdriver.png index a4f9a3217885ff683a9ad5f3f5d402cfe21bc20c..4ec2f75ef3de243fae862f1587612a2143550315 100644 GIT binary patch delta 160 zcmbQuc!qI;WB>yYSj||l7f2~2dj$D1FjT2AFf_CFz@GwXky)v4a2b5Fxba4!k zxSX7z!1?F@`2z=<&eVUC3jOzzmFwqn&qu}!K5Mcv7?(;WOcL%A1S)6nboFyt=akR{ E09`3Ep#T5? delta 111 zcmX@ZIGb^TBnKM<1B3kM|A`Yb|H(?D5Bx% z;uvCaIyphYbB9M^*2+TVUodHq`$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oC zU=S~uvn$XBD8W<`zopr0Mr8~H2?qr delta 98 zcmdna*vmLUf|G-dfq_B(^Z&$&nR0&j7e9D`njxgN@xNAQN0}I From 9581fa31bffe3bc36c20ea3d6c7364036ec00b54 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Thu, 12 Dec 2024 23:15:20 +0100 Subject: [PATCH 15/21] update --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 68b03943f7a..7a97e78e071 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -70,7 +70,7 @@ dependencies { compileOnly("com.github.GTNewHorizons:ThaumicBases:1.7.7:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:EnderCore:0.4.6:dev") { transitive = false } compileOnly('com.github.GTNewHorizons:VisualProspecting:1.3.28:dev') { transitive = false } - compileOnly("com.github.GTNewHorizons:Galaxy-Space-GTNH:1.1.97-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Galaxy-Space-GTNH:1.1.100-GTNH:dev") { transitive = false } compileOnlyApi("com.github.GTNewHorizons:Galacticraft:3.2.8-GTNH:dev") { transitive = false } implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.16-GTNH:dev") From 926b34ffdbfed88b340f701b06013a4a1536366e Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Fri, 13 Dec 2024 17:32:41 +0000 Subject: [PATCH 16/21] fix reservoir hatch crash (#3646) --- .../core/recipe/RecipesMachines.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java b/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java index ee757fc03ef..2124f9979d1 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java @@ -2869,19 +2869,20 @@ private static void runModRecipes() { .eut(TierEU.RECIPE_LuV) .addTo(assemblerRecipes); - int aCostMultiplier = 1; - // Reservoir Hatch - GTValues.RA.stdBuilder() - .itemInputs( - ItemList.Hatch_Input_EV.get(1), - GTModHandler.getModItem(RemoteIO.ID, "tile.machine", 1), - ItemList.Electric_Pump_EV.get(1)) - .itemOutputs(GregtechItemList.Hatch_Reservoir.get(1)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); + if (RemoteIO.isModLoaded()) { + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Input_EV.get(1), + GTModHandler.getModItem(RemoteIO.ID, "tile.machine", 1), + ItemList.Electric_Pump_EV.get(1)) + .itemOutputs(GregtechItemList.Hatch_Reservoir.get(1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } // Mystic Frame + int aCostMultiplier = 1; GTValues.RA.stdBuilder() .itemInputs( GregtechItemList.Casing_Multi_Use.get(1), From d716e5a04d3dd7fb4ef23f96ad68a868780b426e Mon Sep 17 00:00:00 2001 From: Yoshy <60155833+Yoshy2002@users.noreply.github.com> Date: Fri, 13 Dec 2024 18:40:19 +0100 Subject: [PATCH 17/21] Add Research Station to NEI Scanner List (#3647) Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- .../thing/metaTileEntity/multi/MTEResearchStation.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java b/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java index 6b3d35986c7..136451fb0fb 100644 --- a/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java +++ b/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java @@ -16,6 +16,8 @@ import static net.minecraft.util.StatCollector.translateToLocalFormatted; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.List; @@ -53,6 +55,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.MTEHatch; import gregtech.api.metatileentity.implementations.MTEHatchEnergy; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; @@ -554,6 +557,12 @@ public final void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPla "gt.blockmachines.multimachine.em.research.mode." + machineType.replace(" ", "_"))); } + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList(scannerFakeRecipes, TecTechRecipeMaps.researchStationFakeRecipes); + } + @Override protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) { super.drawTexts(screenElements, inventorySlot); From 35495c23995a1852f1b5a408bd5fc2f18b48b7bc Mon Sep 17 00:00:00 2001 From: purebluez <81239247+purebluez@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:48:28 -0600 Subject: [PATCH 18/21] Refactor Steam Input Bus to extend MTEHatchInputBus (#3642) Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- .../implementations/MTEMultiBlockBase.java | 2 + .../MTEHatchSteamBusInput.java | 51 ++++ .../MteHatchSteamBusInput.java | 272 ------------------ .../base/GTPPMultiBlockBase.java | 15 +- .../base/MTESteamMultiBase.java | 16 +- .../gregtech/GregtechSteamMultis.java | 4 +- 6 files changed, 65 insertions(+), 295 deletions(-) create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSteamBusInput.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MteHatchSteamBusInput.java diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java index f7d03acc666..95d1da6940b 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java @@ -113,6 +113,7 @@ import gregtech.common.tileentities.machines.MTEHatchOutputBusME; import gregtech.common.tileentities.machines.MTEHatchOutputME; import gregtech.common.tileentities.machines.multi.MTELargeTurbine; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSteamBusInput; import it.unimi.dsi.fastutil.objects.Object2ReferenceOpenHashMap; import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap; import mcp.mobius.waila.api.IWailaConfigHandler; @@ -1822,6 +1823,7 @@ public boolean addInputBusToMachineList(IGregTechTileEntity aTileEntity, int aBa hatch.updateCraftingIcon(this.getMachineCraftingIcon()); return mDualInputHatches.add(hatch); } + if (aMetaTileEntity instanceof MTEHatchSteamBusInput) return false; if (aMetaTileEntity instanceof ISmartInputHatch hatch) { mSmartInputHatches.add(hatch); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSteamBusInput.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSteamBusInput.java new file mode 100644 index 00000000000..54cf4083cf7 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSteamBusInput.java @@ -0,0 +1,51 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.implementations.MTEHatchInputBus; +import gregtech.api.recipe.RecipeMap; +import gtPlusPlus.core.lib.GTPPCore; + +public class MTEHatchSteamBusInput extends MTEHatchInputBus { + + public RecipeMap mRecipeMap = null; + + public MTEHatchSteamBusInput(int aID, String aName, String aNameRegional, int aTier) { + super(aID, aName, aNameRegional, aTier, getSlots() + 1); + } + + public MTEHatchSteamBusInput(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { + super(aName, aTier, getSlots() + 1, aDescription, aTextures); + } + + public static int getSlots() { + return 4; + } + + @Override + public String[] getDescription() { + return new String[] { "Item Input for Steam Multiblocks", + "Shift + right click with screwdriver to toggle automatic item shuffling", "Capacity: 4 stacks", + "Does not work with non-steam multiblocks", GTPPCore.GT_Tooltip.get() }; + } + + @Override + public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new MTEHatchSteamBusInput(mName, mTier, mDescriptionArray, mTextures); + } + + @Override + public int getCircuitSlot() { + return getSlots(); + } + + @Override + public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, + ItemStack aStack) { + return false; + } +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MteHatchSteamBusInput.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MteHatchSteamBusInput.java deleted file mode 100644 index 5de87c4a500..00000000000 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MteHatchSteamBusInput.java +++ /dev/null @@ -1,272 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import static gregtech.api.enums.Textures.BlockIcons.ITEM_IN_SIGN; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_PIPE_IN; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; - -import gregtech.GTMod; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GTUIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.MTEHatch; -import gregtech.api.objects.GTRenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GTUtility; -import gtPlusPlus.core.lib.GTPPCore; - -public class MteHatchSteamBusInput extends MTEHatch { - - public RecipeMap mRecipeMap = null; - public boolean disableSort; - - public MteHatchSteamBusInput(int aID, String aName, String aNameRegional, int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - getSlots(aTier), - new String[] { "Item Input for Steam Multiblocks", - "Shift + right click with screwdriver to toggle automatic item shuffling", "Capacity: 4 stacks", - "Does not work with non-steam multiblocks", GTPPCore.GT_Tooltip.get() }); - } - - public MteHatchSteamBusInput(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 4, aDescription, aTextures); - } - - public MteHatchSteamBusInput(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 4, aDescription, aTextures); - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return GTMod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(ITEM_IN_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return GTMod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(ITEM_IN_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new MteHatchSteamBusInput(mName, mTier, mDescriptionArray, mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GTUIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - } - } - - public void updateSlots() { - for (int i = 0; i < mInventory.length; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; - fillStacksIntoFirstSlots(); - } - - protected void fillStacksIntoFirstSlots() { - if (disableSort) { - for (int i = 0; i < mInventory.length; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; - } else { - for (int i = 0; i < mInventory.length; i++) - for (int j = i + 1; j < mInventory.length; j++) if (mInventory[j] != null - && (mInventory[i] == null || GTUtility.areStacksEqual(mInventory[i], mInventory[j]))) - GTUtility.moveStackFromSlotAToSlotB( - getBaseMetaTileEntity(), - getBaseMetaTileEntity(), - j, - i, - (byte) 64, - (byte) 1, - (byte) 64, - (byte) 1); - } - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("disableSort", disableSort); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - disableSort = aNBT.getBoolean("disableSort"); - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (aPlayer.isSneaking()) { - disableSort = !disableSort; - GTUtility.sendChatToPlayer( - aPlayer, - GTUtility.trans("200.1", "Automatic Item Shuffling: ") - + (disableSort ? GTUtility.trans("087", "Disabled") : GTUtility.trans("088", "Enabled"))); - } - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == getBaseMetaTileEntity().getFrontFacing() - && (mRecipeMap == null || mRecipeMap.containsInput(aStack)); - } - - @Override - public ITexture[][][] getTextureSet(ITexture[] aTextures) { - ITexture[][][] rTextures = new ITexture[14][17][]; - for (byte c = -1; c < 16; c++) { - if (rTextures[0][c + 1] == null) rTextures[0][c + 1] = getSideFacingActive(c); - if (rTextures[1][c + 1] == null) rTextures[1][c + 1] = getSideFacingInactive(c); - if (rTextures[2][c + 1] == null) rTextures[2][c + 1] = getFrontFacingActive(c); - if (rTextures[3][c + 1] == null) rTextures[3][c + 1] = getFrontFacingInactive(c); - if (rTextures[4][c + 1] == null) rTextures[4][c + 1] = getTopFacingActive(c); - if (rTextures[5][c + 1] == null) rTextures[5][c + 1] = getTopFacingInactive(c); - if (rTextures[6][c + 1] == null) rTextures[6][c + 1] = getBottomFacingActive(c); - if (rTextures[7][c + 1] == null) rTextures[7][c + 1] = getBottomFacingInactive(c); - if (rTextures[8][c + 1] == null) rTextures[8][c + 1] = getBottomFacingPipeActive(c); - if (rTextures[9][c + 1] == null) rTextures[9][c + 1] = getBottomFacingPipeInactive(c); - if (rTextures[10][c + 1] == null) rTextures[10][c + 1] = getTopFacingPipeActive(c); - if (rTextures[11][c + 1] == null) rTextures[11][c + 1] = getTopFacingPipeInactive(c); - if (rTextures[12][c + 1] == null) rTextures[12][c + 1] = getSideFacingPipeActive(c); - if (rTextures[13][c + 1] == null) rTextures[13][c + 1] = getSideFacingPipeInactive(c); - } - return rTextures; - } - - public ITexture[] getSideFacingActive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getSideFacingInactive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getFrontFacingActive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getFrontFacingInactive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getTopFacingActive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP) }; - } - - public ITexture[] getTopFacingInactive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP) }; - } - - public ITexture[] getBottomFacingActive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM) }; - } - - public ITexture[] getBottomFacingInactive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM) }; - } - - public ITexture[] getBottomFacingPipeActive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM), - new GTRenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getBottomFacingPipeInactive(byte aColor) { - return new ITexture[] { new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM), - new GTRenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getTopFacingPipeActive(byte aColor) { - return new ITexture[] { - new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP), - new GTRenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getTopFacingPipeInactive(byte aColor) { - return new ITexture[] { - new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP), - new GTRenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getSideFacingPipeActive(byte aColor) { - return new ITexture[] { - new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE), - new GTRenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getSideFacingPipeInactive(byte aColor) { - return new ITexture[] { - new GTRenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE), - new GTRenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - getBaseMetaTileEntity().add2by2Slots(builder); - } -} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GTPPMultiBlockBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GTPPMultiBlockBase.java index 9b5448ac491..03a32cf984f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GTPPMultiBlockBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GTPPMultiBlockBase.java @@ -83,7 +83,6 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.METHatchAirIntake; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchInputBattery; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchOutputBattery; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MteHatchSteamBusInput; import tectech.thing.metaTileEntity.hatch.MTEHatchDynamoMulti; import tectech.thing.metaTileEntity.hatch.MTEHatchEnergyMulti; @@ -742,8 +741,7 @@ public boolean resetRecipeMapForHatch(IGregTechTileEntity aTileEntity, RecipeMap if (aMetaTileEntity == null) { return false; } - if (aMetaTileEntity instanceof MTEHatchInput || aMetaTileEntity instanceof MTEHatchInputBus - || aMetaTileEntity instanceof MteHatchSteamBusInput) { + if (aMetaTileEntity instanceof MTEHatchInput || aMetaTileEntity instanceof MTEHatchInputBus) { return resetRecipeMapForHatch((MTEHatch) aMetaTileEntity, aMap); } else { return false; @@ -758,8 +756,7 @@ public boolean resetRecipeMapForHatch(MTEHatch aTileEntity, RecipeMap aMap) { if (aTileEntity == null) { return false; } - if (aTileEntity instanceof MTEHatchInput || aTileEntity instanceof MTEHatchInputBus - || aTileEntity instanceof MteHatchSteamBusInput) { + if (aTileEntity instanceof MTEHatchInput || aTileEntity instanceof MTEHatchInputBus) { if (aTileEntity instanceof MTEHatchInput) { ((MTEHatchInput) aTileEntity).mRecipeMap = null; ((MTEHatchInput) aTileEntity).mRecipeMap = aMap; @@ -776,14 +773,6 @@ public boolean resetRecipeMapForHatch(MTEHatch aTileEntity, RecipeMap aMap) { } else { log("Cleared Input Bus."); } - } else { - ((MteHatchSteamBusInput) aTileEntity).mRecipeMap = null; - ((MteHatchSteamBusInput) aTileEntity).mRecipeMap = aMap; - if (aMap != null) { - log("Remapped Input Bus to " + aMap.unlocalizedName + "."); - } else { - log("Cleared Input Bus."); - } } return true; } else { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java index 17c88caa20b..a9076840858 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java @@ -37,14 +37,14 @@ import gregtech.api.util.IGTHatchAdder; import gregtech.api.util.shutdown.ShutDownReasonRegistry; import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSteamBusInput; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSteamBusOutput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MteHatchSteamBusInput; import mcp.mobius.waila.api.IWailaConfigHandler; import mcp.mobius.waila.api.IWailaDataAccessor; public abstract class MTESteamMultiBase> extends GTPPMultiBlockBase { - public ArrayList mSteamInputs = new ArrayList<>(); + public ArrayList mSteamInputs = new ArrayList<>(); public ArrayList mSteamOutputs = new ArrayList<>(); public ArrayList mSteamInputFluids = new ArrayList<>(); @@ -173,7 +173,7 @@ public boolean addToMachineList(final IGregTechTileEntity aTileEntity, final int if (aMetaTileEntity instanceof MTEHatchCustomFluidBase) { log("Adding Steam Input Hatch"); aDidAdd = addToMachineListInternal(mSteamInputFluids, aMetaTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof MteHatchSteamBusInput) { + } else if (aMetaTileEntity instanceof MTEHatchSteamBusInput) { log( "Trying to set recipe map. Type: " + (getRecipeMap() != null ? getRecipeMap().unlocalizedName : "Null")); @@ -228,7 +228,7 @@ public boolean depleteInput(ItemStack aStack) { } } } - for (MteHatchSteamBusInput tHatch : validMTEList(mSteamInputs)) { + for (MTEHatchSteamBusInput tHatch : validMTEList(mSteamInputs)) { tHatch.mRecipeMap = getRecipeMap(); for (int i = tHatch.getBaseMetaTileEntity() .getSizeInventory() - 1; i >= 0; i--) { @@ -265,7 +265,7 @@ public ArrayList getStoredFluids() { @Override public ArrayList getStoredInputs() { ArrayList rList = new ArrayList<>(); - for (MteHatchSteamBusInput tHatch : validMTEList(mSteamInputs)) { + for (MTEHatchSteamBusInput tHatch : validMTEList(mSteamInputs)) { tHatch.mRecipeMap = getRecipeMap(); for (int i = tHatch.getBaseMetaTileEntity() .getSizeInventory() - 1; i >= 0; i--) { @@ -335,7 +335,7 @@ public List getItemOutputSlots(ItemStack[] toOutput) { @Override public void updateSlots() { for (MTEHatchCustomFluidBase tHatch : validMTEList(mSteamInputFluids)) tHatch.updateSlots(); - for (MteHatchSteamBusInput tHatch : validMTEList(mSteamInputs)) tHatch.updateSlots(); + for (MTEHatchSteamBusInput tHatch : validMTEList(mSteamInputs)) tHatch.updateSlots(); } @Override @@ -355,7 +355,7 @@ public void clearHatches() { @Override public boolean resetRecipeMapForAllInputHatches(RecipeMap aMap) { boolean ret = super.resetRecipeMapForAllInputHatches(aMap); - for (MteHatchSteamBusInput hatch : mSteamInputs) { + for (MTEHatchSteamBusInput hatch : mSteamInputs) { if (resetRecipeMapForHatch(hatch, aMap)) { ret = true; } @@ -428,7 +428,7 @@ protected enum SteamHatchElement implements IHatchElement> @Override public List> mteClasses() { - return Collections.singletonList(MteHatchSteamBusInput.class); + return Collections.singletonList(MTEHatchSteamBusInput.class); } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java index 465ca37b387..a9a29b3c37c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java @@ -11,8 +11,8 @@ import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSteamBusInput; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSteamBusOutput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MteHatchSteamBusInput; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam.MTESteamCentrifuge; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam.MTESteamCompressor; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam.MTESteamForgeHammer; @@ -54,7 +54,7 @@ public static void run() { .getStackForm(1)); GregtechItemList.Hatch_Input_Bus_Steam.set( - new MteHatchSteamBusInput(Hatch_Input_Bus_Steam.ID, "hatch.input_bus.tier.steam", "Input Bus (Steam)", 0) + new MTEHatchSteamBusInput(Hatch_Input_Bus_Steam.ID, "hatch.input_bus.tier.steam", "Input Bus (Steam)", 0) .getStackForm(1L)); GregtechItemList.Hatch_Output_Bus_Steam.set( new MTEHatchSteamBusOutput( From fa1a907ab1bcf15ad9e4500b6c681e18e2328e93 Mon Sep 17 00:00:00 2001 From: StaffiX <32968022+StaffiX@users.noreply.github.com> Date: Fri, 13 Dec 2024 18:55:05 +0100 Subject: [PATCH 19/21] Making Plasma Arc Furnace more useful (#3357) --- .../gregtech/api/recipe/RecipeCategories.java | 7 ------- .../java/gregtech/api/util/GTRecipeConstants.java | 8 ++++---- src/main/java/gregtech/common/config/Client.java | 4 ---- .../multi/processing/MTEIndustrialArcFurnace.java | 4 ++-- .../gui/picture/plasma_arc_furnace_recycling.png | Bin 325 -> 0 bytes 5 files changed, 6 insertions(+), 17 deletions(-) delete mode 100644 src/main/resources/assets/gregtech/textures/gui/picture/plasma_arc_furnace_recycling.png diff --git a/src/main/java/gregtech/api/recipe/RecipeCategories.java b/src/main/java/gregtech/api/recipe/RecipeCategories.java index 3112fce7053..8d0b0165434 100644 --- a/src/main/java/gregtech/api/recipe/RecipeCategories.java +++ b/src/main/java/gregtech/api/recipe/RecipeCategories.java @@ -17,13 +17,6 @@ public final class RecipeCategories { builder -> builder.setDisplayImage( createIcon(GregTech.getResourcePath("textures", "gui", "picture", "arc_furnace_recycling.png")))); - public static final RecipeCategory plasmaArcFurnaceRecycling = new RecipeCategory( - "gt.recipe.category.plasma_arc_furnace_recycling", - RecipeMaps.plasmaArcFurnaceRecipes, - () -> Client.nei.recipeCategories.plasmaArcFurnaceRecycling, - builder -> builder.setDisplayImage( - createIcon(GregTech.getResourcePath("textures", "gui", "picture", "plasma_arc_furnace_recycling.png")))); - public static final RecipeCategory maceratorRecycling = new RecipeCategory( "gt.recipe.category.macerator_recycling", RecipeMaps.maceratorRecipes, diff --git a/src/main/java/gregtech/api/util/GTRecipeConstants.java b/src/main/java/gregtech/api/util/GTRecipeConstants.java index 72b7a13fb81..e0af3d0d7d2 100644 --- a/src/main/java/gregtech/api/util/GTRecipeConstants.java +++ b/src/main/java/gregtech/api/util/GTRecipeConstants.java @@ -243,19 +243,20 @@ public class GTRecipeConstants { if (aDuration <= 0) { return Collections.emptyList(); } - builder.duration(aDuration); boolean recycle = builder.getMetadataOrDefault(RECYCLE, false); Collection ret = new ArrayList<>(); for (Materials mat : new Materials[] { Materials.Argon, Materials.Nitrogen }) { - int tPlasmaAmount = (int) Math.max(1L, aDuration / (mat.getMass() * 16L)); + builder.duration(Math.max(1, mat == Materials.Nitrogen ? aDuration / 4 : aDuration / 24)); + int tPlasmaAmount = (int) Math.min(1L, aDuration / (mat.getMass() * 16L)); GTRecipeBuilder plasmaBuilder = builder.copy() .fluidInputs(mat.getPlasma(tPlasmaAmount)) .fluidOutputs(mat.getGas(tPlasmaAmount)); if (recycle) { - plasmaBuilder.recipeCategory(RecipeCategories.plasmaArcFurnaceRecycling); + continue; } ret.addAll(RecipeMaps.plasmaArcFurnaceRecipes.doAdd(plasmaBuilder)); } + builder.duration(aDuration); GTRecipeBuilder arcBuilder = builder.copy() .fluidInputs(Materials.Oxygen.getGas(aDuration)); if (recycle) { @@ -264,7 +265,6 @@ public class GTRecipeConstants { ret.addAll(RecipeMaps.arcFurnaceRecipes.doAdd(arcBuilder)); return ret; }); - /** * Add a chemical reactor recipe to both LCR and singleblocks. */ diff --git a/src/main/java/gregtech/common/config/Client.java b/src/main/java/gregtech/common/config/Client.java index 5f5041720f9..1fa2766f8ed 100644 --- a/src/main/java/gregtech/common/config/Client.java +++ b/src/main/java/gregtech/common/config/Client.java @@ -213,10 +213,6 @@ public static class RecipeCategories { @Config.DefaultEnum("ENABLE") public RecipeCategorySetting arcFurnaceRecycling = ENABLE; - @Config.LangKey("gt.recipe.category.plasma_arc_furnace_recycling") - @Config.DefaultEnum("ENABLE") - public RecipeCategorySetting plasmaArcFurnaceRecycling = ENABLE; - @Config.LangKey("gt.recipe.category.macerator_recycling") @Config.DefaultEnum("ENABLE") public RecipeCategorySetting maceratorRecycling = ENABLE; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialArcFurnace.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialArcFurnace.java index 65e7c72c238..ef7e29f49f4 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialArcFurnace.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialArcFurnace.java @@ -88,7 +88,7 @@ protected MultiblockTooltipBuilder createTooltip() { MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder(); tt.addMachineType(getMachineType()) .addInfo("250% faster than using single block machines of the same voltage") - .addInfo("Processes 8 * voltage tier * W items") + .addInfo("Processes voltage tier * W items in Electric mode or 8 * voltage tier * W items in Plasma mode") .addInfo("Right-click controller with a Screwdriver to change modes") .addInfo("Max Size required to process Plasma recipes") .addPollutionAmount(getPollutionPerSecond(null)) @@ -250,7 +250,7 @@ protected ProcessingLogic createProcessingLogic() { @Override public int getMaxParallelRecipes() { - return (this.mSize * 8 * GTUtility.getTier(this.getMaxInputVoltage())); + return (this.mSize * (mPlasmaMode ? 8 : 1) * GTUtility.getTier(this.getMaxInputVoltage())); } @Override diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/plasma_arc_furnace_recycling.png b/src/main/resources/assets/gregtech/textures/gui/picture/plasma_arc_furnace_recycling.png deleted file mode 100644 index 2dbf7ce07057896bc3d542500a8fe63c13d25b7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 325 zcmV-L0lNN)P)q`a)sH#$V_DA z2UZ}Y8Rort^CbA^GO1*q=MwHkQ4IOEZAbN!XJ7#5+;F$niatjQVz6FXiB@x`z`|F z{FTFA Date: Fri, 13 Dec 2024 10:11:14 -0800 Subject: [PATCH 20/21] Adds Tin Alloy mixer recipe (#3542) Co-authored-by: Martin Robertz --- .../loaders/postload/recipes/MixerRecipes.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java index 09400b8ba71..1fd049feb0c 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java @@ -72,6 +72,16 @@ public void run() { .eut(8) .addTo(mixerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 1), + GTUtility.getIntegratedCircuit(4)) + .itemOutputs(GTOreDictUnificator.getDust(Materials.TinAlloy, 2L * OrePrefixes.dust.mMaterialAmount)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + GTValues.RA.stdBuilder() .itemInputs( GTOreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 4), From d523b675c6a37ffdd784df70e0675333ac94bac8 Mon Sep 17 00:00:00 2001 From: Yoshy <60155833+Yoshy2002@users.noreply.github.com> Date: Fri, 13 Dec 2024 21:12:52 +0100 Subject: [PATCH 21/21] Fix a few Glass Tooltips (#3648) --- .../machines/multi/MTEIndustrialElectromagneticSeparator.java | 2 +- .../tileentities/machines/multi/MTEIndustrialExtractor.java | 2 +- .../tileentities/machines/multi/MTEIndustrialLaserEngraver.java | 2 +- .../common/tileentities/machines/multi/MTEMultiLathe.java | 1 + .../machines/multi/compressor/MTEHIPCompressor.java | 2 +- .../machines/multi/compressor/MTEIndustrialCompressor.java | 2 +- 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialElectromagneticSeparator.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialElectromagneticSeparator.java index 4bdd7218f6a..7bcd39d1295 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialElectromagneticSeparator.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialElectromagneticSeparator.java @@ -218,7 +218,7 @@ protected MultiblockTooltipBuilder createTooltip() { .beginStructureBlock(7, 6, 7, false) .addController("Front Center") .addCasingInfoMin("MagTech Casings", MIN_CASING, false) - .addOtherStructurePart("Any glass", "x12") + .addCasingInfoExactly("Any Glass", 12, false) .addOtherStructurePart("Magnetic Neodymium Frame Box", "x37") .addOtherStructurePart("Electromagnet Housing", "1 Block Above/Behind Controller", 2) .addInputBus("Any Casing", 1) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialExtractor.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialExtractor.java index a82e5555474..9ae573798e8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialExtractor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialExtractor.java @@ -172,7 +172,7 @@ protected MultiblockTooltipBuilder createTooltip() { .addController("Front Center") .addCasingInfoMin("Stainless Steel Machine Casing", 45, false) .addCasingInfoExactly("Item Pipe Casing", 19, true) - .addCasingInfoExactly("EV+ Glass", 8, false) + .addCasingInfoExactly("Any Glass", 8, false) .addInputBus("Any Stainless Steel Casing", 1) .addOutputBus("Any Stainless Steel Casing", 1) .addEnergyHatch("Any Stainless Steel Casing", 1) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java index 36573c09928..314bbfb16e7 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java @@ -248,8 +248,8 @@ protected MultiblockTooltipBuilder createTooltip() { .addController("Front Center") .addCasingInfoMin("Laser Containment Casing", 35, false) .addCasingInfoExactly("Tungstensteel Frame Box", 9, false) + .addCasingInfoExactly("Glass", 3, true) .addOtherStructurePart("Laser Resistant Plate", "x1") - .addOtherStructurePart("Glass (Tiered)", "x3") .addOtherStructurePart("Laser Source Hatch", "x1", 3) .addInputBus("Any Casing", 1) .addInputHatch("Any Casing", 1) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java index d85eead5148..7206abafd9f 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiLathe.java @@ -243,6 +243,7 @@ protected MultiblockTooltipBuilder createTooltip() { .addController("Front Center") .addCasingInfoMin("Solid Steel Machine Casing", 42, false) .addCasingInfoExactly("Grate Machine Casing", 9, false) + .addCasingInfoExactly("Any Glass", 32, false) .addInputBus("Any Solid Steel Casing", 1) .addOutputBus("Any Solid Steel Casing", 1) .addEnergyHatch("Any Solid Steel Casing", 1) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEHIPCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEHIPCompressor.java index 19bb69fbced..8ac1025d481 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEHIPCompressor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEHIPCompressor.java @@ -269,7 +269,7 @@ protected MultiblockTooltipBuilder createTooltip() { .addCasingInfoMin("Compressor Pipe Casing", 60, false) .addCasingInfoExactly("Coolant Duct", 12, false) .addCasingInfoExactly("Heating Duct", 12, false) - .addCasingInfoExactly("EV+ Glass", 22, false) + .addCasingInfoExactly("Any Glass", 22, false) .addCasingInfoExactly("Coil", 30, true) .addOtherStructurePart("Heat Sensor Hatch", "Any Electric Compressor Casing", 1) .addInputBus("Pipe Casings on Side", 2) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEIndustrialCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEIndustrialCompressor.java index a8f4fd5752d..c62cf22896b 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEIndustrialCompressor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEIndustrialCompressor.java @@ -150,7 +150,7 @@ protected MultiblockTooltipBuilder createTooltip() { .addController("Front Center") .addCasingInfoMin("Electric Compressor Casing", 95, false) .addCasingInfoMin("Compressor Pipe Casing", 45, false) - .addCasingInfoExactly("EV+ Glass", 6, false) + .addCasingInfoExactly("Any Glass", 6, false) .addInputBus("Pipe Casings on Side", 2) .addInputHatch("Pipe Casings on Side", 2) .addOutputBus("Pipe Casings on Side", 2)