aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/api/gui/modularui/GT_UITextures.java2
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java29
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java18
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java5
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java2
-rw-r--r--src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java8
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java3
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java5
-rw-r--r--src/main/resources/assets/gregtech/lang/en_US.lang1
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/overlay_button/structure_update.pngbin0 -> 693 bytes
11 files changed, 63 insertions, 12 deletions
diff --git a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
index 98612ad936..526ba1aa18 100644
--- a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
+++ b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
@@ -298,6 +298,8 @@ public class GT_UITextures {
.fullImage(GregTech.ID, "gui/overlay_button/batch_mode_off");
public static final UITexture OVERLAY_BUTTON_BATCH_MODE_OFF_DISABLED = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/batch_mode_off_disabled");
+ public static final UITexture OVERLAY_BUTTON_STRUCTURE_UPDATE = UITexture
+ .fullImage(GregTech.ID, "gui/overlay_button/structure_update");
public static final UITexture OVERLAY_BUTTON_FORBIDDEN = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/forbidden");
public static final UITexture OVERLAY_BUTTON_LOCKED = UITexture
diff --git a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java
index 67e6a72776..66eee78822 100644
--- a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java
+++ b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java
@@ -360,4 +360,33 @@ public interface ControllerWithOptionalFeatures extends IVoidable, IRecipeLockab
}
return (ButtonWidget) button;
}
+
+ Pos2d getStructureUpdateButtonPos();
+
+ int getStructureUpdateTime();
+
+ void setStructureUpdateTime(int time);
+
+ default ButtonWidget createStructureUpdateButton(IWidgetBuilder<?> builder) {
+ Widget button = new ButtonWidget().setOnClick((clickData, widget) -> { setStructureUpdateTime(1); })
+ .setPlayClickSound(true)
+ .setBackground(() -> {
+ List<UITexture> ret = new ArrayList<>();
+ if (getStructureUpdateTime() > -20) {
+ ret.add(GT_UITextures.BUTTON_STANDARD_PRESSED);
+ } else {
+ ret.add(GT_UITextures.BUTTON_STANDARD);
+ }
+ ret.add(GT_UITextures.OVERLAY_BUTTON_STRUCTURE_UPDATE);
+ return ret.toArray(new IDrawable[0]);
+ })
+ .attachSyncer(
+ new FakeSyncWidget.IntegerSyncer(this::getStructureUpdateTime, this::setStructureUpdateTime),
+ builder)
+ .addTooltip(StatCollector.translateToLocal("GT5U.gui.button.structure_update"))
+ .setTooltipShowUpDelay(TOOLTIP_DELAY)
+ .setPos(getStructureUpdateButtonPos())
+ .setSize(16, 16);
+ return (ButtonWidget) button;
+ }
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
index c7f0e6cdd5..15ce78fae3 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
@@ -59,7 +59,7 @@ public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase<T extends GT_Meta
final IGregTechTileEntity base = getBaseMetaTileEntity();
mMachine = false;
mUpdated = false;
- mUpdate = 100;
+ mUpdate = 50;
if (getBaseMetaTileEntity().isServerSide()
&& !GregTech_API.isDummyWorld(getBaseMetaTileEntity().getWorld())) {
StructureLibAPI.sendAlignment(
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index e8b81bc966..4ffe82b1c2 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -2154,6 +2154,21 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
}
@Override
+ public Pos2d getStructureUpdateButtonPos() {
+ return new Pos2d(174, 130);
+ }
+
+ @Override
+ public int getStructureUpdateTime() {
+ return mUpdate;
+ }
+
+ @Override
+ public void setStructureUpdateTime(int time) {
+ mUpdate = time;
+ }
+
+ @Override
public boolean supportsVoidProtection() {
return false;
}
@@ -2405,7 +2420,8 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
.widget(createInputSeparationButton(builder))
.widget(createModeSwitchButton(builder))
.widget(createBatchModeButton(builder))
- .widget(createLockToSingleRecipeButton(builder));
+ .widget(createLockToSingleRecipeButton(builder))
+ .widget(createStructureUpdateButton(builder));
}
@Override
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
index d1c4d189dd..efdf055bb2 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
@@ -339,11 +339,6 @@ public class GregtechMetaTileEntity_IndustrialArcFurnace
}
@Override
- public void onMachineBlockUpdate() {
- mUpdate = 100;
- }
-
- @Override
public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
int z) {
super.getWailaNBTData(player, tile, tag, world, x, y, z);
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java
index 050fa19fd9..a245f696f9 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java
@@ -476,7 +476,7 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
super.onPostTick(aBaseMetaTileEntity, aTick);
if (aBaseMetaTileEntity.isServerSide()) {
- if (mUpdate < 0) mUpdate = 300;
+ if (mUpdate < -250) mUpdate = 50;
if ((aTick % 1200) == 0) {
isBroken = true;
}
diff --git a/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java b/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
index c811c2f9b0..94b120a3e9 100644
--- a/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
+++ b/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
@@ -287,6 +287,11 @@ public abstract class KubaTechGTMultiBlockBase<T extends GT_MetaTileEntity_Exten
}
@Override
+ public Pos2d getStructureUpdateButtonPos() {
+ return new Pos2d(174, 148 - (slotWidgets.size() * 18));
+ }
+
+ @Override
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
builder.widget(
new DrawableWidget().setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK)
@@ -312,7 +317,8 @@ public abstract class KubaTechGTMultiBlockBase<T extends GT_MetaTileEntity_Exten
.widget(createVoidExcessButton(builder))
.widget(createInputSeparationButton(builder))
.widget(createBatchModeButton(builder))
- .widget(createLockToSingleRecipeButton(builder));
+ .widget(createLockToSingleRecipeButton(builder))
+ .widget(createStructureUpdateButton(builder));
DynamicPositionedRow configurationElements = new DynamicPositionedRow();
addConfigurationWidgets(configurationElements, buildContext);
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
index a45e66142b..4df5a995b5 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
@@ -1039,7 +1039,8 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
.widget(createVoidExcessButton(builder))
.widget(createInputSeparationButton(builder))
.widget(createBatchModeButton(builder))
- .widget(createLockToSingleRecipeButton(builder));
+ .widget(createLockToSingleRecipeButton(builder))
+ .widget(createStructureUpdateButton(builder));
DynamicPositionedRow configurationElements = new DynamicPositionedRow();
addConfigurationWidgets(configurationElements, buildContext);
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
index 10558187af..aecebe8da9 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
@@ -426,7 +426,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
super.onPostTick(aBaseMetaTileEntity, aTick);
if (aBaseMetaTileEntity.isServerSide()) {
// TODO: Look for proper fix
- if (mUpdate < 0) mUpdate = 600;
+ if (mUpdate < -550) mUpdate = 50;
} else {
if (aBaseMetaTileEntity.isActive() && aTick % 100 == 0) {
int[] abc = new int[] { 0, -2, 7 };
@@ -754,7 +754,8 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
.widget(createVoidExcessButton(builder))
.widget(createInputSeparationButton(builder))
.widget(createBatchModeButton(builder))
- .widget(createLockToSingleRecipeButton(builder));
+ .widget(createLockToSingleRecipeButton(builder))
+ .widget(createStructureUpdateButton(builder));
DynamicPositionedRow configurationElements = new DynamicPositionedRow();
addConfigurationWidgets(configurationElements, buildContext);
diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang
index 43845d9b37..b8540b6c5a 100644
--- a/src/main/resources/assets/gregtech/lang/en_US.lang
+++ b/src/main/resources/assets/gregtech/lang/en_US.lang
@@ -472,6 +472,7 @@ GT5U.gui.button.input_separation=Input Separation
GT5U.gui.button.mode_switch=Mode Switch
GT5U.gui.button.batch_mode=Batch Mode
GT5U.gui.button.lock_recipe=Lock Recipe
+GT5U.gui.button.structure_update=Update Structure
GT5U.gui.button.down_tier=Down Tier
GT5U.gui.button.tier=Tier:
GT5U.gui.button.forbidden=ยง4Cannot change mode for this machine
diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay_button/structure_update.png b/src/main/resources/assets/gregtech/textures/gui/overlay_button/structure_update.png
new file mode 100644
index 0000000000..6c8996c7a5
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/overlay_button/structure_update.png
Binary files differ