diff options
| author | querns <33518699+querns@users.noreply.github.com> | 2023-10-09 09:55:31 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-09 16:55:31 +0200 |
| commit | dff250c6d32156270b9a39137346a2b3767cb4a2 (patch) | |
| tree | c3ad948b6aa9e5b9edefde7e4517e9b78be7d2fe /src/main/java/gregtech/api/util | |
| parent | 45566b43ee5d8b8f75170916530fd884e0ff74db (diff) | |
| download | GT5-Unofficial-dff250c6d32156270b9a39137346a2b3767cb4a2.tar.gz GT5-Unofficial-dff250c6d32156270b9a39137346a2b3767cb4a2.tar.bz2 GT5-Unofficial-dff250c6d32156270b9a39137346a2b3767cb4a2.zip | |
Allows covers to be configured to tick more slowly (#2307)
* Right clicking covers with a jackhammer will now make them tick more slowly
* Interim commit, switching tasks
* Finishes tick rate button in cover UIs
* Change tick rate multiplier to a tick rate addition
* Missed one number in the multiplier -> addition conversion
* Hold Ctrl to adjust tick rate by 5 steps per click, move button closer to corner of cover GUI
* Adjust how holding Ctrl computes tick rate change, remove gray formatting option for tick rate formatter
* Cover tick rate addition can now be prevented per-cover-behavior, minor code tweaks
Diffstat (limited to 'src/main/java/gregtech/api/util')
| -rw-r--r-- | src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java index 3300ab43d6..97f02821c1 100644 --- a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java +++ b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java @@ -31,10 +31,12 @@ import gregtech.api.enums.GT_Values; import gregtech.api.gui.GT_GUIColorOverride; import gregtech.api.gui.modularui.GT_CoverUIBuildContext; import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.widgets.GT_CoverTickRateButton; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.net.GT_Packet_TileEntityCoverGUI; import gregtech.api.objects.GT_ItemStack; +import gregtech.common.covers.CoverInfo; /** * For Covers with a special behavior. @@ -447,6 +449,15 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> { ButtonWidget.closeWindowButton(true) .setPos(getGUIWidth() - 15, 3)); } + + final CoverInfo coverInfo = uiBuildContext.getTile() + .getCoverInfoAtSide(uiBuildContext.getCoverSide()); + final GT_CoverBehaviorBase<?> behavior = coverInfo.getCoverBehavior(); + if (coverInfo.getMinimumTickRate() > 0 && behavior.allowsTickRateAddition()) { + builder.widget( + new GT_CoverTickRateButton(coverInfo, builder).setPos(getGUIWidth() - 24, getGUIHeight() - 24)); + } + return builder.build(); } @@ -837,6 +848,10 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> { return true; } + public boolean allowsTickRateAddition() { + return true; + } + @NotNull public final List<String> getAdditionalTooltip(ISerializableObject coverData) { return getAdditionalTooltipImpl(forceCast(coverData)); |
