diff options
author | miozune <miozune@gmail.com> | 2023-01-03 04:13:00 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-02 20:13:00 +0100 |
commit | 17dcb964ff3435b5892ddc79999fae722abb8a87 (patch) | |
tree | 3f9e961854209d1e91de7edd3c06b0037f1f9862 /src/main/java | |
parent | 2e3160bc9d080001244ddc67d3b8d30b4c85472f (diff) | |
download | GT5-Unofficial-17dcb964ff3435b5892ddc79999fae722abb8a87.tar.gz GT5-Unofficial-17dcb964ff3435b5892ddc79999fae722abb8a87.tar.bz2 GT5-Unofficial-17dcb964ff3435b5892ddc79999fae722abb8a87.zip |
Move NEI handlers to new recipemap methods (#123)
Diffstat (limited to 'src/main/java')
6 files changed, 70 insertions, 224 deletions
diff --git a/src/main/java/goodgenerator/crossmod/nei/ComponentAssemblyLineHandler.java b/src/main/java/goodgenerator/crossmod/nei/ComponentAssemblyLineHandler.java deleted file mode 100644 index 9fe3b3a8bb..0000000000 --- a/src/main/java/goodgenerator/crossmod/nei/ComponentAssemblyLineHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -package goodgenerator.crossmod.nei; - -import codechicken.nei.recipe.GuiCraftingRecipe; -import codechicken.nei.recipe.GuiUsageRecipe; -import codechicken.nei.recipe.TemplateRecipeHandler; -import cpw.mods.fml.common.event.FMLInterModComms; -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_Recipe; -import gregtech.nei.GT_NEI_DefaultHandler; -import java.awt.*; - -public class ComponentAssemblyLineHandler extends GT_NEI_DefaultHandler { - public ComponentAssemblyLineHandler(GT_Recipe.GT_Recipe_Map aRecipeMap) { - - super(aRecipeMap); - if (!NEI_Config.isAdded) { - FMLInterModComms.sendRuntimeMessage( - GT_Values.GT, - "NEIPlugins", - "register-crafting-handler", - "gregtech@" + this.getRecipeName() + "@" + this.getOverlayIdentifier()); - GuiCraftingRecipe.craftinghandlers.add(this); - GuiUsageRecipe.usagehandlers.add(this); - } - } - - @Override - public TemplateRecipeHandler newInstance() { - return new ComponentAssemblyLineHandler(this.mRecipeMap); - } - - @Override - protected String getSpecialInfo(int specialValue) { - return this.mRecipeMap.mNEISpecialValuePre + GT_Values.VN[specialValue]; - } -} diff --git a/src/main/java/goodgenerator/crossmod/nei/ExtremeHeatExchangerHandler.java b/src/main/java/goodgenerator/crossmod/nei/ExtremeHeatExchangerHandler.java deleted file mode 100644 index dcdc240b8a..0000000000 --- a/src/main/java/goodgenerator/crossmod/nei/ExtremeHeatExchangerHandler.java +++ /dev/null @@ -1,62 +0,0 @@ -package goodgenerator.crossmod.nei; - -import codechicken.nei.recipe.GuiCraftingRecipe; -import codechicken.nei.recipe.GuiUsageRecipe; -import codechicken.nei.recipe.TemplateRecipeHandler; -import cpw.mods.fml.common.event.FMLInterModComms; -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.nei.GT_NEI_DefaultHandler; -import java.awt.*; -import net.minecraft.util.StatCollector; -import net.minecraftforge.fluids.FluidStack; - -public class ExtremeHeatExchangerHandler extends GT_NEI_DefaultHandler { - - public ExtremeHeatExchangerHandler(GT_Recipe.GT_Recipe_Map aRecipeMap) { - super(aRecipeMap); - if (!NEI_Config.isAdded) { - FMLInterModComms.sendRuntimeMessage( - GT_Values.GT, - "NEIPlugins", - "register-crafting-handler", - "gregtech@" + this.getRecipeName() + "@" + this.getOverlayIdentifier()); - GuiCraftingRecipe.craftinghandlers.add(this); - GuiUsageRecipe.usagehandlers.add(this); - } - } - - @Override - public TemplateRecipeHandler newInstance() { - return new ExtremeHeatExchangerHandler(this.mRecipeMap); - } - - @Override - public void drawExtras(int aRecipeIndex) { - FluidStack[] Inputs = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mFluidInputs; - FluidStack[] Outputs = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mFluidOutputs; - int Threshold = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; - int y = getDescriptionYOffset(); - drawText( - 10, - y, - StatCollector.translateToLocal("value.extreme_heat_exchanger.0") + " " - + GT_Utility.formatNumbers(Inputs[0].amount) + " L/s", - -16777216); - y += 10; - drawText(10, y, StatCollector.translateToLocal("value.extreme_heat_exchanger.1"), -16777216); - y += 10; - drawText(10, y, GT_Utility.formatNumbers(Outputs[0].amount / 160) + " L/s", -16777216); - y += 10; - drawText(10, y, StatCollector.translateToLocal("value.extreme_heat_exchanger.2"), -16777216); - y += 10; - drawText(10, y, GT_Utility.formatNumbers(Outputs[1].amount / 160) + " L/s", -16777216); - y += 10; - drawText( - 10, - y, - StatCollector.translateToLocal("value.extreme_heat_exchanger.4") + " " + Threshold + " L/s", - -16777216); - } -} diff --git a/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java b/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java index d50d53177d..bd397cb271 100644 --- a/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java +++ b/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java @@ -6,10 +6,10 @@ import net.minecraft.nbt.NBTTagCompound; public class IMCForNEI { public static void IMCSender() { - sendHandler("goodgenerator.crossmod.nei.NeutronActivatorHandler", "gregtech:gt.blockmachines:32013"); + sendHandler("gg.recipe.neutron_activator", "gregtech:gt.blockmachines:32013"); sendCatalyst("gg.recipe.neutron_activator", "gregtech:gt.blockmachines:32013"); - sendHandler("goodgenerator.crossmod.nei.ExtremeHeatExchangerHandler", "gregtech:gt.blockmachines:32017"); + sendHandler("gg.recipe.extreme_heat_exchanger", "gregtech:gt.blockmachines:32017"); sendCatalyst("gg.recipe.extreme_heat_exchanger", "gregtech:gt.blockmachines:32017"); sendHandler("gg.recipe.precise_assembler", "gregtech:gt.blockmachines:32018"); @@ -34,7 +34,7 @@ public class IMCForNEI { // sendCatalyst("gt.recipe.complexfusionreactor", "gregtech:gt.blockmachines:32023", -10); // Compact // Fusion MK-V - sendHandler("goodgenerator.crossmod.nei.ComponentAssemblyLineHandler", "gregtech:gt.blockmachines:32026", 2); + sendHandler("gg.recipe.componentassemblyline", "gregtech:gt.blockmachines:32026", 2); sendCatalyst("gg.recipe.componentassemblyline", "gregtech:gt.blockmachines:32026"); } diff --git a/src/main/java/goodgenerator/crossmod/nei/NEI_Config.java b/src/main/java/goodgenerator/crossmod/nei/NEI_Config.java index a9f52d3fed..d6d4abac78 100644 --- a/src/main/java/goodgenerator/crossmod/nei/NEI_Config.java +++ b/src/main/java/goodgenerator/crossmod/nei/NEI_Config.java @@ -3,7 +3,6 @@ package goodgenerator.crossmod.nei; import codechicken.nei.api.API; import codechicken.nei.api.IConfigureNEI; import goodgenerator.main.GoodGenerator; -import goodgenerator.util.MyRecipeAdder; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -14,9 +13,6 @@ public class NEI_Config implements IConfigureNEI { @Override public void loadConfig() { NEI_Config.isAdded = false; - new NeutronActivatorHandler(MyRecipeAdder.instance.NA); - new ExtremeHeatExchangerHandler(MyRecipeAdder.instance.XHE); - new ComponentAssemblyLineHandler(MyRecipeAdder.instance.COMPASSLINE_RECIPES); NEI_Config.isAdded = true; } diff --git a/src/main/java/goodgenerator/crossmod/nei/NeutronActivatorHandler.java b/src/main/java/goodgenerator/crossmod/nei/NeutronActivatorHandler.java deleted file mode 100644 index 44a1574778..0000000000 --- a/src/main/java/goodgenerator/crossmod/nei/NeutronActivatorHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -package goodgenerator.crossmod.nei; - -import codechicken.nei.recipe.GuiCraftingRecipe; -import codechicken.nei.recipe.GuiUsageRecipe; -import codechicken.nei.recipe.TemplateRecipeHandler; -import cpw.mods.fml.common.event.FMLInterModComms; -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.nei.GT_NEI_DefaultHandler; -import java.awt.*; -import net.minecraft.util.StatCollector; - -public class NeutronActivatorHandler extends GT_NEI_DefaultHandler { - - public NeutronActivatorHandler(GT_Recipe.GT_Recipe_Map aRecipeMap) { - super(aRecipeMap); - if (!NEI_Config.isAdded) { - FMLInterModComms.sendRuntimeMessage( - GT_Values.GT, - "NEIPlugins", - "register-crafting-handler", - "gregtech@" + this.getRecipeName() + "@" + this.getOverlayIdentifier()); - GuiCraftingRecipe.craftinghandlers.add(this); - GuiUsageRecipe.usagehandlers.add(this); - } - } - - @Override - public TemplateRecipeHandler newInstance() { - return new NeutronActivatorHandler(this.mRecipeMap); - } - - @Override - public void drawExtras(int aRecipeIndex) { - int tDuration = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mDuration; - int minNKE = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue % 10000; - int maxNKE = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue / 10000; - int y = getDescriptionYOffset(); - drawText( - 10, - y, - this.trans("158", "Time: ") - + GT_Utility.formatNumbers((float) tDuration / 20.0) - + this.trans("161", " secs"), - -16777216); - y += 10; - drawText(10, y, StatCollector.translateToLocal("value.neutron_activator.0"), -16777216); - y += 10; - drawText( - 10, - y, - GT_Utility.formatNumbers(minNKE) + StatCollector.translateToLocal("value.neutron_activator.2"), - -16777216); - y += 10; - drawText(10, y, StatCollector.translateToLocal("value.neutron_activator.1"), -16777216); - y += 10; - drawText( - 10, - y, - GT_Utility.formatNumbers(maxNKE) + StatCollector.translateToLocal("value.neutron_activator.2"), - -16777216); - } -} diff --git a/src/main/java/goodgenerator/util/MyRecipeAdder.java b/src/main/java/goodgenerator/util/MyRecipeAdder.java index 99a8b43747..548e3ef296 100644 --- a/src/main/java/goodgenerator/util/MyRecipeAdder.java +++ b/src/main/java/goodgenerator/util/MyRecipeAdder.java @@ -4,10 +4,12 @@ import com.gtnewhorizons.modularui.api.math.Pos2d; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.common.widget.DrawableWidget; import goodgenerator.client.GUI.GG_UITextures; +import gregtech.api.enums.GT_Values; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import gregtech.common.gui.modularui.UIHelper; import java.awt.*; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -68,39 +70,63 @@ public class MyRecipeAdder { true, true); - public final NeutronActivatorMapper NA = new NeutronActivatorMapper( - new HashSet<>(150), - "gg.recipe.neutron_activator", - StatCollector.translateToLocal("tile.neutron_activator"), - null, - "goodgenerator:textures/gui/neutron_activator", - 9, - 9, - 0, - 0, - 0, - null, - 0, - null, - false, - false); - - public final ExtremeHeatExchangerMapper XHE = new ExtremeHeatExchangerMapper( - new HashSet<>(50), - "gg.recipe.extreme_heat_exchanger", - StatCollector.translateToLocal("tile.extreme_heat_exchanger"), - null, - "goodgenerator:textures/gui/extreme_heat_exchanger", - 0, - 0, - 0, - 0, - 0, - null, - 0, - null, - false, - false); + public final NeutronActivatorMapper NA = (NeutronActivatorMapper) new NeutronActivatorMapper( + new HashSet<>(150), + "gg.recipe.neutron_activator", + StatCollector.translateToLocal("tile.neutron_activator"), + null, + "goodgenerator:textures/gui/neutron_activator", + 9, + 9, + 0, + 0, + 0, + null, + 0, + null, + false, + true) + .setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> { + int minNKE = recipeInfo.recipe.mSpecialValue % 10000; + int maxNKE = recipeInfo.recipe.mSpecialValue / 10000; + return Arrays.asList( + StatCollector.translateToLocal("value.neutron_activator.0"), + GT_Utility.formatNumbers(minNKE) + + StatCollector.translateToLocal("value.neutron_activator.2"), + StatCollector.translateToLocal("value.neutron_activator.1"), + GT_Utility.formatNumbers(maxNKE) + + StatCollector.translateToLocal("value.neutron_activator.2")); + }); + + public final ExtremeHeatExchangerMapper XHE = (ExtremeHeatExchangerMapper) new ExtremeHeatExchangerMapper( + new HashSet<>(50), + "gg.recipe.extreme_heat_exchanger", + StatCollector.translateToLocal("tile.extreme_heat_exchanger"), + null, + "goodgenerator:textures/gui/extreme_heat_exchanger", + 0, + 0, + 0, + 0, + 0, + null, + 0, + null, + false, + true) + .setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> { + FluidStack[] Inputs = recipeInfo.recipe.mFluidInputs; + FluidStack[] Outputs = recipeInfo.recipe.mFluidOutputs; + int threshold = recipeInfo.recipe.mSpecialValue; + return Arrays.asList( + StatCollector.translateToLocal("value.extreme_heat_exchanger.0") + " " + + GT_Utility.formatNumbers(Inputs[0].amount) + " L/s", + StatCollector.translateToLocal("value.extreme_heat_exchanger.1"), + GT_Utility.formatNumbers(Outputs[0].amount / 160) + " L/s", + StatCollector.translateToLocal("value.extreme_heat_exchanger.2"), + GT_Utility.formatNumbers(Outputs[1].amount / 160) + " L/s", + StatCollector.translateToLocal("value.extreme_heat_exchanger.4") + " " + threshold + " L/s"); + }); public final PreciseAssemblerMapper PA = new PreciseAssemblerMapper( new HashSet<>(120), @@ -496,11 +522,7 @@ public class MyRecipeAdder { @Override public List<Pos2d> getItemInputPositions(int itemInputCount) { - List<Pos2d> results = new ArrayList<>(); - for (int i = 0; i < itemInputCount; i++) { - results.add(new Pos2d(8 + i * 18, 13)); - } - return results; + return UIHelper.getGridPositions(itemInputCount, 8, 13, itemInputCount); } @Override @@ -510,11 +532,7 @@ public class MyRecipeAdder { @Override public List<Pos2d> getFluidInputPositions(int fluidInputCount) { - List<Pos2d> results = new ArrayList<>(); - for (int i = 0; i < fluidInputCount; i++) { - results.add(new Pos2d(8 + i * 18, 48)); - } - return results; + return UIHelper.getGridPositions(fluidInputCount, 8, 48, fluidInputCount); } } @@ -569,15 +587,13 @@ public class MyRecipeAdder { aNEIAllowed); setUsualFluidInputCount(8); setNEITransferRect(new Rectangle(70, 15, 18, 54)); + setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> Collections.singletonList( + recipeInfo.recipeMap.mNEISpecialValuePre + GT_Values.VN[recipeInfo.recipe.mSpecialValue])); } @Override public List<Pos2d> getItemInputPositions(int itemInputCount) { - List<Pos2d> results = new ArrayList<>(); - for (int i = 0; i < itemInputCount; i++) { - results.add(new Pos2d(16 + (i % 3) * 18, 15 + (i / 3) * 18)); - } - return results; + return UIHelper.getGridPositions(itemInputCount, 16, 15, 3); } @Override @@ -587,11 +603,7 @@ public class MyRecipeAdder { @Override public List<Pos2d> getFluidInputPositions(int fluidInputCount) { - List<Pos2d> results = new ArrayList<>(); - for (int i = 0; i < fluidInputCount; i++) { - results.add(new Pos2d(88 + (i % 4) * 18, 37 + (i / 4) * 18)); - } - return results; + return UIHelper.getGridPositions(fluidInputCount, 88, 37, 4); } @Override @@ -622,7 +634,7 @@ public class MyRecipeAdder { 1, "", false, - false); + true); public GT_Recipe addComponentAssemblyLineRecipe( ItemStack[] ItemInputArray, |