diff options
| author | Maya <10861407+serenibyss@users.noreply.github.com> | 2024-11-28 12:01:03 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-28 19:01:03 +0100 |
| commit | e41a0889c5f498252691180b143c97b570b2fc6b (patch) | |
| tree | 60e1dd7a5a1fa4e7e081f6fccdb438897fa49c20 /src/main/java/tectech/recipe | |
| parent | 3fcd89ab979db773d63c498de905558d32943420 (diff) | |
| download | GT5-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.java | 74 | ||||
| -rw-r--r-- | src/main/java/tectech/recipe/TecTechRecipeMaps.java | 12 |
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(); + } |
