aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-01-05 23:56:45 +0900
committerGitHub <noreply@github.com>2023-01-05 15:56:45 +0100
commit7015c5b2eb5b081e1a477cf430a8173b2de6d206 (patch)
tree67ac6eecbf4292e1e1a43aadcc69e052e227d4a3 /src/main/java/gregtech
parentae916ac62a0a75749cfc4a1974d5fb40b6dc7ddf (diff)
downloadGT5-Unofficial-7015c5b2eb5b081e1a477cf430a8173b2de6d206.tar.gz
GT5-Unofficial-7015c5b2eb5b081e1a477cf430a8173b2de6d206.tar.bz2
GT5-Unofficial-7015c5b2eb5b081e1a477cf430a8173b2de6d206.zip
Allow overriding more progressbar textures & Add document for resource packs (#1632)
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java64
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java11
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java10
4 files changed, 67 insertions, 22 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 83e124aad8..75b055324a 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -6,6 +6,11 @@ import static gregtech.api.enums.GT_Values.W;
import static gregtech.api.enums.GT_Values.ticksBetweenSounds;
import static gregtech.api.objects.XSTR.XSTR_INSTANCE;
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
+import com.gtnewhorizons.modularui.api.drawable.UITexture;
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -14,6 +19,7 @@ import gregtech.api.enums.ParticleFX;
import gregtech.api.enums.Textures.BlockIcons.CustomIcon;
import gregtech.api.gui.GT_Container_BasicMachine;
import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -48,6 +54,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
private final ResourceLocation mSoundResourceLocation;
private final boolean mSharedTank, mRequiresFluidForFiltering;
private final byte mGUIParameterA, mGUIParameterB;
+ private FallbackableUITexture progressBarTexture;
public GT_MetaTileEntity_BasicMachine_GT_Recipe(
int aID,
@@ -151,6 +158,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
this.mSoundResourceLocation = aSound;
this.mGUIParameterA = (byte) aGUIParameterA;
this.mGUIParameterB = (byte) aGUIParameterB;
+ this.progressBarTexture = mRecipes.getProgressBarTextureRaw();
// TODO: CHECK
if (aRecipe != null) {
@@ -1043,23 +1051,38 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BasicMachine_GT_Recipe(
- this.mName,
- this.mTier,
- this.mDescriptionArray,
- this.mRecipes,
- this.mInputSlotCount,
- this.mOutputItems == null ? 0 : this.mOutputItems.length,
- this.mTankCapacity,
- this.mAmperage,
- this.mGUIParameterA,
- this.mGUIParameterB,
- this.mTextures,
- this.mGUIName,
- this.mNEIName,
- this.mSoundResourceLocation.toString(),
- this.mSharedTank,
- this.mRequiresFluidForFiltering,
- this.mSpecialEffect.ordinal());
+ this.mName,
+ this.mTier,
+ this.mDescriptionArray,
+ this.mRecipes,
+ this.mInputSlotCount,
+ this.mOutputItems == null ? 0 : this.mOutputItems.length,
+ this.mTankCapacity,
+ this.mAmperage,
+ this.mGUIParameterA,
+ this.mGUIParameterB,
+ this.mTextures,
+ this.mGUIName,
+ this.mNEIName,
+ this.mSoundResourceLocation.toString(),
+ this.mSharedTank,
+ this.mRequiresFluidForFiltering,
+ this.mSpecialEffect.ordinal())
+ .setProgressBarTexture(this.progressBarTexture);
+ }
+
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe setProgressBarTexture(FallbackableUITexture progressBarTexture) {
+ this.progressBarTexture = progressBarTexture;
+ return this;
+ }
+
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe setProgressBarTextureName(String name, UITexture fallback) {
+ return setProgressBarTexture(
+ new FallbackableUITexture(UITexture.fullImage("gregtech", "gui/progressbar/" + name), fallback));
+ }
+
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe setProgressBarTextureName(String name) {
+ return setProgressBarTextureName(name, GT_UITextures.PROGRESSBAR_ARROW);
}
@Override
@@ -1292,6 +1315,13 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
return !this.mSharedTank;
}
+ @Override
+ protected ProgressBar createProgressBar(
+ UITexture texture, int imageSize, ProgressBar.Direction direction, Pos2d pos, Size size) {
+ return super.createProgressBar(texture, imageSize, direction, pos, size)
+ .setTexture(progressBarTexture.get(), mRecipes.getProgressBarImageSize());
+ }
+
public enum X {
PUMP,
WIRE,
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java
index 9af6e45885..57164de89e 100644
--- a/src/main/java/gregtech/api/util/GT_Recipe.java
+++ b/src/main/java/gregtech/api/util/GT_Recipe.java
@@ -3402,6 +3402,10 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
return progressBarTexture.get();
}
+ public FallbackableUITexture getProgressBarTextureRaw() {
+ return progressBarTexture;
+ }
+
public UITexture getProgressBarTextureSteam(SteamVariant steamVariant) {
return progressBarTextureSteam.get(steamVariant);
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java
index 17e9e94b9c..1c1ed70c20 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java
@@ -3,6 +3,8 @@ package gregtech.common.tileentities.machines.basic;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.debugBlockMiner;
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
+import com.gtnewhorizons.modularui.api.drawable.UITexture;
import com.gtnewhorizons.modularui.api.math.Pos2d;
import com.gtnewhorizons.modularui.api.math.Size;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
@@ -438,14 +440,13 @@ public class GT_MetaTileEntity_Miner extends GT_MetaTileEntity_BasicMachine
return true;
}
+ private static final FallbackableUITexture progressBarTexture = new FallbackableUITexture(
+ UITexture.fullImage("gregtech", "gui/progressbar/miner"), GT_UITextures.PROGRESSBAR_CANNER);
+
@Override
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
super.addUIWidgets(builder, buildContext);
builder.widget(createProgressBar(
- GT_UITextures.PROGRESSBAR_CANNER,
- 20,
- ProgressBar.Direction.RIGHT,
- new Pos2d(78, 24),
- new Size(20, 18)));
+ progressBarTexture.get(), 20, ProgressBar.Direction.RIGHT, new Pos2d(78, 24), new Size(20, 18)));
}
}
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index b39d2332d4..7dd73465c8 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -3935,6 +3935,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Furnace")
.getStackForm(1L));
ItemList.Machine_MV_E_Furnace.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
262,
@@ -3967,6 +3968,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Furnace")
.getStackForm(1L));
ItemList.Machine_HV_E_Furnace.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
263,
@@ -3999,6 +4001,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Furnace")
.getStackForm(1L));
ItemList.Machine_EV_E_Furnace.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
264,
@@ -4031,6 +4034,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Furnace")
.getStackForm(1L));
ItemList.Machine_IV_E_Furnace.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
265,
@@ -4063,6 +4067,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Furnace")
.getStackForm(1L));
ItemList.Machine_LV_Extractor.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
@@ -10856,6 +10861,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Oven")
.getStackForm(1L));
ItemList.Machine_MV_Oven.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
672,
@@ -10888,6 +10894,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Oven")
.getStackForm(1L));
ItemList.Machine_HV_Oven.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
673,
@@ -10920,6 +10927,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Oven")
.getStackForm(1L));
ItemList.Machine_EV_Oven.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
674,
@@ -10952,6 +10960,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Oven")
.getStackForm(1L));
ItemList.Machine_IV_Oven.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(
675,
@@ -10984,6 +10993,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'C',
GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING
})
+ .setProgressBarTextureName("E_Oven")
.getStackForm(1L));
ItemList.Machine_LV_Miner.set(