From 3899a0e45d1d03ccbf03f46bcc85920a0103bf4c Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 22:00:51 -0500 Subject: [PATCH 01/19] Cover ID and behavior are immutable --- .../api/metatileentity/BaseMetaPipeEntity.java | 1 - .../api/metatileentity/BaseMetaTileEntity.java | 3 --- .../api/metatileentity/CoverableTileEntity.java | 7 ------- src/main/java/gregtech/common/covers/CoverInfo.java | 13 +++++-------- 4 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index 593e25a8011..9bf8c850131 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -223,7 +223,6 @@ && getRandomNumber(1000) == 0) { if (!hasValidMetaTileEntity()) return; if (isServerSide()) { if (mTickTimer == 10) { - updateCoverBehavior(); issueBlockUpdate(); joinEnet(); } diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 0a62ec69de1..7be97e75e8e 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -223,8 +223,6 @@ public void setInitialValuesAsNBT(NBTTagCompound aNBT, short aID) { if (hasValidMetaTileEntity() && mMetaTileEntity.hasSidedRedstoneOutputBehavior()) mSidedRedstone = new byte[] { 0, 0, 0, 0, 0, 0 }; else mSidedRedstone = new byte[] { 15, 15, 15, 15, 15, 15 }; - - updateCoverBehavior(); } /** @@ -379,7 +377,6 @@ public void updateEntity() { } if (aSideServer) { if (mRedstone != oRedstone || mTickTimer == 10) { - updateCoverBehavior(); oRedstone = mRedstone; issueBlockUpdate(); } diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index 78dbb735853..fd46eef022d 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -230,13 +230,6 @@ protected void checkDropCover() { } } - protected void updateCoverBehavior() { - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - final CoverInfo coverInfo = getCoverInfoAtSide(side); - if (coverInfo.isValid()) coverInfo.updateCoverBehavior(); - } - } - @Override public void issueCoverUpdate(ForgeDirection side) { final CoverInfo coverInfo = getCoverInfoAtSide(side); diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index 8c5f4fdd25c..0a385f8cfce 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -32,18 +32,19 @@ public final class CoverInfo { public static final CoverInfo EMPTY_INFO = new CoverInfo(ForgeDirection.UNKNOWN, null); private final ForgeDirection coverSide; - private int coverID = 0; - private CoverBehaviorBase coverBehavior; - private ISerializableObject coverData; + private final int coverID; + private final CoverBehaviorBase coverBehavior; private final WeakReference coveredTile; - private boolean needsUpdate = false; + private ISerializableObject coverData; + private boolean needsUpdate = false; private int tickRateAddition = 0; public CoverInfo(ForgeDirection side, ICoverable aTile) { coverSide = side; coveredTile = new WeakReference<>(aTile); coverBehavior = GregTechAPI.sNoBehavior; + coverID = 0; } public CoverInfo(ForgeDirection side, int aID, ICoverable aTile, ISerializableObject aCoverData) { @@ -161,10 +162,6 @@ public void onBaseTEDestroyed() { getCoverBehavior().onBaseTEDestroyed(coverSide, coverID, coverData, coveredTile.get()); } - public void updateCoverBehavior() { - coverBehavior = GregTechAPI.getCoverBehaviorNew(coverID); - } - public void preDataChanged(int aCoverID, ISerializableObject aCoverData) { getCoverBehavior().preDataChanged(coverSide, coverID, aCoverID, coverData, aCoverData, coveredTile.get()); } From d9548268c307d89a133c11d312012dbabb53217c Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 22:17:07 -0500 Subject: [PATCH 02/19] Move allowsTickRateAddition to CoverInfo --- .../java/gregtech/api/metatileentity/BaseMetaTileEntity.java | 3 +-- src/main/java/gregtech/api/util/CoverBehaviorBase.java | 3 +-- src/main/java/gregtech/common/covers/CoverInfo.java | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 7be97e75e8e..bcaff18aef4 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -1717,8 +1717,7 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, if (GTModHandler.damageOrDechargeItem(tCurrentItem, 1, 1000, aPlayer)) { final CoverInfo info = getCoverInfoAtSide(coverSide); if (info != CoverInfo.EMPTY_INFO) { - final CoverBehaviorBase behavior = info.getCoverBehavior(); - if (behavior.allowsTickRateAddition()) { + if (info.allowsTickRateAddition()) { info.onCoverJackhammer(aPlayer); GTUtility.sendSoundToPlayers( worldObj, diff --git a/src/main/java/gregtech/api/util/CoverBehaviorBase.java b/src/main/java/gregtech/api/util/CoverBehaviorBase.java index 552eeabe66f..7712a425aab 100644 --- a/src/main/java/gregtech/api/util/CoverBehaviorBase.java +++ b/src/main/java/gregtech/api/util/CoverBehaviorBase.java @@ -453,8 +453,7 @@ public ModularWindow createWindow() { final CoverInfo coverInfo = uiBuildContext.getTile() .getCoverInfoAtSide(uiBuildContext.getCoverSide()); - final CoverBehaviorBase behavior = coverInfo.getCoverBehavior(); - if (coverInfo.getMinimumTickRate() > 0 && behavior.allowsTickRateAddition()) { + if (coverInfo.getMinimumTickRate() > 0 && coverInfo.allowsTickRateAddition()) { builder.widget( new CoverTickRateButton(coverInfo, builder).setPos(getGUIWidth() - 24, getGUIHeight() - 24)); } diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index 0a385f8cfce..21bf03907ba 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -96,6 +96,10 @@ public CoverBehaviorBase getCoverBehavior() { return coverBehavior; } + public boolean allowsTickRateAddition() { + return getCoverBehavior().allowsTickRateAddition(); + } + public ISerializableObject getCoverData() { if (coverData != null) return coverData; return GregTechAPI.sNoBehavior.createDataObject(); From 6e1b92ea733dab6cfe8823b0afe9a424042bb499 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 22:18:47 -0500 Subject: [PATCH 03/19] Add CoverInfo::hasNoBehavior --- .../gregtech/api/metatileentity/CoverableTileEntity.java | 6 +++--- .../api/metatileentity/implementations/MTECable.java | 4 ++-- src/main/java/gregtech/common/covers/CoverInfo.java | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index fd46eef022d..7ebac9f07d4 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -145,7 +145,7 @@ public void readLegacyCoverInfoNBT(NBTTagCompound aNBT) { final CoverInfo coverInfo = new CoverInfo(side, coverIDs[ordinalSide], this, null); final CoverBehaviorBase coverBehavior = coverInfo.getCoverBehavior(); - if (coverBehavior == GregTechAPI.sNoBehavior) continue; + if (coverInfo.hasNoBehavior()) continue; ISerializableObject coverData = null; if (hasOldCoverData) { @@ -575,7 +575,7 @@ public void getWailaBody(ItemStack itemStack, List currentTip, IWailaDat for (byte i = 0; i < tList.tagCount(); i++) { final NBTTagCompound tNBT = tList.getCompoundTagAt(i); final CoverInfo coverInfo = new CoverInfo(this, tNBT); - if (!coverInfo.isValid() || coverInfo.getCoverBehavior() == GregTechAPI.sNoBehavior) continue; + if (!coverInfo.isValid() || coverInfo.hasNoBehavior()) continue; final ItemStack coverStack = coverInfo.getDisplayStack(); if (coverStack != null) { @@ -622,7 +622,7 @@ public static void addInstalledCoversInformation(NBTTagCompound aNBT, List Date: Fri, 31 Jan 2025 22:38:34 -0500 Subject: [PATCH 04/19] Move onCoverRightclickClient to CoverInfo --- .../api/metatileentity/BaseMetaPipeEntity.java | 2 +- .../api/metatileentity/BaseMetaTileEntity.java | 2 +- src/main/java/gregtech/api/util/CoverBehaviorBase.java | 10 ---------- src/main/java/gregtech/common/covers/CoverInfo.java | 9 +++++++++ 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index 9bf8c850131..1b450a49024 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -830,7 +830,7 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, ? GTUtility.determineWrenchingSide(side, aX, aY, aZ) : side; return (getCoverInfoAtSide(tSide).hasCoverGUI()); - } else if (getCoverBehaviorAtSideNew(side).onCoverRightclickClient(side, this, aPlayer, aX, aY, aZ)) { + } else if (getCoverInfoAtSide(side).onCoverRightclickClient(aPlayer, aX, aY, aZ)) { return true; } } diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index bcaff18aef4..80188f51d2a 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -1480,7 +1480,7 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, ? GTUtility.determineWrenchingSide(side, aX, aY, aZ) : side; return (getCoverBehaviorAtSideNew(tSide).hasCoverGUI()); - } else if (getCoverBehaviorAtSideNew(side).onCoverRightclickClient(side, this, aPlayer, aX, aY, aZ)) { + } else if (getCoverInfoAtSide(side).onCoverRightclickClient(aPlayer, aX, aY, aZ)) { return true; } diff --git a/src/main/java/gregtech/api/util/CoverBehaviorBase.java b/src/main/java/gregtech/api/util/CoverBehaviorBase.java index 7712a425aab..3b122606a60 100644 --- a/src/main/java/gregtech/api/util/CoverBehaviorBase.java +++ b/src/main/java/gregtech/api/util/CoverBehaviorBase.java @@ -807,16 +807,6 @@ public boolean hasCoverGUI() { return false; } - /** - * Called when someone rightclicks this Cover Client Side - *

- * return true, if something actually happens. - */ - public boolean onCoverRightclickClient(ForgeDirection side, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, - float aY, float aZ) { - return false; - } - /** * If this is a simple Cover, which can also be used on Bronze Machines and similar. */ diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index 67793195cdc..33f554a53a7 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -238,6 +238,15 @@ public boolean onCoverRightClick(EntityPlayer aPlayer, float aX, float aY, float .onCoverRightClick(coverSide, coverID, coverData, coveredTile.get(), aPlayer, aX, aY, aZ); } + /** + * Called when someone rightclicks this Cover Client Side + *

+ * return true, if something actually happens. + */ + public boolean onCoverRightclickClient(EntityPlayer aPlayer, float aX, float aY, float aZ) { + return false; + } + public boolean onCoverShiftRightClick(EntityPlayer aPlayer) { return getCoverBehavior().onCoverShiftRightClick(coverSide, coverID, coverData, coveredTile.get(), aPlayer); } From fcb3b4b1b8562f438dca44353feb7f29c20c06cf Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 22:59:50 -0500 Subject: [PATCH 05/19] Marked methods exposing CoverBehavior as deprecated --- .../gregtech/api/interfaces/tileentity/ICoverable.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java index 87b87598cb6..5c4d8ee7194 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -52,9 +52,16 @@ default ISerializableObject getComplexCoverDataAtSide(ForgeDirection side) { ItemStack getCoverItemAtSide(ForgeDirection side); + /** + * @deprecated Use the appropriate method on CoverInfo. Add it there if it doesn't exist. + */ @Deprecated CoverBehavior getCoverBehaviorAtSide(ForgeDirection side); + /** + * @deprecated Use the appropriate method on CoverInfo. Add it there if it doesn't exist. + */ + @Deprecated default CoverBehaviorBase getCoverBehaviorAtSideNew(ForgeDirection side) { return getCoverBehaviorAtSide(side); } From a12ee704d5db34decb7dbd8f390cf56ca19cf59e Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 23:07:39 -0500 Subject: [PATCH 06/19] Add CoverInfo::createCoverContainer --- .../gregtech/api/gui/modularui/GTUIInfos.java | 33 ++++--------------- .../gregtech/common/covers/CoverInfo.java | 11 +++++++ 2 files changed, 17 insertions(+), 27 deletions(-) diff --git a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java index ede4b54e083..a49b2a7ad62 100644 --- a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java +++ b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java @@ -70,26 +70,14 @@ public static void init() {} .container((player, world, x, y, z) -> { final TileEntity te = world.getTileEntity(x, y, z); if (!(te instanceof ICoverable gtTileEntity)) return null; - final CoverBehaviorBase cover = gtTileEntity.getCoverBehaviorAtSideNew(side); - return createCoverContainer( - player, - cover::createWindow, - te::markDirty, - gtTileEntity.getCoverIDAtSide(side), - side, - gtTileEntity); + return gtTileEntity.getCoverInfoAtSide(side) + .createCoverContainer(player); }) .gui((player, world, x, y, z) -> { if (!world.isRemote) return null; final TileEntity te = world.getTileEntity(x, y, z); if (!(te instanceof ICoverable gtTileEntity)) return null; - final CoverBehaviorBase cover = gtTileEntity.getCoverBehaviorAtSideNew(side); - return createCoverGuiContainer( - player, - cover::createWindow, - gtTileEntity.getCoverIDAtSide(side), - side, - gtTileEntity); + return createCoverGuiContainer(player, side, gtTileEntity); }) .build()); } @@ -161,19 +149,10 @@ private static ModularGui createTileEntityGuiContainer(EntityPlayer player, return new ModularGui(container); } - private static ModularUIContainer createCoverContainer(EntityPlayer player, - Function windowCreator, Runnable onWidgetUpdate, int coverID, - ForgeDirection side, ICoverable tile) { - final CoverUIBuildContext buildContext = new CoverUIBuildContext(player, coverID, side, tile, false); - final ModularWindow window = windowCreator.apply(buildContext); - if (window == null) return null; - return new ModularUIContainer(new ModularUIContext(buildContext, onWidgetUpdate), window); - } - @SideOnly(Side.CLIENT) - private static ModularGui createCoverGuiContainer(EntityPlayer player, - Function windowCreator, int coverID, ForgeDirection side, ICoverable tile) { - final ModularUIContainer container = createCoverContainer(player, windowCreator, null, coverID, side, tile); + private static ModularGui createCoverGuiContainer(EntityPlayer player, ForgeDirection side, ICoverable tile) { + final ModularUIContainer container = tile.getCoverInfoAtSide(side) + .createCoverContainer(player); if (container == null) { return null; } diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index 33f554a53a7..1b92c112573 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -3,6 +3,8 @@ import java.lang.ref.WeakReference; import java.util.List; +import com.gtnewhorizons.modularui.api.screen.ModularUIContext; +import com.gtnewhorizons.modularui.common.internal.wrapper.ModularUIContainer; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -349,4 +351,13 @@ public String toString() { StatCollector.translateToLocal(unitI18NKey)); } } + + public ModularUIContainer createCoverContainer(EntityPlayer player) { + ICoverable tile = this.coveredTile.get(); + if (tile == null) return null; + final CoverUIBuildContext buildContext = new CoverUIBuildContext(player, this.coverID, this.coverSide, tile, false); + final ModularWindow window = this.coverBehavior.createWindow(buildContext); + if (window == null) return null; + return new ModularUIContainer(new ModularUIContext(buildContext, tile::markDirty), window); + } } From 02d796d72e7da295f4266255c0173671790ef45a Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 23:10:40 -0500 Subject: [PATCH 07/19] Streamlined GTUIInfos::createCoverGuiContainer --- .../gregtech/api/gui/modularui/GTUIInfos.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java index a49b2a7ad62..da20d5b17eb 100644 --- a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java +++ b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java @@ -27,7 +27,7 @@ import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; import gregtech.api.net.GTPacketSendCoverData; -import gregtech.api.util.CoverBehaviorBase; +import gregtech.common.covers.CoverInfo; public class GTUIInfos { @@ -77,7 +77,9 @@ public static void init() {} if (!world.isRemote) return null; final TileEntity te = world.getTileEntity(x, y, z); if (!(te instanceof ICoverable gtTileEntity)) return null; - return createCoverGuiContainer(player, side, gtTileEntity); + return createCoverGuiContainer( + gtTileEntity.getCoverInfoAtSide(side) + .createCoverContainer(player)); }) .build()); } @@ -97,7 +99,7 @@ public static void openGTTileEntityUI(IHasWorldObjectAndCoords aTileEntity, Enti } /** - * Opens cover UI, created by {@link CoverBehaviorBase#createWindow}. + * Opens cover UI, created by {@link CoverInfo#createWindow}. */ public static void openCoverUI(ICoverable tileEntity, EntityPlayer player, ForgeDirection side) { if (tileEntity.isClientSide()) return; @@ -145,14 +147,11 @@ private static ModularGui createTileEntityGuiContainer(EntityPlayer player, windowCreator, null, containerConstructor); - if (container == null) return null; - return new ModularGui(container); + return createCoverGuiContainer(container); } @SideOnly(Side.CLIENT) - private static ModularGui createCoverGuiContainer(EntityPlayer player, ForgeDirection side, ICoverable tile) { - final ModularUIContainer container = tile.getCoverInfoAtSide(side) - .createCoverContainer(player); + private static ModularGui createCoverGuiContainer(ModularUIContainer container) { if (container == null) { return null; } From dfd7b63de1876f0f59551cf396a798264da2de93 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 23:13:43 -0500 Subject: [PATCH 08/19] Encapsulate calls to isGUIClickable --- src/main/java/ggfab/mte/MTELinkedInputBus.java | 9 ++------- .../implementations/MTEBasicMachine.java | 10 +++------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/main/java/ggfab/mte/MTELinkedInputBus.java b/src/main/java/ggfab/mte/MTELinkedInputBus.java index 0e84c4967d2..f889d27b1ba 100644 --- a/src/main/java/ggfab/mte/MTELinkedInputBus.java +++ b/src/main/java/ggfab/mte/MTELinkedInputBus.java @@ -337,13 +337,8 @@ public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { @Override public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (!getBaseMetaTileEntity().getCoverBehaviorAtSideNew(side) - .isGUIClickable( - side, - getBaseMetaTileEntity().getCoverIDAtSide(side), - getBaseMetaTileEntity().getComplexCoverDataAtSide(side), - getBaseMetaTileEntity())) - return; + if (!getBaseMetaTileEntity().getCoverInfoAtSide(side) + .isGUIClickable()) return; if (aPlayer.isSneaking()) { if (this.mRealInventory == null) { aPlayer.addChatMessage(new ChatComponentTranslation("ggfab.info.linked_input_bus.no_channel")); diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java index d7f2faa2b59..44f3b670daa 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java @@ -79,7 +79,6 @@ import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.metadata.CompressionTierKey; import gregtech.api.render.TextureFactory; -import gregtech.api.util.CoverBehaviorBase; import gregtech.api.util.GTClientPreference; import gregtech.api.util.GTLog; import gregtech.api.util.GTOreDictUnificator; @@ -943,12 +942,9 @@ public boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wre @Override public boolean allowCoverOnSide(ForgeDirection side, GTItemStack aCoverID) { if (side != mMainFacing) return true; - CoverBehaviorBase tBehavior = GregTechAPI.getCoverBehaviorNew(aCoverID.toStack()); - return tBehavior.isGUIClickable( - side, - GTUtility.stackToInt(aCoverID.toStack()), - tBehavior.createDataObject(), - getBaseMetaTileEntity()); + return this.getBaseMetaTileEntity() + .getCoverInfoAtSide(side) + .isGUIClickable(); } @Override From cc2b16c6209d4ce1da513f5392306eed79fe5b9e Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sat, 1 Feb 2025 08:59:07 -0500 Subject: [PATCH 09/19] Remove IControlsWorkCover::makeSureOnlyOne --- .../interfaces/covers/IControlsWorkCover.java | 21 ------------------- .../common/covers/CoverControlsWork.java | 11 ---------- .../CoverRedstoneTransmitterExternal.java | 2 -- 3 files changed, 34 deletions(-) diff --git a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java b/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java index d4cd1e9ec2e..af5bd191303 100644 --- a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java +++ b/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java @@ -1,30 +1,9 @@ package gregtech.api.interfaces.covers; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IMachineProgress; /** * Marker interface for covers that might control whether the work can start on a {@link IMachineProgress}. */ public interface IControlsWorkCover { - - /** - * Make sure there is only one GT_Cover_ControlsWork on the aTileEntity TODO this is a migration thing. Remove this - * after 2.3.0 is released. - * - * @return true if the cover is the first (side) one - **/ - static boolean makeSureOnlyOne(ForgeDirection aMySide, ICoverable aTileEntity) { - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - if (aTileEntity.getCoverBehaviorAtSideNew(side) instanceof IControlsWorkCover - && side.ordinal() < aMySide.ordinal()) { - aTileEntity.dropCover(side, side, true); - aTileEntity.markDirty(); - return false; - } - } - return true; - } } diff --git a/src/main/java/gregtech/common/covers/CoverControlsWork.java b/src/main/java/gregtech/common/covers/CoverControlsWork.java index 6c92c61351c..35a76f131d5 100644 --- a/src/main/java/gregtech/common/covers/CoverControlsWork.java +++ b/src/main/java/gregtech/common/covers/CoverControlsWork.java @@ -29,7 +29,6 @@ public CoverControlsWork(ITexture coverTexture) { @Override public int doCoverThings(ForgeDirection side, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { - if (!makeSureOnlyOne(side, aTileEntity)) return 0; if (aTileEntity instanceof IMachineProgress machine) { if (aCoverVariable < 2) { if ((aInputRedstone > 0) == (aCoverVariable == 0)) { @@ -73,16 +72,6 @@ protected boolean isRedstoneSensitiveImpl(ForgeDirection side, int aCoverID, return aCoverVariable.get() != 2; // always off, so no redstone needed either } - /** - * Make sure there is only one GT_Cover_ControlsWork on the aTileEntity TODO this is a migration thing. Remove this - * after 2.3.0 is released. - * - * @return true if the cover is the first (side) one - **/ - private boolean makeSureOnlyOne(ForgeDirection side, ICoverable aTileEntity) { - return IControlsWorkCover.makeSureOnlyOne(side, aTileEntity); - } - @Override public boolean letsEnergyIn(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { return true; diff --git a/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java b/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java index 130ba4c5d78..08616437769 100644 --- a/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java +++ b/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java @@ -18,8 +18,6 @@ public CoverRedstoneTransmitterExternal(ITexture coverTexture) { @Override public int doCoverThings(ForgeDirection side, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { - // TODO remove next line after 2.3.0 - if (!IControlsWorkCover.makeSureOnlyOne(side, aTileEntity)) return aCoverVariable; GregTechAPI.sWirelessRedstone.put(aCoverVariable, aInputRedstone); return aCoverVariable; } From e4e2d48d38a070d2966c00f52b48f8f10b022ed8 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sat, 1 Feb 2025 09:45:56 -0500 Subject: [PATCH 10/19] Remove IControlsWorkCover. CoverControlsWork can check against itself, and CoverRedstoneTransmitterExternal is not incompatible with it. --- .../interfaces/covers/IControlsWorkCover.java | 9 --------- .../common/covers/CoverControlsWork.java | 5 ++--- .../CoverRedstoneTransmitterExternal.java | 18 ------------------ 3 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java diff --git a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java b/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java deleted file mode 100644 index af5bd191303..00000000000 --- a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java +++ /dev/null @@ -1,9 +0,0 @@ -package gregtech.api.interfaces.covers; - -import gregtech.api.interfaces.tileentity.IMachineProgress; - -/** - * Marker interface for covers that might control whether the work can start on a {@link IMachineProgress}. - */ -public interface IControlsWorkCover { -} diff --git a/src/main/java/gregtech/common/covers/CoverControlsWork.java b/src/main/java/gregtech/common/covers/CoverControlsWork.java index 35a76f131d5..c4f8b7dfb7c 100644 --- a/src/main/java/gregtech/common/covers/CoverControlsWork.java +++ b/src/main/java/gregtech/common/covers/CoverControlsWork.java @@ -11,7 +11,6 @@ import gregtech.api.gui.modularui.CoverUIBuildContext; import gregtech.api.gui.modularui.GTUITextures; import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.covers.IControlsWorkCover; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IMachineProgress; import gregtech.api.util.CoverBehavior; @@ -20,7 +19,7 @@ import gregtech.common.gui.modularui.widget.CoverDataControllerWidget; import gregtech.common.gui.modularui.widget.CoverDataFollowerToggleButtonWidget; -public class CoverControlsWork extends CoverBehavior implements IControlsWorkCover { +public class CoverControlsWork extends CoverBehavior { public CoverControlsWork(ITexture coverTexture) { super(coverTexture); @@ -151,7 +150,7 @@ public int getTickRate(ForgeDirection side, int aCoverID, int aCoverVariable, IC public boolean isCoverPlaceable(ForgeDirection side, ItemStack aStack, ICoverable aTileEntity) { if (!super.isCoverPlaceable(side, aStack, aTileEntity)) return false; for (final ForgeDirection tSide : ForgeDirection.VALID_DIRECTIONS) { - if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof IControlsWorkCover) { + if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof CoverControlsWork) { return false; } } diff --git a/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java b/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java index 08616437769..ce3b0f14c3e 100644 --- a/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java +++ b/src/main/java/gregtech/common/covers/CoverRedstoneTransmitterExternal.java @@ -1,11 +1,9 @@ package gregtech.common.covers; -import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; import gregtech.api.GregTechAPI; import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.covers.IControlsWorkCover; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.util.ISerializableObject; @@ -32,20 +30,4 @@ protected boolean isRedstoneSensitiveImpl(ForgeDirection side, int aCoverID, public boolean letsRedstoneGoIn(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { return true; } - - @Override - public int getTickRate(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return 1; - } - - @Override - public boolean isCoverPlaceable(ForgeDirection side, ItemStack aStack, ICoverable aTileEntity) { - if (!super.isCoverPlaceable(side, aStack, aTileEntity)) return false; - for (final ForgeDirection tSide : ForgeDirection.VALID_DIRECTIONS) { - if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof IControlsWorkCover) { - return false; - } - } - return true; - } } From 8cc41311901dda9f8bdb218cb4e8c03d26c44df8 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sat, 1 Feb 2025 11:40:19 -0500 Subject: [PATCH 11/19] Remove ICoverable::getCoverBehaviorAtSideNew --- .../api/interfaces/IRedstoneCircuitBlock.java | 4 +-- .../api/interfaces/tileentity/ICoverable.java | 9 ----- .../metatileentity/BaseMetaPipeEntity.java | 4 +-- .../metatileentity/BaseMetaTileEntity.java | 32 +++-------------- .../metatileentity/CoverableTileEntity.java | 24 +++---------- .../implementations/MTECable.java | 5 ++- .../implementations/MTEFluid.java | 7 ++-- .../gregtech/api/util/CircuitryBehavior.java | 36 ++++--------------- .../gregtech/api/util/CoverBehaviorBase.java | 7 ++-- .../common/covers/CoverControlsWork.java | 3 +- .../common/covers/CoverFacadeBase.java | 3 +- .../gregtech/common/covers/CoverInfo.java | 27 ++++++++++++-- .../items/behaviors/BehaviourCoverTool.java | 2 +- .../tileentities/base/TileEntityBase.java | 31 ++++++---------- .../redstone/MTERedstoneCircuitBlock.java | 6 ++-- 15 files changed, 70 insertions(+), 130 deletions(-) diff --git a/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java b/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java index 328da78bf44..973a0fbcccf 100644 --- a/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java +++ b/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java @@ -5,7 +5,7 @@ import net.minecraftforge.common.util.ForgeDirection; import gregtech.api.interfaces.tileentity.ICoverable; -import gregtech.api.util.CoverBehavior; +import gregtech.common.covers.CoverInfo; /** * Implemented by the MetaTileEntity of the Redstone Circuit Block @@ -36,7 +36,7 @@ public interface IRedstoneCircuitBlock { /** * If this Side is Covered up and therefor not doing any Redstone */ - CoverBehavior getCover(ForgeDirection side); + CoverInfo getCover(ForgeDirection side); int getCoverID(ForgeDirection side); diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java index 5c4d8ee7194..8d8a113ee64 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -5,7 +5,6 @@ import net.minecraftforge.common.util.ForgeDirection; import gregtech.api.util.CoverBehavior; -import gregtech.api.util.CoverBehaviorBase; import gregtech.api.util.ISerializableObject; import gregtech.common.covers.CoverInfo; @@ -58,14 +57,6 @@ default ISerializableObject getComplexCoverDataAtSide(ForgeDirection side) { @Deprecated CoverBehavior getCoverBehaviorAtSide(ForgeDirection side); - /** - * @deprecated Use the appropriate method on CoverInfo. Add it there if it doesn't exist. - */ - @Deprecated - default CoverBehaviorBase getCoverBehaviorAtSideNew(ForgeDirection side) { - return getCoverBehaviorAtSide(side); - } - /** * For use by the regular MetaTileEntities. Returns the Cover Manipulated input Redstone. Don't use this if you are * a Cover Behavior. Only for MetaTileEntities. diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index 1b450a49024..7ff1cf0d5d5 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -1107,9 +1107,7 @@ public boolean canInsertItem(int aIndex, ItemStack aStack, int ordinalSide) { @Override public boolean canExtractItem(int aIndex, ItemStack aStack, int ordinalSide) { final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide); - return canAccessData() - && getCoverBehaviorAtSideNew(side) - .letsItemsOut(side, getCoverIDAtSide(side), getComplexCoverDataAtSide(side), aIndex, this) + return canAccessData() && getCoverInfoAtSide(side).letsItemsOut(aIndex) && mMetaTileEntity.canExtractItem(aIndex, aStack, ordinalSide); } diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 80188f51d2a..54d9d02c8d2 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -1479,7 +1479,7 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, final ForgeDirection tSide = (getCoverIDAtSide(side) == 0) ? GTUtility.determineWrenchingSide(side, aX, aY, aZ) : side; - return (getCoverBehaviorAtSideNew(tSide).hasCoverGUI()); + return (getCoverInfoAtSide(tSide).hasCoverGUI()); } else if (getCoverInfoAtSide(side).onCoverRightclickClient(aPlayer, aX, aY, aZ)) { return true; } @@ -1540,15 +1540,7 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, if (GTModHandler.damageOrDechargeItem(tCurrentItem, 1, 200, aPlayer)) { setCoverDataAtSide( side, - getCoverBehaviorAtSideNew(side).onCoverScrewdriverClick( - side, - getCoverIDAtSide(side), - getComplexCoverDataAtSide(side), - this, - aPlayer, - aX, - aY, - aZ)); + getCoverInfoAtSide(side).onCoverScrewdriverClick(aPlayer, aX, aY, aZ)); mMetaTileEntity.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ, tCurrentItem); GTUtility.sendSoundToPlayers( worldObj, @@ -1743,23 +1735,10 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, // End item != null } else if (aPlayer.isSneaking()) { // Sneak click, no tool -> open cover config if possible. side = (getCoverIDAtSide(side) == 0) ? GTUtility.determineWrenchingSide(side, aX, aY, aZ) : side; - return getCoverIDAtSide(side) > 0 && getCoverBehaviorAtSideNew(side).onCoverShiftRightClick( - side, - getCoverIDAtSide(side), - getComplexCoverDataAtSide(side), - this, - aPlayer); + return getCoverIDAtSide(side) > 0 && getCoverInfoAtSide(side).onCoverShiftRightClick(aPlayer); } - if (getCoverBehaviorAtSideNew(side).onCoverRightClick( - side, - getCoverIDAtSide(side), - getComplexCoverDataAtSide(side), - this, - aPlayer, - aX, - aY, - aZ)) return true; + if (getCoverInfoAtSide(side).onCoverRightClick(aPlayer, aX, aY, aZ)) return true; if (!getCoverInfoAtSide(side).isGUIClickable()) return false; @@ -1883,8 +1862,7 @@ && getCoverInfoAtSide(ForgeDirection.getOrientation(ordinalSide)).letsItemsIn(sl public boolean canExtractItem(int slotIndex, ItemStack stack, int ordinalSide) { final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide); return canAccessData() && (mRunningThroughTick || !mOutputDisabled) - && getCoverBehaviorAtSideNew(side) - .letsItemsOut(side, getCoverIDAtSide(side), getComplexCoverDataAtSide(side), slotIndex, this) + && getCoverInfoAtSide(side).letsItemsOut(slotIndex) && mMetaTileEntity.canExtractItem(slotIndex, stack, ordinalSide); } diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index 7ebac9f07d4..9ce7d2314ff 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -348,11 +348,6 @@ public ISerializableObject getComplexCoverDataAtSide(ForgeDirection side) { return getCoverInfoAtSide(side).getCoverData(); } - @Override - public CoverBehaviorBase getCoverBehaviorAtSideNew(ForgeDirection side) { - return getCoverInfoAtSide(side).getCoverBehavior(); - } - public final void setCoverInfoAtSide(ForgeDirection side, CoverInfo coverInfo) { if (side != ForgeDirection.UNKNOWN) { coverInfos[side.ordinal()] = coverInfo; @@ -461,9 +456,7 @@ public boolean getRedstoneOutputStrength(ForgeDirection side) { @Override public void setInternalOutputRedstoneSignal(ForgeDirection side, byte aStrength) { - if (!getCoverBehaviorAtSideNew(side) - .manipulatesSidedRedstoneOutput(side, getCoverIDAtSide(side), getComplexCoverDataAtSide(side), this)) - setOutputRedstoneSignal(side, aStrength); + if (!getCoverInfoAtSide(side).manipulatesSidedRedstoneOutput()) setOutputRedstoneSignal(side, aStrength); } @Override @@ -500,12 +493,7 @@ public void setGenericRedstoneOutput(boolean aOnOff) { @Override public byte getInternalInputRedstoneSignal(ForgeDirection side) { - return (byte) (getCoverBehaviorAtSideNew(side).getRedstoneInput( - side, - getInputRedstoneSignal(side), - getCoverIDAtSide(side), - getComplexCoverDataAtSide(side), - this) & 15); + return (byte) (getCoverInfoAtSide(side).getRedstoneInput(getInputRedstoneSignal(side)) & 15); } @Override @@ -517,10 +505,8 @@ public byte getInputRedstoneSignal(ForgeDirection side) { @Override public byte getOutputRedstoneSignal(ForgeDirection side) { - return getCoverBehaviorAtSideNew(side) - .manipulatesSidedRedstoneOutput(side, getCoverIDAtSide(side), getComplexCoverDataAtSide(side), this) - ? mSidedRedstone[side.ordinal()] - : getGeneralRS(side); + return getCoverInfoAtSide(side).manipulatesSidedRedstoneOutput() ? mSidedRedstone[side.ordinal()] + : getGeneralRS(side); } protected void updateOutputRedstoneSignal(ForgeDirection side) { @@ -713,7 +699,7 @@ public IDrawable[] getBackground() { final List backgrounds = new ArrayList<>(); final GUITextureSet tabIconSet = getGUITextureSet(); - if (getCoverBehaviorAtSideNew(direction).hasCoverGUI()) { + if (getCoverInfoAtSide(direction).hasCoverGUI()) { if (isHovering()) { backgrounds.add( flipHorizontally ? tabIconSet.getCoverTabHighlightFlipped() diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTECable.java b/src/main/java/gregtech/api/metatileentity/implementations/MTECable.java index 9e7443cb690..f6f48bcfc42 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTECable.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTECable.java @@ -46,7 +46,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.MetaPipeEntity; -import gregtech.api.objects.GTCoverNone; import gregtech.api.render.TextureFactory; import gregtech.api.util.CoverBehavior; import gregtech.api.util.CoverBehaviorBase; @@ -334,7 +333,6 @@ public boolean letsOut(CoverInfo coverInfo) { @Override public boolean canConnect(ForgeDirection side, TileEntity tileEntity) { final IGregTechTileEntity baseMetaTile = getBaseMetaTileEntity(); - final CoverBehaviorBase coverBehavior = baseMetaTile.getCoverBehaviorAtSideNew(side); final ForgeDirection oppositeSide = side.getOpposite(); // GT Machine handling @@ -344,7 +342,8 @@ public boolean canConnect(ForgeDirection side, TileEntity tileEntity) { return true; // Solar Panel Compat - if (coverBehavior instanceof CoverSolarPanel) return true; + if (baseMetaTile.getCoverInfoAtSide(side) + .getCoverBehavior() instanceof CoverSolarPanel) return true; // ((tIsGregTechTileEntity && tIsTileEntityCable) && (tAlwaysLookConnected || tLetEnergyIn || tLetEnergyOut) ) // --> Not needed diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java index fced47c1a30..10eddb6e69e 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEFluid.java @@ -607,7 +607,8 @@ public boolean canConnect(ForgeDirection side, TileEntity tileEntity) { final IGregTechTileEntity baseMetaTile = getBaseMetaTileEntity(); if (baseMetaTile == null) return false; - final CoverBehaviorBase coverBehavior = baseMetaTile.getCoverBehaviorAtSideNew(side); + final CoverBehaviorBase coverBehavior = baseMetaTile.getCoverInfoAtSide(side) + .getCoverBehavior(); final IGregTechTileEntity gTileEntity = (tileEntity instanceof IGregTechTileEntity) ? (IGregTechTileEntity) tileEntity : null; @@ -621,8 +622,8 @@ public boolean canConnect(ForgeDirection side, TileEntity tileEntity) { final FluidTankInfo[] tInfo = fTileEntity.getTankInfo(tSide); if (tInfo != null) { return tInfo.length > 0 || (Translocator.isModLoaded() && isTranslocator(tileEntity)) - || gTileEntity != null - && gTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof CoverFluidRegulator; + || gTileEntity != null && gTileEntity.getCoverInfoAtSide(side) + .getCoverBehavior() instanceof CoverFluidRegulator; } } return false; diff --git a/src/main/java/gregtech/api/util/CircuitryBehavior.java b/src/main/java/gregtech/api/util/CircuitryBehavior.java index 3859be590a7..c3295e6abb4 100644 --- a/src/main/java/gregtech/api/util/CircuitryBehavior.java +++ b/src/main/java/gregtech/api/util/CircuitryBehavior.java @@ -37,11 +37,7 @@ public CircuitryBehavior(int aIndex) { public static boolean getAnyRedstone(IRedstoneCircuitBlock aRedstoneCircuitBlock) { for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { if (side != aRedstoneCircuitBlock.getOutputFacing() && aRedstoneCircuitBlock.getCover(side) - .letsRedstoneGoIn( - side, - aRedstoneCircuitBlock.getCoverID(side), - aRedstoneCircuitBlock.getCoverVariable(side), - aRedstoneCircuitBlock.getOwnTileEntity())) { + .letsRedstoneGoIn()) { if (aRedstoneCircuitBlock.getInputRedstone(side) > 0) { return true; } @@ -56,11 +52,7 @@ public static boolean getAnyRedstone(IRedstoneCircuitBlock aRedstoneCircuitBlock public static boolean getAllRedstone(IRedstoneCircuitBlock aRedstoneCircuitBlock) { for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { if (side != aRedstoneCircuitBlock.getOutputFacing() && aRedstoneCircuitBlock.getCover(side) - .letsRedstoneGoIn( - side, - aRedstoneCircuitBlock.getCoverID(side), - aRedstoneCircuitBlock.getCoverVariable(side), - aRedstoneCircuitBlock.getOwnTileEntity())) { + .letsRedstoneGoIn()) { if (aRedstoneCircuitBlock.getInputRedstone(side) == 0) { return false; } @@ -76,11 +68,7 @@ public static boolean getOneRedstone(IRedstoneCircuitBlock aRedstoneCircuitBlock int tRedstoneAmount = 0; for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { if (side != aRedstoneCircuitBlock.getOutputFacing() && aRedstoneCircuitBlock.getCover(side) - .letsRedstoneGoIn( - side, - aRedstoneCircuitBlock.getCoverID(side), - aRedstoneCircuitBlock.getCoverVariable(side), - aRedstoneCircuitBlock.getOwnTileEntity())) { + .letsRedstoneGoIn()) { if (aRedstoneCircuitBlock.getInputRedstone(side) > 0) { tRedstoneAmount++; } @@ -96,11 +84,7 @@ public static byte getStrongestRedstone(IRedstoneCircuitBlock aRedstoneCircuitBl byte tRedstoneAmount = 0; for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { if (side != aRedstoneCircuitBlock.getOutputFacing() && aRedstoneCircuitBlock.getCover(side) - .letsRedstoneGoIn( - side, - aRedstoneCircuitBlock.getCoverID(side), - aRedstoneCircuitBlock.getCoverVariable(side), - aRedstoneCircuitBlock.getOwnTileEntity())) { + .letsRedstoneGoIn()) { tRedstoneAmount = (byte) Math.max(tRedstoneAmount, aRedstoneCircuitBlock.getInputRedstone(side)); } } @@ -117,11 +101,7 @@ public static byte getWeakestNonZeroRedstone(IRedstoneCircuitBlock aRedstoneCirc byte tRedstoneAmount = 15; for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { if (side != aRedstoneCircuitBlock.getOutputFacing() && aRedstoneCircuitBlock.getCover(side) - .letsRedstoneGoIn( - side, - aRedstoneCircuitBlock.getCoverID(side), - aRedstoneCircuitBlock.getCoverVariable(side), - aRedstoneCircuitBlock.getOwnTileEntity())) { + .letsRedstoneGoIn()) { if (aRedstoneCircuitBlock.getInputRedstone(side) > 0) tRedstoneAmount = (byte) Math.min(tRedstoneAmount, aRedstoneCircuitBlock.getInputRedstone(side)); } @@ -137,11 +117,7 @@ public static byte getWeakestRedstone(IRedstoneCircuitBlock aRedstoneCircuitBloc byte tRedstoneAmount = 15; for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { if (side != aRedstoneCircuitBlock.getOutputFacing() && aRedstoneCircuitBlock.getCover(side) - .letsRedstoneGoIn( - side, - aRedstoneCircuitBlock.getCoverID(side), - aRedstoneCircuitBlock.getCoverVariable(side), - aRedstoneCircuitBlock.getOwnTileEntity())) { + .letsRedstoneGoIn()) { tRedstoneAmount = (byte) Math.min(tRedstoneAmount, aRedstoneCircuitBlock.getInputRedstone(side)); } } diff --git a/src/main/java/gregtech/api/util/CoverBehaviorBase.java b/src/main/java/gregtech/api/util/CoverBehaviorBase.java index 3b122606a60..0d646354795 100644 --- a/src/main/java/gregtech/api/util/CoverBehaviorBase.java +++ b/src/main/java/gregtech/api/util/CoverBehaviorBase.java @@ -507,10 +507,9 @@ public boolean setCoverData(T data) { } public boolean isCoverValid() { - return !getUIBuildContext().getTile() - .isDead() - && getUIBuildContext().getTile() - .getCoverBehaviorAtSideNew(getUIBuildContext().getCoverSide()) != GregTechAPI.sNoBehavior; + ICoverable tile = getUIBuildContext().getTile(); + return !(tile.isDead() || tile.getCoverInfoAtSide(getUIBuildContext().getCoverSide()) + .hasNoBehavior()); } protected void addTitleToUI(ModularWindow.Builder builder) { diff --git a/src/main/java/gregtech/common/covers/CoverControlsWork.java b/src/main/java/gregtech/common/covers/CoverControlsWork.java index c4f8b7dfb7c..8038870d343 100644 --- a/src/main/java/gregtech/common/covers/CoverControlsWork.java +++ b/src/main/java/gregtech/common/covers/CoverControlsWork.java @@ -150,7 +150,8 @@ public int getTickRate(ForgeDirection side, int aCoverID, int aCoverVariable, IC public boolean isCoverPlaceable(ForgeDirection side, ItemStack aStack, ICoverable aTileEntity) { if (!super.isCoverPlaceable(side, aStack, aTileEntity)) return false; for (final ForgeDirection tSide : ForgeDirection.VALID_DIRECTIONS) { - if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof CoverControlsWork) { + if (aTileEntity.getCoverInfoAtSide(tSide) + .getCoverBehavior() instanceof CoverControlsWork) { return false; } } diff --git a/src/main/java/gregtech/common/covers/CoverFacadeBase.java b/src/main/java/gregtech/common/covers/CoverFacadeBase.java index b5aa93d5308..453c000b9e4 100644 --- a/src/main/java/gregtech/common/covers/CoverFacadeBase.java +++ b/src/main/java/gregtech/common/covers/CoverFacadeBase.java @@ -200,7 +200,8 @@ protected void onDroppedImpl(ForgeDirection side, int aCoverID, FacadeData aCove for (final ForgeDirection iSide : ForgeDirection.VALID_DIRECTIONS) { if (iSide == side) continue; // since we do not allow multiple type of facade per block, this check would be enough. - if (aTileEntity.getCoverBehaviorAtSideNew(iSide) instanceof CoverFacadeBase) return; + if (aTileEntity.getCoverInfoAtSide(iSide) + .getCoverBehavior() instanceof CoverFacadeBase) return; } if (aCoverVariable.mStack != null) // mStack == null -> cover removed before data reach client diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index 1b92c112573..a0c49b8034e 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -3,8 +3,6 @@ import java.lang.ref.WeakReference; import java.util.List; -import com.gtnewhorizons.modularui.api.screen.ModularUIContext; -import com.gtnewhorizons.modularui.common.internal.wrapper.ModularUIContainer; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -15,7 +13,9 @@ import org.jetbrains.annotations.NotNull; +import com.gtnewhorizons.modularui.api.screen.ModularUIContext; import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.common.internal.wrapper.ModularUIContainer; import gregtech.api.GregTechAPI; import gregtech.api.gui.modularui.CoverUIBuildContext; @@ -156,6 +156,18 @@ public boolean isRedstoneSensitive(long aTickTimer) { return getCoverBehavior().isRedstoneSensitive(coverSide, coverID, coverData, coveredTile.get(), aTickTimer); } + public boolean manipulatesSidedRedstoneOutput() { + return getCoverBehavior().manipulatesSidedRedstoneOutput(coverSide, coverID, coverData, coveredTile.get()); + } + + public byte getRedstoneInput(byte inputRedstone) { + return getCoverBehavior().getRedstoneInput(coverSide, inputRedstone, coverID, coverData, coveredTile.get()); + } + + public boolean letsRedstoneGoIn() { + return getCoverBehavior().letsRedstoneGoIn(coverSide, coverID, coverData, coveredTile.get()); + } + public ISerializableObject doCoverThings(long aTickTimer, byte aRedstone) { return getCoverBehavior() .doCoverThings(coverSide, aRedstone, coverID, coverData, coveredTile.get(), aTickTimer); @@ -322,6 +334,10 @@ public boolean hasNoBehavior() { return getCoverBehavior() instanceof GTCoverNone; } + public boolean allowsCopyPasteTool() { + return getCoverBehavior().allowsCopyPasteTool(); + } + public static final class ClientTickRateFormatter { /** A translation key for the type of time units being used (e.g.: "tick", "seconds".) */ @@ -355,7 +371,12 @@ public String toString() { public ModularUIContainer createCoverContainer(EntityPlayer player) { ICoverable tile = this.coveredTile.get(); if (tile == null) return null; - final CoverUIBuildContext buildContext = new CoverUIBuildContext(player, this.coverID, this.coverSide, tile, false); + final CoverUIBuildContext buildContext = new CoverUIBuildContext( + player, + this.coverID, + this.coverSide, + tile, + false); final ModularWindow window = this.coverBehavior.createWindow(buildContext); if (window == null) return null; return new ModularUIContainer(new ModularUIContext(buildContext, tile::markDirty), window); diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java b/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java index 6719478dca4..a68a0f8aec2 100644 --- a/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java @@ -120,7 +120,7 @@ private void doCopy(TileEntity aTileEntity, World aWorld, int aX, int aY, int aZ ? GTUtility.determineWrenchingSide(side, hitX, hitY, hitZ) : ForgeDirection.UNKNOWN; if (tSide != ForgeDirection.UNKNOWN) { - if (tCoverable.getCoverBehaviorAtSideNew(tSide) + if (tCoverable.getCoverInfoAtSide(tSide) .allowsCopyPasteTool()) { mStoredData = tCoverable.getComplexCoverDataAtSide(tSide); mCoverType = tCoverable.getCoverIDAtSide(tSide); diff --git a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java index 5528c7bbaf2..1ecf31363b0 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java +++ b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java @@ -875,12 +875,7 @@ public final void setToFire() { @Override public byte getInternalInputRedstoneSignal(ForgeDirection side) { - return (byte) (getCoverBehaviorAtSide(side).getRedstoneInput( - side, - getInputRedstoneSignal(side), - getCoverIDAtSide(side), - getCoverDataAtSide(side), - this) & 15); + return (byte) (getCoverInfoAtSide(side).getRedstoneInput(getInputRedstoneSignal(side)) & 15); } @Override @@ -892,10 +887,8 @@ public byte getInputRedstoneSignal(ForgeDirection side) { @Override public byte getOutputRedstoneSignal(ForgeDirection side) { - return getCoverBehaviorAtSide(side) - .manipulatesSidedRedstoneOutput(side, getCoverIDAtSide(side), getCoverDataAtSide(side), this) - ? mSidedRedstone[side.ordinal()] - : getGeneralRS(side); + return getCoverInfoAtSide(side).manipulatesSidedRedstoneOutput() ? mSidedRedstone[side.ordinal()] + : getGeneralRS(side); } public boolean allowGeneralRedstoneOutput() { @@ -909,9 +902,7 @@ public byte getGeneralRS(ForgeDirection side) { @Override public void setInternalOutputRedstoneSignal(ForgeDirection side, byte aStrength) { - if (!getCoverBehaviorAtSide(side) - .manipulatesSidedRedstoneOutput(side, getCoverIDAtSide(side), getCoverDataAtSide(side), this)) - setOutputRedstoneSignal(side, aStrength); + if (!getCoverInfoAtSide(side).manipulatesSidedRedstoneOutput()) setOutputRedstoneSignal(side, aStrength); } @Override @@ -1035,10 +1026,9 @@ public boolean hasSidedRedstoneOutputBehavior() { @Override public boolean dropCover(ForgeDirection side, ForgeDirection droppedSide, boolean aForced) { - if (getCoverBehaviorAtSide(side) - .onCoverRemoval(side, getCoverIDAtSide(side), mCoverData[side.ordinal()], this, aForced) || aForced) { - ItemStack tStack = getCoverBehaviorAtSide(side) - .getDrop(side, getCoverIDAtSide(side), getCoverDataAtSide(side), this); + CoverInfo coverInfo = getCoverInfoAtSide(side); + if (coverInfo.onCoverRemoval(aForced) || aForced) { + ItemStack tStack = coverInfo.getDrop(); if (tStack != null) { tStack.setTagCompound(null); EntityItem tEntity = new EntityItem( @@ -1065,10 +1055,9 @@ public boolean dropCover(ForgeDirection side, ForgeDirection droppedSide, boolea @Override public ItemStack removeCoverAtSide(ForgeDirection side, boolean aForced) { - if (getCoverBehaviorAtSide(side) - .onCoverRemoval(side, getCoverIDAtSide(side), mCoverData[side.ordinal()], this, aForced) || aForced) { - ItemStack tStack = getCoverBehaviorAtSide(side) - .getDrop(side, getCoverIDAtSide(side), getCoverDataAtSide(side), this); + CoverInfo coverInfo = getCoverInfoAtSide(side); + if (coverInfo.onCoverRemoval(aForced) || aForced) { + ItemStack tStack = coverInfo.getDrop(); if (tStack != null) { tStack.setTagCompound(null); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java index 2112a1c998a..bfea88daa73 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java @@ -37,10 +37,10 @@ import gregtech.api.objects.GTItemStack; import gregtech.api.render.TextureFactory; import gregtech.api.util.CircuitryBehavior; -import gregtech.api.util.CoverBehavior; import gregtech.api.util.GTLog; import gregtech.api.util.GTUtility; import gregtech.api.util.ISerializableObject; +import gregtech.common.covers.CoverInfo; import gtPlusPlus.xmod.gregtech.api.gui.GTPPUITextures; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -395,8 +395,8 @@ public int getRandom(int aRange) { } @Override - public CoverBehavior getCover(ForgeDirection side) { - return (CoverBehavior) getBaseMetaTileEntity().getCoverBehaviorAtSideNew(side); + public CoverInfo getCover(ForgeDirection side) { + return getBaseMetaTileEntity().getCoverInfoAtSide(side); } @Override From d5d7a346769214b7b3e1b6fda0ca67c472e2188b Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sat, 1 Feb 2025 12:10:55 -0500 Subject: [PATCH 12/19] Removed unused ICoverable methods --- .../api/interfaces/tileentity/ICoverable.java | 8 ----- .../metatileentity/CoverableTileEntity.java | 25 ---------------- .../tileentities/base/TileEntityBase.java | 29 ------------------- 3 files changed, 62 deletions(-) diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java index 8d8a113ee64..7c9f5a84322 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -10,16 +10,8 @@ public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEnergyContainer { - boolean canPlaceCoverIDAtSide(ForgeDirection side, int aID); - - boolean canPlaceCoverItemAtSide(ForgeDirection side, ItemStack aCover); - boolean dropCover(ForgeDirection side, ForgeDirection droppedSide, boolean aForced); - default ItemStack removeCoverAtSide(ForgeDirection side, boolean aForced) { - return null; - } - @Deprecated void setCoverDataAtSide(ForgeDirection side, int aData); diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index 9ce7d2314ff..1c074ade549 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -323,16 +323,6 @@ public ItemStack getCoverItemAtSide(ForgeDirection side) { return getCoverInfoAtSide(side).getDisplayStack(); } - @Override - public boolean canPlaceCoverIDAtSide(ForgeDirection side, int aID) { - return getCoverIDAtSide(side) == 0; - } - - @Override - public boolean canPlaceCoverItemAtSide(ForgeDirection side, ItemStack aCover) { - return getCoverIDAtSide(side) == 0; - } - @Override @Deprecated public int getCoverDataAtSide(ForgeDirection side) { @@ -399,21 +389,6 @@ public boolean dropCover(ForgeDirection side, ForgeDirection droppedSide, boolea return true; } - @Override - public ItemStack removeCoverAtSide(ForgeDirection side, boolean aForced) { - final CoverInfo coverInfo = getCoverInfoAtSide(side); - if (!coverInfo.isValid()) return null; - if (!coverInfo.onCoverRemoval(aForced) && !aForced) return null; - final ItemStack tStack = coverInfo.getDrop(); - if (tStack != null) { - coverInfo.onDropped(); - } - clearCoverInfoAtSide(side); - updateOutputRedstoneSignal(side); - - return tStack; - } - protected void onBaseTEDestroyed() { for (ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { final CoverInfo coverInfo = getCoverInfoAtSide(side); diff --git a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java index 1ecf31363b0..8f33d4284cf 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java +++ b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java @@ -972,16 +972,6 @@ public ItemStack getCoverItemAtSide(ForgeDirection side) { return GTUtility.intToStack(getCoverIDAtSide(side)); } - @Override - public boolean canPlaceCoverIDAtSide(ForgeDirection side, int aID) { - return getCoverIDAtSide(side) == 0; - } - - @Override - public boolean canPlaceCoverItemAtSide(ForgeDirection side, ItemStack aCover) { - return getCoverIDAtSide(side) == 0; - } - @Override public void setCoverDataAtSide(ForgeDirection side, int aData) { if (side != ForgeDirection.UNKNOWN) mCoverData[side.ordinal()] = aData; @@ -1053,25 +1043,6 @@ public boolean dropCover(ForgeDirection side, ForgeDirection droppedSide, boolea return false; } - @Override - public ItemStack removeCoverAtSide(ForgeDirection side, boolean aForced) { - CoverInfo coverInfo = getCoverInfoAtSide(side); - if (coverInfo.onCoverRemoval(aForced) || aForced) { - ItemStack tStack = coverInfo.getDrop(); - if (tStack != null) { - tStack.setTagCompound(null); - } - setCoverIDAtSide(side, 0); - if (mMetaTileEntity.hasSidedRedstoneOutputBehavior()) { - setOutputRedstoneSignal(side, (byte) 0); - } else { - setOutputRedstoneSignal(side, (byte) 15); - } - return tStack; - } - return null; - } - public String getOwnerName() { if (GTUtility.isStringInvalid(mOwnerName)) return "Player"; return mOwnerName; From dfe83c61e7a852817a7d4ebe8cfe88717e6daa3a Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sat, 1 Feb 2025 12:35:37 -0500 Subject: [PATCH 13/19] Removed ICoverable::getComplexCoverDataAtSide The intent is to limit convoluted chained calls. If you want information about the cover, ask the CoverInfo. Usually you don't need the data, you want to call some other method on it. --- .../java/gregtech/api/gui/modularui/GTUIInfos.java | 8 ++------ .../api/interfaces/IRedstoneCircuitBlock.java | 3 ++- .../api/interfaces/tileentity/ICoverable.java | 4 ---- .../api/metatileentity/CoverableTileEntity.java | 5 ----- .../java/gregtech/api/util/CoverBehaviorBase.java | 3 ++- src/main/java/gregtech/common/covers/CoverInfo.java | 5 +++++ .../common/items/behaviors/BehaviourCoverTool.java | 12 ++++++------ .../redstone/MTERedstoneCircuitBlock.java | 5 +++-- 8 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java index da20d5b17eb..c57fcd715f4 100644 --- a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java +++ b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java @@ -26,7 +26,6 @@ import gregtech.api.enums.GTValues; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; -import gregtech.api.net.GTPacketSendCoverData; import gregtech.common.covers.CoverInfo; public class GTUIInfos { @@ -105,11 +104,8 @@ public static void openCoverUI(ICoverable tileEntity, EntityPlayer player, Forge if (tileEntity.isClientSide()) return; GTValues.NW.sendToPlayer( - new GTPacketSendCoverData( - side, - tileEntity.getCoverIDAtSide(side), - tileEntity.getComplexCoverDataAtSide(side), - tileEntity), + tileEntity.getCoverInfoAtSide(side) + .toPacket(), (EntityPlayerMP) player); coverUI.get(side) diff --git a/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java b/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java index 973a0fbcccf..865073e8ce0 100644 --- a/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java +++ b/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java @@ -5,6 +5,7 @@ import net.minecraftforge.common.util.ForgeDirection; import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.util.ISerializableObject; import gregtech.common.covers.CoverInfo; /** @@ -40,7 +41,7 @@ public interface IRedstoneCircuitBlock { int getCoverID(ForgeDirection side); - int getCoverVariable(ForgeDirection side); + ISerializableObject getCoverData(ForgeDirection side); /** * returns whatever Block-ID is adjacent to the Redstone Circuit Block diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java index 7c9f5a84322..cb8d7f6545a 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -35,10 +35,6 @@ default CoverInfo getCoverInfoAtSide(ForgeDirection side) { return null; } - default ISerializableObject getComplexCoverDataAtSide(ForgeDirection side) { - return new ISerializableObject.LegacyCoverData(getCoverDataAtSide(side)); - } - int getCoverIDAtSide(ForgeDirection side); ItemStack getCoverItemAtSide(ForgeDirection side); diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index 1c074ade549..ebe40dd48c4 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -333,11 +333,6 @@ public int getCoverDataAtSide(ForgeDirection side) { return 0; } - @Override - public ISerializableObject getComplexCoverDataAtSide(ForgeDirection side) { - return getCoverInfoAtSide(side).getCoverData(); - } - public final void setCoverInfoAtSide(ForgeDirection side, CoverInfo coverInfo) { if (side != ForgeDirection.UNKNOWN) { coverInfos[side.ordinal()] = coverInfo; diff --git a/src/main/java/gregtech/api/util/CoverBehaviorBase.java b/src/main/java/gregtech/api/util/CoverBehaviorBase.java index 0d646354795..5bd87163676 100644 --- a/src/main/java/gregtech/api/util/CoverBehaviorBase.java +++ b/src/main/java/gregtech/api/util/CoverBehaviorBase.java @@ -484,7 +484,8 @@ public T getCoverData() { if (isCoverValid()) { return forceCast( getUIBuildContext().getTile() - .getComplexCoverDataAtSide(getUIBuildContext().getCoverSide())); + .getCoverInfoAtSide(getUIBuildContext().getCoverSide()) + .getCoverData()); } else { return null; } diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index a0c49b8034e..673af3110f1 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -21,6 +21,7 @@ import gregtech.api.gui.modularui.CoverUIBuildContext; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.net.GTPacketSendCoverData; import gregtech.api.objects.GTCoverNone; import gregtech.api.util.CoverBehaviorBase; import gregtech.api.util.GTUtility; @@ -381,4 +382,8 @@ public ModularUIContainer createCoverContainer(EntityPlayer player) { if (window == null) return null; return new ModularUIContainer(new ModularUIContext(buildContext, tile::markDirty), window); } + + public GTPacketSendCoverData toPacket() { + return new GTPacketSendCoverData(this.coverSide, this.coverID, this.coverData, this.coveredTile.get()); + } } diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java b/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java index a68a0f8aec2..88ae1696f8a 100644 --- a/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java @@ -22,6 +22,7 @@ import gregtech.api.util.GTLanguageManager; import gregtech.api.util.GTUtility; import gregtech.api.util.ISerializableObject; +import gregtech.common.covers.CoverInfo; public class BehaviourCoverTool extends BehaviourNone { @@ -120,12 +121,11 @@ private void doCopy(TileEntity aTileEntity, World aWorld, int aX, int aY, int aZ ? GTUtility.determineWrenchingSide(side, hitX, hitY, hitZ) : ForgeDirection.UNKNOWN; if (tSide != ForgeDirection.UNKNOWN) { - if (tCoverable.getCoverInfoAtSide(tSide) - .allowsCopyPasteTool()) { - mStoredData = tCoverable.getComplexCoverDataAtSide(tSide); - mCoverType = tCoverable.getCoverIDAtSide(tSide); - mTickRateAddition = tCoverable.getCoverInfoAtSide(tSide) - .getTickRateAddition(); + CoverInfo coverInfo = tCoverable.getCoverInfoAtSide(tSide); + if (coverInfo.allowsCopyPasteTool()) { + mStoredData = coverInfo.getCoverData(); + mCoverType = coverInfo.getCoverID(); + mTickRateAddition = coverInfo.getTickRateAddition(); aList.add("Block Side: " + EnumChatFormatting.AQUA + tSide.name() + EnumChatFormatting.RESET); aList.add( diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java index bfea88daa73..9e886520c3d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/redstone/MTERedstoneCircuitBlock.java @@ -405,8 +405,9 @@ public int getCoverID(ForgeDirection side) { } @Override - public int getCoverVariable(ForgeDirection side) { - return ((ISerializableObject.LegacyCoverData) getBaseMetaTileEntity().getComplexCoverDataAtSide(side)).get(); + public ISerializableObject getCoverData(ForgeDirection side) { + return getBaseMetaTileEntity().getCoverInfoAtSide(side) + .getCoverData(); } @Override From b6fb59fd2dc81fed5890f768468ae42430f9ba77 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sat, 1 Feb 2025 13:07:16 -0500 Subject: [PATCH 14/19] Removed ICoverable::getCoverBehaviorAtSide The intent is to limit convoluted chained calls. If you want information about the cover, ask the CoverInfo. Usually you don't need the data, you want to call some other method on it. --- .../gregtech/api/interfaces/tileentity/ICoverable.java | 6 ------ .../gregtech/api/metatileentity/CoverableTileEntity.java | 8 -------- .../gtPlusPlus/core/tileentities/base/TileEntityBase.java | 5 ----- 3 files changed, 19 deletions(-) diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java index cb8d7f6545a..9b717468368 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -39,12 +39,6 @@ default CoverInfo getCoverInfoAtSide(ForgeDirection side) { ItemStack getCoverItemAtSide(ForgeDirection side); - /** - * @deprecated Use the appropriate method on CoverInfo. Add it there if it doesn't exist. - */ - @Deprecated - CoverBehavior getCoverBehaviorAtSide(ForgeDirection side); - /** * For use by the regular MetaTileEntities. Returns the Cover Manipulated input Redstone. Don't use this if you are * a Cover Behavior. Only for MetaTileEntities. diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index ebe40dd48c4..7d2ebb26742 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -299,14 +299,6 @@ public void setCoverDataAtSide(ForgeDirection side, ISerializableObject aData) { .cast(aData) != null) coverInfo.setCoverData(aData); } - @Override - @Deprecated - public CoverBehavior getCoverBehaviorAtSide(ForgeDirection side) { - final CoverBehaviorBase behavior = getCoverInfoAtSide(side).getCoverBehavior(); - if (behavior instanceof CoverBehavior) return (CoverBehavior) behavior; - return GregTechAPI.sNoBehavior; - } - @Override public void setCoverItemAtSide(ForgeDirection side, ItemStack aCover) { GregTechAPI.getCoverBehaviorNew(aCover) diff --git a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java index 8f33d4284cf..275fec324f9 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java +++ b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java @@ -924,11 +924,6 @@ public void setGenericRedstoneOutput(boolean aOnOff) { mRedstone = aOnOff; } - @Override - public CoverBehavior getCoverBehaviorAtSide(ForgeDirection side) { - return side != ForgeDirection.UNKNOWN ? mCoverBehaviors[side.ordinal()] : GregTechAPI.sNoBehavior; - } - @Override public void setCoverIDAtSide(ForgeDirection side, int aID) { if (setCoverIDAtSideNoUpdate(side, aID)) { From daf5bbbe61baf304caa5f493052190b469128b70 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sat, 1 Feb 2025 13:09:25 -0500 Subject: [PATCH 15/19] Removed ICoverable::getCoverDataAtSide --- .../api/interfaces/tileentity/ICoverable.java | 4 ---- .../api/metatileentity/CoverableTileEntity.java | 11 ----------- .../core/tileentities/base/TileEntityBase.java | 10 ---------- 3 files changed, 25 deletions(-) diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java index 9b717468368..c596ba2c3ac 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -4,7 +4,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; -import gregtech.api.util.CoverBehavior; import gregtech.api.util.ISerializableObject; import gregtech.common.covers.CoverInfo; @@ -28,9 +27,6 @@ default void setCoverDataAtSide(ForgeDirection side, ISerializableObject aData) void setCoverItemAtSide(ForgeDirection side, ItemStack aCover); - @Deprecated - int getCoverDataAtSide(ForgeDirection side); - default CoverInfo getCoverInfoAtSide(ForgeDirection side) { return null; } diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index 7d2ebb26742..9ae4f1fba08 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -51,7 +51,6 @@ import gregtech.api.net.GTPacketRequestCoverData; import gregtech.api.net.GTPacketSendCoverData; import gregtech.api.objects.GTItemStack; -import gregtech.api.util.CoverBehavior; import gregtech.api.util.CoverBehaviorBase; import gregtech.api.util.ISerializableObject; import gregtech.common.GTClient; @@ -315,16 +314,6 @@ public ItemStack getCoverItemAtSide(ForgeDirection side) { return getCoverInfoAtSide(side).getDisplayStack(); } - @Override - @Deprecated - public int getCoverDataAtSide(ForgeDirection side) { - final ISerializableObject coverData = getCoverInfoAtSide(side).getCoverData(); - if (coverData instanceof ISerializableObject.LegacyCoverData) { - return ((ISerializableObject.LegacyCoverData) coverData).get(); - } - return 0; - } - public final void setCoverInfoAtSide(ForgeDirection side, CoverInfo coverInfo) { if (side != ForgeDirection.UNKNOWN) { coverInfos[side.ordinal()] = coverInfo; diff --git a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java index 275fec324f9..76a4a158570 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java +++ b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java @@ -972,16 +972,6 @@ public void setCoverDataAtSide(ForgeDirection side, int aData) { if (side != ForgeDirection.UNKNOWN) mCoverData[side.ordinal()] = aData; } - @Override - public int getCoverDataAtSide(ForgeDirection side) { - if (side != ForgeDirection.UNKNOWN) return mCoverData[side.ordinal()]; - return 0; - } - - public byte getLightValue() { - return mLightValue; - } - @Override public void setLightValue(byte aLightValue) { mLightValue = (byte) (aLightValue & 15); From df4071dcbfd16394500b1d78b088bb85f71058c7 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Fri, 31 Jan 2025 18:46:07 -0500 Subject: [PATCH 16/19] Minor MTECropHarvestor cleanup --- .../machines/basic/MTECropHarvestor.java | 53 +++++-------------- 1 file changed, 14 insertions(+), 39 deletions(-) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/MTECropHarvestor.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/MTECropHarvestor.java index dbe7929d538..ce418a4525d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/MTECropHarvestor.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/MTECropHarvestor.java @@ -99,11 +99,6 @@ public boolean isEnetInput() { return true; } - @Override - public boolean isElectric() { - return true; - } - @Override public long maxAmperesIn() { return 8; @@ -194,13 +189,6 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (this.getBaseMetaTileEntity() .getUniversalEnergyStored() < getMinimumStoredEU()) return; - int aTileX = this.getBaseMetaTileEntity() - .getXCoord(); - int aTileY = this.getBaseMetaTileEntity() - .getXCoord(); - int aTileZ = this.getBaseMetaTileEntity() - .getXCoord(); - int aRadius = 10 + getRange(this.mTier); int aSide = (aRadius - 1) / 2; Map aAllDrops = new ItemStackMap<>(true); @@ -209,17 +197,7 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (!this.mCropCache.isEmpty()) { this.mCropCache.clear(); } - // Logger.INFO("Looking for crops."); - for (int y = -2; y <= 2; y++) { - for (int x = (-aSide); x <= aSide; x++) { - for (int z = (-aSide); z <= aSide; z++) { - TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntityOffset(x, y, z); - if (tTileEntity instanceof ICropTile tCrop) { - this.mCropCache.add(tCrop); - } - } - } - } + lookForCrops(aSide); } // Process Cache @@ -289,6 +267,19 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { } } + private void lookForCrops(int aSide) { + for (int y = -2; y <= 2; y++) { + for (int x = (-aSide); x <= aSide; x++) { + for (int z = (-aSide); z <= aSide; z++) { + TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntityOffset(x, y, z); + if (tTileEntity instanceof ICropTile tCrop) { + this.mCropCache.add(tCrop); + } + } + } + } + } + public boolean hasFertilizer() { for (int i = SLOT_FERT_1; i <= SLOT_FERT_4; i++) { if (this.mInventory[i] != null) { @@ -523,18 +514,6 @@ public boolean allowCoverOnSide(ForgeDirection side, GTItemStack aStack) { return true; } - /* - * @Override public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) { if (aSide == - * aFacing) return 118+(aRedstone?8:0); if (GT_Utility.getOppositeSide(aSide) == aFacing) return - * 113+(aRedstone?8:0); int tIndex = 128+(aRedstone?8:0); switch (aFacing) { case 0: return tIndex+64; case 1: - * return tIndex+32; case 2: switch (aSide) { case 0: return tIndex+32; case 1: return tIndex+32; case 4: return - * tIndex+16; case 5: return tIndex+48; } case 3: switch (aSide) { case 0: return tIndex+64; case 1: return - * tIndex+64; case 4: return tIndex+48; case 5: return tIndex+16; } case 4: switch (aSide) { case 0: return - * tIndex+16; case 1: return tIndex+16; case 2: return tIndex+48; case 3: return tIndex+16; } case 5: switch (aSide) - * { case 0: return tIndex+48; case 1: return tIndex+48; case 2: return tIndex+16; case 3: return tIndex+48; } } - * return tIndex; } - */ - @Override public ITexture[][][] getTextureSet(final ITexture[] aTextures) { final ITexture[][][] rTextures = new ITexture[10][17][]; @@ -561,10 +540,6 @@ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, fina } else { return this.mTextures[4][aColorIndex + 1]; } - /* - * return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 : aSide == GT_Utility.getOppositeSide(aFacing) - * ? 1 : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - */ } public ITexture[] getFront(final byte aColor) { From c7d4d9ab2af7f70bc64141162c7149502774e76e Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sun, 2 Feb 2025 09:53:58 -0500 Subject: [PATCH 17/19] createCoverGuiContainer doesn't really serve a meaningful purpose anymore --- .../gregtech/api/gui/modularui/GTUIInfos.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java index c57fcd715f4..5532feac2b9 100644 --- a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java +++ b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java @@ -76,9 +76,9 @@ public static void init() {} if (!world.isRemote) return null; final TileEntity te = world.getTileEntity(x, y, z); if (!(te instanceof ICoverable gtTileEntity)) return null; - return createCoverGuiContainer( - gtTileEntity.getCoverInfoAtSide(side) - .createCoverContainer(player)); + ModularUIContainer container = gtTileEntity.getCoverInfoAtSide(side) + .createCoverContainer(player); + return (container == null) ? null : new ModularGui(container); }) .build()); } @@ -143,15 +143,7 @@ private static ModularGui createTileEntityGuiContainer(EntityPlayer player, windowCreator, null, containerConstructor); - return createCoverGuiContainer(container); - } - - @SideOnly(Side.CLIENT) - private static ModularGui createCoverGuiContainer(ModularUIContainer container) { - if (container == null) { - return null; - } - return new ModularGui(container); + return (container == null) ? null : new ModularGui(container); } @FunctionalInterface From b9059729ce7c6d113d117f81700cc942fcf73e8e Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sun, 2 Feb 2025 09:55:41 -0500 Subject: [PATCH 18/19] Don't use a WeakReference to populate a network packet. Still cleaner than the original code. --- src/main/java/gregtech/api/gui/modularui/GTUIInfos.java | 5 +++-- src/main/java/gregtech/common/covers/CoverInfo.java | 4 ---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java index 5532feac2b9..03b97e19ca4 100644 --- a/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java +++ b/src/main/java/gregtech/api/gui/modularui/GTUIInfos.java @@ -26,6 +26,7 @@ import gregtech.api.enums.GTValues; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; +import gregtech.api.net.GTPacketSendCoverData; import gregtech.common.covers.CoverInfo; public class GTUIInfos { @@ -103,9 +104,9 @@ public static void openGTTileEntityUI(IHasWorldObjectAndCoords aTileEntity, Enti public static void openCoverUI(ICoverable tileEntity, EntityPlayer player, ForgeDirection side) { if (tileEntity.isClientSide()) return; + CoverInfo coverInfo = tileEntity.getCoverInfoAtSide(side); GTValues.NW.sendToPlayer( - tileEntity.getCoverInfoAtSide(side) - .toPacket(), + new GTPacketSendCoverData(side, coverInfo.getCoverID(), coverInfo.getCoverData(), tileEntity), (EntityPlayerMP) player); coverUI.get(side) diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index 673af3110f1..d5418c9267d 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -21,7 +21,6 @@ import gregtech.api.gui.modularui.CoverUIBuildContext; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; -import gregtech.api.net.GTPacketSendCoverData; import gregtech.api.objects.GTCoverNone; import gregtech.api.util.CoverBehaviorBase; import gregtech.api.util.GTUtility; @@ -383,7 +382,4 @@ public ModularUIContainer createCoverContainer(EntityPlayer player) { return new ModularUIContainer(new ModularUIContext(buildContext, tile::markDirty), window); } - public GTPacketSendCoverData toPacket() { - return new GTPacketSendCoverData(this.coverSide, this.coverID, this.coverData, this.coveredTile.get()); - } } From b49f3435ce9aa6b6b2e19e87f87267d76939de36 Mon Sep 17 00:00:00 2001 From: YannickMG Date: Sun, 2 Feb 2025 10:06:46 -0500 Subject: [PATCH 19/19] Actually, just remove un-overridden onCoverRightclickClient --- .../gregtech/api/metatileentity/BaseMetaPipeEntity.java | 2 -- .../gregtech/api/metatileentity/BaseMetaTileEntity.java | 2 -- src/main/java/gregtech/common/covers/CoverInfo.java | 9 --------- 3 files changed, 13 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index 7ff1cf0d5d5..cc0b8820d92 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -830,8 +830,6 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, ? GTUtility.determineWrenchingSide(side, aX, aY, aZ) : side; return (getCoverInfoAtSide(tSide).hasCoverGUI()); - } else if (getCoverInfoAtSide(side).onCoverRightclickClient(aPlayer, aX, aY, aZ)) { - return true; } } if (isServerSide()) { diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 54d9d02c8d2..3001ff1d3e3 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -1480,8 +1480,6 @@ public boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, ? GTUtility.determineWrenchingSide(side, aX, aY, aZ) : side; return (getCoverInfoAtSide(tSide).hasCoverGUI()); - } else if (getCoverInfoAtSide(side).onCoverRightclickClient(aPlayer, aX, aY, aZ)) { - return true; } if (!getCoverInfoAtSide(side).isGUIClickable()) return false; diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java index d5418c9267d..40121cb2647 100644 --- a/src/main/java/gregtech/common/covers/CoverInfo.java +++ b/src/main/java/gregtech/common/covers/CoverInfo.java @@ -252,15 +252,6 @@ public boolean onCoverRightClick(EntityPlayer aPlayer, float aX, float aY, float .onCoverRightClick(coverSide, coverID, coverData, coveredTile.get(), aPlayer, aX, aY, aZ); } - /** - * Called when someone rightclicks this Cover Client Side - *

- * return true, if something actually happens. - */ - public boolean onCoverRightclickClient(EntityPlayer aPlayer, float aX, float aY, float aZ) { - return false; - } - public boolean onCoverShiftRightClick(EntityPlayer aPlayer) { return getCoverBehavior().onCoverShiftRightClick(coverSide, coverID, coverData, coveredTile.get(), aPlayer); }