aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java15
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java40
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;