diff --git a/dependencies.gradle b/dependencies.gradle index cd31dd1ba53..43964d60f9a 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -36,14 +36,14 @@ dependencies { api("com.github.GTNewHorizons:StructureLib:1.4.2:dev") api("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") - api("com.github.GTNewHorizons:NotEnoughItems:2.7.18-GTNH:dev") + api("com.github.GTNewHorizons:NotEnoughItems:2.7.20-GTNH:dev") api("com.github.GTNewHorizons:NotEnoughIds:2.1.6:dev") - api("com.github.GTNewHorizons:GTNHLib:0.6.1:dev") + api("com.github.GTNewHorizons:GTNHLib:0.6.2:dev") api("com.github.GTNewHorizons:ModularUI:1.2.17:dev") api("com.github.GTNewHorizons:ModularUI2:2.2.0-1.7.10:dev") api("com.github.GTNewHorizons:waila:1.8.2:dev") api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-521-GTNH:dev") - api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.21-gtnh:dev") + api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.22-gtnh:dev") api('com.github.GTNewHorizons:Yamcl:0.6.0:dev') api("com.github.GTNewHorizons:Postea:1.0.13:dev") @@ -64,7 +64,7 @@ dependencies { compileOnlyApi("com.github.GTNewHorizons:EnderIO:2.9.2:dev") { transitive = false } compileOnlyApi("com.github.GTNewHorizons:ForestryMC:4.10.1:dev") { transitive = false } compileOnlyApi("com.github.GTNewHorizons:ProjectRed:4.11.0-GTNH:dev") { transitive = false } - compileOnlyApi("com.github.GTNewHorizons:Railcraft:9.16.2:dev") { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:Railcraft:9.16.3:dev") { transitive = false } compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.27:deobf") {transitive = false} compileOnly("com.github.GTNewHorizons:ThaumicBases:1.8.2:dev") { transitive = false } @@ -72,16 +72,16 @@ dependencies { compileOnly('com.github.GTNewHorizons:VisualProspecting:1.4.0:dev') { transitive = false } compileOnly("com.github.GTNewHorizons:Galaxy-Space-GTNH:1.1.106-GTNH:dev") { transitive = false } - compileOnlyApi("com.github.GTNewHorizons:Galacticraft:3.3.2-GTNH:dev") { transitive = false } - implementation("com.github.GTNewHorizons:TinkersConstruct:1.13.3-GTNH:dev") + compileOnlyApi("com.github.GTNewHorizons:Galacticraft:3.3.3-GTNH:dev") { transitive = false } + implementation("com.github.GTNewHorizons:TinkersConstruct:1.13.4-GTNH:dev") - compileOnly("com.github.GTNewHorizons:Chisel:2.16.1-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Chisel:2.16.2-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Translocators:1.3.0:dev") { transitive = false } 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.6.13:dev") - compileOnly('com.github.GTNewHorizons:Botania:1.12.3-GTNH:dev') { transitive = false } + implementation("com.github.GTNewHorizons:Hodgepodge:2.6.15:dev") + compileOnly('com.github.GTNewHorizons:Botania:1.12.5-GTNH:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:HoloInventory:2.5.0-GTNH:dev') { transitive = false } compileOnly rfg.deobf("curse.maven:extra-utilities-225561:2264384") compileOnly rfg.deobf('curse.maven:minefactory-reloaded-66672:2366150') @@ -97,7 +97,7 @@ dependencies { compileOnly('com.github.GTNewHorizons:SC2:2.3.0:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Binnie:2.5.2:dev') {transitive = false} compileOnly('curse.maven:PlayerAPI-228969:2248928') {transitive=false} - devOnlyNonPublishable('com.github.GTNewHorizons:BlockRenderer6343:1.3.1:dev'){transitive=false} + devOnlyNonPublishable('com.github.GTNewHorizons:BlockRenderer6343:1.3.2:dev'){transitive=false} compileOnly("com.google.auto.value:auto-value-annotations:1.10.1") { transitive = false } annotationProcessor("com.google.auto.value:auto-value:1.10.1") diff --git a/settings.gradle b/settings.gradle index 0147a994492..7a562ea19b2 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.30' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.31' } diff --git a/src/main/java/bartworks/system/material/Werkstoff.java b/src/main/java/bartworks/system/material/Werkstoff.java index 5ae7136934e..85e31fc20ae 100644 --- a/src/main/java/bartworks/system/material/Werkstoff.java +++ b/src/main/java/bartworks/system/material/Werkstoff.java @@ -763,11 +763,6 @@ public static void initPrefixLogic() { Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuadruple, 0x200); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuintuple, 0x200); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateDense, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotDouble, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotTriple, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotQuadruple, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotQuintuple, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.blockCasing, 0x380); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.blockCasingAdvanced, 0x380); } diff --git a/src/main/java/bartworks/system/material/WerkstoffLoader.java b/src/main/java/bartworks/system/material/WerkstoffLoader.java index cc3fdd749e5..e25402c57cb 100644 --- a/src/main/java/bartworks/system/material/WerkstoffLoader.java +++ b/src/main/java/bartworks/system/material/WerkstoffLoader.java @@ -40,11 +40,7 @@ import static gregtech.api.enums.OrePrefixes.gemFlawed; import static gregtech.api.enums.OrePrefixes.gemFlawless; import static gregtech.api.enums.OrePrefixes.ingot; -import static gregtech.api.enums.OrePrefixes.ingotDouble; import static gregtech.api.enums.OrePrefixes.ingotHot; -import static gregtech.api.enums.OrePrefixes.ingotQuadruple; -import static gregtech.api.enums.OrePrefixes.ingotQuintuple; -import static gregtech.api.enums.OrePrefixes.ingotTriple; import static gregtech.api.enums.OrePrefixes.lens; import static gregtech.api.enums.OrePrefixes.nugget; import static gregtech.api.enums.OrePrefixes.ore; @@ -1976,11 +1972,7 @@ private static void addItemsForGeneration() { WerkstoffLoader.items.put(plateTriple, new BWMetaGeneratedItems(plateTriple)); WerkstoffLoader.items.put(plateQuadruple, new BWMetaGeneratedItems(plateQuadruple)); WerkstoffLoader.items.put(plateQuintuple, new BWMetaGeneratedItems(plateQuintuple)); - WerkstoffLoader.items.put(plateDense, new BWMetaGeneratedItems(plateDense)); - WerkstoffLoader.items.put(ingotDouble, new BWMetaGeneratedItems(ingotDouble)); - WerkstoffLoader.items.put(ingotTriple, new BWMetaGeneratedItems(ingotTriple)); - WerkstoffLoader.items.put(ingotQuadruple, new BWMetaGeneratedItems(ingotQuadruple)); - WerkstoffLoader.items.put(ingotQuintuple, new BWMetaGeneratedItems(ingotQuintuple)); + WerkstoffLoader.items.put(plateDense, new BWMetaGeneratedItems(plateDense));; } ENABLED_ORE_PREFIXES.addAll(WerkstoffLoader.items.keySet()); ENABLED_ORE_PREFIXES.add(ore); diff --git a/src/main/java/bartworks/util/BWUtil.java b/src/main/java/bartworks/util/BWUtil.java index 5f536030518..e8fa1b0c4e0 100644 --- a/src/main/java/bartworks/util/BWUtil.java +++ b/src/main/java/bartworks/util/BWUtil.java @@ -427,181 +427,176 @@ public static ShapedOreRecipe createGTCraftingRecipe(ItemStack aResult, Enchantm } } - try { - StringBuilder shape = new StringBuilder(E); - int idx = 0; - if (aRecipe[idx] instanceof Boolean) { - throw new IllegalArgumentException(); - } + StringBuilder shape = new StringBuilder(E); + int idx = 0; + if (aRecipe[idx] instanceof Boolean) { + throw new IllegalArgumentException(); + } - ArrayList tRecipeList = new ArrayList<>(Arrays.asList(aRecipe)); - - while (aRecipe[idx] instanceof String string) { - StringBuilder s = new StringBuilder(string); - idx++; - shape.append(s); - while (s.length() < 3) s.append(" "); - if (s.length() > 3) throw new IllegalArgumentException(); - - for (char c : s.toString() - .toCharArray()) { - switch (c) { - case 'b': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolBlade.name()); - break; - case 'c': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolCrowbar.name()); - break; - case 'd': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolScrewdriver.name()); - break; - case 'f': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolFile.name()); - break; - case 'h': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolHardHammer.name()); - break; - case 'i': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSolderingIron.name()); - break; - case 'j': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSolderingMetal.name()); - break; - case 'k': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolKnife.name()); - break; - case 'm': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolMortar.name()); - break; - case 'p': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolDrawplate.name()); - break; - case 'r': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSoftHammer.name()); - break; - case 's': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSaw.name()); - break; - case 'w': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolWrench.name()); - break; - case 'x': - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolWireCutter.name()); - break; - } + ArrayList tRecipeList = new ArrayList<>(Arrays.asList(aRecipe)); + + while (aRecipe[idx] instanceof String string) { + StringBuilder s = new StringBuilder(string); + idx++; + shape.append(s); + while (s.length() < 3) s.append(" "); + if (s.length() > 3) throw new IllegalArgumentException(); + + for (char c : s.toString() + .toCharArray()) { + switch (c) { + case 'b': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolBlade.name()); + break; + case 'c': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolCrowbar.name()); + break; + case 'd': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolScrewdriver.name()); + break; + case 'f': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolFile.name()); + break; + case 'h': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolHardHammer.name()); + break; + case 'i': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSolderingIron.name()); + break; + case 'j': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSolderingMetal.name()); + break; + case 'k': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolKnife.name()); + break; + case 'm': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolMortar.name()); + break; + case 'p': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolDrawplate.name()); + break; + case 'r': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSoftHammer.name()); + break; + case 's': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSaw.name()); + break; + case 'w': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolWrench.name()); + break; + case 'x': + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolWireCutter.name()); + break; } } + } - aRecipe = tRecipeList.toArray(); + aRecipe = tRecipeList.toArray(); - if (aRecipe[idx] instanceof Boolean) { - idx++; - } - Map tItemStackMap = new HashMap<>(); - Map tItemDataMap = new HashMap<>(); - tItemStackMap.put(' ', null); - - boolean tRemoveRecipe = true; - - for (; idx < aRecipe.length; idx += 2) { - if (aRecipe[idx] == null || aRecipe[idx + 1] == null) { - if (D1) { - GTLog.err.println( - "WARNING: Missing Item for shaped Recipe: " - + (aResult == null ? "null" : aResult.getDisplayName())); - for (Object tContent : aRecipe) GTLog.err.println(tContent); - } - return null; + if (aRecipe[idx] instanceof Boolean) { + idx++; + } + Map tItemStackMap = new HashMap<>(); + Map tItemDataMap = new HashMap<>(); + tItemStackMap.put(' ', null); + + boolean tRemoveRecipe = true; + + for (; idx < aRecipe.length; idx += 2) { + if (aRecipe[idx] == null || aRecipe[idx + 1] == null) { + if (D1) { + GTLog.err.println( + "WARNING: Missing Item for shaped Recipe: " + + (aResult == null ? "null" : aResult.getDisplayName())); + for (Object tContent : aRecipe) GTLog.err.println(tContent); } - Character chr = (Character) aRecipe[idx]; - Object in = aRecipe[idx + 1]; - if (in instanceof ItemStack) { - tItemStackMap.put(chr, GTUtility.copy(in)); - tItemDataMap.put(chr, GTOreDictUnificator.getItemData((ItemStack) in)); - } else if (in instanceof ItemData) { - String tString = in.toString(); - switch (tString) { - case "plankWood": - tItemDataMap.put(chr, new ItemData(Materials.Wood, M)); - break; - case "stoneNetherrack": - tItemDataMap.put(chr, new ItemData(Materials.Netherrack, M)); - break; - case "stoneObsidian": - tItemDataMap.put(chr, new ItemData(Materials.Obsidian, M)); - break; - case "stoneEndstone": - tItemDataMap.put(chr, new ItemData(Materials.Endstone, M)); - break; - default: - tItemDataMap.put(chr, (ItemData) in); - break; - } - ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); - if (tStack == null) tRemoveRecipe = false; - else tItemStackMap.put(chr, tStack); - aRecipe[idx + 1] = in.toString(); - } else if (in instanceof String) { - if (in.equals(OreDictNames.craftingChest.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Wood, M * 8)); - else if (in.equals(OreDictNames.craftingBook.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Paper, M * 3)); - else if (in.equals(OreDictNames.craftingPiston.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 4, Materials.Wood, M * 3)); - else if (in.equals(OreDictNames.craftingFurnace.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 8)); - else if (in.equals(OreDictNames.craftingIndustrialDiamond.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Diamond, M)); - else if (in.equals(OreDictNames.craftingAnvil.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Iron, M * 10)); - ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); - if (tStack == null) tRemoveRecipe = false; - else tItemStackMap.put(chr, tStack); - } else { - throw new IllegalArgumentException(); + return null; + } + Character chr = (Character) aRecipe[idx]; + Object in = aRecipe[idx + 1]; + if (in instanceof ItemStack) { + tItemStackMap.put(chr, GTUtility.copy(in)); + tItemDataMap.put(chr, GTOreDictUnificator.getItemData((ItemStack) in)); + } else if (in instanceof ItemData) { + String tString = in.toString(); + switch (tString) { + case "plankWood": + tItemDataMap.put(chr, new ItemData(Materials.Wood, M)); + break; + case "stoneNetherrack": + tItemDataMap.put(chr, new ItemData(Materials.Netherrack, M)); + break; + case "stoneObsidian": + tItemDataMap.put(chr, new ItemData(Materials.Obsidian, M)); + break; + case "stoneEndstone": + tItemDataMap.put(chr, new ItemData(Materials.Endstone, M)); + break; + default: + tItemDataMap.put(chr, (ItemData) in); + break; } + ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); + if (tStack == null) tRemoveRecipe = false; + else tItemStackMap.put(chr, tStack); + aRecipe[idx + 1] = in.toString(); + } else if (in instanceof String) { + if (in.equals(OreDictNames.craftingChest.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Wood, M * 8)); + else if (in.equals(OreDictNames.craftingBook.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Paper, M * 3)); + else if (in.equals(OreDictNames.craftingPiston.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 4, Materials.Wood, M * 3)); + else if (in.equals(OreDictNames.craftingFurnace.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 8)); + else if (in.equals(OreDictNames.craftingIndustrialDiamond.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Diamond, M)); + else if (in.equals(OreDictNames.craftingAnvil.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Iron, M * 10)); + ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); + if (tStack == null) tRemoveRecipe = false; + else tItemStackMap.put(chr, tStack); + } else { + throw new IllegalArgumentException(); } + } - if (aReversible && aResult != null) { - ItemData[] tData = new ItemData[9]; - int x = -1; - for (char chr : shape.toString() - .toCharArray()) { - x++; - tData[x] = tItemDataMap.get(chr); - } - if (GTUtility.arrayContainsNonNull(tData)) - GTOreDictUnificator.addItemData(aResult, new ItemData(tData)); + if (aReversible && aResult != null) { + ItemData[] tData = new ItemData[9]; + int x = -1; + for (char chr : shape.toString() + .toCharArray()) { + x++; + tData[x] = tItemDataMap.get(chr); } + if (GTUtility.arrayContainsNonNull(tData)) GTOreDictUnificator.addItemData(aResult, new ItemData(tData)); + } - if (aCheckForCollisions && tRemoveRecipe) { - ItemStack[] tRecipe = new ItemStack[9]; - int x = -1; - for (char chr : shape.toString() - .toCharArray()) { - x++; - tRecipe[x] = tItemStackMap.get(chr); - if (tRecipe[x] != null && Items.feather.getDamage(tRecipe[x]) == W) - Items.feather.setDamage(tRecipe[x], 0); - } - tThereWasARecipe = GTModHandler.removeRecipe(tRecipe) != null; + if (aCheckForCollisions && tRemoveRecipe) { + ItemStack[] tRecipe = new ItemStack[9]; + int x = -1; + for (char chr : shape.toString() + .toCharArray()) { + x++; + tRecipe[x] = tItemStackMap.get(chr); + if (tRecipe[x] != null && Items.feather.getDamage(tRecipe[x]) == W) + Items.feather.setDamage(tRecipe[x], 0); } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); + tThereWasARecipe = GTModHandler.removeRecipe(tRecipe) != null; } if (aResult == null || aResult.stackSize <= 0) return null; diff --git a/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java b/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java index d45aebbf8db..8558bae0e19 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java @@ -67,7 +67,7 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase implements ISurvivalConstructable, IOverclockDescriptionProvider { - private static final FluidStack[] magneticUpgrades = { Materials.TengamAttuned.getMolten(1L), + private static final FluidStack[] magneticUpgrades = { Materials.TengamPurified.getMolten(1L), MaterialsUEVplus.Time.getMolten(1L) }; private static final FluidStack[] gravityUpgrades = { MaterialsUEVplus.SpaceTime.getMolten(1L), MaterialsUEVplus.Space.getMolten(1L), MaterialsUEVplus.Eternity.getMolten(1L) }; diff --git a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java index 3f43a635231..ade10c92590 100644 --- a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java @@ -49,6 +49,7 @@ import static gregtech.api.util.GTRecipeBuilder.TICKS; import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import static gregtech.api.util.GTRecipeConstants.NKE_RANGE; +import static gregtech.api.util.GTRecipeConstants.QFT_CATALYST; import static gregtech.api.util.GTRecipeConstants.QFT_FOCUS_TIER; import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import static gregtech.common.items.MetaGeneratedItem01.registerCauldronCleaningFor; @@ -94,8 +95,7 @@ public static void RecipeLoad() { .itemInputs( naquadahEarth.get(OrePrefixes.dust, 32), Materials.Sodium.getDust(64), - Materials.Carbon.getDust(1), - GTUtility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) + Materials.Carbon.getDust(1)) .itemOutputs( inertNaquadah.get(OrePrefixes.dust, 1), Materials.Titanium.getDust(64), @@ -107,6 +107,7 @@ public static void RecipeLoad() { Materials.Oxygen.getGas(100L)) .duration(10 * SECONDS) .eut(GTValues.VP[10]) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) .metadata(QFT_FOCUS_TIER, 2) .addTo(quantumForceTransformerRecipes); // Enriched Naquadah (UIV) @@ -114,21 +115,18 @@ public static void RecipeLoad() { .itemInputs( enrichedNaquadahEarth.get(OrePrefixes.dust, 32), Materials.Zinc.getDust(64), - Materials.Carbon.getDust(1), - GTUtility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) + Materials.Carbon.getDust(1)) .itemOutputs(inertEnrichedNaquadah.get(OrePrefixes.dust, 1), Materials.Trinium.getDust(64)) .fluidInputs(Materials.SulfuricAcid.getFluid(16000), Materials.Oxygen.getGas(100L)) .fluidOutputs(wasteLiquid.getFluidOrGas(32000)) .duration(10 * SECONDS) .eut(GTValues.VP[11]) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) .metadata(QFT_FOCUS_TIER, 2) .addTo(quantumForceTransformerRecipes); // Naquadria (UMV) GTValues.RA.stdBuilder() - .itemInputs( - naquadriaEarth.get(OrePrefixes.dust, 32), - Materials.Magnesium.getDust(64), - GTUtility.copyAmount(0, GenericChem.mAdvancedNaquadahCatalyst)) + .itemInputs(naquadriaEarth.get(OrePrefixes.dust, 32), Materials.Magnesium.getDust(64)) .itemOutputs( inertNaquadria.get(OrePrefixes.dust, 1), Materials.Barium.getDust(64), @@ -140,6 +138,7 @@ public static void RecipeLoad() { Materials.Oxygen.getGas(100L)) .duration(5 * SECONDS) .eut(GTValues.VP[12]) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mAdvancedNaquadahCatalyst)) .metadata(QFT_FOCUS_TIER, 3) .addTo(quantumForceTransformerRecipes); diff --git a/src/main/java/goodgenerator/util/MaterialFix.java b/src/main/java/goodgenerator/util/MaterialFix.java index cfcb9f69499..dcac7ae43d6 100644 --- a/src/main/java/goodgenerator/util/MaterialFix.java +++ b/src/main/java/goodgenerator/util/MaterialFix.java @@ -135,7 +135,7 @@ public static void MaterialFluidExtractionFix(Werkstoff material) { public static void addRecipeForMultiItems() { for (Werkstoff tMaterial : Werkstoff.werkstoffHashSet) { if (tMaterial == null) continue; - if (tMaterial.hasItemType(OrePrefixes.plateDouble) && tMaterial.hasItemType(OrePrefixes.ingotDouble)) { + if (tMaterial.hasItemType(OrePrefixes.plateDouble)) { GTValues.RA.stdBuilder() .itemInputs(tMaterial.get(OrePrefixes.plate, 2), GTUtility.getIntegratedCircuit(2)) .itemOutputs(tMaterial.get(OrePrefixes.plateDouble, 1)) @@ -146,24 +146,11 @@ public static void addRecipeForMultiItems() { 1L) * TICKS) .eut(TierEU.RECIPE_MV / 2) .addTo(benderRecipes); - GTValues.RA.stdBuilder() - .itemInputs(tMaterial.get(OrePrefixes.ingotDouble, 1), GTUtility.getIntegratedCircuit(1)) - .itemOutputs(tMaterial.get(OrePrefixes.plateDouble, 1)) - .duration( - Math.max( - tMaterial.getStats() - .getMass(), - 1L) * TICKS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(benderRecipes); GTModHandler.addCraftingRecipe( tMaterial.get(OrePrefixes.plateDouble, 1), new Object[] { "P", "P", "h", 'P', tMaterial.get(OrePrefixes.plate, 1) }); - GTModHandler.addCraftingRecipe( - tMaterial.get(OrePrefixes.ingotDouble, 1), - new Object[] { "P", "P", "h", 'P', tMaterial.get(OrePrefixes.ingot, 1) }); } - if (tMaterial.hasItemType(OrePrefixes.plateTriple) && tMaterial.hasItemType(OrePrefixes.ingotTriple)) { + if (tMaterial.hasItemType(OrePrefixes.plateTriple)) { GTValues.RA.stdBuilder() .itemInputs(tMaterial.get(OrePrefixes.plate, 3), GTUtility.getIntegratedCircuit(3)) .itemOutputs(tMaterial.get(OrePrefixes.plateTriple, 1)) @@ -184,24 +171,10 @@ public static void addRecipeForMultiItems() { 1L) * TICKS) .eut(TierEU.RECIPE_MV / 2) .addTo(benderRecipes); - GTValues.RA.stdBuilder() - .itemInputs(tMaterial.get(OrePrefixes.ingotTriple, 1), GTUtility.getIntegratedCircuit(1)) - .itemOutputs(tMaterial.get(OrePrefixes.plateTriple, 1)) - .duration( - Math.max( - tMaterial.getStats() - .getMass(), - 1L) * TICKS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(benderRecipes); GTModHandler.addCraftingRecipe( tMaterial.get(OrePrefixes.plateTriple, 1), new Object[] { "B", "P", "h", 'P', tMaterial.get(OrePrefixes.plate, 1), 'B', tMaterial.get(OrePrefixes.plateDouble, 1) }); - GTModHandler.addCraftingRecipe( - tMaterial.get(OrePrefixes.ingotTriple, 1), - new Object[] { "B", "P", "h", 'P', tMaterial.get(OrePrefixes.ingot, 1), 'B', - tMaterial.get(OrePrefixes.ingotDouble, 1) }); } if (tMaterial.hasItemType(OrePrefixes.plateDense)) { GTValues.RA.stdBuilder() @@ -225,7 +198,7 @@ public static void addRecipeForMultiItems() { .eut(TierEU.RECIPE_MV / 2) .addTo(benderRecipes); - if (tMaterial.hasItemType(OrePrefixes.plateTriple) && tMaterial.hasItemType(OrePrefixes.ingotTriple)) { + if (tMaterial.hasItemType(OrePrefixes.plateTriple)) { GTValues.RA.stdBuilder() .itemInputs(tMaterial.get(OrePrefixes.plateTriple, 3), GTUtility.getIntegratedCircuit(3)) .itemOutputs(tMaterial.get(OrePrefixes.plateDense, 1)) @@ -236,16 +209,6 @@ public static void addRecipeForMultiItems() { 1L) * TICKS) .eut(TierEU.RECIPE_MV / 2) .addTo(benderRecipes); - GTValues.RA.stdBuilder() - .itemInputs(tMaterial.get(OrePrefixes.ingotTriple, 3), GTUtility.getIntegratedCircuit(3)) - .itemOutputs(tMaterial.get(OrePrefixes.plateDense, 1)) - .duration( - Math.max( - tMaterial.getStats() - .getMass() * 3, - 1L) * TICKS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(benderRecipes); } } if (tMaterial.hasItemType(OrePrefixes.stickLong)) { diff --git a/src/main/java/gregtech/GTMod.java b/src/main/java/gregtech/GTMod.java index a9379f18df2..fd4ee20efc5 100644 --- a/src/main/java/gregtech/GTMod.java +++ b/src/main/java/gregtech/GTMod.java @@ -256,11 +256,7 @@ public void onPreLoad(FMLPreInitializationEvent aEvent) { } for (Runnable tRunnable : GregTechAPI.sBeforeGTPreload) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } GTPreLoad.getConfiguration(aEvent.getModConfigurationDirectory()); @@ -314,11 +310,7 @@ public void onPreLoad(FMLPreInitializationEvent aEvent) { GTUIInfos.init(); for (Runnable tRunnable : GregTechAPI.sAfterGTPreload) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } if (FMLCommonHandler.instance() @@ -333,11 +325,7 @@ public void onLoad(FMLInitializationEvent aEvent) { } for (Runnable tRunnable : GregTechAPI.sBeforeGTLoad) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } if (Forestry.isModLoaded()) @@ -374,11 +362,7 @@ public void onLoad(FMLInitializationEvent aEvent) { GTLog.ore.println("GTMod: Load-Phase finished!"); for (Runnable tRunnable : GregTechAPI.sAfterGTLoad) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } } @@ -390,11 +374,7 @@ public void onPostLoad(FMLPostInitializationEvent aEvent) { // Seems only used by GGFab so far for (Runnable tRunnable : GregTechAPI.sBeforeGTPostload) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } gregtechproxy.onPostLoad(); @@ -545,11 +525,7 @@ public void onPostLoad(FMLPostInitializationEvent aEvent) { GTLog.out.println("GTMod: PostLoad-Phase finished!"); GTLog.ore.println("GTMod: PostLoad-Phase finished!"); for (Runnable tRunnable : GregTechAPI.sAfterGTPostload) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } GTPostLoad.addFakeRecipes(); @@ -580,11 +556,7 @@ public void onPostLoad(FMLPostInitializationEvent aEvent) { public void onLoadComplete(FMLLoadCompleteEvent aEvent) { gregtechproxy.onLoadComplete(); for (Runnable tRunnable : GregTechAPI.sGTCompleteLoad) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } GregTechAPI.sGTCompleteLoad = null; GregTechAPI.sFullLoadFinished = true; @@ -604,11 +576,7 @@ public void onServerAboutToStart(FMLServerAboutToStartEvent aEvent) { public void onServerStarting(FMLServerStartingEvent aEvent) { for (Runnable tRunnable : GregTechAPI.sBeforeGTServerstart) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } gregtechproxy.onServerStarting(); @@ -739,11 +707,7 @@ public void onServerStarting(FMLServerStartingEvent aEvent) { GTLog.ore.println("GTMod: ServerStarting-Phase finished!"); for (Runnable tRunnable : GregTechAPI.sAfterGTServerstart) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } aEvent.registerServerCommand(new GTCommand()); @@ -782,36 +746,24 @@ public void doSonictronSound(ItemStack aStack, World aWorld, double aX, double a public void onIDChangingEvent(FMLModIdMappingEvent aEvent) { GTUtility.reInit(); GTRecipe.reInit(); - try { - for (Map gt_itemStackMap : GregTechAPI.sItemStackMappings) { - GTUtility.reMap(gt_itemStackMap); - } - for (SetMultimap gt_itemStackMap : GregTechAPI.itemStackMultiMaps) { - GTUtility.reMap(gt_itemStackMap); - } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); + for (Map gt_itemStackMap : GregTechAPI.sItemStackMappings) { + GTUtility.reMap(gt_itemStackMap); + } + for (SetMultimap gt_itemStackMap : GregTechAPI.itemStackMultiMaps) { + GTUtility.reMap(gt_itemStackMap); } } @Mod.EventHandler public void onServerStopping(FMLServerStoppingEvent aEvent) { for (Runnable tRunnable : GregTechAPI.sBeforeGTServerstop) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } gregtechproxy.onServerStopping(); for (Runnable tRunnable : GregTechAPI.sAfterGTServerstop) { - try { - tRunnable.run(); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } + tRunnable.run(); } // Interrupt IDLE Threads to close down cleanly RunnableMachineUpdate.shutdownExecutorService(); diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java index 57ceda8f70e..4f08bf49c95 100644 --- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java +++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java @@ -1764,6 +1764,8 @@ public enum MetaTileEntityIDs { OpticalFiberCable(15470), LaserVacuumPipeCasing(15472), OpticalFiberCableCasing(15473), + TestFactoryPipe(15478), + TestFactoryHatch(15479), Ownerdetector(15480), InsaneBuckConverter(15485), LudicrousBuckConverter(15486), diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java index 81259da9bfd..f5886e03b9e 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -101,18 +101,6 @@ public enum OrePrefixes { 64, -1), dirtyGravel("Dirty Gravels", "", "", true, true, false, false, false, false, false, false, false, true, B[3], -1, 64, -1), - /** A quintuple Ingot. */ - ingotQuintuple("5x Ingots", "Quintuple ", " Ingot", true, true, false, false, false, false, true, true, false, - false, B[1], M * 5, 64, 16), - /** A quadruple Ingot. */ - ingotQuadruple("4x Ingots", "Quadruple ", " Ingot", true, true, false, false, false, false, true, true, false, - false, B[1], M * 4, 64, 15), - /** A triple Ingot. */ - ingotTriple("3x Ingots", "Triple ", " Ingot", true, true, false, false, false, false, true, false, false, false, - B[1], M * 3, 64, 14), - /** A double Ingot. Introduced by TerraFirmaCraft */ - ingotDouble("2x Ingots", "Double ", " Ingot", true, true, false, false, false, false, true, true, false, false, - B[1], M * 2, 64, 13), /** A hot Ingot, which has to be cooled down by a Vacuum Freezer. */ ingotHot("Hot Ingots", "Hot ", " Ingot", true, true, false, false, false, false, false, true, false, false, B[1], M * 1, 64, 12), @@ -688,10 +676,6 @@ public enum OrePrefixes { plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); cell.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); - ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); - ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); - ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); - ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); dust.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); @@ -700,11 +684,7 @@ public enum OrePrefixes { plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); - cell.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); - ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); - ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); - ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); - ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite);; turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); dust.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); @@ -718,10 +698,6 @@ public enum OrePrefixes { plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); cell.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); - ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); - ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); - ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); - ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); dust.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); @@ -736,10 +712,6 @@ public enum OrePrefixes { plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); cell.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); - ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); - ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); - ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); - ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); dust.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); @@ -754,10 +726,6 @@ public enum OrePrefixes { plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); cell.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); - ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); - ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); - ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); - ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); dust.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); @@ -977,11 +945,6 @@ public enum OrePrefixes { plateDense.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY); plateSuperdense.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY); - ingotDouble.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY); - ingotTriple.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY); - ingotQuadruple.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY); - ingotQuintuple.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY); - wireFine.mCondition = SubTag.METAL; // ----- @@ -1058,10 +1021,6 @@ public enum OrePrefixes { Arrays.asList( OrePrefixes.gem, OrePrefixes.ingotHot, - OrePrefixes.ingotDouble, - OrePrefixes.ingotTriple, - OrePrefixes.ingotQuadruple, - OrePrefixes.ingotQuintuple, OrePrefixes.plate, OrePrefixes.plateDouble, OrePrefixes.plateTriple, diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java index 7abb799e210..f7e7453655b 100644 --- a/src/main/java/gregtech/api/enums/TextureSet.java +++ b/src/main/java/gregtech/api/enums/TextureSet.java @@ -32,22 +32,22 @@ public class TextureSet { TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, }; private static final String[] SUFFIXES = new String[] { "/dustTiny", "/dustSmall", "/dust", "/dustImpure", "/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", 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, + "/ingotHot", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/plate", "/plateDouble", "/plateTriple", + "/plateQuadruple", "/plateQuintuple", "/plateDense", "/stick", "/lens", "/round", "/bolt", "/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, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, - aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, - "/plateSuperdense", "/handleMallet", "/toolHeadMallet", }; + aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/plateSuperdense", + "/handleMallet", "/toolHeadMallet", }; public boolean is_custom = false; diff --git a/src/main/java/gregtech/api/factory/BlockData.java b/src/main/java/gregtech/api/factory/BlockData.java new file mode 100644 index 00000000000..30bb187e17d --- /dev/null +++ b/src/main/java/gregtech/api/factory/BlockData.java @@ -0,0 +1,115 @@ +package gregtech.api.factory; + +import java.util.HashMap; +import java.util.function.Function; + +import net.minecraft.world.World; + +import org.joml.Vector4i; + +import com.gtnewhorizon.gtnhlib.util.ObjectPooler; + +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; + +public class BlockData extends HashMap { + + private final ObjectPooler pooler = new ObjectPooler<>(Vector4i::new); + + public T get(IMetaTileEntity imte) { + return imte.getBaseMetaTileEntity() != null ? get(imte.getBaseMetaTileEntity()) : null; + } + + public T get(IGregTechTileEntity igte) { + return get(igte.getWorld(), igte.getXCoord(), igte.getYCoord(), igte.getZCoord()); + } + + public T get(World world, int x, int y, int z) { + Vector4i key = pooler.getInstance(); + + key.w = world.provider.dimensionId; + key.x = x; + key.y = y; + key.z = z; + + T t = this.get(key); + + pooler.releaseInstance(key); + + return t; + } + + public void set(IMetaTileEntity imte, T t) { + if (imte.getBaseMetaTileEntity() != null) { + set(imte.getBaseMetaTileEntity(), t); + } + } + + public void set(IGregTechTileEntity igte, T t) { + set(igte.getWorld(), igte.getXCoord(), igte.getYCoord(), igte.getZCoord(), t); + } + + public T set(World world, int x, int y, int z, T t) { + Vector4i key = pooler.getInstance(); + + key.w = world.provider.dimensionId; + key.x = x; + key.y = y; + key.z = z; + + T old = this.put(key, t); + + pooler.releaseInstance(key); + + return old; + } + + public T remove(World world, int x, int y, int z) { + Vector4i key = pooler.getInstance(); + + key.w = world.provider.dimensionId; + key.x = x; + key.y = y; + key.z = z; + + T removed = this.remove(key); + + pooler.releaseInstance(key); + + return removed; + } + + public T remove(IMetaTileEntity mte) { + IGregTechTileEntity igte = mte.getBaseMetaTileEntity(); + + if (igte == null) return null; + + Vector4i key = pooler.getInstance(); + + key.w = igte.getWorld().provider.dimensionId; + key.x = igte.getXCoord(); + key.y = igte.getYCoord(); + key.z = igte.getZCoord(); + + T removed = this.remove(key); + + pooler.releaseInstance(key); + + return removed; + } + + public T computeIfAbsent(World world, int x, int y, int z, Function ctor) { + Vector4i key = pooler.getInstance(); + + key.w = world.provider.dimensionId; + key.x = x; + key.y = y; + key.z = z; + + T t = this.computeIfAbsent(key, ctor); + + pooler.releaseInstance(key); + + return t; + } +} diff --git a/src/main/java/gregtech/api/factory/BlockGroup.java b/src/main/java/gregtech/api/factory/BlockGroup.java new file mode 100644 index 00000000000..b1bf60041ba --- /dev/null +++ b/src/main/java/gregtech/api/factory/BlockGroup.java @@ -0,0 +1,64 @@ +package gregtech.api.factory; + +import java.lang.ref.WeakReference; +import java.util.Iterator; + +import net.minecraft.world.World; +import net.minecraftforge.common.DimensionManager; + +import org.joml.Vector3i; +import org.joml.Vector3ic; + +public class BlockGroup implements Iterable { + + private int worldId; + private WeakReference world; + + private int[] coords; + + public int size() { + return coords.length / 3; + } + + public World getWorld() { + World world = this.world.get(); + + if (world != null) return world; + + world = DimensionManager.getWorld(worldId); + + this.world = new WeakReference(world); + + return world; + } + + private final Vector3i pooledVec = new Vector3i(); + + public Vector3ic get(int i) { + i *= 3; + pooledVec.x = coords[i]; + pooledVec.y = coords[i + 1]; + pooledVec.z = coords[i + 2]; + return pooledVec; + } + + @Override + public Iterator iterator() { + int total = coords.length / 3; + + return new Iterator() { + + int counter = 0; + + @Override + public boolean hasNext() { + return counter < total; + } + + @Override + public Vector3ic next() { + return get(counter++); + } + }; + } +} diff --git a/src/main/java/gregtech/api/factory/IFactoryElement.java b/src/main/java/gregtech/api/factory/IFactoryElement.java new file mode 100644 index 00000000000..99da1a97758 --- /dev/null +++ b/src/main/java/gregtech/api/factory/IFactoryElement.java @@ -0,0 +1,50 @@ +package gregtech.api.factory; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import gregtech.api.factory.standard.StandardFactoryNetwork; +import it.unimi.dsi.fastutil.Pair; + +/** + * Represents a pipe, hatch, multi, or any other machine in a factory pipe system. + * You should create a new interface that extends this one, then specify your network and grid in the IFactoryElement + * generics. + */ +public interface IFactoryElement, TNetwork extends IFactoryNetwork, TGrid extends IFactoryGrid> { + + /** + * Detects all adjacent elements, regardless of what network they're on. + */ + void getNeighbours(Collection neighbours); + + TNetwork getNetwork(); + + void setNetwork(TNetwork network); + + default void onNeighbourAdded(TSelf neighbour) { + onNeighbourChanged(neighbour); + } + + default void onNeighbourRemoved(TSelf neighbour) { + onNeighbourChanged(neighbour); + } + + default void onNeighbourChanged(TSelf neighbour) { + + } + + /** + * A component is an object provided by this element. + * Generally the component implementation is just {@code this}, but it can be anything. + * In a {@link StandardFactoryNetwork}, components are grouped by their interface and can be queried by the same + * interface. + * Components are useful if you want to expose something network-wide so that any element can find it. + * + * @return A list of component interfaces and their implementations. + */ + default List, Object>> getComponents() { + return Collections.emptyList(); + } +} diff --git a/src/main/java/gregtech/api/factory/IFactoryGrid.java b/src/main/java/gregtech/api/factory/IFactoryGrid.java new file mode 100644 index 00000000000..750ae48c012 --- /dev/null +++ b/src/main/java/gregtech/api/factory/IFactoryGrid.java @@ -0,0 +1,41 @@ +package gregtech.api.factory; + +import gregtech.api.factory.standard.StandardFactoryGrid; + +/** + * A factory grid is the global coordinator for your factory pipe system. + * Grids will create and destroy networks as elements join or leave the world. + * You usually want to extend {@link StandardFactoryGrid}, not this. + */ +public interface IFactoryGrid, TElement extends IFactoryElement, TNetwork extends IFactoryNetwork> { + + /** + * Adds an element and does potentially expensive network topology updates. + * Also acts like a hard reset in case the given element has changed its neighbours. + */ + public void addElement(TElement element); + + /** + * Adds an element but does not do any network topology updates. + * Use with caution. + */ + public void addElementQuietly(TNetwork network, TElement element); + + /** + * Removes an element and does potentially expensive network topology updates. + */ + public void removeElement(TElement element); + + /** + * Removes an element but does not do any network topology updates. + * Use with caution. + */ + public void removeElementQuietly(TElement element); + + /** + * Subsumes a network into another one. + * You generally shouldn't call this unless you have a good reason since network subsuming/splitting is handled + * automatically. + */ + public void subsume(TNetwork dest, TNetwork source); +} diff --git a/src/main/java/gregtech/api/factory/IFactoryNetwork.java b/src/main/java/gregtech/api/factory/IFactoryNetwork.java new file mode 100644 index 00000000000..aa5bb6f8f85 --- /dev/null +++ b/src/main/java/gregtech/api/factory/IFactoryNetwork.java @@ -0,0 +1,30 @@ +package gregtech.api.factory; + +import java.util.Collection; + +import gregtech.api.factory.standard.StandardFactoryNetwork; + +/** + * A factory network is a logical group of factory elements. + * You usually want to extend {@link StandardFactoryNetwork}, not this. + */ +public interface IFactoryNetwork, TElement extends IFactoryElement, TGrid extends IFactoryGrid> { + + public void addElement(TElement element); + + public void removeElement(TElement element); + + public default void onNetworkRemoved() { + + } + + public default void onNetworkSubsumedPre(TSelf subsumer) { + + } + + public default void onNetworkSubsumedPost(TSelf subsumer) { + + } + + public Collection getElements(); +} diff --git a/src/main/java/gregtech/api/factory/standard/StandardFactoryGrid.java b/src/main/java/gregtech/api/factory/standard/StandardFactoryGrid.java new file mode 100644 index 00000000000..8b01e49d374 --- /dev/null +++ b/src/main/java/gregtech/api/factory/standard/StandardFactoryGrid.java @@ -0,0 +1,312 @@ +package gregtech.api.factory.standard; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.Set; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.google.common.collect.MultimapBuilder; +import com.google.common.collect.SetMultimap; + +import gregtech.GTMod; +import gregtech.api.factory.IFactoryElement; +import gregtech.api.factory.IFactoryGrid; +import gregtech.api.factory.IFactoryNetwork; + +/** + * This handles all network topology updates, and should be compatible with most pipe systems. + * A factory element should always register itself with this grid, even when it's not connected to anything. + */ +public abstract class StandardFactoryGrid, TElement extends IFactoryElement, TNetwork extends IFactoryNetwork> + implements IFactoryGrid { + + public static final Logger LOGGER = LogManager.getLogger("Standard Factory Network"); + + public final HashSet networks = new HashSet<>(); + public final HashSet vertices = new HashSet<>(); + public final SetMultimap edges = MultimapBuilder.hashKeys() + .hashSetValues() + .build(); + + protected StandardFactoryGrid() { + + } + + @Override + public void addElement(TElement element) { + removeElement(element); + + vertices.add(element); + updateNeighbours(element); + + HashSet discovered = new HashSet<>(); + HashSet networks = new HashSet<>(); + + long pre = System.nanoTime(); + + walkAdjacency(element, discovered, networks, false); + + long post = System.nanoTime(); + + LOGGER.info("Walked adjacent elements in " + (post - pre) / 1e3 + " us"); + + if (networks.size() == 0) { + // there are no neighbours, or the neighbours didn't have a network somehow (which is an illegal state! + // boo!) + TNetwork network = createNetwork(); + this.networks.add(network); + + for (TElement e : discovered) { + if (e.getNetwork() != network) { + e.setNetwork(network); + network.addElement(e); + } + } + } else if (networks.size() == 1) { + // there was one network adjacent, so we can just add all discovered elements to it if they aren't already + TNetwork network = networks.iterator() + .next(); + + for (TElement e : discovered) { + if (e.getNetwork() != network) { + e.setNetwork(network); + network.addElement(e); + } + } + } else { + // there were several adjacent networks; subsume all smaller networks into the biggest one + Iterator iter = networks.iterator(); + + TNetwork biggestNetwork = iter.next(); + + while (iter.hasNext()) { + TNetwork network = iter.next(); + + if (network.getElements() + .size() + > biggestNetwork.getElements() + .size()) + biggestNetwork = network; + } + + pre = System.nanoTime(); + + for (TNetwork network : networks) { + if (network != biggestNetwork) { + subsume(biggestNetwork, network); + } + } + + post = System.nanoTime(); + LOGGER.info("Subsumed " + (networks.size() - 1) + " networks in " + (post - pre) / 1e3 + " us"); + + for (TElement e : discovered) { + if (e.getNetwork() == null) { + e.setNetwork(biggestNetwork); + biggestNetwork.addElement(e); + } + } + } + } + + @Override + public void addElementQuietly(TNetwork network, TElement element) { + vertices.add(element); + element.setNetwork(network); + network.addElement(element); + } + + protected abstract TNetwork createNetwork(); + + @Override + public void removeElement(TElement element) { + if (!vertices.contains(element)) return; + + vertices.remove(element); + Set neighbours = edges.removeAll(element); + + TNetwork network = element.getNetwork(); + + network.removeElement(element); + element.setNetwork(null); + + // the network doesn't have any elements left, there aren't any adjacent neighbours to fix + if (network.getElements() + .isEmpty()) { + network.onNetworkRemoved(); + networks.remove(network); + return; + } + + for (TElement neighbour : neighbours) { + updateNeighbours(neighbour); + } + + // if there's only one neighbour, then this element is at the end of a chain and we can return early since we + // definitely didn't split a network + if (neighbours.size() <= 1) return; + + HashSet> neighbouringClumps = new HashSet<>(); + + // the list of all discovered elements; if one is in here, it means we've visited it already and can skip + // iterating its neighbours + HashSet discovered = new HashSet<>(); + + long pre = System.nanoTime(); + + for (TElement neighbour : neighbours) { + if (discovered.contains(neighbour)) continue; + + // find all elements connected to this neighbour + HashSet clump = new HashSet<>(); + walkAdjacency(neighbour, clump, null, true); + + neighbouringClumps.add(clump); + discovered.addAll(clump); + } + + // if there's only one clump of neighbours then the network hasn't been split + if (neighbouringClumps.size() <= 1) { + return; + } + + HashSet biggestClump = null; + + // find the biggest clump of neighbours; we'll split the other clumps from it + for (HashSet nn : neighbouringClumps) { + if (biggestClump == null || nn.size() > biggestClump.size()) biggestClump = nn; + } + + for (HashSet nn : neighbouringClumps) { + if (nn != biggestClump) { + for (TElement e : nn) { + network.removeElement(e); + } + + TNetwork newNetwork = createNetwork(); + + for (TElement e : nn) { + e.setNetwork(newNetwork); + newNetwork.addElement(e); + } + } + } + + long post = System.nanoTime(); + + // temporary logging so that I can see what the performance is like + LOGGER.info( + "Split network in " + (post - pre) / 1e3 + + " us (added " + + (neighbouringClumps.size() - 1) + + " new networks)"); + } + + @Override + public void removeElementQuietly(TElement element) { + if (!vertices.contains(element)) return; + + element.getNetwork() + .removeElement(element); + vertices.remove(element); + element.setNetwork(null); + + for (TElement neighbour : edges.removeAll(element)) { + updateNeighbours(neighbour); + } + } + + @Override + public void subsume(TNetwork dest, TNetwork source) { + source.onNetworkSubsumedPre(dest); + + for (TElement element : new ArrayList<>(source.getElements())) { + source.removeElement(element); + element.setNetwork(dest); + dest.addElement(element); + } + + source.onNetworkSubsumedPost(dest); + source.onNetworkRemoved(); + this.networks.remove(source); + } + + private void walkAdjacency(TElement start, HashSet discovered, HashSet networks, + boolean recurseIntoNetworked) { + LinkedList queue = new LinkedList<>(); + + queue.add(start); + + while (queue.size() > 0) { + TElement current = queue.removeFirst(); + + discovered.add(current); + + if (networks != null) networks.add(current.getNetwork()); + + if (recurseIntoNetworked ? true : current.getNetwork() == null) { + for (TElement neighbour : edges.get(current)) { + if (!discovered.contains(neighbour)) { + queue.add(neighbour); + } + } + } + } + + if (networks != null) networks.remove(null); + } + + public void updateNeighbours(TElement element) { + updateNeighbours(element, new HashSet<>()); + } + + private void updateNeighbours(TElement element, HashSet updated) { + if (updated.contains(element)) return; + updated.add(element); + + HashSet neighbours = new HashSet<>(); + + element.getNeighbours(neighbours); + + Set oldNeighbours = edges.removeAll(element); + edges.putAll(element, neighbours); + + for (TElement oldNeighbour : oldNeighbours) { + if (!neighbours.contains(oldNeighbour)) { + updateNeighbours(oldNeighbour, updated); + + if (edges.containsEntry(oldNeighbour, element)) { + GTMod.GT_FML_LOGGER.error( + "A factory element isn't following the graph adjacency contract. Edge B -> A was kept when edge A -> B was removed. A = " + + element + + ", B = " + + oldNeighbour); + } + + oldNeighbour.onNeighbourRemoved(element); + element.onNeighbourRemoved(oldNeighbour); + } + } + + for (TElement currentNeighbour : neighbours) { + if (!oldNeighbours.contains(currentNeighbour)) { + updateNeighbours(currentNeighbour, updated); + + if (!edges.containsEntry(currentNeighbour, element)) { + GTMod.GT_FML_LOGGER.error( + "A factory element isn't following the graph adjacency contract. Edge B -> A was not added when edge A -> B was added. A = " + + element + + ", B = " + + currentNeighbour); + } + + currentNeighbour.onNeighbourAdded(element); + element.onNeighbourAdded(currentNeighbour); + } + } + } +} diff --git a/src/main/java/gregtech/api/factory/standard/StandardFactoryNetwork.java b/src/main/java/gregtech/api/factory/standard/StandardFactoryNetwork.java new file mode 100644 index 00000000000..deb6e94f938 --- /dev/null +++ b/src/main/java/gregtech/api/factory/standard/StandardFactoryNetwork.java @@ -0,0 +1,76 @@ +package gregtech.api.factory.standard; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; + +import gregtech.api.factory.IFactoryElement; +import gregtech.api.factory.IFactoryGrid; +import gregtech.api.factory.IFactoryNetwork; + +/** + * A pretty basic factory network. + * This doesn't do much beyond tracking elements and components. + */ +public class StandardFactoryNetwork, TElement extends IFactoryElement, TGrid extends IFactoryGrid> + implements IFactoryNetwork { + + public final HashSet elements = new HashSet<>(); + public final HashMap, Collection> components = new HashMap<>(); + + @Override + public void addElement(TElement element) { + elements.add(element); + + for (var component : element.getComponents()) { + addComponentImpl(component.left(), component.right()); + } + } + + @Override + public void removeElement(TElement element) { + elements.remove(element); + + if (element != null && element.getNetwork() == this) { + for (var component : element.getComponents()) { + removeComponentImpl(component.left(), component.right()); + } + } + } + + private void addComponentImpl(Class iface, Object impl) { + components.computeIfAbsent(iface, x -> new HashSet<>()) + .add(impl); + } + + public void addComponent(Class iface, TImpl impl) { + addComponentImpl(iface, impl); + } + + private void removeComponentImpl(Class iface, Object impl) { + Collection s = components.get(iface); + + if (s != null) { + s.remove(impl); + + if (s.isEmpty()) { + components.remove(iface); + } + } + } + + public void removeComponent(Class iface, TImpl impl) { + removeComponentImpl(iface, impl); + } + + @SuppressWarnings("unchecked") + public Collection getComponents(Class iface) { + return (Collection) components.getOrDefault(iface, Collections.emptyList()); + } + + @Override + public Collection getElements() { + return elements; + } +} diff --git a/src/main/java/gregtech/api/factory/test/TestFactoryElement.java b/src/main/java/gregtech/api/factory/test/TestFactoryElement.java new file mode 100644 index 00000000000..98183fc14ed --- /dev/null +++ b/src/main/java/gregtech/api/factory/test/TestFactoryElement.java @@ -0,0 +1,10 @@ +package gregtech.api.factory.test; + +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.factory.IFactoryElement; + +public interface TestFactoryElement extends IFactoryElement { + + public boolean canConnectOnSide(ForgeDirection side); +} diff --git a/src/main/java/gregtech/api/factory/test/TestFactoryGrid.java b/src/main/java/gregtech/api/factory/test/TestFactoryGrid.java new file mode 100644 index 00000000000..a7a3c1ef384 --- /dev/null +++ b/src/main/java/gregtech/api/factory/test/TestFactoryGrid.java @@ -0,0 +1,13 @@ +package gregtech.api.factory.test; + +import gregtech.api.factory.standard.StandardFactoryGrid; + +public class TestFactoryGrid extends StandardFactoryGrid { + + public static final TestFactoryGrid INSTANCE = new TestFactoryGrid(); + + @Override + protected TestFactoryNetwork createNetwork() { + return new TestFactoryNetwork(); + } +} diff --git a/src/main/java/gregtech/api/factory/test/TestFactoryHatch.java b/src/main/java/gregtech/api/factory/test/TestFactoryHatch.java new file mode 100644 index 00000000000..38e8dd09118 --- /dev/null +++ b/src/main/java/gregtech/api/factory/test/TestFactoryHatch.java @@ -0,0 +1,148 @@ +package gregtech.api.factory.test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.MetaTileEntity; +import it.unimi.dsi.fastutil.Pair; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; +import tectech.thing.metaTileEntity.hatch.MTEBaseFactoryHatch; +import tectech.util.CommonValues; +import tectech.util.TTUtility; + +public class TestFactoryHatch extends MTEBaseFactoryHatch implements TestFactoryElement { + + public TestFactoryHatch(int aID, String aName, String aNameRegional, int aTier) { + super( + aID, + aName, + aNameRegional, + aTier, + new String[] { CommonValues.TEC_MARK_EM, + StatCollector.translateToLocal("gt.blockmachines.hatch.datain.desc.0"), + StatCollector.translateToLocal("gt.blockmachines.hatch.datain.desc.1"), + EnumChatFormatting.AQUA + StatCollector.translateToLocal("gt.blockmachines.hatch.datain.desc.2") }); + TTUtility.setTier(aTier, this); + } + + protected TestFactoryHatch(TestFactoryHatch prototype) { + super(prototype); + } + + @Override + public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new TestFactoryHatch(this); + } + + @Override + public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, + int z) { + super.getWailaNBTData(player, tile, tag, world, x, y, z); + tag.setString("network", network == null ? "null" : network.toString()); + } + + @Override + public void getWailaBody(ItemStack itemStack, List currenttip, IWailaDataAccessor accessor, + IWailaConfigHandler config) { + super.getWailaBody(itemStack, currenttip, accessor, config); + currenttip.add( + "Network: " + accessor.getNBTData() + .getString("network")); + } + + @Override + public boolean isGivingInformation() { + return true; + } + + @Override + public String[] getInfoData() { + List data = new ArrayList<>(Arrays.asList(super.getInfoData())); + + if (network == null) { + data.add("No network"); + } else { + for (TestFactoryHatch hatch : network.getComponents(TestFactoryHatch.class)) { + IGregTechTileEntity base = hatch.getBaseMetaTileEntity(); + + data.add( + base.getXCoord() + ", " + base.getYCoord() + ", " + base.getZCoord() + ": " + hatch.toString()); + } + } + + return data.toArray(new String[data.size()]); + } + + @Override + public List, Object>> getComponents() { + return Collections.singletonList(Pair.of(TestFactoryHatch.class, this)); + } + + @Override + public boolean canConnectOnSide(ForgeDirection side) { + return side == getBaseMetaTileEntity().getFrontFacing(); + } + + @Override + public void getNeighbours(Collection neighbours) { + IGregTechTileEntity base = getBaseMetaTileEntity(); + + if (base.getTileEntityAtSide(base.getFrontFacing()) instanceof IGregTechTileEntity igte + && igte.getColorization() == base.getColorization() + && igte.getMetaTileEntity() instanceof TestFactoryElement element) { + neighbours.add(element); + } + } + + private TestFactoryNetwork network; + + @Override + public TestFactoryNetwork getNetwork() { + return network; + } + + @Override + public void setNetwork(TestFactoryNetwork network) { + this.network = network; + } + + @Override + public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { + super.onFirstTick(aBaseMetaTileEntity); + + TestFactoryGrid.INSTANCE.addElement(this); + } + + @Override + public void onRemoval() { + super.onRemoval(); + + TestFactoryGrid.INSTANCE.removeElement(this); + } + + @Override + public void onFacingChange() { + super.onFacingChange(); + + TestFactoryGrid.INSTANCE.addElement(this); + } + + @Override + public void onColorChangeServer(byte aColor) { + TestFactoryGrid.INSTANCE.addElement(this); + } +} diff --git a/src/main/java/gregtech/api/factory/test/TestFactoryNetwork.java b/src/main/java/gregtech/api/factory/test/TestFactoryNetwork.java new file mode 100644 index 00000000000..d2b24a70870 --- /dev/null +++ b/src/main/java/gregtech/api/factory/test/TestFactoryNetwork.java @@ -0,0 +1,8 @@ +package gregtech.api.factory.test; + +import gregtech.api.factory.standard.StandardFactoryNetwork; + +public class TestFactoryNetwork + extends StandardFactoryNetwork { + +} diff --git a/src/main/java/gregtech/api/factory/test/TestFactoryPipe.java b/src/main/java/gregtech/api/factory/test/TestFactoryPipe.java new file mode 100644 index 00000000000..cdb2f2e6566 --- /dev/null +++ b/src/main/java/gregtech/api/factory/test/TestFactoryPipe.java @@ -0,0 +1,136 @@ +package gregtech.api.factory.test; + +import java.util.Collection; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; +import tectech.thing.metaTileEntity.pipe.MTEBaseFactoryPipe; + +public class TestFactoryPipe extends MTEBaseFactoryPipe implements TestFactoryElement { + + public TestFactoryPipe(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public TestFactoryPipe(TestFactoryPipe prototype) { + super(prototype); + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new TestFactoryPipe(this); + } + + @Override + public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, + int z) { + super.getWailaNBTData(player, tile, tag, world, x, y, z); + tag.setString("network", network == null ? "null" : network.toString()); + } + + @Override + public void getWailaBody(ItemStack itemStack, List currenttip, IWailaDataAccessor accessor, + IWailaConfigHandler config) { + super.getWailaBody(itemStack, currenttip, accessor, config); + currenttip.add( + "Network: " + accessor.getNBTData() + .getString("network")); + } + + @Override + public boolean canConnectOnSide(ForgeDirection side) { + return true; + } + + @Override + public void getNeighbours(Collection neighbours) { + IGregTechTileEntity base = getBaseMetaTileEntity(); + + if (base == null || base.isDead()) return; + + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if (base.getTileEntityAtSide(dir) instanceof IGregTechTileEntity igte) { + if (igte.getColorization() == base.getColorization()) { + if (igte.getMetaTileEntity() instanceof TestFactoryElement element) { + if (element.canConnectOnSide(dir.getOpposite())) { + neighbours.add(element); + } + } + } + } + } + } + + @Override + public void onNeighbourChanged(TestFactoryElement neighbour) { + mCheckConnections = true; + } + + @Override + protected void checkConnections() { + mConnections = 0; + + IGregTechTileEntity base = getBaseMetaTileEntity(); + + if (base == null || base.isDead()) return; + + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if (base.getTileEntityAtSide(dir) instanceof IGregTechTileEntity igte) { + if (igte.getColorization() == base.getColorization()) { + if (igte.getMetaTileEntity() instanceof TestFactoryElement element) { + if (element.canConnectOnSide(dir.getOpposite())) { + mConnections |= dir.flag; + } + } + } + } + } + } + + @Override + protected void checkActive() { + mIsActive = getBaseMetaTileEntity().getTimer() % 200 > 100; + } + + private TestFactoryNetwork network; + + @Override + public TestFactoryNetwork getNetwork() { + return network; + } + + @Override + public void setNetwork(TestFactoryNetwork network) { + this.network = network; + mCheckConnections = true; + } + + @Override + public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { + super.onFirstTick(aBaseMetaTileEntity); + + TestFactoryGrid.INSTANCE.addElement(this); + } + + @Override + public void onRemoval() { + super.onRemoval(); + + TestFactoryGrid.INSTANCE.removeElement(this); + } + + @Override + public void onColorChangeServer(byte aColor) { + TestFactoryGrid.INSTANCE.addElement(this); + } +} diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java index 824925f928f..94e818557eb 100644 --- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java +++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java @@ -339,7 +339,7 @@ ArrayList getSpecialDebugInfo(IGregTechTileEntity aBaseMetaTileEntity, E String getSpecialVoltageToolTip(); /** - * Icon of the Texture. If this returns null then it falls back to getTextureIndex. + * Icon of the Texture. * * @param side is the Side of the Block * @param facing is the direction the Block is facing diff --git a/src/main/java/gregtech/api/items/MetaBaseItem.java b/src/main/java/gregtech/api/items/MetaBaseItem.java index c6751adb96d..c9a97723068 100644 --- a/src/main/java/gregtech/api/items/MetaBaseItem.java +++ b/src/main/java/gregtech/api/items/MetaBaseItem.java @@ -27,6 +27,7 @@ import com.gtnewhorizons.modularui.api.KeyboardUtil; +import gregtech.GTMod; import gregtech.api.enums.SubTag; import gregtech.api.interfaces.IItemBehaviour; import gregtech.api.util.GTLanguageManager; @@ -146,7 +147,7 @@ public boolean onLeftClickEntity(ItemStack aStack, EntityPlayer aPlayer, Entity return false; } } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + GTMod.GT_FML_LOGGER.error("Error left clicking entity", e); } return false; } @@ -168,7 +169,7 @@ public boolean onItemUse(ItemStack aStack, EntityPlayer aPlayer, World aWorld, i return false; } } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + GTMod.GT_FML_LOGGER.error("Error using item", e); } return false; } @@ -200,7 +201,7 @@ public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWor return false; } } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + GTMod.GT_FML_LOGGER.error("Error using item", e); } return false; } @@ -214,7 +215,7 @@ public ItemStack onItemRightClick(ItemStack aStack, World aWorld, EntityPlayer a if (tList != null) for (IItemBehaviour tBehavior : tList) aStack = tBehavior.onItemRightClick(this, aStack, aWorld, aPlayer); } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + GTMod.GT_FML_LOGGER.error("Error right clicking item", e); } return aStack; } diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index d2d9f429b72..593e25a8011 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -12,6 +12,7 @@ import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -1435,7 +1436,18 @@ public void startTimeStatistics() { @Override public void getWailaBody(ItemStack itemStack, List currentTip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + if (hasValidMetaTileEntity()) { + getMetaTileEntity().getWailaBody(itemStack, currentTip, accessor, config); + } super.getWailaBody(itemStack, currentTip, accessor, config); - mMetaTileEntity.getWailaBody(itemStack, currentTip, accessor, config); + } + + @Override + public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, + int z) { + super.getWailaNBTData(player, tile, tag, world, x, y, z); + if (hasValidMetaTileEntity()) { + getMetaTileEntity().getWailaNBTData(player, tile, tag, world, x, y, z); + } } } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java index 2ede5545d12..a14a273d62a 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java @@ -1,6 +1,5 @@ package gregtech.api.metatileentity.implementations; -import static gregtech.api.enums.GTValues.D1; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP; @@ -38,7 +37,6 @@ import gregtech.api.objects.overclockdescriber.OverclockDescriber; import gregtech.api.objects.overclockdescriber.SteamOverclockDescriber; import gregtech.api.render.TextureFactory; -import gregtech.api.util.GTLog; import gregtech.api.util.GTRecipe; import gregtech.api.util.GTUtility; import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder; @@ -167,21 +165,17 @@ && getBaseMetaTileEntity().getCoverIDAtSide(getBaseMetaTileEntity().getFrontFaci getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 1))) { sendSound((byte) 9); mNeedsSteamVenting = false; - try { - for (EntityLivingBase tLiving : getBaseMetaTileEntity().getWorld() - .getEntitiesWithinAABB( - EntityLivingBase.class, - AxisAlignedBB.getBoundingBox( - getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 1), - getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 1), - getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 1), - getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 1) + 1, - getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 1) + 1, - getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 1) + 1))) { - GTUtility.applyHeatDamage(tLiving, getSteamDamage()); - } - } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + for (EntityLivingBase tLiving : getBaseMetaTileEntity().getWorld() + .getEntitiesWithinAABB( + EntityLivingBase.class, + AxisAlignedBB.getBoundingBox( + getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 1), + getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 1), + getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 1), + getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 1) + 1, + getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 1) + 1, + getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 1) + 1))) { + GTUtility.applyHeatDamage(tLiving, getSteamDamage()); } } return !mNeedsSteamVenting; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java index bfd40ee0b64..4d062540cfc 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java @@ -1,7 +1,6 @@ package gregtech.api.metatileentity.implementations; import static gregtech.api.enums.GTValues.ALL_VALID_SIDES; -import static gregtech.api.enums.GTValues.D1; import static gregtech.api.enums.Mods.TinkerConstruct; import static gregtech.api.enums.Mods.Translocator; import static gregtech.api.metatileentity.implementations.MTEFluid.Border.BOTTOM; @@ -358,38 +357,30 @@ private boolean checkEnvironment(int index, IGregTechTileEntity aBaseMetaTileEnt tFluid.amount -= 5; sendSound((byte) 9); if (tTemperature > 320) { - try { - for (EntityLivingBase tLiving : getBaseMetaTileEntity().getWorld() - .getEntitiesWithinAABB( - EntityLivingBase.class, - AxisAlignedBB.getBoundingBox( - getBaseMetaTileEntity().getXCoord() - 2, - getBaseMetaTileEntity().getYCoord() - 2, - getBaseMetaTileEntity().getZCoord() - 2, - getBaseMetaTileEntity().getXCoord() + 3, - getBaseMetaTileEntity().getYCoord() + 3, - getBaseMetaTileEntity().getZCoord() + 3))) { - GTUtility.applyHeatDamage(tLiving, (tTemperature - 300) / 25.0F); - } - } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + for (EntityLivingBase tLiving : getBaseMetaTileEntity().getWorld() + .getEntitiesWithinAABB( + EntityLivingBase.class, + AxisAlignedBB.getBoundingBox( + getBaseMetaTileEntity().getXCoord() - 2, + getBaseMetaTileEntity().getYCoord() - 2, + getBaseMetaTileEntity().getZCoord() - 2, + getBaseMetaTileEntity().getXCoord() + 3, + getBaseMetaTileEntity().getYCoord() + 3, + getBaseMetaTileEntity().getZCoord() + 3))) { + GTUtility.applyHeatDamage(tLiving, (tTemperature - 300) / 25.0F); } } else if (tTemperature < 260) { - try { - for (EntityLivingBase tLiving : getBaseMetaTileEntity().getWorld() - .getEntitiesWithinAABB( - EntityLivingBase.class, - AxisAlignedBB.getBoundingBox( - getBaseMetaTileEntity().getXCoord() - 2, - getBaseMetaTileEntity().getYCoord() - 2, - getBaseMetaTileEntity().getZCoord() - 2, - getBaseMetaTileEntity().getXCoord() + 3, - getBaseMetaTileEntity().getYCoord() + 3, - getBaseMetaTileEntity().getZCoord() + 3))) { - GTUtility.applyFrostDamage(tLiving, (270 - tTemperature) / 12.5F); - } - } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + for (EntityLivingBase tLiving : getBaseMetaTileEntity().getWorld() + .getEntitiesWithinAABB( + EntityLivingBase.class, + AxisAlignedBB.getBoundingBox( + getBaseMetaTileEntity().getXCoord() - 2, + getBaseMetaTileEntity().getYCoord() - 2, + getBaseMetaTileEntity().getZCoord() - 2, + getBaseMetaTileEntity().getXCoord() + 3, + getBaseMetaTileEntity().getYCoord() + 3, + getBaseMetaTileEntity().getZCoord() + 3))) { + GTUtility.applyFrostDamage(tLiving, (270 - tTemperature) / 12.5F); } } } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEHatch.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEHatch.java index 8eb11ab37f2..f5bf525fd11 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEHatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEHatch.java @@ -66,23 +66,31 @@ public ITexture[][][] getTextureSet(ITexture[] aTextures) { @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing, int colorIndex, boolean aActive, boolean redstoneLevel) { - int texturePointer = (byte) (actualTexture & 0x7F); // just to be sure, from my testing the 8th bit cannot be - // set clientside - int textureIndex = texturePointer | (mTexturePage << 7); // Shift seven since one page is 128 textures! + // just to be sure, from my testing the 8th bit cannot be set clientside + int texturePointer = (byte) (actualTexture & 0x7F); + // Shift seven since one page is 128 textures! + int textureIndex = texturePointer | (mTexturePage << 7); try { if (side != aFacing) { - if (textureIndex > 0) + if (textureIndex > 0) { return new ITexture[] { Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer] }; - else return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][colorIndex + 1] }; + } else { + return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][colorIndex + 1] }; + } } else { if (textureIndex > 0) { - if (aActive) + if (aActive) { return getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]); - else return getTexturesInactive( - Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]); + } else { + return getTexturesInactive( + Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]); + } } else { - if (aActive) return getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][colorIndex + 1]); - else return getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][colorIndex + 1]); + if (aActive) { + return getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][colorIndex + 1]); + } else { + return getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][colorIndex + 1]); + } } } } catch (NullPointerException npe) { diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java index 5210c567df3..98b41a62f21 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java @@ -969,8 +969,8 @@ protected CheckRecipeResult doCheckRecipe() { } /** - * Override to perform additional checkRecipe logic. It gets called after CRIBs and before ordinal hatches. - * + * Override to perform additional checkRecipe logic. It gets called after CRIBs and before ordinary hatches. + * * @param lastResult Last result of checkRecipe. It might contain interesting info about failure, so don't blindly * overwrite it. Refer to {@link #doCheckRecipe} for how to handle it. * @return Result of the checkRecipe. diff --git a/src/main/java/gregtech/api/recipe/NEIRecipeProperties.java b/src/main/java/gregtech/api/recipe/NEIRecipeProperties.java index 1b62ca03901..f465d516b1b 100644 --- a/src/main/java/gregtech/api/recipe/NEIRecipeProperties.java +++ b/src/main/java/gregtech/api/recipe/NEIRecipeProperties.java @@ -1,11 +1,15 @@ package gregtech.api.recipe; import java.util.Comparator; +import java.util.function.Function; import java.util.function.UnaryOperator; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + import com.gtnewhorizons.modularui.api.math.Pos2d; import com.gtnewhorizons.modularui.api.math.Size; @@ -67,6 +71,23 @@ static NEIRecipePropertiesBuilder builder() { */ public final boolean renderRealStackSizes; + /** + * Specifies what item inputs get displayed on NEI. + */ + public final Function itemInputsGetter; + /** + * Specifies what fluid inputs get displayed on NEI. + */ + public final Function fluidInputsGetter; + /** + * Specifies what item outputs get displayed on NEI. + */ + public final Function itemOutputsGetter; + /** + * Specifies what fluid outputs get displayed on NEI. + */ + public final Function fluidOutputsGetter; + /** * Comparator for NEI recipe sort. {@link GTRecipe#compareTo(GTRecipe)} by default. */ @@ -75,6 +96,8 @@ static NEIRecipePropertiesBuilder builder() { NEIRecipeProperties(boolean registerNEI, @Nullable UnaryOperator handlerInfoCreator, Size recipeBackgroundSize, Pos2d recipeBackgroundOffset, INEISpecialInfoFormatter neiSpecialInfoFormatter, boolean unificateOutput, boolean useCustomFilter, boolean renderRealStackSizes, + Function itemInputsGetter, Function fluidInputsGetter, + Function itemOutputsGetter, Function fluidOutputsGetter, Comparator comparator) { this.registerNEI = registerNEI; this.handlerInfoCreator = handlerInfoCreator; @@ -84,6 +107,10 @@ static NEIRecipePropertiesBuilder builder() { this.unificateOutput = unificateOutput; this.useCustomFilter = useCustomFilter; this.renderRealStackSizes = renderRealStackSizes; + this.itemInputsGetter = itemInputsGetter; + this.fluidInputsGetter = fluidInputsGetter; + this.itemOutputsGetter = itemOutputsGetter; + this.fluidOutputsGetter = fluidOutputsGetter; this.comparator = comparator; } } diff --git a/src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java b/src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java index 3b47e9ce139..038a5c76878 100644 --- a/src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java +++ b/src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java @@ -1,11 +1,15 @@ package gregtech.api.recipe; import java.util.Comparator; +import java.util.function.Function; import java.util.function.UnaryOperator; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + import com.gtnewhorizons.modularui.api.math.Pos2d; import com.gtnewhorizons.modularui.api.math.Size; @@ -36,6 +40,11 @@ public final class NEIRecipePropertiesBuilder { private boolean useCustomFilter; private boolean renderRealStackSizes = true; + private Function itemInputsGetter = recipe -> recipe.mInputs; + private Function fluidInputsGetter = recipe -> recipe.mFluidInputs; + private Function itemOutputsGetter = recipe -> recipe.mOutputs; + private Function fluidOutputsGetter = recipe -> recipe.mFluidOutputs; + private Comparator comparator = GTRecipe::compareTo; NEIRecipePropertiesBuilder() {} @@ -50,6 +59,10 @@ public NEIRecipeProperties build() { unificateOutput, useCustomFilter, renderRealStackSizes, + itemInputsGetter, + fluidInputsGetter, + itemOutputsGetter, + fluidOutputsGetter, comparator); } @@ -93,6 +106,26 @@ public NEIRecipePropertiesBuilder disableRenderRealStackSizes() { return this; } + public NEIRecipePropertiesBuilder itemInputsGetter(Function itemInputsGetter) { + this.itemInputsGetter = itemInputsGetter; + return this; + } + + public NEIRecipePropertiesBuilder fluidInputsGetter(Function fluidInputsGetter) { + this.fluidInputsGetter = fluidInputsGetter; + return this; + } + + public NEIRecipePropertiesBuilder itemOutputsGetter(Function itemOutputsGetter) { + this.itemOutputsGetter = itemOutputsGetter; + return this; + } + + public NEIRecipePropertiesBuilder fluidOutputsGetter(Function fluidOutputsGetter) { + this.fluidOutputsGetter = fluidOutputsGetter; + return this; + } + public NEIRecipePropertiesBuilder recipeComparator(Comparator comparator) { this.comparator = comparator; return this; diff --git a/src/main/java/gregtech/api/recipe/RecipeMapBuilder.java b/src/main/java/gregtech/api/recipe/RecipeMapBuilder.java index 2b7bc390664..ee8953570a8 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMapBuilder.java +++ b/src/main/java/gregtech/api/recipe/RecipeMapBuilder.java @@ -11,6 +11,9 @@ import javax.annotation.ParametersAreNonnullByDefault; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture; import com.gtnewhorizons.modularui.api.drawable.IDrawable; import com.gtnewhorizons.modularui.api.drawable.UITexture; @@ -475,6 +478,38 @@ public RecipeMapBuilder disableRenderRealStackSizes() { return this; } + /** + * Allows modifying what item inputs get displayed on NEI, without affecting GTRecipe object on backend. + */ + public RecipeMapBuilder neiItemInputsGetter(Function itemInputsGetter) { + neiPropertiesBuilder.itemInputsGetter(itemInputsGetter); + return this; + } + + /** + * Allows modifying what fluid inputs get displayed on NEI, without affecting GTRecipe object on backend. + */ + public RecipeMapBuilder neiFluidInputsGetter(Function fluidInputsGetter) { + neiPropertiesBuilder.fluidInputsGetter(fluidInputsGetter); + return this; + } + + /** + * Allows modifying what item outputs get displayed on NEI, without affecting GTRecipe object on backend. + */ + public RecipeMapBuilder neiItemOutputsGetter(Function itemOutputsGetter) { + neiPropertiesBuilder.itemOutputsGetter(itemOutputsGetter); + return this; + } + + /** + * Allows modifying what fluid outputs get displayed on NEI, without affecting GTRecipe object on backend. + */ + public RecipeMapBuilder neiFluidOutputsGetter(Function fluidOutputsGetter) { + neiPropertiesBuilder.fluidOutputsGetter(fluidOutputsGetter); + return this; + } + /** * Sets custom comparator for NEI recipe sort. */ diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index 6c7fbe7b48f..f1f036baef2 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -9,6 +9,7 @@ import static gregtech.api.util.GTRecipeConstants.ADDITIVE_AMOUNT; import static gregtech.api.util.GTRecipeConstants.FUEL_VALUE; import static gregtech.api.util.GTRecipeConstants.GLASS; +import static gregtech.api.util.GTRecipeConstants.PCB_NANITE_MATERIAL; import static gregtech.api.util.GTRecipeMapUtil.GTRecipeTemplate; import static gregtech.api.util.GTRecipeMapUtil.asTemplate; import static gregtech.api.util.GTRecipeMapUtil.buildOrEmpty; @@ -20,6 +21,7 @@ import static gregtech.api.util.GTUtility.multiplyStack; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -1102,18 +1104,23 @@ && isArrayEmptyOrNull(b.getFluidOutputs()) .minInputs(3, 1) .progressBar(GTUITextures.PROGRESSBAR_ASSEMBLE) .disableOptimize() - .neiHandlerInfo(builder -> builder.setDisplayStack(ItemList.PCBFactory.get(1))) + .neiItemInputsGetter(recipe -> { + Materials naniteMaterial = recipe.getMetadata(PCB_NANITE_MATERIAL); + if (naniteMaterial == null) { + return recipe.mInputs; + } + List inputs = new ArrayList<>(); + inputs.add(recipe.mInputs[0]); + ItemStack naniteStack = naniteMaterial.getNanite(1); + inputs.add(new ItemStack(naniteStack.getItem(), 0, naniteStack.getItemDamage())); + inputs.addAll(Arrays.asList(Arrays.copyOfRange(recipe.mInputs, 1, recipe.mInputs.length))); + return inputs.toArray(new ItemStack[0]); + }) .neiRecipeComparator( Comparator .comparing(recipe -> recipe.getMetadataOrDefault(PCBFactoryTierKey.INSTANCE, 1)) .thenComparing(GTRecipe::compareTo)) .build(); - public static final RecipeMap pcbFactoryRecipesNoNanites = RecipeMapBuilder - .of("gt.recipe.pcbfactorynonanites") - .maxIO(6, 9, 3, 0) - .minInputs(3, 1) - .disableOptimize() - .build(); public static final RecipeMap purificationClarifierRecipes = RecipeMapBuilder .of("gt.recipe.purificationplantclarifier") .maxIO(1, 4, 1, 1) @@ -1236,28 +1243,5 @@ && isArrayEmptyOrNull(b.getFluidOutputs()) b.copy() .duration(1 * TICK) .eut(TierEU.RECIPE_UEV)))); - RecipeMaps.pcbFactoryRecipes.addDownstream(IRecipeMap.newRecipeMap(b -> { - b = b.copy(); - List itemInputs = new ArrayList<>(); - - Materials naniteMaterial = null; - for (int i = 0; i < b.getItemInputsBasic().length; i++) { - ItemStack stack = b.getItemInputBasic(i); - if (stack == null) continue; - ItemData data = GTOreDictUnificator.getAssociation(stack); - if (data != null && data.mPrefix != null && data.mPrefix.equals(OrePrefixes.nanite)) { - naniteMaterial = data.mMaterial.mMaterial; - continue; - } - itemInputs.add(stack); - } - - if (naniteMaterial != null) { - b.metadata(GTRecipeConstants.PCB_NANITE_MATERIAL, naniteMaterial); - } - return RecipeMaps.pcbFactoryRecipesNoNanites.doAdd( - b.itemInputs(itemInputs.toArray(new ItemStack[0])) - .hidden()); - })); } } diff --git a/src/main/java/gregtech/api/threads/RunnableSound.java b/src/main/java/gregtech/api/threads/RunnableSound.java index 30704f2a974..e51490321ee 100644 --- a/src/main/java/gregtech/api/threads/RunnableSound.java +++ b/src/main/java/gregtech/api/threads/RunnableSound.java @@ -3,6 +3,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import gregtech.GTMod; import gregtech.api.util.GTPlayedSound; import gregtech.api.util.GTUtility; @@ -35,7 +36,7 @@ public void run() { mWorld.playSound(mX, mY, mZ, mSoundResourceLocation.toString(), mSoundStrength, mSoundModulation, false); GTUtility.sPlayedSoundMap.put(tSound, mTimeUntilNextSound); } catch (Throwable e) { - /**/ + GTMod.GT_FML_LOGGER.error("Could not play RunnableSound", e); } } } diff --git a/src/main/java/gregtech/api/util/GTConfig.java b/src/main/java/gregtech/api/util/GTConfig.java index 68ff810414c..a2e2969b51e 100644 --- a/src/main/java/gregtech/api/util/GTConfig.java +++ b/src/main/java/gregtech/api/util/GTConfig.java @@ -48,11 +48,7 @@ public static String getStackConfigName(ItemStack aStack) { if (GTUtility.isStackInvalid(aStack)) return E; Object rName = GTOreDictUnificator.getAssociation(aStack); if (rName != null) return rName.toString(); - try { - if (GTUtility.isStringValid(rName = aStack.getUnlocalizedName())) return rName.toString(); - } catch (Throwable e) { - /* Do nothing */ - } + if (GTUtility.isStringValid(rName = aStack.getUnlocalizedName())) return rName.toString(); String sName = aStack.getItem() .toString(); String[] tmp = sName.split("@"); diff --git a/src/main/java/gregtech/api/util/GTForestryCompat.java b/src/main/java/gregtech/api/util/GTForestryCompat.java index a593410f81a..bc05f8db363 100644 --- a/src/main/java/gregtech/api/util/GTForestryCompat.java +++ b/src/main/java/gregtech/api/util/GTForestryCompat.java @@ -140,62 +140,49 @@ public static void transferCentrifugeRecipes() { ItemStack irradiatedComb = GTModHandler.getModItem(Mods.Forestry.ID, "beeCombs", 1, 9); ItemStack DOBComb = GTBees.combs.getStackForType(CombType.DOB); - try { - for (ICentrifugeRecipe tRecipe : RecipeManagers.centrifugeManager.recipes()) { - ItemStack input = tRecipe.getInput(); + for (ICentrifugeRecipe tRecipe : RecipeManagers.centrifugeManager.recipes()) { + ItemStack input = tRecipe.getInput(); - // Don't transfer GT recipes to centrifuge, those recipes are made already by ItemComb - if (input.getUnlocalizedName() - .contains("gt.comb") && !input.isItemEqual(DOBComb)) continue; - if (irradiatedComb != null && input.isItemEqual(irradiatedComb)) continue; - Map outputs = tRecipe.getAllProducts(); - ItemStack[] tOutputs = new ItemStack[outputs.size()]; - int[] tChances = new int[outputs.size()]; - int i = 0; - for (Map.Entry entry : outputs.entrySet()) { - tChances[i] = (int) (entry.getValue() * 10000); - tOutputs[i] = entry.getKey() - .copy(); - i++; - } - GTValues.RA.stdBuilder() - .itemInputs(tRecipe.getInput()) - .itemOutputs(tOutputs) - .outputChances(tChances) - .duration(6 * SECONDS + 8 * TICKS) - .eut(5) - .addTo(centrifugeRecipes); - } - } catch (Throwable e) { - if (GTValues.D1) { - e.printStackTrace(GTLog.err); + // Don't transfer GT recipes to centrifuge, those recipes are made already by ItemComb + if (input.getUnlocalizedName() + .contains("gt.comb") && !input.isItemEqual(DOBComb)) continue; + if (irradiatedComb != null && input.isItemEqual(irradiatedComb)) continue; + Map outputs = tRecipe.getAllProducts(); + ItemStack[] tOutputs = new ItemStack[outputs.size()]; + int[] tChances = new int[outputs.size()]; + int i = 0; + for (Map.Entry entry : outputs.entrySet()) { + tChances[i] = (int) (entry.getValue() * 10000); + tOutputs[i] = entry.getKey() + .copy(); + i++; } + GTValues.RA.stdBuilder() + .itemInputs(tRecipe.getInput()) + .itemOutputs(tOutputs) + .outputChances(tChances) + .duration(6 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); } } public static void transferSqueezerRecipes() { - try { - for (ISqueezerRecipe tRecipe : RecipeManagers.squeezerManager.recipes()) { - ItemStack[] resources = tRecipe.getResources(); - if ((resources.length == 1) && (tRecipe.getFluidOutput() != null) && (resources[0] != null)) { - Item input = resources[0].getItem(); - if (input == Items.pumpkin_seeds || input == Items.melon_seeds || input == Items.wheat_seeds) - continue; - GTRecipeBuilder recipeBuilder = GTValues.RA.stdBuilder(); - recipeBuilder.itemInputs(resources[0]); - if (tRecipe.getRemnants() != null) { - recipeBuilder.itemOutputs(tRecipe.getRemnants()) - .outputChances((int) (tRecipe.getRemnantsChance() * 10000)); - } - recipeBuilder.fluidOutputs(tRecipe.getFluidOutput()) - .duration(1 * SECONDS + 12 * TICKS) - .eut(8) - .addTo(RecipeMaps.fluidExtractionRecipes); + for (ISqueezerRecipe tRecipe : RecipeManagers.squeezerManager.recipes()) { + ItemStack[] resources = tRecipe.getResources(); + if ((resources.length == 1) && (tRecipe.getFluidOutput() != null) && (resources[0] != null)) { + Item input = resources[0].getItem(); + if (input == Items.pumpkin_seeds || input == Items.melon_seeds || input == Items.wheat_seeds) continue; + GTRecipeBuilder recipeBuilder = GTValues.RA.stdBuilder(); + recipeBuilder.itemInputs(resources[0]); + if (tRecipe.getRemnants() != null) { + recipeBuilder.itemOutputs(tRecipe.getRemnants()) + .outputChances((int) (tRecipe.getRemnantsChance() * 10000)); } - } - } catch (Throwable e) { - if (GTValues.D1) { - e.printStackTrace(GTLog.err); + recipeBuilder.fluidOutputs(tRecipe.getFluidOutput()) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(RecipeMaps.fluidExtractionRecipes); } } } diff --git a/src/main/java/gregtech/api/util/GTModHandler.java b/src/main/java/gregtech/api/util/GTModHandler.java index ab6ec46658a..f10c2f42a5c 100644 --- a/src/main/java/gregtech/api/util/GTModHandler.java +++ b/src/main/java/gregtech/api/util/GTModHandler.java @@ -334,12 +334,10 @@ public static int getFuelValue(ItemStack aStack) { public static ItemStack getIC2Item(String aItem, long aAmount, ItemStack aReplacement) { if (GTUtility.isStringInvalid(aItem) || !GregTechAPI.sPreloadStarted) return null; // if (D1) GTLog.out.println("Requested the Item '" + aItem + "' from the IC2-API"); - if (!sIC2ItemMap.containsKey(aItem)) try { + if (!sIC2ItemMap.containsKey(aItem)) { ItemStack tStack = IC2Items.getItem(aItem); sIC2ItemMap.put(aItem, tStack); if (tStack == null && D1) GTLog.err.println(aItem + " is not found in the IC2 Items!"); - } catch (Throwable e) { - /* Do nothing */ } return GTUtility.copyAmount(aAmount, sIC2ItemMap.get(aItem), aReplacement); } @@ -1050,167 +1048,162 @@ else if (!(aRecipe[i] == null || aRecipe[i] instanceof ItemStack || aRecipe[i] instanceof Character)) aRecipe[i] = aRecipe[i].toString(); } - try { - StringBuilder shape = new StringBuilder(E); - int idx = 0; - if (aRecipe[idx] instanceof Boolean) { - throw new IllegalArgumentException(); - } + StringBuilder shape = new StringBuilder(E); + int idx = 0; + if (aRecipe[idx] instanceof Boolean) { + throw new IllegalArgumentException(); + } - ArrayList tRecipeList = new ArrayList<>(Arrays.asList(aRecipe)); + ArrayList tRecipeList = new ArrayList<>(Arrays.asList(aRecipe)); - while (aRecipe[idx] instanceof String) { - StringBuilder s = new StringBuilder((String) aRecipe[idx++]); - shape.append(s); - while (s.length() < 3) s.append(" "); - if (s.length() > 3) throw new IllegalArgumentException(); + while (aRecipe[idx] instanceof String) { + StringBuilder s = new StringBuilder((String) aRecipe[idx++]); + shape.append(s); + while (s.length() < 3) s.append(" "); + if (s.length() > 3) throw new IllegalArgumentException(); - for (char c : s.toString() - .toCharArray()) { - switch (c) { - case 'b' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolBlade.name()); - } - case 'c' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolCrowbar.name()); - } - case 'd' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolScrewdriver.name()); - } - case 'f' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolFile.name()); - } - case 'h' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolHardHammer.name()); - } - case 'i' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSolderingIron.name()); - } - case 'j' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSolderingMetal.name()); - } - case 'k' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolKnife.name()); - } - case 'm' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolMortar.name()); - } - case 'p' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolDrawplate.name()); - } - case 'r' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSoftHammer.name()); - } - case 's' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolSaw.name()); - } - case 'w' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolWrench.name()); - } - case 'x' -> { - tRecipeList.add(c); - tRecipeList.add(ToolDictNames.craftingToolWireCutter.name()); - } + for (char c : s.toString() + .toCharArray()) { + switch (c) { + case 'b' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolBlade.name()); + } + case 'c' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolCrowbar.name()); + } + case 'd' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolScrewdriver.name()); + } + case 'f' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolFile.name()); + } + case 'h' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolHardHammer.name()); + } + case 'i' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSolderingIron.name()); + } + case 'j' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSolderingMetal.name()); + } + case 'k' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolKnife.name()); + } + case 'm' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolMortar.name()); + } + case 'p' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolDrawplate.name()); + } + case 'r' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSoftHammer.name()); + } + case 's' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolSaw.name()); + } + case 'w' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolWrench.name()); + } + case 'x' -> { + tRecipeList.add(c); + tRecipeList.add(ToolDictNames.craftingToolWireCutter.name()); } } } + } - aRecipe = tRecipeList.toArray(); + aRecipe = tRecipeList.toArray(); - if (aRecipe[idx] instanceof Boolean) { - idx++; - } - Map tItemStackMap = new HashMap<>(); - Map tItemDataMap = new HashMap<>(); - tItemStackMap.put(' ', null); - - boolean tRemoveRecipe = true; - - for (; idx < aRecipe.length; idx += 2) { - if (aRecipe[idx] == null || aRecipe[idx + 1] == null) { - if (D1) { - GTLog.err.println( - "WARNING: Missing Item for shaped Recipe: " - + (aResult == null ? "null" : aResult.getDisplayName())); - for (Object tContent : aRecipe) GTLog.err.println(tContent); - } - return false; + if (aRecipe[idx] instanceof Boolean) { + idx++; + } + Map tItemStackMap = new HashMap<>(); + Map tItemDataMap = new HashMap<>(); + tItemStackMap.put(' ', null); + + boolean tRemoveRecipe = true; + + for (; idx < aRecipe.length; idx += 2) { + if (aRecipe[idx] == null || aRecipe[idx + 1] == null) { + if (D1) { + GTLog.err.println( + "WARNING: Missing Item for shaped Recipe: " + + (aResult == null ? "null" : aResult.getDisplayName())); + for (Object tContent : aRecipe) GTLog.err.println(tContent); } - Character chr = (Character) aRecipe[idx]; - Object in = aRecipe[idx + 1]; - if (in instanceof ItemStack is) { - tItemStackMap.put(chr, GTUtility.copyOrNull(is)); - tItemDataMap.put(chr, GTOreDictUnificator.getItemData(is)); - } else if (in instanceof ItemData) { - String tString = in.toString(); - switch (tString) { - case "plankWood" -> tItemDataMap.put(chr, new ItemData(Materials.Wood, M)); - case "stoneNetherrack" -> tItemDataMap.put(chr, new ItemData(Materials.Netherrack, M)); - case "stoneObsidian" -> tItemDataMap.put(chr, new ItemData(Materials.Obsidian, M)); - case "stoneEndstone" -> tItemDataMap.put(chr, new ItemData(Materials.Endstone, M)); - default -> tItemDataMap.put(chr, (ItemData) in); - } - ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); - if (tStack == null) tRemoveRecipe = false; - else tItemStackMap.put(chr, tStack); - in = aRecipe[idx + 1] = in.toString(); - } else if (in instanceof String) { - if (in.equals(OreDictNames.craftingChest.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Wood, M * 8)); - else if (in.equals(OreDictNames.craftingBook.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Paper, M * 3)); - else if (in.equals(OreDictNames.craftingPiston.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 4, Materials.Wood, M * 3)); - else if (in.equals(OreDictNames.craftingFurnace.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 8)); - else if (in.equals(OreDictNames.craftingIndustrialDiamond.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Diamond, M)); - else if (in.equals(OreDictNames.craftingAnvil.toString())) - tItemDataMap.put(chr, new ItemData(Materials.Iron, M * 10)); - ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); - if (tStack == null) tRemoveRecipe = false; - else tItemStackMap.put(chr, tStack); - } else { - throw new IllegalArgumentException(); + return false; + } + Character chr = (Character) aRecipe[idx]; + Object in = aRecipe[idx + 1]; + if (in instanceof ItemStack is) { + tItemStackMap.put(chr, GTUtility.copyOrNull(is)); + tItemDataMap.put(chr, GTOreDictUnificator.getItemData(is)); + } else if (in instanceof ItemData) { + String tString = in.toString(); + switch (tString) { + case "plankWood" -> tItemDataMap.put(chr, new ItemData(Materials.Wood, M)); + case "stoneNetherrack" -> tItemDataMap.put(chr, new ItemData(Materials.Netherrack, M)); + case "stoneObsidian" -> tItemDataMap.put(chr, new ItemData(Materials.Obsidian, M)); + case "stoneEndstone" -> tItemDataMap.put(chr, new ItemData(Materials.Endstone, M)); + default -> tItemDataMap.put(chr, (ItemData) in); } + ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); + if (tStack == null) tRemoveRecipe = false; + else tItemStackMap.put(chr, tStack); + in = aRecipe[idx + 1] = in.toString(); + } else if (in instanceof String) { + if (in.equals(OreDictNames.craftingChest.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Wood, M * 8)); + else if (in.equals(OreDictNames.craftingBook.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Paper, M * 3)); + else if (in.equals(OreDictNames.craftingPiston.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 4, Materials.Wood, M * 3)); + else if (in.equals(OreDictNames.craftingFurnace.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Stone, M * 8)); + else if (in.equals(OreDictNames.craftingIndustrialDiamond.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Diamond, M)); + else if (in.equals(OreDictNames.craftingAnvil.toString())) + tItemDataMap.put(chr, new ItemData(Materials.Iron, M * 10)); + ItemStack tStack = GTOreDictUnificator.getFirstOre(in, 1); + if (tStack == null) tRemoveRecipe = false; + else tItemStackMap.put(chr, tStack); + } else { + throw new IllegalArgumentException(); } + } - if (aReversible && aResult != null) { - ItemData[] tData = new ItemData[9]; - int x = -1; - for (char chr : shape.toString() - .toCharArray()) tData[++x] = tItemDataMap.get(chr); - if (GTUtility.arrayContainsNonNull(tData)) - GTOreDictUnificator.addItemData(aResult, new ItemData(tData)); - } + if (aReversible && aResult != null) { + ItemData[] tData = new ItemData[9]; + int x = -1; + for (char chr : shape.toString() + .toCharArray()) tData[++x] = tItemDataMap.get(chr); + if (GTUtility.arrayContainsNonNull(tData)) GTOreDictUnificator.addItemData(aResult, new ItemData(tData)); + } - if (aCheckForCollisions && tRemoveRecipe) { - ItemStack[] tRecipe = new ItemStack[9]; - int x = -1; - for (char chr : shape.toString() - .toCharArray()) { - tRecipe[++x] = tItemStackMap.get(chr); - if (tRecipe[x] != null && Items.feather.getDamage(tRecipe[x]) == W) - Items.feather.setDamage(tRecipe[x], 0); - } - if (tDoWeCareIfThereWasARecipe || !aBuffered) tThereWasARecipe = removeRecipe(tRecipe) != null; - else removeRecipeDelayed(tRecipe); + if (aCheckForCollisions && tRemoveRecipe) { + ItemStack[] tRecipe = new ItemStack[9]; + int x = -1; + for (char chr : shape.toString() + .toCharArray()) { + tRecipe[++x] = tItemStackMap.get(chr); + if (tRecipe[x] != null && Items.feather.getDamage(tRecipe[x]) == W) + Items.feather.setDamage(tRecipe[x], 0); } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); + if (tDoWeCareIfThereWasARecipe || !aBuffered) tThereWasARecipe = removeRecipe(tRecipe) != null; + else removeRecipeDelayed(tRecipe); } if (aResult == null || aResult.stackSize <= 0) return false; @@ -1330,30 +1323,27 @@ else if (!(aRecipe[i] == null || aRecipe[i] instanceof ItemStack || aRecipe[i] instanceof String || aRecipe[i] instanceof Character)) aRecipe[i] = aRecipe[i].toString(); } - try { - ItemStack[] tRecipe = new ItemStack[9]; - int i = 0; - for (Object tObject : aRecipe) { - if (tObject == null) { - if (D1) GTLog.err.println( - "WARNING: Missing Item for shapeless Recipe: " - + (aResult == null ? "null" : aResult.getDisplayName())); - for (Object tContent : aRecipe) GTLog.err.println(tContent); - return false; - } - if (tObject instanceof ItemStack) { - tRecipe[i] = (ItemStack) tObject; - } else if (tObject instanceof String) { - tRecipe[i] = GTOreDictUnificator.getFirstOre(tObject, 1); - if (tRecipe[i] == null) break; - } - i++; + + ItemStack[] tRecipe = new ItemStack[9]; + int i = 0; + for (Object tObject : aRecipe) { + if (tObject == null) { + if (D1) GTLog.err.println( + "WARNING: Missing Item for shapeless Recipe: " + + (aResult == null ? "null" : aResult.getDisplayName())); + for (Object tContent : aRecipe) GTLog.err.println(tContent); + return false; } - if (sBufferCraftingRecipes && aBuffered) removeRecipeDelayed(tRecipe); - else removeRecipe(tRecipe); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); + if (tObject instanceof ItemStack) { + tRecipe[i] = (ItemStack) tObject; + } else if (tObject instanceof String) { + tRecipe[i] = GTOreDictUnificator.getFirstOre(tObject, 1); + if (tRecipe[i] == null) break; + } + i++; } + if (sBufferCraftingRecipes && aBuffered) removeRecipeDelayed(tRecipe); + else removeRecipe(tRecipe); if (aResult == null || aResult.stackSize <= 0) return false; @@ -1439,21 +1429,17 @@ public boolean canInteractWith(EntityPlayer player) { ArrayList tList = (ArrayList) CraftingManager.getInstance() .getRecipeList(); int tList_sS = tList.size(); - try { - for (int i = 0; i < tList_sS; i++) { - for (; i < tList_sS; i++) { - if ((!(tList.get(i) instanceof IGTCraftingRecipe) - || ((IGTCraftingRecipe) tList.get(i)).isRemovable()) && tList.get(i) - .matches(aCrafting, DW)) { - rReturn = tList.get(i) - .getCraftingResult(aCrafting); - if (rReturn != null) tList.remove(i--); - tList_sS = tList.size(); - } + for (int i = 0; i < tList_sS; i++) { + for (; i < tList_sS; i++) { + if ((!(tList.get(i) instanceof IGTCraftingRecipe) || ((IGTCraftingRecipe) tList.get(i)).isRemovable()) + && tList.get(i) + .matches(aCrafting, DW)) { + rReturn = tList.get(i) + .getCraftingResult(aCrafting); + if (rReturn != null) tList.remove(i--); + tList_sS = tList.size(); } } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); } return rReturn; } @@ -1688,12 +1674,7 @@ public boolean canInteractWith(EntityPlayer player) { found = false; if (!allowOreDict && iRecipe instanceof ShapedOreRecipe) continue; - try { - found = iRecipe.matches(aCrafting, DW); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } - if (found) { + if (iRecipe.matches(aCrafting, DW)) { ItemStack tOutput = aUncopiedStack ? iRecipe.getRecipeOutput() : iRecipe.getCraftingResult(aCrafting); if (tOutput == null || tOutput.stackSize <= 0) { // Seriously, who would ever do that shit? @@ -1831,12 +1812,7 @@ public boolean canInteractWith(EntityPlayer player) { .filter(tRecipe -> { if (tRecipe instanceof ShapelessRecipes || tRecipe instanceof ShapelessOreRecipe || tRecipe instanceof IGTCraftingRecipe) return false; - try { - return tRecipe.matches(aCrafting, DW); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - return false; - } + return tRecipe.matches(aCrafting, DW); }) .forEach(tRecipe -> stacks.add(tRecipe.getCraftingResult(aCrafting))); rList = stacks.stream() @@ -1845,14 +1821,8 @@ public boolean canInteractWith(EntityPlayer player) { .collect(Collectors.toList()); } else for (Iterator iterator = aList.iterator(); iterator.hasNext();) { IRecipe tRecipe = iterator.next(); - boolean matched = false; - try { - matched = tRecipe.matches(aCrafting, DW); - } catch (Throwable e) { - e.printStackTrace(GTLog.err); - } - if (matched) { + if (tRecipe.matches(aCrafting, DW)) { ItemStack tOutput = tRecipe.getCraftingResult(aCrafting); if (tOutput == null || tOutput.stackSize <= 0) { @@ -1900,37 +1870,33 @@ public static ItemStack[] getMachineOutput(ItemStack aInput, Map tEntry : aRecipeList.entrySet()) { + for (Entry tEntry : aRecipeList.entrySet()) { + if (tEntry.getKey() + .matches(aInput)) { if (tEntry.getKey() - .matches(aInput)) { - if (tEntry.getKey() - .getAmount() <= aInput.stackSize) { - ItemStack[] tList = tEntry.getValue().items.toArray(new ItemStack[0]); - if (tList.length == 0) break; - ItemStack[] rList = new ItemStack[aOutputSlots.length]; - rRecipeMetaData.setTag("return", tEntry.getValue().metadata); - for (byte i = 0; i < aOutputSlots.length && i < tList.length; i++) { - if (tList[i] != null) { - if (aOutputSlots[i] == null || (GTUtility.areStacksEqual(tList[i], aOutputSlots[i]) - && tList[i].stackSize + aOutputSlots[i].stackSize - <= aOutputSlots[i].getMaxStackSize())) { - rList[i] = GTUtility.copyOrNull(tList[i]); - } else { - return new ItemStack[aOutputSlots.length]; - } + .getAmount() <= aInput.stackSize) { + ItemStack[] tList = tEntry.getValue().items.toArray(new ItemStack[0]); + if (tList.length == 0) break; + ItemStack[] rList = new ItemStack[aOutputSlots.length]; + rRecipeMetaData.setTag("return", tEntry.getValue().metadata); + for (byte i = 0; i < aOutputSlots.length && i < tList.length; i++) { + if (tList[i] != null) { + if (aOutputSlots[i] == null || (GTUtility.areStacksEqual(tList[i], aOutputSlots[i]) + && tList[i].stackSize + aOutputSlots[i].stackSize + <= aOutputSlots[i].getMaxStackSize())) { + rList[i] = GTUtility.copyOrNull(tList[i]); + } else { + return new ItemStack[aOutputSlots.length]; } } - - if (aRemoveInput) aInput.stackSize -= tEntry.getKey() - .getAmount(); - return rList; } - break; + + if (aRemoveInput) aInput.stackSize -= tEntry.getKey() + .getAmount(); + return rList; } + break; } - } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); } return new ItemStack[aOutputSlots.length]; } @@ -2002,22 +1968,17 @@ public static ItemStack getRandomScrapboxDrop() { */ public static int chargeElectricItem(ItemStack aStack, int aCharge, int aTier, boolean aIgnoreLimit, boolean aSimulate) { - try { - if (isElectricItem(aStack)) { - int tTier = ((ic2.api.item.IElectricItem) aStack.getItem()).getTier(aStack); - if (tTier < 0 || tTier == aTier || aTier == Integer.MAX_VALUE) { - if (!aIgnoreLimit && tTier >= 0) - aCharge = (int) Math.min(aCharge, V[Math.max(0, Math.min(V.length - 1, tTier))]); - if (aCharge > 0) { - int rCharge = (int) Math.max( - 0.0, - ic2.api.item.ElectricItem.manager.charge(aStack, aCharge, tTier, true, aSimulate)); - return rCharge + (rCharge * 4 > aTier ? aTier : 0); - } + if (isElectricItem(aStack)) { + int tTier = ((ic2.api.item.IElectricItem) aStack.getItem()).getTier(aStack); + if (tTier < 0 || tTier == aTier || aTier == Integer.MAX_VALUE) { + if (!aIgnoreLimit && tTier >= 0) + aCharge = (int) Math.min(aCharge, V[Math.max(0, Math.min(V.length - 1, tTier))]); + if (aCharge > 0) { + int rCharge = (int) Math + .max(0.0, ic2.api.item.ElectricItem.manager.charge(aStack, aCharge, tTier, true, aSimulate)); + return rCharge + (rCharge * 4 > aTier ? aTier : 0); } } - } catch (Throwable e) { - /* Do nothing */ } return 0; } @@ -2031,31 +1992,25 @@ public static int chargeElectricItem(ItemStack aStack, int aCharge, int aTier, b */ public static int dischargeElectricItem(ItemStack aStack, int aCharge, int aTier, boolean aIgnoreLimit, boolean aSimulate, boolean aIgnoreDischargability) { - try { - // if (isElectricItem(aStack) && (aIgnoreDischargability || - // ((ic2.api.item.IElectricItem)aStack.getItem()).canProvideEnergy(aStack))) { - if (isElectricItem(aStack)) { - int tTier = ((ic2.api.item.IElectricItem) aStack.getItem()).getTier(aStack); - if (tTier < 0 || tTier == aTier || aTier == Integer.MAX_VALUE) { - if (!aIgnoreLimit && tTier >= 0) aCharge = (int) Math.min( - aCharge, - V[Math.max(0, Math.min(V.length - 1, tTier))] + B[Math.max(0, Math.min(V.length - 1, tTier))]); - if (aCharge > 0) { - int rCharge = (int) Math.max( - 0, - ic2.api.item.ElectricItem.manager.discharge( - aStack, - aCharge + (aCharge * 4 > aTier ? aTier : 0), - tTier, - true, - !aIgnoreDischargability, - aSimulate)); - return rCharge - (rCharge * 4 > aTier ? aTier : 0); - } + if (isElectricItem(aStack)) { + int tTier = ((ic2.api.item.IElectricItem) aStack.getItem()).getTier(aStack); + if (tTier < 0 || tTier == aTier || aTier == Integer.MAX_VALUE) { + if (!aIgnoreLimit && tTier >= 0) aCharge = (int) Math.min( + aCharge, + V[Math.max(0, Math.min(V.length - 1, tTier))] + B[Math.max(0, Math.min(V.length - 1, tTier))]); + if (aCharge > 0) { + int rCharge = (int) Math.max( + 0, + ic2.api.item.ElectricItem.manager.discharge( + aStack, + aCharge + (aCharge * 4 > aTier ? aTier : 0), + tTier, + true, + !aIgnoreDischargability, + aSimulate)); + return rCharge - (rCharge * 4 > aTier ? aTier : 0); } } - } catch (Throwable e) { - /* Do nothing */ } return 0; } @@ -2066,12 +2021,8 @@ public static int dischargeElectricItem(ItemStack aStack, int aCharge, int aTier * @return if the action was successful */ public static boolean canUseElectricItem(ItemStack aStack, int aCharge) { - try { - if (isElectricItem(aStack)) { - return ic2.api.item.ElectricItem.manager.canUse(aStack, aCharge); - } - } catch (Throwable e) { - /* Do nothing */ + if (isElectricItem(aStack)) { + return ic2.api.item.ElectricItem.manager.canUse(aStack, aCharge); } return false; } @@ -2082,15 +2033,11 @@ public static boolean canUseElectricItem(ItemStack aStack, int aCharge) { * @return if the action was successful */ public static boolean useElectricItem(ItemStack aStack, int aCharge, EntityPlayer aPlayer) { - try { - if (isElectricItem(aStack)) { - ic2.api.item.ElectricItem.manager.use(aStack, 0, aPlayer); - if (ic2.api.item.ElectricItem.manager.canUse(aStack, aCharge)) { - return ic2.api.item.ElectricItem.manager.use(aStack, aCharge, aPlayer); - } + if (isElectricItem(aStack)) { + ic2.api.item.ElectricItem.manager.use(aStack, 0, aPlayer); + if (ic2.api.item.ElectricItem.manager.canUse(aStack, aCharge)) { + return ic2.api.item.ElectricItem.manager.use(aStack, aCharge, aPlayer); } - } catch (Throwable e) { - /* Do nothing */ } return false; } @@ -2222,12 +2169,8 @@ public static boolean consumeSolderingMaterial(IInventory aInventory) { * Is this an electric Item, which can charge other Items? */ public static boolean isChargerItem(ItemStack aStack) { - try { - if (isElectricItem(aStack)) { - return ((ic2.api.item.IElectricItem) aStack.getItem()).canProvideEnergy(aStack); - } - } catch (Throwable e) { - /* Do nothing */ + if (isElectricItem(aStack)) { + return ((ic2.api.item.IElectricItem) aStack.getItem()).canProvideEnergy(aStack); } return false; } @@ -2236,23 +2179,13 @@ public static boolean isChargerItem(ItemStack aStack) { * Is this an electric Item? */ public static boolean isElectricItem(ItemStack aStack) { - try { - return aStack != null && aStack.getItem() instanceof ic2.api.item.IElectricItem - && ((IElectricItem) aStack.getItem()).getTier(aStack) < Integer.MAX_VALUE; - } catch (Throwable e) { - /* Do nothing */ - } - return false; + return aStack != null && aStack.getItem() instanceof ic2.api.item.IElectricItem + && ((IElectricItem) aStack.getItem()).getTier(aStack) < Integer.MAX_VALUE; } public static boolean isElectricItem(ItemStack aStack, byte aTier) { - try { - return aStack != null && aStack.getItem() instanceof ic2.api.item.IElectricItem - && ((IElectricItem) aStack.getItem()).getTier(aStack) == aTier; - } catch (Throwable e) { - /* Do nothing */ - } - return false; + return aStack != null && aStack.getItem() instanceof ic2.api.item.IElectricItem + && ((IElectricItem) aStack.getItem()).getTier(aStack) == aTier; } /** @@ -2289,11 +2222,7 @@ public static Optional getElectricItemCharge(ItemStack aStack) { */ public static void registerBoxableItemToToolBox(ItemStack aStack) { if (aStack != null) { - try { - ic2.api.item.ItemWrapper.registerBoxable(aStack.getItem(), (IBoxable) sBoxableWrapper); - } catch (Throwable ignored) { - /* Do nothing */ - } + ic2.api.item.ItemWrapper.registerBoxable(aStack.getItem(), (IBoxable) sBoxableWrapper); sBoxableItems.add(new GTItemStack(aStack)); } } diff --git a/src/main/java/gregtech/api/util/GTRecipe.java b/src/main/java/gregtech/api/util/GTRecipe.java index 329816c6c5c..e3ec2cb5fd8 100644 --- a/src/main/java/gregtech/api/util/GTRecipe.java +++ b/src/main/java/gregtech/api/util/GTRecipe.java @@ -39,7 +39,6 @@ import gregtech.api.util.extensions.ArrayExt; import gregtech.common.tileentities.machines.MTEHatchInputBusME; import gregtech.common.tileentities.machines.MTEHatchInputME; -import gregtech.nei.GTNEIDefaultHandler; import ic2.core.Ic2Items; import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectArrayList; @@ -383,18 +382,6 @@ public ItemStack getOutput(int aIndex) { return GTUtility.copyOrNull(mOutputs[aIndex]); } - /** - * Dictates the ItemStacks displayed in the output slots of any NEI page handled by the default GT NEI handler. - * Override to make shown items differ from a GTRecipe's item output array - * - * @see GTNEIDefaultHandler - * @param i Slot index - * @return ItemStack to be displayed in the slot - */ - public ItemStack getRepresentativeOutput(int i) { - return getOutput(i); - } - public int getOutputChance(int aIndex) { if (mChances == null) return 10000; if (aIndex < 0 || aIndex >= mChances.length) return 10000; diff --git a/src/main/java/gregtech/api/util/GTRecipeConstants.java b/src/main/java/gregtech/api/util/GTRecipeConstants.java index 0edba4df3f7..175a62cd51d 100644 --- a/src/main/java/gregtech/api/util/GTRecipeConstants.java +++ b/src/main/java/gregtech/api/util/GTRecipeConstants.java @@ -168,8 +168,8 @@ public class GTRecipeConstants { /** * QFT catalyst meta. */ - public static final RecipeMetadataKey QFT_CATALYST_META = SimpleRecipeMetadataKey - .create(Integer.class, "qft_catalyst_meta"); + public static final RecipeMetadataKey QFT_CATALYST = SimpleRecipeMetadataKey + .create(ItemStack.class, "qft_catalyst"); /** * Tier of advanced compression (HIP/black hole) diff --git a/src/main/java/gregtech/api/util/GTUtility.java b/src/main/java/gregtech/api/util/GTUtility.java index 8098c372fd4..9b3c1082408 100644 --- a/src/main/java/gregtech/api/util/GTUtility.java +++ b/src/main/java/gregtech/api/util/GTUtility.java @@ -131,6 +131,7 @@ import cofh.api.transport.IItemDuct; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.GTMod; import gregtech.api.GregTechAPI; import gregtech.api.damagesources.GTDamageSources; import gregtech.api.damagesources.GTDamageSources.DamageSourceHotItem; @@ -242,7 +243,7 @@ public static Field getPublicField(Object aObject, String aField) { rField = aObject.getClass() .getDeclaredField(aField); } catch (Throwable e) { - /* Do nothing */ + if (D1) e.printStackTrace(GTLog.err); } return rField; } @@ -254,7 +255,7 @@ public static Field getField(Object aObject, String aField) { .getDeclaredField(aField); rField.setAccessible(true); } catch (Throwable e) { - /* Do nothing */ + if (D1) e.printStackTrace(GTLog.err); } return rField; } @@ -265,7 +266,7 @@ public static Field getField(Class aObject, String aField) { rField = aObject.getDeclaredField(aField); rField.setAccessible(true); } catch (Throwable e) { - /* Do nothing */ + if (D1) e.printStackTrace(GTLog.err); } return rField; } @@ -276,7 +277,7 @@ public static Method getMethod(Class aObject, String aMethod, Class... aPa rMethod = aObject.getMethod(aMethod, aParameterTypes); rMethod.setAccessible(true); } catch (Throwable e) { - /* Do nothing */ + if (D1) e.printStackTrace(GTLog.err); } return rMethod; } @@ -288,7 +289,7 @@ public static Method getMethod(Object aObject, String aMethod, Class... aPara .getMethod(aMethod, aParameterTypes); rMethod.setAccessible(true); } catch (Throwable e) { - /* Do nothing */ + if (D1) e.printStackTrace(GTLog.err); } return rMethod; } @@ -371,7 +372,9 @@ public static Object callConstructor(Class aClass, int aConstructorIndex, Obj for (Constructor tConstructor : aClass.getConstructors()) { try { return tConstructor.newInstance(aParameters); - } catch (Throwable ignored) {} + } catch (Throwable e) { + if (D1) e.printStackTrace(GTLog.err); + } } } catch (Throwable e) { if (aLogErrors) e.printStackTrace(GTLog.err); @@ -508,21 +511,21 @@ public static void checkAvailabilities() { tClass.getCanonicalName(); TE_CHECK = true; } catch (Throwable e) { - /**/ + if (D1) e.printStackTrace(GTLog.err); } try { Class tClass = buildcraft.api.transport.IPipeTile.class; tClass.getCanonicalName(); BC_CHECK = true; } catch (Throwable e) { - /**/ + if (D1) e.printStackTrace(GTLog.err); } try { Class tClass = cofh.api.energy.IEnergyReceiver.class; tClass.getCanonicalName(); RF_CHECK = true; } catch (Throwable e) { - /**/ + if (D1) e.printStackTrace(GTLog.err); } CHECK_ALL = false; } @@ -2726,7 +2729,11 @@ public static boolean applyHeatDamageFromItem(EntityLivingBase entity, float dam private static boolean applyHeatDamage(EntityLivingBase aEntity, float aDamage, DamageSource source) { if (aDamage > 0 && aEntity != null && !isWearingFullHeatHazmat(aEntity)) { - return aEntity.attackEntityFrom(source, aDamage); + try { + return aEntity.attackEntityFrom(source, aDamage); + } catch (Throwable t) { + GTMod.GT_FML_LOGGER.error("Error damaging entity", t); + } } return false; } @@ -3240,14 +3247,10 @@ public static int getCoordinateScan(ArrayList aList, EntityPlayer aPlaye if (tTileEntity != null) { rEUAmount += addFluidHandlerInfo(side, tList, tTileEntity); - try { - if (tTileEntity instanceof ic2.api.reactor.IReactorChamber chamber) { - rEUAmount += 500; - // Redirect the rest of the scans to the reactor itself - tTileEntity = (TileEntity) chamber.getReactor(); - } - } catch (Throwable e) { - if (D1) e.printStackTrace(GTLog.err); + if (tTileEntity instanceof ic2.api.reactor.IReactorChamber chamber) { + rEUAmount += 500; + // Redirect the rest of the scans to the reactor itself + tTileEntity = (TileEntity) chamber.getReactor(); } rEUAmount += addReactorInfo(tList, tTileEntity); rEUAmount += addAlignmentInfo(tList, tTileEntity); @@ -4660,11 +4663,6 @@ public static byte convertRatioToRedstone(long used, long max, int threshold, bo return signal; } - public static ItemStack getNaniteAsCatalyst(Materials material) { - ItemStack aItem = material.getNanite(1); - return new ItemStack(aItem.getItem(), 0, aItem.getItemDamage()); - } - public static Stream streamCompounds(NBTTagList list) { if (list == null) return Stream.empty(); return IntStream.range(0, list.tagCount()) diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java index a1ca9b3eab6..ae94c3a3563 100644 --- a/src/main/java/gregtech/common/GTProxy.java +++ b/src/main/java/gregtech/common/GTProxy.java @@ -1236,14 +1236,14 @@ public void onPostLoad() { } } GTLog.out.println("GTMod: Adding Configs specific for MetaTileEntities"); - try { - for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { - if (GregTechAPI.METATILEENTITIES[i] != null) { + for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { + if (GregTechAPI.METATILEENTITIES[i] != null) { + try { GregTechAPI.METATILEENTITIES[i].onConfigLoad(); + } catch (Throwable e) { + GT_FML_LOGGER.error("Could not load config for MTE " + GregTechAPI.METATILEENTITIES[i], e); } } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); } GTLog.out.println("GTMod: Adding Tool Usage Crafting Recipes for OreDict Items."); for (Materials aMaterial : Materials.values()) { @@ -1332,14 +1332,16 @@ public void onServerStarting() { break; } } - try { - for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { - if (GregTechAPI.METATILEENTITIES[i] != null) { + for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { + if (GregTechAPI.METATILEENTITIES[i] != null) { + try { GregTechAPI.METATILEENTITIES[i].onServerStart(); + } catch (Throwable e) { + throw new RuntimeException( + "Could not call onServerStart MTE " + GregTechAPI.METATILEENTITIES[i], + e); } } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); } } @@ -1375,19 +1377,19 @@ public void onServerStopping() { File tSaveDirectory = getSaveDirectory(); GregTechAPI.sWirelessRedstone.clear(); if (tSaveDirectory != null) { - try { - for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { - if (GregTechAPI.METATILEENTITIES[i] != null) { + for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { + if (GregTechAPI.METATILEENTITIES[i] != null) { + try { GregTechAPI.METATILEENTITIES[i].onWorldSave(tSaveDirectory); + } catch (Throwable e) { + throw new RuntimeException( + "Could not call onWorldSave for MTE " + GregTechAPI.METATILEENTITIES[i], + e); } } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); } } this.mUniverse = null; - // GT_ChunkAssociatedData.saveAll(); todo: figure out if this is needed - } @SubscribeEvent @@ -2050,7 +2052,8 @@ public void registerOre(OreDictionary.OreRegisterEvent aEvent) { registerRecipes(tOre); } } catch (Throwable e) { - e.printStackTrace(GTLog.err); + GT_FML_LOGGER + .error("Could not register ore (oredict name=" + aEvent.Name + ", item stack=" + aEvent.Ore + ")", e); } } @@ -2128,14 +2131,16 @@ public void onWorldTickEvent(TickEvent.WorldTickEvent aEvent) { File tSaveDiretory = getSaveDirectory(); if (tSaveDiretory != null) { this.isFirstServerWorldTick = false; - try { - for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { - if (GregTechAPI.METATILEENTITIES[i] != null) { + for (int i = 1; i < GregTechAPI.METATILEENTITIES.length; i++) { + if (GregTechAPI.METATILEENTITIES[i] != null) { + try { GregTechAPI.METATILEENTITIES[i].onWorldLoad(tSaveDiretory); + } catch (Throwable e) { + throw new RuntimeException( + "Could not call onWorldLoad for MTE " + GregTechAPI.METATILEENTITIES[i], + e); } } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); } } } diff --git a/src/main/java/gregtech/common/blocks/ItemMachines.java b/src/main/java/gregtech/common/blocks/ItemMachines.java index 92f1675a443..276008b1758 100644 --- a/src/main/java/gregtech/common/blocks/ItemMachines.java +++ b/src/main/java/gregtech/common/blocks/ItemMachines.java @@ -153,6 +153,8 @@ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List } } } catch (Throwable e) { + aList.add(String.format("§cAn exception was thrown while getting this item's info.§r")); + aList.add(e.getLocalizedMessage()); GT_FML_LOGGER.error("addInformation", e); } } diff --git a/src/main/java/gregtech/common/covers/CoverSteamRegulator.java b/src/main/java/gregtech/common/covers/CoverSteamRegulator.java index 413e835ad29..fc4f1279c32 100644 --- a/src/main/java/gregtech/common/covers/CoverSteamRegulator.java +++ b/src/main/java/gregtech/common/covers/CoverSteamRegulator.java @@ -13,6 +13,11 @@ public CoverSteamRegulator(int aTransferRate, ITexture coverTexture) { @Override protected boolean canTransferFluid(FluidStack fluid) { - return GTModHandler.isAnySteam(fluid) || GTModHandler.isSuperHeatedSteam(fluid); + if (fluid == null) return false; + String fluidname = fluid.getFluid() + .getName(); + return GTModHandler.isAnySteam(fluid) || GTModHandler.isSuperHeatedSteam(fluid) + || fluidname.equals("supercriticalsteam") + || fluidname.equals("densesupercriticalsteam"); } } diff --git a/src/main/java/gregtech/common/covers/CoverSteamValve.java b/src/main/java/gregtech/common/covers/CoverSteamValve.java index 329cf634a77..129bc3ed375 100644 --- a/src/main/java/gregtech/common/covers/CoverSteamValve.java +++ b/src/main/java/gregtech/common/covers/CoverSteamValve.java @@ -21,6 +21,11 @@ public boolean isRedstoneSensitive(ForgeDirection side, int aCoverID, int aCover @Override protected boolean canTransferFluid(FluidStack fluid) { - return GTModHandler.isAnySteam(fluid) || GTModHandler.isSuperHeatedSteam(fluid); + if (fluid == null) return false; + String fluidname = fluid.getFluid() + .getName(); + return GTModHandler.isAnySteam(fluid) || GTModHandler.isSuperHeatedSteam(fluid) + || fluidname.equals("supercriticalsteam") + || fluidname.equals("densesupercriticalsteam"); } } diff --git a/src/main/java/gregtech/common/items/ItemIntegratedCircuit.java b/src/main/java/gregtech/common/items/ItemIntegratedCircuit.java index 876bda59630..36e48d865ad 100644 --- a/src/main/java/gregtech/common/items/ItemIntegratedCircuit.java +++ b/src/main/java/gregtech/common/items/ItemIntegratedCircuit.java @@ -28,6 +28,7 @@ import bartworks.common.items.ItemCircuitProgrammer; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import gregtech.GTMod; import gregtech.api.GregTechAPI; import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; @@ -222,12 +223,12 @@ public void registerIcons(IIconRegister aIconRegister) { GTLog.out.println("GTMod: Starting Item Icon Load Phase"); GT_FML_LOGGER.info("GTMod: Starting Item Icon Load Phase"); GregTechAPI.sItemIcons = aIconRegister; - try { - for (Runnable tRunnable : GregTechAPI.sGTItemIconload) { + for (Runnable tRunnable : GregTechAPI.sGTItemIconload) { + try { tRunnable.run(); + } catch (Throwable e) { + GTMod.GT_FML_LOGGER.error("Error registering icons", e); } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); } GTLog.out.println("GTMod: Finished Item Icon Load Phase"); GT_FML_LOGGER.info("GTMod: Finished Item Icon Load Phase"); diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem01.java b/src/main/java/gregtech/common/items/MetaGeneratedItem01.java index 56980e26951..22967eaf7a0 100644 --- a/src/main/java/gregtech/common/items/MetaGeneratedItem01.java +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem01.java @@ -584,10 +584,10 @@ public MetaGeneratedItem01() { null, OrePrefixes.ingot, OrePrefixes.ingotHot, - OrePrefixes.ingotDouble, - OrePrefixes.ingotTriple, - OrePrefixes.ingotQuadruple, - OrePrefixes.ingotQuintuple, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, OrePrefixes.plate, OrePrefixes.plateDouble, OrePrefixes.plateTriple, diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java b/src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java index 6155a6c7395..8404bd33390 100644 --- a/src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java @@ -16,6 +16,7 @@ import appeng.api.parts.IPartHost; import appeng.api.util.IOrientable; import appeng.tile.misc.TileInterface; +import gregtech.GTMod; import gregtech.api.enums.SoundResource; import gregtech.api.items.MetaBaseItem; import gregtech.api.items.MetaGeneratedTool; @@ -61,7 +62,9 @@ public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer try { return handler.handle() && !aWorld.isRemote; - } catch (Throwable ignored) {} + } catch (Throwable e) { + GTMod.GT_FML_LOGGER.error("Error wrenching", e); + } return false; } diff --git a/src/main/java/gregtech/common/tileentities/boilers/MTEBoiler.java b/src/main/java/gregtech/common/tileentities/boilers/MTEBoiler.java index 9364fd35b24..3aa4f1c04bf 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/MTEBoiler.java +++ b/src/main/java/gregtech/common/tileentities/boilers/MTEBoiler.java @@ -199,12 +199,9 @@ public void saveNBTData(NBTTagCompound aNBT) { aNBT.setInteger("mTemperature", this.mTemperature); aNBT.setInteger("mProcessingEnergy", this.mProcessingEnergy); aNBT.setInteger("mExcessWater", this.mExcessWater); - if (this.mSteam == null) { - return; - } - try { + if (mSteam != null) { aNBT.setTag("mSteam", this.mSteam.writeToNBT(new NBTTagCompound())); - } catch (Throwable ignored) {} + } } @Override diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java index caa163f387b..0e53903caa8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java @@ -541,7 +541,7 @@ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack a @Override public RecipeMap getRecipeMap() { - return RecipeMaps.pcbFactoryRecipesNoNanites; + return RecipeMaps.pcbFactoryRecipes; } @Override diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java index 555341aa45d..04e975aedbc 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java @@ -141,8 +141,8 @@ else if (aMaterial != Materials.Clay && aMaterial != Materials.Basalt) { .itemInputs(ItemList.Shape_Mold_Block.get(0L)) .itemOutputs(GTOreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)) .fluidInputs(aMaterial.getMolten(1296L)) - .duration(14 * SECONDS + 8 * TICKS) - .eut(8) + .duration(aMaterial.getMass() * 9 * TICKS) + .eut(calculateRecipeEU(aMaterial, 8)) .addTo(fluidSolidifierRecipes); } } @@ -171,7 +171,7 @@ else if (aMaterial != Materials.Clay && aMaterial != Materials.Basalt) { GTValues.RA.stdBuilder() .itemInputs(GTOreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L)) .itemOutputs(GTOreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)) - .duration(15 * SECONDS) + .duration(aMaterial.getMass() * 2 * TICKS) .eut(calculateRecipeEU(aMaterial, 2)) .addTo(compressorRecipes); } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java index e937f3f6a5d..b830f33d994 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java @@ -30,10 +30,6 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist public ProcessingIngot() { OrePrefixes.ingot.add(this); - OrePrefixes.ingotDouble.add(this); - OrePrefixes.ingotTriple.add(this); - OrePrefixes.ingotQuadruple.add(this); - OrePrefixes.ingotQuintuple.add(this); OrePrefixes.ingotHot.add(this); } @@ -189,106 +185,6 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic } } } - case ingotDouble -> { - if (!aNoSmashing || aStretchy) { - // bender recipes - { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(1, aStack), GTUtility.getIntegratedCircuit(1)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L)) - .duration(Math.max(aMaterialMass, 1L)) - .eut(calculateRecipeEU(aMaterial, 96)) - .addTo(benderRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(2, aStack), GTUtility.getIntegratedCircuit(2)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L)) - .duration(Math.max(aMaterialMass * 2L, 1L)) - .eut(calculateRecipeEU(aMaterial, 96)) - .addTo(benderRecipes); - } - - // Enable crafting with hammer if tier is < IV. - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq) { - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial) }); - } - } - } - case ingotTriple -> { - if (!aNoSmashing || aStretchy) { - // Bender recipes - { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(1, aStack), GTUtility.getIntegratedCircuit(1)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L)) - .duration(Math.max(aMaterialMass, 1L)) - .eut(calculateRecipeEU(aMaterial, 96)) - .addTo(benderRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(3, aStack), GTUtility.getIntegratedCircuit(3)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L)) - .duration(Math.max(aMaterialMass * 3L, 1L)) - .eut(calculateRecipeEU(aMaterial, 96)) - .addTo(benderRecipes); - } - - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq) { - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotDouble.get(aMaterial), 'B', - OrePrefixes.ingot.get(aMaterial) }); - } - } - } - case ingotQuadruple -> { - if (!aNoSmashing || aStretchy) { - // Bender recipes - { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(1, aStack), GTUtility.getIntegratedCircuit(1)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L)) - .duration(Math.max(aMaterialMass, 1L)) - .eut(calculateRecipeEU(aMaterial, 96)) - .addTo(benderRecipes); - } - - // If tier < IV add manual crafting. - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq) { - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotTriple.get(aMaterial), 'B', - OrePrefixes.ingot.get(aMaterial) }); - } - } - } - case ingotQuintuple -> { - if (!aNoSmashing || aStretchy) { - // Bender recipes - { - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(1, aStack), GTUtility.getIntegratedCircuit(1)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L)) - .duration(Math.max(aMaterialMass, 1L)) - .eut(calculateRecipeEU(aMaterial, 96)) - .addTo(benderRecipes); - } - - // Crafting recipes - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq) { - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L), - GTProxy.tBits, - new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotQuadruple.get(aMaterial), 'B', - OrePrefixes.ingot.get(aMaterial) }); - } - } - } case ingotHot -> { if (aMaterial.mAutoGenerateVacuumFreezerRecipes && GTOreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java index 9a42178b1c4..97457466d9c 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java @@ -58,7 +58,7 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(9, aStack), ItemList.Shape_Extruder_Block.get(0L)) .itemOutputs(GTOreDictUnificator.get(OrePrefixes.block, aMaterial.mSmeltInto, tAmount)) - .duration((10 * tAmount) * TICKS) + .duration(aMaterialMass * 9 * TICKS) .eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier)) .addTo(extruderRecipes); @@ -67,7 +67,7 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(9, aStack), ItemList.Shape_Mold_Block.get(0L)) .itemOutputs(GTOreDictUnificator.get(OrePrefixes.block, aMaterial.mSmeltInto, tAmount)) - .duration((5 * tAmount) * TICKS) + .duration(aMaterialMass * 9 * TICKS) .eut(calculateRecipeEU(aMaterial, 4 * tVoltageMultiplier)) .recipeCategory(RecipeCategories.alloySmelterMolding) .addTo(alloySmelterRecipes); diff --git a/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java b/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java index dd268ceb2a2..d19ef64da41 100644 --- a/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java +++ b/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java @@ -5,6 +5,7 @@ import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; +import static gregtech.api.util.GTRecipeConstants.PCB_NANITE_MATERIAL; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gtPlusPlus.core.material.MaterialsAlloy.QUANTUM; @@ -134,7 +135,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(2), - GTUtility.getNaniteAsCatalyst(Materials.Silver), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator @@ -147,6 +147,7 @@ public static void load() { .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 1.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 2) + .metadata(PCB_NANITE_MATERIAL, Materials.Silver) .addTo(RecipeMaps.pcbFactoryRecipes); } for (int tier = 1; tier <= PCBFactoryManager.mTiersOfPlastics; tier++) { @@ -160,7 +161,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(3), - GTUtility.getNaniteAsCatalyst(Materials.Gold), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator @@ -173,6 +173,7 @@ public static void load() { .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 1.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 3) + .metadata(PCB_NANITE_MATERIAL, Materials.Gold) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -212,7 +213,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(2), - GTUtility.getNaniteAsCatalyst(Materials.Silver), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))), @@ -224,6 +224,7 @@ public static void load() { .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 2.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 2) + .metadata(PCB_NANITE_MATERIAL, Materials.Silver) .addTo(RecipeMaps.pcbFactoryRecipes); } for (int tier = 2; tier <= PCBFactoryManager.mTiersOfPlastics; tier++) { @@ -237,7 +238,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(3), - GTUtility.getNaniteAsCatalyst(Materials.Gold), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))), @@ -249,6 +249,7 @@ public static void load() { .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 2.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 3) + .metadata(PCB_NANITE_MATERIAL, Materials.Gold) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -289,7 +290,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(2), - GTUtility.getNaniteAsCatalyst(Materials.Silver), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))), @@ -302,6 +302,7 @@ public static void load() { .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 3.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 2) + .metadata(PCB_NANITE_MATERIAL, Materials.Silver) .addTo(RecipeMaps.pcbFactoryRecipes); } for (int tier = 3; tier <= PCBFactoryManager.mTiersOfPlastics; tier++) { @@ -315,7 +316,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(3), - GTUtility.getNaniteAsCatalyst(Materials.Gold), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))), @@ -328,6 +328,7 @@ public static void load() { .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 3.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 3) + .metadata(PCB_NANITE_MATERIAL, Materials.Gold) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -367,7 +368,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(2), - GTUtility.getNaniteAsCatalyst(Materials.Silver), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))), @@ -379,6 +379,7 @@ public static void load() { .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 4.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 2) + .metadata(PCB_NANITE_MATERIAL, Materials.Silver) .addTo(RecipeMaps.pcbFactoryRecipes); } for (int tier = 4; tier <= PCBFactoryManager.mTiersOfPlastics; tier++) { @@ -392,7 +393,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(3), - GTUtility.getNaniteAsCatalyst(Materials.Gold), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))), @@ -404,6 +404,7 @@ public static void load() { .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 4.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 3) + .metadata(PCB_NANITE_MATERIAL, Materials.Gold) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -447,7 +448,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(2), - GTUtility.getNaniteAsCatalyst(Materials.Silver), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator @@ -462,6 +462,7 @@ public static void load() { .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 5.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 2) + .metadata(PCB_NANITE_MATERIAL, Materials.Silver) .metadata(UPGRADE, BIO) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -476,7 +477,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(3), - GTUtility.getNaniteAsCatalyst(Materials.Gold), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator @@ -491,6 +491,7 @@ public static void load() { .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 5.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 3) + .metadata(PCB_NANITE_MATERIAL, Materials.Gold) .metadata(UPGRADE, BIO) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -537,7 +538,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(2), - GTUtility.getNaniteAsCatalyst(Materials.Silver), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get( @@ -554,6 +554,7 @@ public static void load() { .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 2) + .metadata(PCB_NANITE_MATERIAL, Materials.Silver) .metadata(UPGRADE, BIO) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -568,7 +569,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(3), - GTUtility.getNaniteAsCatalyst(Materials.Gold), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), GTOreDictUnificator.get( @@ -585,6 +585,7 @@ public static void load() { .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 3) + .metadata(PCB_NANITE_MATERIAL, Materials.Gold) .metadata(UPGRADE, BIO) .addTo(RecipeMaps.pcbFactoryRecipes); } @@ -631,7 +632,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(2), - GTUtility.getNaniteAsCatalyst(Materials.Silver), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), new ItemStack( @@ -649,6 +649,7 @@ public static void load() { .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 2) + .metadata(PCB_NANITE_MATERIAL, Materials.Silver) .addTo(RecipeMaps.pcbFactoryRecipes); } for (int tier = 7; tier <= PCBFactoryManager.mTiersOfPlastics; tier++) { @@ -662,7 +663,6 @@ public static void load() { GTValues.RA.stdBuilder() .itemInputs( GTUtility.getIntegratedCircuit(3), - GTUtility.getNaniteAsCatalyst(Materials.Gold), PCBFactoryManager.getPlasticMaterialFromTier(tier) .getPlates(1), new ItemStack( @@ -680,6 +680,7 @@ public static void load() { .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5)))) .eut((int) GTValues.VP[tier + 1] * 3 / 4) .metadata(TIER, 3) + .metadata(PCB_NANITE_MATERIAL, Materials.Gold) .addTo(RecipeMaps.pcbFactoryRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java index 74cabd4196d..6582eb1ab21 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java @@ -114,7 +114,7 @@ public void run() { .fluidOutputs(Materials.Neutronium.getMolten(144)) .duration(12 * SECONDS) .eut(TierEU.RECIPE_ZPM) - .metadata(FUSION_THRESHOLD, 640000000) + .metadata(FUSION_THRESHOLD, 600000000) .addTo(fusionRecipes); // FT3 - utility GTValues.RA.stdBuilder() diff --git a/src/main/java/gregtech/loaders/preload/GTPreLoad.java b/src/main/java/gregtech/loaders/preload/GTPreLoad.java index f884ddcfecc..d517e1313ba 100644 --- a/src/main/java/gregtech/loaders/preload/GTPreLoad.java +++ b/src/main/java/gregtech/loaders/preload/GTPreLoad.java @@ -231,10 +231,10 @@ public static void runMineTweakerCompat() { String[] tags = new String[] {}; if (mIt == 1) tags = new String[] { "dustTiny", "dustSmall", "dust", "dustImpure", "dustPure", "crushed", "crushedPurified", "crushedCentrifuged", "gem", "nugget", - null, "ingot", "ingotHot", "ingotDouble", "ingotTriple", "ingotQuadruple", - "ingotQuintuple", "plate", "plateDouble", "plateTriple", "plateQuadruple", - "plateQuintuple", "plateDense", "stick", "lens", "round", "bolt", "screw", "ring", - "foil", "cell", "cellPlasma", "cellMolten", "rawOre", "plateSuperdense" }; + null, "ingot", "ingotHot", null, null, null, null, "plate", "plateDouble", + "plateTriple", "plateQuadruple", "plateQuintuple", "plateDense", "stick", "lens", + "round", "bolt", "screw", "ring", "foil", "cell", "cellPlasma", "cellMolten", + "rawOre", "plateSuperdense" }; if (mIt == 2) tags = new String[] { "toolHeadSword", "toolHeadPickaxe", "toolHeadShovel", "toolHeadAxe", "toolHeadHoe", "toolHeadHammer", "toolHeadFile", "toolHeadSaw", "toolHeadDrill", "toolHeadChainsaw", "toolHeadWrench", @@ -258,15 +258,14 @@ public static void runMineTweakerCompat() { } final String[] preS = new String[] { "dustTiny", "dustSmall", "dust", "dustImpure", "dustPure", "crushed", - "crushedPurified", "crushedCentrifuged", "gem", "nugget", "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", "toolHeadBuzzSaw", - "turbineBlade", "wireFine", "gearGtSmall", "rotor", "stickLong", "springSmall", "spring", "arrowGtWood", - "arrowGtPlastic", "gemChipped", "gemFlawed", "gemFlawless", "gemExquisite", "gearGt", "nanite", - "cellMolten", "rawOre", "plateSuperdense" }; + "crushedPurified", "crushedCentrifuged", "gem", "nugget", "ingot", "ingotHot", "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", + "toolHeadBuzzSaw", "turbineBlade", "wireFine", "gearGtSmall", "rotor", "stickLong", "springSmall", "spring", + "arrowGtWood", "arrowGtPlastic", "gemChipped", "gemFlawed", "gemFlawless", "gemExquisite", "gearGt", + "nanite", "cellMolten", "rawOre", "plateSuperdense" }; List mMTTags = new ArrayList<>(); oreTags.stream() diff --git a/src/main/java/gregtech/nei/GTNEIDefaultHandler.java b/src/main/java/gregtech/nei/GTNEIDefaultHandler.java index c3be2cd9f47..8bb8bb42e1c 100644 --- a/src/main/java/gregtech/nei/GTNEIDefaultHandler.java +++ b/src/main/java/gregtech/nei/GTNEIDefaultHandler.java @@ -570,9 +570,17 @@ public CachedDefaultRecipe(GTRecipe aRecipe) { .getItemHandler() == itemInputsInventory) { int i = widget.getMcSlot() .getSlotIndex(); - Object input = aRecipe instanceof GTRecipe.GTRecipe_WithAlt - ? ((GTRecipe.GTRecipe_WithAlt) aRecipe).getAltRepresentativeInput(i) - : aRecipe.getRepresentativeInput(i); + final Object input; + if (aRecipe instanceof GTRecipe.GTRecipe_WithAlt withAltRecipe) { + input = withAltRecipe.getRepresentativeInput(i); + } else { + ItemStack[] inputs = GTNEIDefaultHandler.this.neiProperties.itemInputsGetter.apply(aRecipe); + if (i < inputs.length && inputs[i] != null) { + input = inputs[i]; + } else { + input = null; + } + } if (input != null) { mInputs.add( new FixedPositionedStack( @@ -586,11 +594,12 @@ public CachedDefaultRecipe(GTRecipe aRecipe) { .getItemHandler() == itemOutputsInventory) { int i = widget.getMcSlot() .getSlotIndex(); - ItemStack output = aRecipe.getRepresentativeOutput(i); - if (output != null) { + ItemStack[] outputs = GTNEIDefaultHandler.this.neiProperties.itemOutputsGetter + .apply(aRecipe); + if (i < outputs.length && outputs[i] != null) { mOutputs.add( new FixedPositionedStack( - output, + outputs[i], GTNEIDefaultHandler.this.neiProperties.renderRealStackSizes, widget.getPos().x + 1, widget.getPos().y + 1, @@ -612,11 +621,12 @@ public CachedDefaultRecipe(GTRecipe aRecipe) { .getItemHandler() == fluidInputsInventory) { int i = widget.getMcSlot() .getSlotIndex(); - if (aRecipe.mFluidInputs.length > i && aRecipe.mFluidInputs[i] != null - && aRecipe.mFluidInputs[i].getFluid() != null) { + FluidStack[] inputs = GTNEIDefaultHandler.this.neiProperties.fluidInputsGetter + .apply(aRecipe); + if (inputs.length > i && inputs[i] != null && inputs[i].getFluid() != null) { mInputs.add( new FixedPositionedStack( - GTUtility.getFluidDisplayStack(aRecipe.mFluidInputs[i], true), + GTUtility.getFluidDisplayStack(inputs[i], true), GTNEIDefaultHandler.this.neiProperties.renderRealStackSizes, widget.getPos().x + 1, widget.getPos().y + 1)); @@ -625,11 +635,12 @@ public CachedDefaultRecipe(GTRecipe aRecipe) { .getItemHandler() == fluidOutputsInventory) { int i = widget.getMcSlot() .getSlotIndex(); - if (aRecipe.mFluidOutputs.length > i && aRecipe.mFluidOutputs[i] != null - && aRecipe.mFluidOutputs[i].getFluid() != null) { + FluidStack[] outputs = GTNEIDefaultHandler.this.neiProperties.fluidOutputsGetter + .apply(aRecipe); + if (outputs.length > i && outputs[i] != null && outputs[i].getFluid() != null) { mOutputs.add( new FixedPositionedStack( - GTUtility.getFluidDisplayStack(aRecipe.mFluidOutputs[i], true), + GTUtility.getFluidDisplayStack(outputs[i], true), GTNEIDefaultHandler.this.neiProperties.renderRealStackSizes, widget.getPos().x + 1, widget.getPos().y + 1)); diff --git a/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java b/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java index 2ee6ff219a6..5aeb30b2c40 100644 --- a/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java +++ b/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java @@ -1,7 +1,7 @@ package gtPlusPlus.api.recipe; import static gregtech.api.util.GTRecipeConstants.LFTR_OUTPUT_POWER; -import static gregtech.api.util.GTRecipeConstants.QFT_CATALYST_META; +import static gregtech.api.util.GTRecipeConstants.QFT_CATALYST; import java.util.ArrayList; import java.util.Arrays; @@ -14,7 +14,6 @@ import com.gtnewhorizons.modularui.common.widget.ProgressBar; import gregtech.api.gui.modularui.GTUITextures; -import gregtech.api.interfaces.IRecipeMap; import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.RecipeMapBackend; import gregtech.api.recipe.RecipeMapBuilder; @@ -27,7 +26,6 @@ import gregtech.nei.formatter.SimpleSpecialValueFormatter; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.api.gui.GTPPUITextures; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.MTETreeFarm; @@ -54,19 +52,25 @@ public class GTPPRecipeMaps { public static final RecipeMap quantumForceTransformerRecipes = RecipeMapBuilder .of("gtpp.recipe.quantumforcesmelter") .maxIO(6, 6, 6, 6) - .minInputs(1, 0) + .minInputs(0, 0) .progressBar(GTUITextures.PROGRESSBAR_ARROW_MULTIPLE) - .neiHandlerInfo(builder -> builder.setDisplayStack(GregtechItemList.QuantumForceTransformer.get(1))) + .recipeTransformer(recipe -> { + ItemStack catalyst = recipe.getMetadata(QFT_CATALYST); + if (catalyst == null) { + throw new IllegalStateException("QFT catalyst must be set via metadata QFT_CATALYST"); + } + }) .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("GT5U.nei.tier")) + .neiItemInputsGetter(recipe -> { + ItemStack catalyst = recipe.getMetadata(QFT_CATALYST); + assert catalyst != null; + List inputs = new ArrayList<>(Arrays.asList(recipe.mInputs)); + inputs.add(catalyst); + return inputs.toArray(new ItemStack[0]); + }) .frontend(QuantumForceTransformerFrontend::new) .disableOptimize() .build(); - public static final RecipeMap quantumForceTransformerRecipesNoCatalysts = RecipeMapBuilder - .of("gtpp.recipe.quantumforcesmelternocatalysts") - .maxIO(6, 6, 6, 6) - .minInputs(0, 0) - .disableOptimize() - .build(); public static final RecipeMap chemicalDehydratorRecipes = RecipeMapBuilder .of("gtpp.recipe.chemicaldehydrator") .maxIO(2, 9, 1, 1) @@ -254,29 +258,4 @@ public class GTPPRecipeMaps { .maxIO(2, 1, 0, 0) .disableRegisterNEI() .build(); - - static { - GTPPRecipeMaps.quantumForceTransformerRecipes.addDownstream(IRecipeMap.newRecipeMap(b -> { - b = b.copy(); - List itemInputs = new ArrayList<>(); - - int meta = -1; - for (int i = 0; i < b.getItemInputsBasic().length; i++) { - ItemStack stack = b.getItemInputBasic(i); - if (stack == null) continue; - if (ItemUtils.isCatalyst(stack)) { - meta = stack.getItemDamage(); - continue; - } - itemInputs.add(stack); - } - - if (meta != -1) { - b.metadata(QFT_CATALYST_META, meta); - } - return GTPPRecipeMaps.quantumForceTransformerRecipesNoCatalysts.doAdd( - b.itemInputs(itemInputs.toArray(new ItemStack[0])) - .hidden()); - })); - } } diff --git a/src/main/java/gtPlusPlus/core/block/machine/BlockPooCollector.java b/src/main/java/gtPlusPlus/core/block/machine/BlockPooCollector.java index b7c84ddc8ce..19cc847ba06 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/BlockPooCollector.java +++ b/src/main/java/gtPlusPlus/core/block/machine/BlockPooCollector.java @@ -85,28 +85,6 @@ public boolean onBlockActivated(final World world, final int x, final int y, fin } else { TileEntityBaseFluidCollector tank = (TileEntityBaseFluidCollector) world.getTileEntity(x, y, z); if (tank != null) { - // Item handItem; - // try { - // handItem = player.getHeldItem() - // .getItem(); - // } catch (Throwable t) {} - - // Fluid container code - /* - * if (handItem != null && (handItem instanceof IFluidContainerItem || handItem instanceof - * ItemFluidContainer || FluidContainerRegistry.isFilledContainer(player.getHeldItem()))) { if - * (tank.tank.getFluid() == null) { try { if - * (!FluidContainerRegistry.isFilledContainer(player.getHeldItem())) { ItemStack handItemStack = - * player.getHeldItem(); IFluidContainerItem container = (IFluidContainerItem) handItem; FluidStack - * containerFluid = container.getFluid(handItemStack); container.drain(handItemStack, - * container.getFluid(handItemStack).amount, true); tank.tank.setFluid(containerFluid); } else { - * ItemStack handItemStack = player.getHeldItem(); - * FluidContainerRegistry.drainFluidContainer(handItemStack); FluidStack containerFluid = - * FluidContainerRegistry.getFluidForFilledItem(handItemStack); ItemStack emptyContainer = - * FluidContainerRegistry.drainFluidContainer(handItemStack); player.setItemInUse(emptyContainer, 0); - * tank.tank.setFluid(containerFluid); } } catch (Throwable t) { t.printStackTrace(); } } } - */ - if (!tank.mInventory.isEmpty()) { PlayerUtils.messagePlayer(player, "Inventory contains:"); PlayerUtils.messagePlayer(player, ItemUtils.getArrayStackNames(tank.mInventory.getRealInventory())); diff --git a/src/main/java/gtPlusPlus/core/handler/CompatHandler.java b/src/main/java/gtPlusPlus/core/handler/CompatHandler.java index 572284584cd..f5409ff7f57 100644 --- a/src/main/java/gtPlusPlus/core/handler/CompatHandler.java +++ b/src/main/java/gtPlusPlus/core/handler/CompatHandler.java @@ -245,17 +245,10 @@ public static void startLoadingGregAPIBasedRecipes() { // Add autogenerated Recipes from Item Components for (Set> m : MaterialGenerator.mRecipeMapsToGenerate) { for (RunnableWithInfo r : m) { - try { - r.run(); - Logger.INFO( - "[FIND] " + r.getInfoData() - .getLocalizedName() + " recipes generated."); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO( - "[ERROR] " + r.getInfoData() - .getLocalizedName() + " recipes failed to generated."); - } + r.run(); + Logger.INFO( + "[FIND] " + r.getInfoData() + .getLocalizedName() + " recipes generated."); } } RecipeGenRecycling.executeGenerators(); @@ -278,31 +271,16 @@ public static void onLoadComplete(FMLLoadCompleteEvent event) { public static void runQueuedRecipes() { // Add autogenerated Recipes from Item Components for (RunnableWithInfo m : mRecipesToGenerate) { - try { - m.run(); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData() + " recipe failed to generated."); - } + m.run(); } for (RunnableWithInfo m : mGtRecipesToGenerate) { - try { - m.run(); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData() + " recipe failed to generated."); - } + m.run(); } } public static void runQueuedMisc() { for (RunnableWithInfo m : mObjectsToRunInPostInit) { - try { - m.run(); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData()); - } + m.run(); } } @@ -311,12 +289,7 @@ public static void runQueuedMisc() { */ public static void runQueuedOnLoadComplete(FMLLoadCompleteEvent event) { for (ItemPackage m : mObjectsToRunInOnLoadComplete) { - try { - m.onLoadComplete(event); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData()); - } + m.onLoadComplete(event); } } } diff --git a/src/main/java/gtPlusPlus/core/material/Material.java b/src/main/java/gtPlusPlus/core/material/Material.java index 0e69ba88d59..2af92fa266b 100644 --- a/src/main/java/gtPlusPlus/core/material/Material.java +++ b/src/main/java/gtPlusPlus/core/material/Material.java @@ -1150,7 +1150,7 @@ public final Block getOreBlock(final int stacksize) { return x; } } catch (Throwable t) { - // t.printStackTrace(); + t.printStackTrace(); } // Logger.MATERIALS("Failed getting the Ore Block for "+this.getLocalizedName()+"."); return Blocks.stone; diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java b/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java index b6bd8ba0e35..547075dc16e 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java @@ -1580,7 +1580,7 @@ private static void chemicalReactorRecipes() { .itemInputs( CI.getNumberedAdvancedCircuit(21), GTOreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 32L)) - .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.Sulfur, 8L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 2L)) .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 4000)) .fluidOutputs(FluidUtils.getFluidStack("sulfuricapatite", 8000)) .duration(20 * SECONDS) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTECyclotron.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTECyclotron.java index ac988cf6ab7..43b1ec5c112 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTECyclotron.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTECyclotron.java @@ -341,11 +341,6 @@ public String[] getExtraInfoData() { "Stored EU: " + this.getEUVar() + " / " + maxEUStore() }; } - @Override - public boolean doesBindPlayerInventory() { - return false; - } - @Override public boolean getDefaultHasMaintenanceChecks() { return false; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java index 28299f937be..5a6392785c5 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java @@ -355,9 +355,4 @@ public ArrayList getStoredInputs() { tItems.removeAll(Collections.singleton(null)); return tItems; } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTELargeRocketEngine.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTELargeRocketEngine.java index bb5a0c29640..e406325e681 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTELargeRocketEngine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTELargeRocketEngine.java @@ -522,9 +522,4 @@ public String getMachineType() { public int getMaxParallelRecipes() { return 1; } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEQuantumForceTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEQuantumForceTransformer.java index cb0177bdf16..3c226c33c73 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEQuantumForceTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEQuantumForceTransformer.java @@ -438,7 +438,7 @@ protected int getCasingTextureId() { @Override public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.quantumForceTransformerRecipesNoCatalysts; + return GTPPRecipeMaps.quantumForceTransformerRecipes; } @Override @@ -461,25 +461,25 @@ protected CheckRecipeResult validateRecipe(@NotNull GTRecipe recipe) { } int numberOfCatalyst = 0; - int catalystMeta = recipe.getMetadataOrDefault(GTRecipeConstants.QFT_CATALYST_META, -1); - if (catalystMeta != -1) { - if (catalystHounsings.isEmpty()) { - return SimpleCheckRecipeResult.ofFailure("no_catalyst"); - } - boolean catalystsFound = false; - for (MTEHatchBulkCatalystHousing catalystHousing : catalystHounsings) { - ItemStack storedCatalysts = catalystHousing.getItemStack(); - int storedCatalystMeta = catalystHousing.getStoredCatalystMeta(); - if (storedCatalysts == null || storedCatalystMeta != catalystMeta) { - continue; - } - numberOfCatalyst = catalystHousing.getItemCount(); - catalystsFound = true; - break; - } - if (!catalystsFound) { - return SimpleCheckRecipeResult.ofFailure("no_catalyst"); + ItemStack requiredCatalyst = recipe.getMetadata(GTRecipeConstants.QFT_CATALYST); + assert requiredCatalyst != null; + int catalystMeta = requiredCatalyst.getItemDamage(); + if (catalystHounsings.isEmpty()) { + return SimpleCheckRecipeResult.ofFailure("no_catalyst"); + } + boolean catalystsFound = false; + for (MTEHatchBulkCatalystHousing catalystHousing : catalystHounsings) { + ItemStack storedCatalysts = catalystHousing.getItemStack(); + int storedCatalystMeta = catalystHousing.getStoredCatalystMeta(); + if (storedCatalysts == null || storedCatalystMeta != catalystMeta) { + continue; } + numberOfCatalyst = catalystHousing.getItemCount(); + catalystsFound = true; + break; + } + if (!catalystsFound) { + return SimpleCheckRecipeResult.ofFailure("no_catalyst"); } mMaxParallel = numberOfCatalyst; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTESolarTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTESolarTower.java index 31ec1362a07..38ed4859042 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTESolarTower.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTESolarTower.java @@ -657,9 +657,4 @@ public String[] getExtraInfoData() { return new String[] { "Internal Heat Level: " + this.mHeatLevel, "Connected Solar Reflectors: " + this.mSolarHeaters.size() }; } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java index 826bac7aa93..783987b6074 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java @@ -162,7 +162,7 @@ protected final MultiblockTooltipBuilder createTooltip() { .beginStructureBlock(7, 9, 7, false) .addController("Top Middle") .addCasingInfoMin(getCasingName(), 360, false) - .addCasingInfoMin("Rotor Shaft", 30, false) + .addCasingInfoMin("Turbine Shaft", 30, false) .addOtherStructurePart("Rotor Assembly", "Any 1 dot hint", 1) .addInputBus("Any 4 dot hint (min 1)", 4) .addInputHatch("Any 4 dot hint(min 1)", 4); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenDustGeneration.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenDustGeneration.java index 2c380e6eba1..e5b61f049d6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenDustGeneration.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenDustGeneration.java @@ -330,29 +330,25 @@ public static boolean addMixerRecipe_Standalone(final Material material) { } // Add mixer Recipe - try { - if (oxygen == null) { - GTValues.RA.stdBuilder() - .itemInputs(input1, input2, input3, input4) - .itemOutputs(outputStacks) - .duration((int) Math.max(material.getMass() * 2L * 1, 1)) - .eut(material.vVoltageMultiplier) - .addTo(mixerRecipes); - } else { - GTValues.RA.stdBuilder() - .itemInputs(input1, input2, input3, input4) - .itemOutputs(outputStacks) - .fluidInputs(oxygen) - .duration((int) Math.max(material.getMass() * 2L * 1, 1)) - .eut(material.vVoltageMultiplier) - .addTo(mixerRecipes); - } + if (oxygen == null) { + GTValues.RA.stdBuilder() + .itemInputs(input1, input2, input3, input4) + .itemOutputs(outputStacks) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(mixerRecipes); + } else { + GTValues.RA.stdBuilder() + .itemInputs(input1, input2, input3, input4) + .itemOutputs(outputStacks) + .fluidInputs(oxygen) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(mixerRecipes); + } - Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success"); + Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success"); - } catch (Throwable t) { - t.printStackTrace(); - } return true; } @@ -378,32 +374,26 @@ public static boolean generatePackagerRecipes(Material aMatInfo) { private void addFurnaceRecipe(Material aMatInfo) { ItemStack aDust = aMatInfo.getDust(1); - ItemStack aOutput; - try { - if (aMatInfo.requiresBlastFurnace()) { - aOutput = aMatInfo.getHotIngot(1); - if (ItemUtils.checkForInvalidItems(aOutput)) { - if (addBlastFurnaceRecipe(aMatInfo, aDust, aOutput, aMatInfo.getMeltingPointK())) { - Logger - .MATERIALS("Successfully added a blast furnace recipe for " + aMatInfo.getLocalizedName()); - } else { - Logger.MATERIALS("Failed to add a blast furnace recipe for " + aMatInfo.getLocalizedName()); - } + if (aMatInfo.requiresBlastFurnace()) { + ItemStack aOutput = aMatInfo.getHotIngot(1); + if (ItemUtils.checkForInvalidItems(aOutput)) { + if (addBlastFurnaceRecipe(aMatInfo, aDust, aOutput, aMatInfo.getMeltingPointK())) { + Logger.MATERIALS("Successfully added a blast furnace recipe for " + aMatInfo.getLocalizedName()); } else { Logger.MATERIALS("Failed to add a blast furnace recipe for " + aMatInfo.getLocalizedName()); } } else { - aOutput = aMatInfo.getIngot(1); - if (ItemUtils.checkForInvalidItems(aOutput)) { - if (GTModHandler.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput, false)) { - Logger.MATERIALS("Successfully added a furnace recipe for " + aMatInfo.getLocalizedName()); - } else { - Logger.MATERIALS("Failed to add a furnace recipe for " + aMatInfo.getLocalizedName()); - } + Logger.MATERIALS("Failed to add a blast furnace recipe for " + aMatInfo.getLocalizedName()); + } + } else { + ItemStack aOutput = aMatInfo.getIngot(1); + if (ItemUtils.checkForInvalidItems(aOutput)) { + if (GTModHandler.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput, false)) { + Logger.MATERIALS("Successfully added a furnace recipe for " + aMatInfo.getLocalizedName()); + } else { + Logger.MATERIALS("Failed to add a furnace recipe for " + aMatInfo.getLocalizedName()); } } - } catch (Throwable t) { - t.printStackTrace(); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java index 68011ace71a..6cea2539ec9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java @@ -286,39 +286,33 @@ public static ArrayList getOres(final Object aOreName) { } public static ItemStack getItemStackOfAmountFromOreDictNoBroken(String oredictName, final int amount) { + if (oredictName.contains("-") || oredictName.contains("_")) { + oredictName = Utils.sanitizeString(oredictName, new char[] { '-', '_' }); + } else { + oredictName = Utils.sanitizeString(oredictName); + } - try { - - if (oredictName.contains("-") || oredictName.contains("_")) { - oredictName = Utils.sanitizeString(oredictName, new char[] { '-', '_' }); - } else { - oredictName = Utils.sanitizeString(oredictName); - } - - // Adds a check to grab dusts using GT methodology if possible. - ItemStack returnValue = null; - if (oredictName.toLowerCase() - .contains("dust")) { - final String MaterialName = oredictName.toLowerCase() - .replace("dust", ""); - final Materials m = Materials.get(MaterialName); - if (m != null && m != Materials._NULL) { - returnValue = ItemUtils.getGregtechDust(m, amount); - if (ItemUtils.checkForInvalidItems(returnValue)) { - return returnValue; - } - } - } - if (returnValue == null) { - returnValue = getItemStackOfAmountFromOreDict(oredictName, amount); + // Adds a check to grab dusts using GT methodology if possible. + ItemStack returnValue = null; + if (oredictName.toLowerCase() + .contains("dust")) { + final String MaterialName = oredictName.toLowerCase() + .replace("dust", ""); + final Materials m = Materials.get(MaterialName); + if (m != null && m != Materials._NULL) { + returnValue = ItemUtils.getGregtechDust(m, amount); if (ItemUtils.checkForInvalidItems(returnValue)) { - return returnValue.copy(); + return returnValue; } } - return null; - } catch (final Throwable t) { - return null; } + if (returnValue == null) { + returnValue = getItemStackOfAmountFromOreDict(oredictName, amount); + if (ItemUtils.checkForInvalidItems(returnValue)) { + return returnValue.copy(); + } + } + return null; } public static ItemStack getItemStackOfAmountFromOreDict(String oredictName, final int amount) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoaderChemicalSkips.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoaderChemicalSkips.java index 4f2714b30cd..a44db852ddc 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoaderChemicalSkips.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoaderChemicalSkips.java @@ -11,6 +11,7 @@ import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeBuilder.TICKS; import static gregtech.api.util.GTRecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GTRecipeConstants.QFT_CATALYST; import static gregtech.api.util.GTRecipeConstants.QFT_FOCUS_TIER; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.quantumForceTransformerRecipes; @@ -70,9 +71,7 @@ private static void quantumTransformerRecipes() { ItemStack biocells = GTUtility.copyAmountUnsafe(64 * 32, ItemList.Circuit_Chip_Biocell.get(1)); // Platline GTValues.RA.stdBuilder() - .itemInputs( - WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .itemInputs(WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32)) .itemOutputs( Materials.Platinum.getDust(64), Materials.Palladium.getDust(64), @@ -82,46 +81,42 @@ private static void quantumTransformerRecipes() { WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlatinumGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); // Partial platline (from Pd, Os, Ir, Rh and leach) GTValues.RA.stdBuilder() - .itemInputs( - WerkstoffLoader.PDMetallicPowder.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .itemInputs(WerkstoffLoader.PDMetallicPowder.get(OrePrefixes.dust, 32)) .itemOutputs( Materials.Palladium.getDust(64), Materials.Platinum.getDust(64), WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.dust, 64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlatinumGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); GTValues.RA.stdBuilder() - .itemInputs( - WerkstoffLoader.IrLeachResidue.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .itemInputs(WerkstoffLoader.IrLeachResidue.get(OrePrefixes.dust, 32)) .itemOutputs( Materials.Iridium.getDust(64), Materials.Platinum.getDust(64), Materials.Osmiridium.getDust(64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlatinumGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); GTValues.RA.stdBuilder() - .itemInputs( - WerkstoffLoader.IrOsLeachResidue.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .itemInputs(WerkstoffLoader.IrOsLeachResidue.get(OrePrefixes.dust, 32)) .itemOutputs(Materials.Osmium.getDust(64), Materials.Iridium.getDust(64), Materials.Osmiridium.getDust(64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlatinumGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); GTValues.RA.stdBuilder() - .itemInputs( - WerkstoffLoader.CrudeRhMetall.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .itemInputs(WerkstoffLoader.CrudeRhMetall.get(OrePrefixes.dust, 32)) .itemOutputs( WerkstoffLoader.Rhodium.get(OrePrefixes.dust, 64), Materials.Palladium.getDust(64), @@ -129,12 +124,11 @@ private static void quantumTransformerRecipes() { WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.dust, 64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlatinumGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); GTValues.RA.stdBuilder() - .itemInputs( - WerkstoffLoader.LeachResidue.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .itemInputs(WerkstoffLoader.LeachResidue.get(OrePrefixes.dust, 32)) .itemOutputs( Materials.Iridium.getDust(64), Materials.Osmium.getDust(64), @@ -142,11 +136,12 @@ private static void quantumTransformerRecipes() { WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlatinumGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); // Early Plastics GTValues.RA.stdBuilder() - .itemInputs(Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 0)) + .itemInputs(Materials.Carbon.getDust(64)) .fluidInputs( Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16), @@ -161,11 +156,12 @@ private static void quantumTransformerRecipes() { Materials.Polybenzimidazole.getMolten(144 * 64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_ZPM) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlasticPolymerCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); // Early Rubbers/Cable Materials GTValues.RA.stdBuilder() - .itemInputs(Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 0)) + .itemInputs(Materials.Carbon.getDust(64)) .fluidInputs( Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16), @@ -177,15 +173,13 @@ private static void quantumTransformerRecipes() { Materials.Rubber.getMolten(144 * 256)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_ZPM) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mRubberPolymerCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .noBuffer() .addTo(quantumForceTransformerRecipes); // Glues and Solders GTValues.RA.stdBuilder() - .itemInputs( - Materials.Carbon.getDust(32), - Materials.Bismuth.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 0)) + .itemInputs(Materials.Carbon.getDust(32), Materials.Bismuth.getDust(32)) .itemOutputs(ItemList.StableAdhesive.get(1)) .fluidInputs(Materials.Oxygen.getGas(10000), Materials.Hydrogen.getGas(10000)) .fluidOutputs( @@ -195,15 +189,12 @@ private static void quantumTransformerRecipes() { Materials.SolderingAlloy.getMolten(144 * 128)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mAdhesionPromoterCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); // Titanium, Tungsten, Indium GTValues.RA.stdBuilder() - .itemInputs( - Materials.Lead.getDust(16), - Materials.Bauxite.getDust(32), - Materials.Tungstate.getDust(16), - ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0)) + .itemInputs(Materials.Lead.getDust(16), Materials.Bauxite.getDust(32), Materials.Tungstate.getDust(16)) .itemOutputs( Materials.Titanium.getDust(64), Materials.TungstenSteel.getDust(64), @@ -211,14 +202,11 @@ private static void quantumTransformerRecipes() { Materials.Indium.getDust(64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mTitaTungstenIndiumCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); GTValues.RA.stdBuilder() - .itemInputs( - Materials.Rutile.getDust(32), - Materials.Scheelite.getDust(16), - Materials.Ilmenite.getDust(16), - ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0)) + .itemInputs(Materials.Rutile.getDust(32), Materials.Scheelite.getDust(16), Materials.Ilmenite.getDust(16)) .itemOutputs( Materials.Titanium.getDust(64), Materials.TungstenSteel.getDust(64), @@ -228,14 +216,12 @@ private static void quantumTransformerRecipes() { MaterialsElements.getInstance().HAFNIUM.getDust(64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mTitaTungstenIndiumCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); // Thorium, Uranium, Plutonium GTValues.RA.stdBuilder() - .itemInputs( - Materials.Thorium.getDust(32), - Materials.Uranium.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 0)) + .itemInputs(Materials.Thorium.getDust(32), Materials.Uranium.getDust(32)) .itemOutputs( MaterialsElements.getInstance().THORIUM232.getDust(64), MaterialsElements.getInstance().URANIUM233.getDust(64), @@ -245,13 +231,12 @@ private static void quantumTransformerRecipes() { Materials.Plutonium241.getDust(64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mRadioactivityCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); // Monaline GTValues.RA.stdBuilder() - .itemInputs( - Materials.Monazite.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0)) + .itemInputs(Materials.Monazite.getDust(32)) .itemOutputs( Materials.Cerium.getDust(64), Materials.Gadolinium.getDust(64), @@ -261,13 +246,12 @@ private static void quantumTransformerRecipes() { ItemList.SuperconductorComposite.get(1)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UHV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mRareEarthGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 2) .addTo(quantumForceTransformerRecipes); // Bastline GTValues.RA.stdBuilder() - .itemInputs( - Materials.Bastnasite.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0)) + .itemInputs(Materials.Bastnasite.getDust(32)) .itemOutputs( Materials.Holmium.getDust(64), Materials.Cerium.getDust(64), @@ -276,13 +260,12 @@ private static void quantumTransformerRecipes() { Materials.Lanthanum.getDust(64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UHV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mRareEarthGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 2) .addTo(quantumForceTransformerRecipes); // Bastline from Cerium-rich mixture GTValues.RA.stdBuilder() - .itemInputs( - WerkstoffMaterialPool.CeriumRichMixture.get(OrePrefixes.dust, 16), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0)) + .itemInputs(WerkstoffMaterialPool.CeriumRichMixture.get(OrePrefixes.dust, 16)) .itemOutputs( Materials.Holmium.getDust(64), Materials.Cerium.getDust(64), @@ -291,6 +274,7 @@ private static void quantumTransformerRecipes() { Materials.Lanthanum.getDust(64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UHV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mRareEarthGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 2) .addTo(quantumForceTransformerRecipes); // Stem Cells @@ -298,19 +282,18 @@ private static void quantumTransformerRecipes() { .itemInputs( Materials.Calcium.getDust(32), Materials.MeatRaw.getDust(32), - getModItem(NewHorizonsCoreMod.ID, "GTNHBioItems", 32, 2), - ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 0)) + getModItem(NewHorizonsCoreMod.ID, "GTNHBioItems", 32, 2)) .itemOutputs(stemcells) .fluidOutputs( Materials.GrowthMediumRaw.getFluid(1000 * 1024), Materials.GrowthMediumSterilized.getFluid(1000 * 512)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UEV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mRawIntelligenceCatalyst)) .metadata(QFT_FOCUS_TIER, 3) .addTo(quantumForceTransformerRecipes); // Unknown Particles GTValues.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 0)) .itemOutputs( Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.GRAVITON), @@ -320,14 +303,12 @@ private static void quantumTransformerRecipes() { .fluidOutputs(FluidUtils.getFluidStack("plasma.hydrogen", 1000)) .duration(5 * SECONDS) .eut(TierEU.RECIPE_UEV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mParticleAccelerationCatalyst)) .metadata(QFT_FOCUS_TIER, 3) .addTo(quantumForceTransformerRecipes); // Lategame Plastics (Missing Radox Polymer and Heavy Radox) GTValues.RA.stdBuilder() - .itemInputs( - Materials.Carbon.getDust(64), - Materials.Osmium.getDust(24), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0)) + .itemInputs(Materials.Carbon.getDust(64), Materials.Osmium.getDust(24)) .fluidInputs(Materials.Hydrogen.getGas(1000 * 16), Materials.Nitrogen.getGas(1000 * 16)) .fluidOutputs( FluidUtils.getFluidStack("xenoxene", 1000 * 16), @@ -336,15 +317,13 @@ private static void quantumTransformerRecipes() { MaterialsKevlar.Kevlar.getMolten(144 * 64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UIV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mUltimatePlasticCatalyst)) .metadata(QFT_FOCUS_TIER, 4) .addTo(quantumForceTransformerRecipes); if (Mods.Forestry.isModLoaded()) { // Lategame Kevlar using Kevlar bee comb GTValues.RA.stdBuilder() - .itemInputs( - GTBees.combs.getStackForType(CombType.KEVLAR, 24), - Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0)) + .itemInputs(GTBees.combs.getStackForType(CombType.KEVLAR, 24), Materials.Carbon.getDust(64)) .fluidInputs(Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16)) .fluidOutputs( MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32), @@ -352,6 +331,7 @@ private static void quantumTransformerRecipes() { MaterialsKevlar.Kevlar.getMolten(144 * 64)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UIV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mUltimatePlasticCatalyst)) .metadata(QFT_FOCUS_TIER, 4) .addTo(quantumForceTransformerRecipes); // Platline skip using Platline Combs (Palladium, Osmium, Iridium, Platinum) @@ -360,8 +340,7 @@ private static void quantumTransformerRecipes() { GTBees.combs.getStackForType(CombType.PLATINUM, 32), GTBees.combs.getStackForType(CombType.PALLADIUM, 32), GTBees.combs.getStackForType(CombType.OSMIUM, 32), - GTBees.combs.getStackForType(CombType.IRIDIUM, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + GTBees.combs.getStackForType(CombType.IRIDIUM, 32)) .fluidOutputs( Materials.Osmium.getMolten(144 * 256), Materials.Palladium.getMolten(144 * 256), @@ -369,15 +348,13 @@ private static void quantumTransformerRecipes() { Materials.Platinum.getMolten(144 * 256)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mPlatinumGroupCatalyst)) .metadata(QFT_FOCUS_TIER, 1) .addTo(quantumForceTransformerRecipes); } // Bio Cells and Mutated Solder GTValues.RA.stdBuilder() - .itemInputs( - ItemList.Circuit_Chip_Stemcell.get(16), - Materials.InfinityCatalyst.getDust(4), - ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 0)) + .itemInputs(ItemList.Circuit_Chip_Stemcell.get(16), Materials.InfinityCatalyst.getDust(4)) .itemOutputs(biocells) .fluidOutputs( MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(144 * 128), @@ -385,13 +362,12 @@ private static void quantumTransformerRecipes() { Materials.BioMediumRaw.getFluid(1000 * 512)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UIV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mBiologicalIntelligenceCatalyst)) .metadata(QFT_FOCUS_TIER, 4) .addTo(quantumForceTransformerRecipes); // Rare Particles GTValues.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 0), - GregtechItemList.Laser_Lens_Special.get(1)) + .itemInputs(GregtechItemList.Laser_Lens_Special.get(1)) .itemOutputs( Particle.getBaseParticle(Particle.Z_BOSON), Particle.getBaseParticle(Particle.W_BOSON), @@ -405,6 +381,7 @@ private static void quantumTransformerRecipes() { new FluidStack(MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 30000)) .duration(3 * MINUTES + 20 * SECONDS) .eut(TierEU.RECIPE_UIV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mSynchrotronCapableCatalyst)) .metadata(QFT_FOCUS_TIER, 4) .addTo(quantumForceTransformerRecipes); @@ -413,10 +390,7 @@ private static void quantumTransformerRecipes() { ItemStack seaweed = GTUtility .copyAmountUnsafe(64 * 32, getModItem(GalaxySpace.ID, "tcetiedandelions", 1, 4)); GTValues.RA.stdBuilder() - .itemInputs( - GTOreDictUnificator.get("cropSeaweed", 64), - Materials.Mytryl.getDust(16), - ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 0)) + .itemInputs(GTOreDictUnificator.get("cropSeaweed", 64), Materials.Mytryl.getDust(16)) .itemOutputs(seaweed, getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 16)) .fluidInputs(FluidUtils.getFluidStack("unknowwater", 25_000)) .fluidOutputs( @@ -424,6 +398,7 @@ private static void quantumTransformerRecipes() { FluidUtils.getFluidStack("iodine", 64_000)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_UIV) + .metadata(QFT_CATALYST, GTUtility.copyAmount(0, GenericChem.mAlgagenicGrowthPromoterCatalyst)) .metadata(QFT_FOCUS_TIER, 4) .addTo(quantumForceTransformerRecipes); diff --git a/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/BeamlineRecipeAdder2.java b/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/BeamlineRecipeAdder2.java index dad71375c30..d8a6b617cbb 100644 --- a/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/BeamlineRecipeAdder2.java +++ b/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/BeamlineRecipeAdder2.java @@ -1,6 +1,8 @@ package gtnhlanth.common.tileentity.recipe.beamline; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; @@ -11,6 +13,7 @@ import gregtech.api.recipe.RecipeMapBuilder; import gregtech.api.util.GTUtility; import gtnhlanth.common.beamline.Particle; +import gtnhlanth.common.register.LanthItemList; public class BeamlineRecipeAdder2 { @@ -47,8 +50,13 @@ public class BeamlineRecipeAdder2 { ); }) - // .slotOverlays(null) - + .neiItemOutputsGetter(recipe -> { + RecipeSC scRecipe = (RecipeSC) recipe; + ItemStack particleStack = new ItemStack(LanthItemList.PARTICLE_ITEM, 1, scRecipe.particleId); + List ret = new ArrayList<>(Arrays.asList(recipe.mOutputs)); + ret.add(particleStack); + return ret.toArray(new ItemStack[0]); + }) .build(); public final RecipeMap TargetChamberRecipes = RecipeMapBuilder.of("gtnhlanth.recipe.tc") @@ -84,7 +92,14 @@ public class BeamlineRecipeAdder2 { ); })) - // .slotOverlays(null) + .neiItemInputsGetter(recipe -> { + RecipeTC recipeTC = (RecipeTC) recipe; + ItemStack particleStack = new ItemStack(LanthItemList.PARTICLE_ITEM, 1, recipeTC.particleId); + List ret = new ArrayList<>(); + ret.add(particleStack); + ret.addAll(Arrays.asList(recipe.mInputs)); + return ret.toArray(new ItemStack[0]); + }) .progressBar(GTUITextures.PROGRESSBAR_ASSEMBLY_LINE_1) .progressBarPos(108, 22) .neiTransferRect(100, 22, 28, 18) diff --git a/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeSC.java b/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeSC.java index 162b94b75e8..6e10a1d4f04 100644 --- a/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeSC.java +++ b/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeSC.java @@ -1,15 +1,9 @@ package gtnhlanth.common.tileentity.recipe.beamline; -import java.util.ArrayList; -import java.util.Arrays; - -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import gregtech.api.util.GTRecipe; -import gregtech.api.util.GTUtility; -import gtnhlanth.common.register.LanthItemList; public class RecipeSC extends GTRecipe { @@ -31,20 +25,4 @@ public RecipeSC(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Ob this.focus = focus; this.energyRatio = energyRatio; } - - @Override - public ItemStack getRepresentativeOutput(int aIndex) { - - ItemStack particleStack = new ItemStack(LanthItemList.PARTICLE_ITEM); - - Items.ender_pearl.setDamage(particleStack, this.particleId); - - ArrayList mOutputsWithParticle = new ArrayList<>(Arrays.asList(mOutputs)); - mOutputsWithParticle.add(particleStack); - - ItemStack[] mOutputsWithParticleArray = mOutputsWithParticle.toArray(new ItemStack[0]); - - if (aIndex < 0 || aIndex >= mOutputsWithParticleArray.length) return null; - return GTUtility.copyOrNull(mOutputsWithParticleArray[aIndex]); - } } diff --git a/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeTC.java b/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeTC.java index 30be015abb1..3c1b0fe4ec0 100644 --- a/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeTC.java +++ b/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeTC.java @@ -1,14 +1,8 @@ package gtnhlanth.common.tileentity.recipe.beamline; -import java.util.ArrayList; -import java.util.Arrays; - -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import gregtech.api.util.GTRecipe; -import gregtech.api.util.GTUtility; -import gtnhlanth.common.register.LanthItemList; public class RecipeTC extends GTRecipe { @@ -50,22 +44,4 @@ public RecipeTC(boolean aOptimize, ItemStack aInput, ItemStack aOutput, ItemStac this.focusItem = aFocusItem; } - - @Override - public ItemStack getRepresentativeInput(int aIndex) { - - ArrayList mInputsWithParticle = new ArrayList<>(); - - ItemStack particleStack = new ItemStack(LanthItemList.PARTICLE_ITEM); - Items.ender_pearl.setDamage(particleStack, this.particleId); - - mInputsWithParticle.add(particleStack); - mInputsWithParticle.addAll(Arrays.asList(mInputs)); - - ItemStack[] mInputsWithParticleArray = mInputsWithParticle.toArray(new ItemStack[0]); - - if (aIndex < 0 || aIndex >= mInputsWithParticleArray.length) return null; - return GTUtility.copyOrNull(mInputsWithParticleArray[aIndex]); - } - } diff --git a/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java b/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java index 4c2da0c2a22..0f49ec3c34a 100644 --- a/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java +++ b/src/main/java/kekztech/common/tileentities/MTELapotronicSuperCapacitor.java @@ -14,7 +14,9 @@ import static java.lang.Math.min; import static kekztech.util.Util.toPercentageFrom; import static kekztech.util.Util.toStandardForm; +import static net.minecraft.util.StatCollector.translateToLocal; +import java.math.BigDecimal; import java.math.BigInteger; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; @@ -57,6 +59,8 @@ import com.gtnewhorizons.modularui.api.drawable.IDrawable; import com.gtnewhorizons.modularui.api.drawable.UITexture; import com.gtnewhorizons.modularui.api.math.Alignment; +import com.gtnewhorizons.modularui.api.math.Color; +import com.gtnewhorizons.modularui.api.math.Size; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.api.screen.UIBuildContext; import com.gtnewhorizons.modularui.common.widget.ButtonWidget; @@ -64,6 +68,7 @@ import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; import com.gtnewhorizons.modularui.common.widget.SlotWidget; import com.gtnewhorizons.modularui.common.widget.TextWidget; +import com.gtnewhorizons.modularui.common.widget.textfield.NumericWidget; import bartworks.API.BorosilicateGlass; import gregtech.api.enums.Dyes; @@ -111,6 +116,7 @@ private enum TopState { private boolean wireless_mode = false; private int counter = 1; private boolean balanced = false; + private boolean warningReceived = false; private final LongRunningAverage energyInputValues1h = new LongRunningAverage(3600 * 20); private final LongRunningAverage energyOutputValues1h = new LongRunningAverage(3600 * 20); @@ -183,6 +189,8 @@ public static int getIndexFromGlassTier(int glassTier) { private static final int CASING_TEXTURE_ID = (42 << 7) | 127; private static final int DURATION_AVERAGE_TICKS = 100; + private static final int DEBUG_POWER_WINDOW_ID = 10; + private static final int WIRELESS_WARNING_WINDOW_ID = 11; // height channel for height. // glass channel for glass @@ -477,7 +485,15 @@ protected MultiblockTooltipBuilder createTooltip() { + EnumChatFormatting.GRAY + ") EU in the LSC") .addInfo("it will withdraw from the network and add to the LSC.") - .addInfo("If there is more it will add the EU to the network and remove it from the LSC.") + .addInfo( + "If there is more it will add " + EnumChatFormatting.DARK_RED + + EnumChatFormatting.BOLD + + EnumChatFormatting.UNDERLINE + + "all excess" + + EnumChatFormatting.RESET + + EnumChatFormatting.GRAY + + " EU to the network, removing it from the LSC.") + .addInfo("This can potentially brick your base, be careful.") .addInfo( "The threshold increases " + EnumChatFormatting.DARK_RED + "100" @@ -1217,6 +1233,7 @@ public void saveNBTData(NBTTagCompound nbt) { nbt.setByteArray("stored", stored.toByteArray()); nbt.setBoolean("wireless_mode", wireless_mode); nbt.setInteger("wireless_mode_cooldown", counter); + nbt.setBoolean("warningReceived", warningReceived); super.saveNBTData(nbt); } @@ -1229,6 +1246,7 @@ public void loadNBTData(NBTTagCompound nbt) { stored = new BigInteger(nbt.getByteArray("stored")); wireless_mode = nbt.getBoolean("wireless_mode"); counter = nbt.getInteger("wireless_mode_cooldown"); + warningReceived = nbt.getBoolean("warningReceived"); super.loadNBTData(nbt); } @@ -1324,13 +1342,22 @@ public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, f @Override public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { super.addUIWidgets(builder, buildContext); + buildContext.addSyncedWindow(DEBUG_POWER_WINDOW_ID, this::createPowerWindow); + buildContext.addSyncedWindow(WIRELESS_WARNING_WINDOW_ID, this::createWarningWindow); builder.widget(new ButtonWidget().setOnClick((clickData, widget) -> { if (!widget.isClient()) { canUseWireless = canUseWireless(); } if (canUseWireless) { - wireless_mode = !wireless_mode; + if (!warningReceived) { + warningReceived = true; + widget.getContext() + .openSyncedWindow(WIRELESS_WARNING_WINDOW_ID); + } else { + wireless_mode = !wireless_mode; + } } + }) .setPlayClickSound(true) .setBackground(() -> { @@ -1353,6 +1380,7 @@ public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildCont .setTooltipShowUpDelay(TOOLTIP_DELAY)) .widget(new FakeSyncWidget.BooleanSyncer(() -> wireless_mode, val -> wireless_mode = val)) .widget(new FakeSyncWidget.BooleanSyncer(this::canUseWireless, val -> canUseWireless = val)) + .widget(new FakeSyncWidget.BooleanSyncer(() -> warningReceived, val -> warningReceived = val)) .widget(new ButtonWidget().setOnClick((clickData, widget) -> { if (mMachine && wireless_mode && canUseWireless && !balanced) { counter = rebalance(); @@ -1370,6 +1398,99 @@ public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildCont .setEnabled((widget) -> wireless_mode && canUseWireless && !balanced) .addTooltip(StatCollector.translateToLocal("gui.kekztech_lapotronicenergyunit.wireless_rebalance")) .setTooltipShowUpDelay(TOOLTIP_DELAY)); + + builder.widget(new ButtonWidget().setOnClick((clickData, widget) -> { + if (!widget.isClient()) { + widget.getContext() + .openSyncedWindow(DEBUG_POWER_WINDOW_ID); + } + }) + .setPlayClickSound(true) + .setBackground(() -> { + List ret = new ArrayList<>(); + ret.add(GTUITextures.BUTTON_STANDARD); + ret.add(GTUITextures.OVERLAY_BUTTON_EMIT_ENERGY); + return ret.toArray(new IDrawable[0]); + }) + .addTooltip(translateToLocal("GT5U.multiblock.energy")) + .setTooltipShowUpDelay(TOOLTIP_DELAY) + .setEnabled($ -> buildContext.getPlayer().capabilities.isCreativeMode) + .setPos(174, 112) + .setSize(16, 16)); + } + + protected ModularWindow createPowerWindow(final EntityPlayer player) { + final int WIDTH = 158; + final int HEIGHT = 52; + final int PARENT_WIDTH = getGUIWidth(); + final int PARENT_HEIGHT = getGUIHeight(); + ModularWindow.Builder builder = ModularWindow.builder(WIDTH, HEIGHT); + builder.setBackground(GTUITextures.BACKGROUND_SINGLEBLOCK_DEFAULT); + builder.setGuiTint(getGUIColorization()); + builder.setDraggable(true); + builder.setPos( + (size, window) -> Alignment.Center.getAlignedPos(size, new Size(PARENT_WIDTH, PARENT_HEIGHT)) + .add( + Alignment.BottomRight.getAlignedPos(new Size(PARENT_WIDTH, PARENT_HEIGHT), new Size(WIDTH, HEIGHT)) + .add(WIDTH - 3, 0) + .subtract(0, 10))); + builder.widget( + TextWidget.localised("GT5U.multiblock.energy") + .setPos(3, 4) + .setSize(150, 20)) + .widget( + new NumericWidget().setSetter( + val -> stored = BigDecimal.valueOf(val) + .toBigInteger()) + .setGetter(() -> stored.doubleValue()) + .setIntegerOnly(false) + .setBounds(0, capacity.doubleValue()) + .setDefaultValue(stored.doubleValue()) + .setTextAlignment(Alignment.Center) + .setTextColor(Color.WHITE.normal) + .setSize(150, 18) + .setPos(4, 25) + .setBackground(GTUITextures.BACKGROUND_TEXT_FIELD) + .attachSyncer( + new FakeSyncWidget.DoubleSyncer( + () -> capacity.doubleValue(), + (val) -> capacity = BigDecimal.valueOf(val) + .toBigInteger()), + builder) + .attachSyncer( + new FakeSyncWidget.DoubleSyncer( + () -> stored.doubleValue(), + (val) -> stored = BigDecimal.valueOf(val) + .toBigInteger()), + builder)); + return builder.build(); + } + + protected ModularWindow createWarningWindow(final EntityPlayer player) { + final int WIDTH = 180; + final int HEIGHT = 75; + ModularWindow.Builder builder = ModularWindow.builder(WIDTH, HEIGHT); + builder.setBackground(GTUITextures.BACKGROUND_SINGLEBLOCK_DEFAULT); + builder.setGuiTint(getGUIColorization()); + builder.setDraggable(true); + builder + .widget( + new TextWidget( + EnumChatFormatting.BOLD + translateToLocal("gui.kekztech_lapotronicenergyunit.warning.header")) + .setDefaultColor(0xff0000) + .setScale(1.2f) + .setTextAlignment(Alignment.Center) + .setPos(0, 7) + .setSize(180, 15)) + .widget( + TextWidget.localised("gui.kekztech_lapotronicenergyunit.warning.text") + .setTextAlignment(Alignment.CenterLeft) + .setPos(5, 20) + .setSize(170, 50)); + builder.widget( + ButtonWidget.closeWindowButton(true) + .setPos(164, 4)); + return builder.build(); } private enum LSCHatchElement implements IHatchElement { diff --git a/src/main/java/tectech/loader/MainLoader.java b/src/main/java/tectech/loader/MainLoader.java index 14115b86e19..9d907ac0f3c 100644 --- a/src/main/java/tectech/loader/MainLoader.java +++ b/src/main/java/tectech/loader/MainLoader.java @@ -27,11 +27,7 @@ public static void preLoad() { creativeTabTecTech = new CreativeTabTecTech("TecTech"); // set expanded texture arrays for tiers - try { - Textures.run(); - } catch (Throwable t) { - LOGGER.error("Loading textures...", t); - } + Textures.run(); ProgressManager.ProgressBar progressBarPreload = ProgressManager.push("TecTech Preload", 1); diff --git a/src/main/java/tectech/loader/NetworkDispatcher.java b/src/main/java/tectech/loader/NetworkDispatcher.java index dd467154500..829095764f3 100644 --- a/src/main/java/tectech/loader/NetworkDispatcher.java +++ b/src/main/java/tectech/loader/NetworkDispatcher.java @@ -2,6 +2,8 @@ import static tectech.Reference.MODID; +import tectech.mechanics.pipe.BatchedPipeActivityMessage; +import tectech.mechanics.pipe.PipeActivity; import tectech.mechanics.pipe.PipeActivityMessage; import tectech.mechanics.spark.RendererMessage; @@ -21,5 +23,8 @@ public void registerPackets() { registerMessage(PipeActivityMessage.ClientHandler.class, PipeActivityMessage.PipeActivityData.class); registerMessage(RendererMessage.ClientHandler.class, RendererMessage.RendererData.class); + + PipeActivity.init(); + registerMessage(PipeActivity.Handler.class, BatchedPipeActivityMessage.class); } } diff --git a/src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java b/src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java index 7626c758eb5..22d3d49981c 100644 --- a/src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java +++ b/src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java @@ -2429,7 +2429,7 @@ private void addEOHRecipes() { GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Neutronium, 48), largeBedrockiumPlate, largeCosmicNeutroniumPlate, largeShirabonPlate, largeInfinityPlate, // UV Solar panel - getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", 1, 0), ItemList.Quantum_Chest_IV.get(1), + ItemList.Machine_UV_SolarPanel.get(1), ItemList.Quantum_Chest_IV.get(1), // Gravitation Engine getModItem(GraviSuite.ID, "itemSimpleItem", 64, 3), ItemList.EnergisedTesseract.get(1) }, @@ -2761,7 +2761,7 @@ private void addEOHRecipes() { (absoluteTier + 1) * 8, // amperage new Object[] { baseCasing, fusionReactors[absoluteTier], fusionCoils[absoluteTier], // UV Solar panel - getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", absoluteTier + 1, 0), + ItemList.Machine_UV_SolarPanel.get(absoluteTier + 1), new Object[] { OrePrefixes.circuit.get(Materials.UXV), absoluteTier + 1 }, // Red Spectral Component @@ -2901,7 +2901,7 @@ private void addEOHRecipes() { // Large Bedrockium Plate largeBedrockiumPlate, largeCosmicNeutroniumPlate, largeShirabonPlate, largeInfinityPlate, // UV Solar panel - getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", 1, 0), + ItemList.Machine_UV_SolarPanel.get(1), // Ultimate Time Anomaly. ItemList.AcceleratorUV.get(4), // Gravitation Engine. @@ -2925,7 +2925,7 @@ private void addEOHRecipes() { 32, // amperage new Object[] { TileEntities.lsc.getStackForm(1), // UV Solar panel - getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", 1, 0), + ItemList.Machine_UV_SolarPanel.get(1), // UHV Capacitor block new ItemStack(lscLapotronicEnergyUnit, 1, 5), GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 4), diff --git a/src/main/java/tectech/loader/thing/MachineLoader.java b/src/main/java/tectech/loader/thing/MachineLoader.java index b0897e0d520..cff7aac31a8 100644 --- a/src/main/java/tectech/loader/thing/MachineLoader.java +++ b/src/main/java/tectech/loader/thing/MachineLoader.java @@ -122,6 +122,8 @@ import static gregtech.api.enums.MetaTileEntityIDs.QuantumComputer; import static gregtech.api.enums.MetaTileEntityIDs.Researchstation; import static gregtech.api.enums.MetaTileEntityIDs.TeslaTower; +import static gregtech.api.enums.MetaTileEntityIDs.TestFactoryHatch; +import static gregtech.api.enums.MetaTileEntityIDs.TestFactoryPipe; import static gregtech.api.enums.MetaTileEntityIDs.UEV1024AtLaserSourceHatch; import static gregtech.api.enums.MetaTileEntityIDs.UEV1024AtLaserTargetHatch; import static gregtech.api.enums.MetaTileEntityIDs.UEV1048576AtLaserSourceHatch; @@ -356,6 +358,8 @@ import static tectech.thing.CustomItemList.ParametrizerTXT_Hatch; import static tectech.thing.CustomItemList.ParametrizerX_Hatch; import static tectech.thing.CustomItemList.Parametrizer_Hatch; +import static tectech.thing.CustomItemList.TestHatch; +import static tectech.thing.CustomItemList.TestPipe; import static tectech.thing.CustomItemList.UncertaintyX_Hatch; import static tectech.thing.CustomItemList.Uncertainty_Hatch; import static tectech.thing.CustomItemList.UnusedStuff; @@ -612,9 +616,12 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.launchwrapper.Launch; import gregtech.api.enums.GTValues; import gregtech.api.enums.MetaTileEntityIDs; +import gregtech.api.factory.test.TestFactoryHatch; +import gregtech.api.factory.test.TestFactoryPipe; import tectech.thing.metaTileEntity.hatch.MTEHatchCapacitor; import tectech.thing.metaTileEntity.hatch.MTEHatchCreativeData; import tectech.thing.metaTileEntity.hatch.MTEHatchCreativeMaintenance; @@ -2344,6 +2351,12 @@ public void run() { new MTEPipeEnergyMirror(LaserVacuumMirror.ID, "pipe.energymirror", "Laser Vacuum Mirror").getStackForm(1L)); DATApipe.set(new MTEPipeData(OpticalFiberCable.ID, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L)); + if ((boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment")) { + TestPipe.set(new TestFactoryPipe(TestFactoryPipe.ID, "pipe.test", "Test Factory Pipe").getStackForm(1)); + TestHatch + .set(new TestFactoryHatch(TestFactoryHatch.ID, "hatch.test", "Test Factory Hatch", 7).getStackForm(1)); + } + LASERpipeBlock.set( new MTEPipeBlockEnergy(LaserVacuumPipeCasing.ID, "pipe.energystream.block", "Laser Vacuum Pipe Casing") .getStackForm(1L)); diff --git a/src/main/java/tectech/mechanics/pipe/BatchedPipeActivityMessage.java b/src/main/java/tectech/mechanics/pipe/BatchedPipeActivityMessage.java new file mode 100644 index 00000000000..d6e33056343 --- /dev/null +++ b/src/main/java/tectech/mechanics/pipe/BatchedPipeActivityMessage.java @@ -0,0 +1,27 @@ +package tectech.mechanics.pipe; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import io.netty.buffer.ByteBuf; + +public class BatchedPipeActivityMessage implements IMessage { + + public int worldId; + public boolean isActive; + public long[] pipes; + + @Override + public void fromBytes(ByteBuf buf) { + worldId = buf.readInt(); + isActive = buf.readBoolean(); + pipes = new long[buf.readInt()]; + for (int i = 0; i < pipes.length; i++) pipes[i] = buf.readLong(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(worldId); + buf.writeBoolean(isActive); + buf.writeInt(pipes.length); + for (int i = 0; i < pipes.length; i++) buf.writeLong(pipes[i]); + } +} diff --git a/src/main/java/tectech/mechanics/pipe/PipeActivity.java b/src/main/java/tectech/mechanics/pipe/PipeActivity.java new file mode 100644 index 00000000000..f888cfd60d8 --- /dev/null +++ b/src/main/java/tectech/mechanics/pipe/PipeActivity.java @@ -0,0 +1,138 @@ +package tectech.mechanics.pipe; + +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +import com.gtnewhorizon.gtnhlib.util.CoordinatePacker; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.common.gameevent.TickEvent.Type; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import it.unimi.dsi.fastutil.ints.IntBooleanPair; +import it.unimi.dsi.fastutil.longs.LongArrayList; +import it.unimi.dsi.fastutil.longs.LongList; +import tectech.loader.NetworkDispatcher; + +public class PipeActivity { + + public static final PipeActivity INSTANCE = new PipeActivity(); + + private static final Map updates = new HashMap<>(); + + private static final Function CTOR = x -> new LongArrayList(); + + private PipeActivity() { + + } + + public synchronized static void enqueueUpdate(TPipe pipe) { + IGregTechTileEntity base = pipe.getBaseMetaTileEntity(); + + if (base != null && !base.isDead()) { + enqueueUpdate(base.getWorld(), base.getXCoord(), base.getYCoord(), base.getZCoord(), pipe.getActive()); + } + } + + public synchronized static void enqueueUpdate(World world, int x, int y, int z, boolean isActive) { + LongArrayList coords = updates.computeIfAbsent(IntBooleanPair.of(world.provider.dimensionId, isActive), CTOR); + + coords.add(CoordinatePacker.pack(x, y, z)); + } + + private static final int MAX_UPDATES_PER_PACKET = 30_000 / 8; + + public synchronized static void sendUpdates() { + var iter = updates.entrySet() + .iterator(); + + while (iter.hasNext()) { + var e = iter.next(); + + int worldId = e.getKey() + .leftInt(); + boolean isActive = e.getKey() + .rightBoolean(); + LongArrayList coords = e.getValue(); + + for (int i = 0; i < coords.size(); i += MAX_UPDATES_PER_PACKET) { + LongList forPacket = coords.subList(i, Math.min(coords.size(), i + MAX_UPDATES_PER_PACKET)); + + BatchedPipeActivityMessage message = new BatchedPipeActivityMessage(); + message.worldId = worldId; + message.isActive = isActive; + message.pipes = forPacket.toLongArray(); + + NetworkDispatcher.INSTANCE.sendToDimension(message, worldId); + } + + iter.remove(); + } + } + + public static void init() { + FMLCommonHandler.instance() + .bus() + .register(INSTANCE); + } + + @SubscribeEvent + public void onTick(TickEvent.ServerTickEvent tickEvent) { + if (tickEvent.side == Side.SERVER && tickEvent.type == Type.SERVER && tickEvent.phase == Phase.END) { + sendUpdates(); + } + } + + public static class Handler extends AbstractClientMessageHandler { + + @Override + public IMessage handleClientMessage(EntityPlayer player, BatchedPipeActivityMessage message, + MessageContext ctx) { + World world = player.worldObj; + + if (message.worldId != world.provider.dimensionId) return null; + + Integer lastChunkX = null, lastChunkZ = null; + + for (long coord : message.pipes) { + int x = CoordinatePacker.unpackX(coord); + int y = CoordinatePacker.unpackY(coord); + int z = CoordinatePacker.unpackZ(coord); + + int chunkX = x >> 4; + int chunkZ = z >> 4; + + // if this pipe's chunk isn't loaded, ignore it completely + if (!Objects.equals(chunkX, lastChunkX) || !Objects.equals(chunkZ, lastChunkZ)) { + if (!world.getChunkProvider() + .chunkExists(chunkX, chunkZ)) { + continue; + } else { + lastChunkX = chunkX; + lastChunkZ = chunkZ; + } + } + + if (world.getTileEntity(x, y, z) instanceof IGregTechTileEntity igte) { + if (igte.getMetaTileEntity() instanceof IActivePipe pipe) { + pipe.setActive(message.isActive); + } + } + } + + return null; + } + } +} diff --git a/src/main/java/tectech/thing/CustomItemList.java b/src/main/java/tectech/thing/CustomItemList.java index 28ba4d2a6f2..b1bbe7058ce 100644 --- a/src/main/java/tectech/thing/CustomItemList.java +++ b/src/main/java/tectech/thing/CustomItemList.java @@ -32,6 +32,8 @@ public enum CustomItemList implements IItemContainer { Machine_DebugPollutor, DATApipe, LASERpipe, + TestPipe, + TestHatch, rack_Hatch, holder_Hatch, capacitor_Hatch, diff --git a/src/main/java/tectech/thing/metaTileEntity/hatch/MTEBaseFactoryHatch.java b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEBaseFactoryHatch.java new file mode 100644 index 00000000000..067687f59ab --- /dev/null +++ b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEBaseFactoryHatch.java @@ -0,0 +1,85 @@ +package tectech.thing.metaTileEntity.hatch; + +import static gregtech.api.enums.Dyes.MACHINE_METAL; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.Dyes; +import gregtech.api.enums.Textures.BlockIcons.CustomIcon; +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.render.TextureFactory; + +public abstract class MTEBaseFactoryHatch extends MTEHatch { + + public static final CustomIcon EM_D_ACTIVE = new CustomIcon("iconsets/OVERLAY_EM_D_ACTIVE"); + public static final CustomIcon EM_D_SIDES = new CustomIcon("iconsets/OVERLAY_EM_D_SIDES"); + public static final CustomIcon EM_D_CONN = new CustomIcon("iconsets/EM_DATA_CONN"); + + protected MTEBaseFactoryHatch(MTEBaseFactoryHatch prototype) { + super(prototype.mName, prototype.mTier, 0, prototype.mDescriptionArray, prototype.mTextures); + } + + public MTEBaseFactoryHatch(int id, String name, String nameRegional, int tier, String[] description) { + super(id, name, nameRegional, tier, 0, description); + } + + @Override + public abstract MetaTileEntity newMetaEntity(IGregTechTileEntity igte); + + @Override + public ITexture[] getTexturesActive(ITexture baseTexture) { + return new ITexture[] { baseTexture, TextureFactory.builder() + .addIcon(EM_D_ACTIVE) + .setRGBA(Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())) + .build(), TextureFactory.of(EM_D_CONN) }; + } + + @Override + public ITexture[] getTexturesInactive(ITexture baseTexture) { + return new ITexture[] { baseTexture, TextureFactory.builder() + .addIcon(EM_D_SIDES) + .setRGBA(Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())) + .build(), TextureFactory.of(EM_D_CONN) }; + } + + @Override + public boolean isFacingValid(ForgeDirection facing) { + return true; + } + + @Override + public boolean isAccessAllowed(EntityPlayer player) { + return true; + } + + @Override + public boolean isLiquidInput(ForgeDirection side) { + return false; + } + + @Override + public boolean isFluidInputAllowed(FluidStack fluid) { + return false; + } + + @Override + public boolean allowPullStack(IGregTechTileEntity base, int index, ForgeDirection side, ItemStack stack) { + return false; + } + + @Override + public boolean allowPutStack(IGregTechTileEntity base, int index, ForgeDirection side, ItemStack stack) { + return false; + } + + @Override + public boolean isValidSlot(int index) { + return false; + } +} diff --git a/src/main/java/tectech/thing/metaTileEntity/pipe/MTEBaseFactoryPipe.java b/src/main/java/tectech/thing/metaTileEntity/pipe/MTEBaseFactoryPipe.java new file mode 100644 index 00000000000..7308e68b475 --- /dev/null +++ b/src/main/java/tectech/thing/metaTileEntity/pipe/MTEBaseFactoryPipe.java @@ -0,0 +1,256 @@ +package tectech.thing.metaTileEntity.pipe; + +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.GTMod; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.Textures.BlockIcons.CustomIcon; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.BaseMetaPipeEntity; +import gregtech.api.metatileentity.MetaPipeEntity; +import gregtech.api.render.TextureFactory; +import gregtech.common.GTClient; +import tectech.mechanics.pipe.IActivePipe; +import tectech.mechanics.pipe.PipeActivity; + +public abstract class MTEBaseFactoryPipe extends MetaPipeEntity implements IActivePipe { + + public static final IIconContainer EM_PIPE = new CustomIcon("iconsets/EM_DATA"); + public static final IIconContainer EM_BAR = new CustomIcon("iconsets/EM_BAR"); + public static final IIconContainer EM_BAR_ACTIVE = new CustomIcon("iconsets/EM_BAR_ACTIVE"); + + protected boolean mIsActive; + + protected float mThickness = 0.5f; + + public MTEBaseFactoryPipe(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional, 0); + } + + protected MTEBaseFactoryPipe(MTEBaseFactoryPipe prototype) { + super(prototype.mName, 0); + mThickness = prototype.mThickness; + } + + @Override + public abstract IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity); + + @Override + public ITexture[] getTexture(IGregTechTileEntity base, ForgeDirection side, int aConnections, int colorIndex, + boolean aConnected, boolean aRedstone) { + + List textures = new ArrayList<>(2); + + textures.add( + TextureFactory.builder() + .addIcon(EM_PIPE) + .setRGBA(Dyes.getModulation(colorIndex, MACHINE_METAL.getRGBA())) + .build()); + + if (getActive()) { + textures.add( + TextureFactory.builder() + .addIcon(EM_BAR) + .setRGBA(Dyes.getModulation(colorIndex, MACHINE_METAL.getRGBA())) + .build()); + } + + return textures.toArray(new ITexture[0]); + } + + @Override + public boolean allowPutStack(IGregTechTileEntity iGregTechTileEntity, int i, ForgeDirection side, + ItemStack itemStack) { + return false; + } + + @Override + public boolean allowPullStack(IGregTechTileEntity iGregTechTileEntity, int i, ForgeDirection side, + ItemStack itemStack) { + return false; + } + + @Override + public void loadNBTData(NBTTagCompound nbtTagCompound) { + setActive(nbtTagCompound.getBoolean("eActive")); + mConnections = nbtTagCompound.getByte("mConnections"); + } + + @Override + public void saveNBTData(NBTTagCompound nbtTagCompound) { + nbtTagCompound.setBoolean("eActive", getActive()); + nbtTagCompound.setByte("mConnections", mConnections); + } + + @Override + public boolean renderInside(ForgeDirection side) { + return false; + } + + @Override + public byte getTileEntityBaseType() { + return 4; + } + + @Override + public String[] getDescription() { + return new String[] {}; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { + float tSpace = (1f - getThickNess()) / 2; + float tSide0 = tSpace; + float tSide1 = 1f - tSpace; + float tSide2 = tSpace; + float tSide3 = 1f - tSpace; + float tSide4 = tSpace; + float tSide5 = 1f - tSpace; + + if (getBaseMetaTileEntity().getCoverIDAtSide(ForgeDirection.DOWN) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide(ForgeDirection.UP) != 0) { + tSide2 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide(ForgeDirection.NORTH) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide(ForgeDirection.SOUTH) != 0) { + tSide0 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide(ForgeDirection.WEST) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide3 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide(ForgeDirection.EAST) != 0) { + tSide0 = tSide2 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + + // this.mConnections isn't synced, but base.mConnections is for some reason + byte conn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; + if ((conn & ForgeDirection.DOWN.flag) != 0) { + tSide0 = 0f; + } + if ((conn & ForgeDirection.UP.flag) != 0) { + tSide1 = 1f; + } + if ((conn & ForgeDirection.NORTH.flag) != 0) { + tSide2 = 0f; + } + if ((conn & ForgeDirection.SOUTH.flag) != 0) { + tSide3 = 1f; + } + if ((conn & ForgeDirection.WEST.flag) != 0) { + tSide4 = 0f; + } + if ((conn & ForgeDirection.EAST.flag) != 0) { + tSide5 = 1f; + } + + return AxisAlignedBB + .getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + } + + @Override + public float getThickNess() { + if (GTMod.instance.isClientSide() && GTClient.hideValue == 1) { + return 0.0625F; + } + return mThickness; + } + + @Override + public void markUsed() { + setActive(true); + } + + @Override + public void setActive(boolean state) { + if (state != mIsActive) { + mIsActive = state; + getBaseMetaTileEntity().issueTextureUpdate(); + } + } + + @Override + public boolean getActive() { + return mIsActive; + } + + private boolean prevActivity; + + @Override + public void onFirstTick(IGregTechTileEntity base) { + super.onFirstTick(base); + onPostTick(base, 31); + } + + @Override + public void onPostTick(IGregTechTileEntity base, long aTick) { + super.onPostTick(base, aTick); + + if (base.isServerSide()) { + if (mCheckConnections && base.isServerSide()) { + mCheckConnections = false; + checkConnections(); + } + + if (aTick % SECONDS == 0) { + checkActive(); + + boolean isActive = getActive(); + + if (isActive != prevActivity || aTick % (60 * SECONDS) == 0) { + prevActivity = isActive; + + PipeActivity + .enqueueUpdate(base.getWorld(), base.getXCoord(), base.getYCoord(), base.getZCoord(), isActive); + } + } + } else { + if (GTClient.changeDetected == 4) { + base.issueTextureUpdate(); + } + } + } + + protected void checkActive() { + mIsActive = false; + } + + @Override + protected void checkConnections() { + + } + + @Override + public boolean isGivingInformation() { + return true; + } + + @Override + public String[] getInfoData() { + return new String[] { + getActive() ? EnumChatFormatting.GREEN + "Active." : EnumChatFormatting.RED + "Not active." }; + } +} diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotDouble.png deleted file mode 100644 index 038facfc4d4..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuadruple.png deleted file mode 100644 index 7aeaf258c30..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuintuple.png deleted file mode 100644 index c09f4df7630..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotTriple.png deleted file mode 100644 index 0e768c27cef..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingrock/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotDouble.png deleted file mode 100644 index c021697de4c..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuadruple.png deleted file mode 100644 index 8865513d4a7..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuintuple.png deleted file mode 100644 index da6028ed86e..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotTriple.png deleted file mode 100644 index fa160110877..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/Livingwood/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotDouble.png deleted file mode 100644 index eca9d7dc97f..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuadruple.png deleted file mode 100644 index bd0699f72fc..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuintuple.png deleted file mode 100644 index b1fcfa3550c..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotTriple.png deleted file mode 100644 index ccb1a58588a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/WhiteDwarfMatter/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotDouble.png deleted file mode 100644 index 2fff5f5aacc..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuadruple.png deleted file mode 100644 index 0d037db322f..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuintuple.png deleted file mode 100644 index 63b3ceab49f..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotTriple.png deleted file mode 100644 index 7769caa3d5e..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/bedrockium/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble.png deleted file mode 100644 index 8a67e90e741..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble_OVERLAY.png deleted file mode 100644 index 750c50da6c1..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple.png deleted file mode 100644 index e628434aefc..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 52a6d53b7f0..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple.png deleted file mode 100644 index 4657ae76485..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 0243d6b9995..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple.png deleted file mode 100644 index d2d556499e5..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple_OVERLAY.png deleted file mode 100644 index e069b3c3da2..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/eternity/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble.png deleted file mode 100644 index e361b133c17..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble.png.mcmeta deleted file mode 100644 index dd8674956c1..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 2}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple.png deleted file mode 100644 index 97f9b4b8c13..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple.png.mcmeta deleted file mode 100644 index dd8674956c1..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 2}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple.png deleted file mode 100644 index 0d5871d7fee..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple.png.mcmeta deleted file mode 100644 index dd8674956c1..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 2}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple.png deleted file mode 100644 index 57fb4042cac..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple.png.mcmeta deleted file mode 100644 index dd8674956c1..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 2}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/hotexohalkonite/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble.png deleted file mode 100644 index 89fef3a26f0..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple.png deleted file mode 100644 index 168598eec79..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple.png deleted file mode 100644 index b55e436a27a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple.png deleted file mode 100644 index d61448f5e89..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/infinity/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble.png deleted file mode 100644 index 6e0ac63c40e..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble_OVERLAY.png deleted file mode 100644 index 750c50da6c1..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple.png deleted file mode 100644 index 839933ec56c..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 52a6d53b7f0..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple.png deleted file mode 100644 index 2e821fe0284..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 0243d6b9995..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple.png deleted file mode 100644 index f72f6627db3..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple_OVERLAY.png deleted file mode 100644 index e069b3c3da2..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/magmatter/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble.png deleted file mode 100644 index 3a0d642d9d5..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble.png.mcmeta deleted file mode 100644 index 0dab81071f2..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 3}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple.png deleted file mode 100644 index b148b9e649c..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple.png.mcmeta deleted file mode 100644 index 0dab81071f2..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 3}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple.png deleted file mode 100644 index dc736d53a19..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple.png.mcmeta deleted file mode 100644 index 0dab81071f2..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 3}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple.png deleted file mode 100644 index e988857b30c..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple.png.mcmeta deleted file mode 100644 index 0dab81071f2..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 3}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/spacetime/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble.png deleted file mode 100644 index 9c813fbf4af..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple.png deleted file mode 100644 index 0b70635f443..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple.png deleted file mode 100644 index b77047ead70..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple.png deleted file mode 100644 index 8b8af64f491..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple.png.mcmeta b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple.png.mcmeta deleted file mode 100644 index cc8a1f3c962..00000000000 --- a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/CUSTOM/universium/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotDouble.png deleted file mode 100644 index e793c0445e3..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuadruple.png deleted file mode 100644 index 28f93b16f65..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuintuple.png deleted file mode 100644 index 3c4d2a7b88f..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotTriple.png deleted file mode 100644 index 31d5a44bcc1..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble.png deleted file mode 100644 index 678c35518b7..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble_OVERLAY.png deleted file mode 100644 index c844854d379..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple.png deleted file mode 100644 index b62d361f197..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 2a63953e924..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple.png deleted file mode 100644 index e3ab084563a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 896be7f08e4..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple.png deleted file mode 100644 index b8853a770e5..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple_OVERLAY.png deleted file mode 100644 index c086bca2bb6..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotDouble_OVERLAY.png deleted file mode 100644 index c844854d379..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuadruple_OVERLAY.png deleted file mode 100644 index c1370ee6c9b..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 510ac71b232..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotTriple_OVERLAY.png deleted file mode 100644 index c49f6d58ef6..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble.png deleted file mode 100644 index 678c35518b7..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple.png deleted file mode 100644 index b62d361f197..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple.png deleted file mode 100644 index e3ab084563a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple.png deleted file mode 100644 index b8853a770e5..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotDouble_OVERLAY.png deleted file mode 100644 index 7256ea1809c..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuadruple_OVERLAY.png deleted file mode 100644 index b6f059c7a5e..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 68dab2ddc0f..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotTriple_OVERLAY.png deleted file mode 100644 index c457ff86b7a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuadruple.png deleted file mode 100644 index 92a66d07ddd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuintuple.png deleted file mode 100644 index 470f88667cf..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotTriple.png deleted file mode 100644 index bed8d3a070e..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotDouble_OVERLAY.png deleted file mode 100644 index c844854d379..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 2a63953e924..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 896be7f08e4..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotTriple_OVERLAY.png deleted file mode 100644 index c086bca2bb6..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble.png deleted file mode 100644 index 678c35518b7..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple.png deleted file mode 100644 index b62d361f197..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple.png deleted file mode 100644 index e3ab084563a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple.png deleted file mode 100644 index b8853a770e5..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble.png deleted file mode 100644 index 678c35518b7..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple.png deleted file mode 100644 index b62d361f197..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple.png deleted file mode 100644 index e3ab084563a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple.png deleted file mode 100644 index b8853a770e5..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple_OVERLAY.png deleted file mode 100644 index d83a131004a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotDouble.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotDouble.png deleted file mode 100644 index 48ef0d09189..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotDouble.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotDouble_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotDouble_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuadruple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuadruple.png deleted file mode 100644 index 4a26839a7dd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuadruple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuadruple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuintuple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuintuple.png deleted file mode 100644 index 59219ca243a..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuintuple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuintuple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotTriple.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotTriple.png deleted file mode 100644 index a2cd141bb96..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotTriple.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotTriple_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotTriple_OVERLAY.png deleted file mode 100644 index 3f0d6efcacd..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/src/main/resources/assets/kekztech/lang/en_US.lang b/src/main/resources/assets/kekztech/lang/en_US.lang index 4c41a9ecfac..732177ddb04 100644 --- a/src/main/resources/assets/kekztech/lang/en_US.lang +++ b/src/main/resources/assets/kekztech/lang/en_US.lang @@ -113,3 +113,5 @@ achievement.tile.kekztech_lapotronicenergyunit_block.10=Mega Ultimate Capacitor # -------- GUI gui.kekztech_lapotronicenergyunit.wireless=Wireless mode gui.kekztech_lapotronicenergyunit.wireless_rebalance=Rebalance Wireless (One Time Use) +gui.kekztech_lapotronicenergyunit.warning.header=Warning! +gui.kekztech_lapotronicenergyunit.warning.text=Make sure to carefully read and understand the tooltip before activating wireless mode, it can potentially brick your base. This warning won't appear again.