aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/recipe
diff options
context:
space:
mode:
authorMaya <10861407+serenibyss@users.noreply.github.com>2024-11-28 12:01:03 -0600
committerGitHub <noreply@github.com>2024-11-28 19:01:03 +0100
commite41a0889c5f498252691180b143c97b570b2fc6b (patch)
tree60e1dd7a5a1fa4e7e081f6fccdb438897fa49c20 /src/main/java/tectech/recipe
parent3fcd89ab979db773d63c498de905558d32943420 (diff)
downloadGT5-Unofficial-e41a0889c5f498252691180b143c97b570b2fc6b.tar.gz
GT5-Unofficial-e41a0889c5f498252691180b143c97b570b2fc6b.tar.bz2
GT5-Unofficial-e41a0889c5f498252691180b143c97b570b2fc6b.zip
Godforge hangover (#3396)
Co-authored-by: GDCloud <gdcloudstrike@gmail.com> Co-authored-by: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/tectech/recipe')
-rw-r--r--src/main/java/tectech/recipe/GodforgeUpgradeCostFrontend.java74
-rw-r--r--src/main/java/tectech/recipe/TecTechRecipeMaps.java12
2 files changed, 86 insertions, 0 deletions
diff --git a/src/main/java/tectech/recipe/GodforgeUpgradeCostFrontend.java b/src/main/java/tectech/recipe/GodforgeUpgradeCostFrontend.java
new file mode 100644
index 0000000000..aa81856171
--- /dev/null
+++ b/src/main/java/tectech/recipe/GodforgeUpgradeCostFrontend.java
@@ -0,0 +1,74 @@
+package tectech.recipe;
+
+import static gregtech.api.util.GTRecipeConstants.FOG_UPGRADE_NAME_SHORT;
+
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.util.EnumChatFormatting;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
+
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+import gregtech.nei.RecipeDisplayInfo;
+import tectech.thing.gui.TecTechUITextures;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class GodforgeUpgradeCostFrontend extends RecipeMapFrontend {
+
+ public GodforgeUpgradeCostFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder, neiPropertiesBuilder);
+ }
+
+ @Override
+ public void addGregTechLogo(ModularWindow.Builder builder, Pos2d windowOffset) {
+ builder.widget(
+ new DrawableWidget().setDrawable(TecTechUITextures.PICTURE_GODFORGE_LOGO)
+ .setSize(18, 18)
+ .setPos(new Pos2d(151, 63).add(windowOffset)));
+ }
+
+ @Override
+ public List<Pos2d> getItemInputPositions(int itemInputCount) {
+ return UIHelper.getGridPositions(itemInputCount, 8, 17, 4);
+ }
+
+ @Override
+ public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
+ return UIHelper.getGridPositions(itemOutputCount, 116, 26, 1);
+ }
+
+ @Override
+ public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
+ return UIHelper.getGridPositions(fluidOutputCount, 134, 26, 1);
+ }
+
+ @Override
+ protected void drawDurationInfo(RecipeDisplayInfo recipeInfo) {}
+
+ @Override
+ protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {}
+
+ @Override
+ protected void drawSpecialInfo(RecipeDisplayInfo recipeInfo) {
+ String upgradeName = recipeInfo.recipe.getMetadataOrDefault(FOG_UPGRADE_NAME_SHORT, "");
+ int width = Minecraft.getMinecraft().fontRenderer.getStringWidth(upgradeName);
+ if (width % 2 == 1) width -= 1;
+ int xOffset = 18 - width / 2 - 1;
+ recipeInfo.drawText(" ", 83, -76);
+ recipeInfo.drawText(
+ EnumChatFormatting.BLUE.toString() + EnumChatFormatting.UNDERLINE + EnumChatFormatting.BOLD + upgradeName,
+ 110 + xOffset,
+ 0);
+ }
+}
diff --git a/src/main/java/tectech/recipe/TecTechRecipeMaps.java b/src/main/java/tectech/recipe/TecTechRecipeMaps.java
index d4908df5b7..de98a2c274 100644
--- a/src/main/java/tectech/recipe/TecTechRecipeMaps.java
+++ b/src/main/java/tectech/recipe/TecTechRecipeMaps.java
@@ -85,4 +85,16 @@ public class TecTechRecipeMaps {
.logoPos(151, 63)
.build();
+ public static final RecipeMap<RecipeMapBackend> godforgeFakeUpgradeCostRecipes = RecipeMapBuilder
+ .of("gt.recipe.upgrade_costs")
+ .maxIO(12, 2, 0, 2)
+ .addSpecialTexture(83, 38, 30, 13, GTUITextures.PICTURE_ARROW_GRAY)
+ .dontUseProgressBar()
+ .neiTransferRect(83, 38, 30, 13)
+ .frontend(GodforgeUpgradeCostFrontend::new)
+ .neiHandlerInfo(
+ builder -> builder.setDisplayStack(CustomItemList.Machine_Multi_ForgeOfGods.get(1))
+ .setHeight(100))
+ .build();
+
}