diff options
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java | 15 | ||||
-rw-r--r-- | src/main/java/gregtech/api/util/GT_Recipe.java | 40 |
2 files changed, 41 insertions, 14 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java index a07fb5fb0d..f26090477c 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java @@ -42,6 +42,7 @@ import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.gui.modularui.SteamTexture; import gregtech.api.interfaces.IConfigurationCircuitSupport; import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.objects.GT_ItemStack; @@ -80,7 +81,7 @@ import org.apache.commons.lang3.tuple.Pair; * Extend this class to make a simple Machine */ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_BasicTank - implements IConfigurationCircuitSupport, IAddUIWidgets { + implements IConfigurationCircuitSupport, IAddGregtechLogo, IAddUIWidgets { /** * return values for checkRecipe() @@ -1305,6 +1306,18 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B } @Override + public void addGregTechLogo(ModularWindow.Builder builder) { + if (getRecipeList() != null) { + getRecipeList().addGregTechLogoUI(builder, new Pos2d(0, 0)); + } else { + builder.widget(new DrawableWidget() + .setDrawable(getGUITextureSet().getGregTechLogo()) + .setSize(17, 17) + .setPos(152, 63)); + } + } + + @Override public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { if (!isSteampowered()) { builder.widget(createFluidAutoOutputButton()); diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 40ba7fe60f..09cc850ecd 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -1700,7 +1700,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { .setUsualFluidInputCount(16) .setUsualFluidOutputCount(16) .setNEITransferRect(new Rectangle(79, 34, 18, 18)) - .setNEIGregTechLogoPos(80, 61); + .setLogoPos(80, 61); public static final GT_Recipe_Map sCentrifugeRecipes = new GT_Recipe_Map( new HashSet<>(1200), "gt.recipe.centrifuge", @@ -2560,7 +2560,11 @@ public class GT_Recipe implements Comparable<GT_Recipe> { */ public final List<Pair<SteamTexture, Pair<Size, Pos2d>>> specialTexturesSteam = new ArrayList<>(); - public Pos2d neiGregTechLogoPos = new Pos2d(152, 63); + public IDrawable logo = GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT; + + public Pos2d logoPos = new Pos2d(152, 63); + + public Size logoSize = new Size(17, 17); public Pos2d neiBackgroundOffset = new Pos2d(2, 3); @@ -2774,9 +2778,21 @@ public class GT_Recipe implements Comparable<GT_Recipe> { return this; } - public GT_Recipe_Map setNEIGregTechLogoPos(int x, int y) { + public GT_Recipe_Map setLogo(IDrawable logo) { + useModularUI(true); + this.logo = logo; + return this; + } + + public GT_Recipe_Map setLogoPos(int x, int y) { + useModularUI(true); + this.logoPos = new Pos2d(x, y); + return this; + } + + public GT_Recipe_Map setLogoSize(int width, int height) { useModularUI(true); - this.neiGregTechLogoPos = new Pos2d(x, y); + this.logoSize = new Size(width, height); return this; } @@ -3339,7 +3355,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { return builder; } - protected void addProgressBarUI( + public void addProgressBarUI( ModularWindow.Builder builder, Supplier<Float> progressSupplier, Pos2d windowOffset) { builder.widget(new ProgressBar() .setTexture(progressBarTexture, 20) @@ -3350,11 +3366,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> { .setSize(progressBarSize)); } - protected void addGregTechLogoUI(ModularWindow.Builder builder, Pos2d windowOffset) { - builder.widget(new DrawableWidget() - .setDrawable(GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT) - .setSize(17, 17) - .setPos(neiGregTechLogoPos.add(windowOffset))); + public void addGregTechLogoUI(ModularWindow.Builder builder, Pos2d windowOffset) { + builder.widget( + new DrawableWidget().setDrawable(logo).setSize(logoSize).setPos(logoPos.add(windowOffset))); } /** @@ -3458,7 +3472,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { aShowVoltageAmperageInNEI, aNEIAllowed); useModularUI(true); - setNEIGregTechLogoPos(80, 62); + setLogoPos(80, 62); } @Override @@ -5480,7 +5494,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { E, true, true); - setNEIGregTechLogoPos(80, 62); + setLogoPos(80, 62); } @Override @@ -5811,7 +5825,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { } @Override - protected void addProgressBarUI( + public void addProgressBarUI( ModularWindow.Builder builder, Supplier<Float> progressSupplier, Pos2d windowOffset) { int bar1Width = 17; int bar2Width = 18; |