aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorLéa Gris <lea.gris@noiraude.net>2022-09-01 13:17:27 +0200
committerGitHub <noreply@github.com>2022-09-01 13:17:27 +0200
commitb1ac2dc90ec6847e5a328fb12a3ece3b670df33c (patch)
treeff74c772afc2239939f37d307fa026deef6edb5b /src/main/java
parent8a6973f2bddfb0a1485422725745c1078b1ea49e (diff)
downloadGT5-Unofficial-b1ac2dc90ec6847e5a328fb12a3ece3b670df33c.tar.gz
GT5-Unofficial-b1ac2dc90ec6847e5a328fb12a3ece3b670df33c.tar.bz2
GT5-Unofficial-b1ac2dc90ec6847e5a328fb12a3ece3b670df33c.zip
impl(covers): functional covers uses machine casing (#1317)
* impl(covers): functional covers uses machine casing - Functional covers now will let see the casing, when placed on machines. - When placed on pipes or frames, they continue to use their own tiered casing as they used to. * impr(cover): restore backward compat interface to cover registgration Registering covers with the old interface works again. Legacy cover registration just produce covers that renders the old way without transparency over machine casing. Removed the useless GT_Cover_Cased class and added the feature to the GT_CoverBehavior class, maintaining the old constructor alongside the new constructor with an overlay texture. * impr(covers): deprecate old constructors Delete totally redundant and unused EnergyOnly cover Keeps other unused covers as TODO reimplementation tasks * impr(covers): fludStorageMonitor overlay - Re-add FluidStorageMonitor fluid-texture overlay - Allow light-emitting fluids to render as glow texture. * impr(covers): Expand foreground texture support to GT_Cover_FacadeBase * spotlessapply
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java15
-rw-r--r--src/main/java/gregtech/api/util/GT_CoverBehavior.java7
-rw-r--r--src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java20
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Arm.java10
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java17
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Crafting.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Drain.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java12
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java126
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java6
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java11
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java11
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java53
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java13
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ItemFilter.java11
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java11
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Lens.java10
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java9
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java13
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Pump.java10
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java6
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java6
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java16
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java13
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Screen.java14
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Shutter.java13
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_SteamValve.java11
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java205
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java9
35 files changed, 499 insertions, 271 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
index 6c61ae8599..caf3c1b15f 100644
--- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
@@ -164,8 +164,19 @@ public abstract class CoverableTileEntity extends BaseTileEntity implements ICov
if (GT_Mod.instance.isClientSide() && (GT_Client.hideValue & 0x1) != 0) {
return Textures.BlockIcons.HIDDEN_TEXTURE[0]; // See through
}
- final ITexture coverTexture = getCoverBehaviorAtSideNew(aSide)
- .getSpecialCoverTexture(aSide, getCoverIDAtSide(aSide), getComplexCoverDataAtSide(aSide), this);
+ GT_CoverBehaviorBase<?> coverBehavior = getCoverBehaviorAtSideNew(aSide);
+ final ITexture coverTexture;
+ if (coverBehavior != null) {
+ if (!(this instanceof BaseMetaPipeEntity)) {
+ coverTexture = coverBehavior.getSpecialCoverFGTexture(
+ aSide, getCoverIDAtSide(aSide), getComplexCoverDataAtSide(aSide), this);
+ } else {
+ coverTexture = coverBehavior.getSpecialCoverTexture(
+ aSide, getCoverIDAtSide(aSide), getComplexCoverDataAtSide(aSide), this);
+ }
+ } else {
+ coverTexture = null;
+ }
return coverTexture != null
? coverTexture
: GregTech_API.sCovers.get(new GT_ItemStack(getCoverIDAtSide(aSide)));
diff --git a/src/main/java/gregtech/api/util/GT_CoverBehavior.java b/src/main/java/gregtech/api/util/GT_CoverBehavior.java
index de1514c956..595e421147 100644
--- a/src/main/java/gregtech/api/util/GT_CoverBehavior.java
+++ b/src/main/java/gregtech/api/util/GT_CoverBehavior.java
@@ -3,6 +3,7 @@ package gregtech.api.util;
import static gregtech.api.enums.GT_Values.E;
import gregtech.api.enums.GT_Values;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.net.GT_Packet_TileEntityCoverGUI;
import net.minecraft.entity.player.EntityPlayer;
@@ -19,7 +20,11 @@ public abstract class GT_CoverBehavior extends GT_CoverBehaviorBase<ISerializabl
public EntityPlayer lastPlayer = null;
public GT_CoverBehavior() {
- super(ISerializableObject.LegacyCoverData.class);
+ this(null);
+ }
+
+ public GT_CoverBehavior(ITexture coverTexture) {
+ super(ISerializableObject.LegacyCoverData.class, coverTexture);
}
private static int convert(ISerializableObject.LegacyCoverData data) {
diff --git a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java
index 470a250ee7..efbff79957 100644
--- a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java
+++ b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java
@@ -25,9 +25,15 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> {
public EntityPlayer lastPlayer = null;
private final Class<T> typeToken;
+ private final ITexture coverFGTexture;
protected GT_CoverBehaviorBase(Class<T> typeToken) {
+ this(typeToken, null);
+ }
+
+ protected GT_CoverBehaviorBase(Class<T> typeToken, ITexture coverTexture) {
this.typeToken = typeToken;
+ this.coverFGTexture = coverTexture;
}
public abstract T createDataObject(int aLegacyData);
@@ -88,6 +94,15 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> {
}
/**
+ * Get the special foreground cover texture associated with this cover. Return null if one should use the texture passed to
+ * {@link gregtech.api.GregTech_API#registerCover(ItemStack, ITexture, GT_CoverBehaviorBase)} or its overloads.
+ */
+ public final ITexture getSpecialCoverFGTexture(
+ byte aSide, int aCoverID, ISerializableObject aCoverVariable, ICoverable aTileEntity) {
+ return getSpecialCoverFGTextureImpl(aSide, aCoverID, forceCast(aCoverVariable), aTileEntity);
+ }
+
+ /**
* Get the special cover texture associated with this cover. Return null if one should use the texture passed to
* {@link gregtech.api.GregTech_API#registerCover(ItemStack, ITexture, GT_CoverBehaviorBase)} or its overloads.
*/
@@ -380,6 +395,11 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> {
return GT_Utility.intToStack(aCoverID);
}
+ protected ITexture getSpecialCoverFGTextureImpl(
+ byte aSide, int aCoverID, T aCoverVariable, ICoverable aTileEntity) {
+ return coverFGTexture;
+ }
+
protected ITexture getSpecialCoverTextureImpl(byte aSide, int aCoverID, T aCoverVariable, ICoverable aTileEntity) {
return null;
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
index fd4f2a684c..7d824565cb 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
@@ -6,6 +6,7 @@ import gregtech.api.gui.widgets.GT_GuiFakeItemButton;
import gregtech.api.gui.widgets.GT_GuiIcon;
import gregtech.api.gui.widgets.GT_GuiIconButton;
import gregtech.api.gui.widgets.GT_GuiIntegerTextBox;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.net.GT_Packet_TileEntityCover;
@@ -27,7 +28,16 @@ public class GT_Cover_Arm extends GT_CoverBehavior {
protected static final int SLOT_ID_MIN = 0;
protected static final int CONVERTED_BIT = 0x80000000;
+ /**
+ * @deprecated use {@link #GT_Cover_Arm(int aTickRate, ITexture coverTexture)} instead
+ */
+ @Deprecated
public GT_Cover_Arm(int aTickRate) {
+ this(aTickRate, null);
+ }
+
+ public GT_Cover_Arm(int aTickRate, ITexture coverTexture) {
+ super(coverTexture);
this.mTickRate = aTickRate;
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
index 6fd6eb1337..dda79321c9 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
@@ -5,6 +5,7 @@ import gregtech.api.gui.GT_GUICover;
import gregtech.api.gui.widgets.GT_GuiIcon;
import gregtech.api.gui.widgets.GT_GuiIconButton;
import gregtech.api.gui.widgets.GT_GuiIconCheckButton;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.net.GT_Packet_TileEntityCover;
@@ -16,6 +17,19 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
public class GT_Cover_ControlsWork extends GT_CoverBehavior {
+
+ /**
+ * @deprecated use {@link #GT_Cover_ControlsWork(ITexture coverTexture)} instead
+ */
+ @Deprecated
+ public GT_Cover_ControlsWork() {
+ this(null);
+ }
+
+ public GT_Cover_ControlsWork(ITexture coverTexture) {
+ super(coverTexture);
+ }
+
@Override
public int doCoverThings(
byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) {
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
index 592475b610..ebd87e85ab 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
@@ -6,6 +6,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.gui.GT_GUICover;
import gregtech.api.gui.widgets.GT_GuiIcon;
import gregtech.api.gui.widgets.GT_GuiIconButton;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.net.GT_Packet_TileEntityCover;
@@ -20,12 +21,24 @@ public class GT_Cover_Conveyor extends GT_CoverBehavior {
public final int mTickRate;
private final int mMaxStacks;
+ /**
+ * @deprecated use {@link #GT_Cover_Conveyor(int aTickRate, int maxStacks, ITexture coverTexture)} instead
+ */
+ @Deprecated
public GT_Cover_Conveyor(int aTickRate) {
- this.mTickRate = aTickRate;
- this.mMaxStacks = 1;
+ this(aTickRate, 1, null);
}
+ /**
+ * @deprecated use {@link #GT_Cover_Conveyor(int aTickRate, int maxStacks, ITexture coverTexture)} instead
+ */
+ @Deprecated
public GT_Cover_Conveyor(int aTickRate, int maxStacks) {
+ this(aTickRate, maxStacks, null);
+ }
+
+ public GT_Cover_Conveyor(int aTickRate, int maxStacks, ITexture coverTexture) {
+ super(coverTexture);
this.mTickRate = aTickRate;
this.mMaxStacks = maxStacks;
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Crafting.java b/src/main/java/gregtech/common/covers/GT_Cover_Crafting.java
index 61f7aefed9..95d5236f60 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Crafting.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Crafting.java
@@ -1,5 +1,6 @@
package gregtech.common.covers;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.util.GT_CoverBehavior;
import net.minecraft.entity.player.EntityPlayer;
@@ -8,6 +9,19 @@ import net.minecraft.inventory.ContainerWorkbench;
import net.minecraft.network.play.server.S2DPacketOpenWindow;
public class GT_Cover_Crafting extends GT_CoverBehavior {
+
+ /**
+ * @deprecated use {@link #GT_Cover_Crafting(ITexture coverTexture)} instead
+ */
+ @Deprecated
+ public GT_Cover_Crafting() {
+ this(null);
+ }
+
+ public GT_Cover_Crafting(ITexture coverTexture) {
+ super(coverTexture);
+ }
+
@Override
public boolean isRedstoneSensitive(
byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) {
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java b/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java
index 54ca59b373..c37e4b5cbb 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java
@@ -5,6 +5,7 @@ import gregtech.api.gui.GT_GUICover;
import gregtech.api.gui.widgets.GT_GuiIcon;
import gregtech.api.gui.widgets.GT_GuiIconButton;
import gregtech.api.gui.widgets.GT_GuiIconCheckButton;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.net.GT_Packet_TileEntityCover;
@@ -15,6 +16,19 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.fluids.Fluid;
public class GT_Cover_DoesWork extends GT_CoverBehavior {
+
+ /**
+ * @deprecated use {@link #GT_Cover_DoesWork(ITexture coverTexture)} instead
+ */
+ @Deprecated
+ public GT_Cover_DoesWork() {
+ this(null);
+ }
+
+ public GT_Cover_DoesWork(ITexture coverTexture) {
+ super(coverTexture);
+ }
+
@Override
public boolean isRedstoneSensitive(
byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) {
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Drain.java b/src/main/java/gregtech/common/covers/GT_Cover_Drain.java
index c2a831cd6e..cb93df0bd2 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Drain.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Drain.java
@@ -1,6 +1,7 @@
package gregtech.common.covers;
import gregtech.api.enums.Materials;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.util.GT_CoverBehavior;
@@ -15,6 +16,19 @@ import net.minecraftforge.fluids.IFluidBlock;
import net.minecraftforge.fluids.IFluidHandler;
public class GT_Cover_Drain extends GT_CoverBehavior {
+
+ /**
+ * @deprecated use {@link #GT_Cover_Drain(ITexture coverTexture)} instead
+ */
+ @Deprecated
+ public GT_Cover_Drain() {
+ this(null);
+ }
+
+ public GT_Cover_Drain(ITexture coverTexture) {
+ super(coverTexture);
+ }
+
@Override
public boolean isRedstoneSensitive(
byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) {
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
index 81b8fa8283..c9e7ef363a 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
@@ -7,6 +7,7 @@ import gregtech.api.gui.widgets.GT_GuiIcon;
import gregtech.api.gui.widgets.GT_GuiIconButton;
import gregtech.api.gui.widgets.GT_GuiIconCheckButton;
import gregtech.api.gui.widgets.GT_GuiIntegerTextBox;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -28,8 +29,17 @@ import net.minecraft.world.World;
import net.minecraftforge.fluids.Fluid;
public class GT_Cover_EUMeter extends GT_CoverBehaviorBase<GT_Cover_EUMeter.EUMeterData> {
+
+ /**
+ * @deprecated use {@link #GT_Cover_EUMeter(ITexture coverTexture)} instead
+ */
+ @Deprecated
public GT_Cover_EUMeter() {
- super(EUMeterData.class);
+ this(null);
+ }
+
+ public GT_Cover_EUMeter(ITexture coverTexture) {
+ super(EUMeterData.class, coverTexture);
}
@Override
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java b/src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java
deleted file mode 100644
index 53951ea771..0000000000
--- a/src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package gregtech.common.covers;
-
-import gregtech.api.interfaces.tileentity.ICoverable;
-import gregtech.api.interfaces.tileentity.IMachineProgress;
-import gregtech.api.util.GT_CoverBehavior;
-import gregtech.api.util.GT_Utility;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraftforge.fluids.Fluid;
-
-public class GT_Cover_EnergyOnly extends GT_CoverBehavior {
- @Override
- public boolean isRedstoneSensitive(
- byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) {
- return false;
- }
-
- @Override
- public int onCoverScrewdriverclick(
- byte aSide,
- int aCoverID,
- int aCoverVariable,
- ICoverable aTileEntity,
- EntityPlayer aPlayer,
- float aX,
- float aY,
- float aZ) {
- aCoverVariable = (aCoverVariable + 1) % 3;
- switch (aCoverVariable) {
- case 0:
- GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("028", "Allow"));
- break;
- case 1:
- GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("029", "Allow (conditional)"));
- break;
- case 2:
- GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("030", "Disallow (conditional)"));
- break;
- }
- return aCoverVariable;
- }
-
- @Override
- public float getBlastProofLevel(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- return 20.0F;
- }
-
- @Override
- public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- if ((aCoverVariable > 1) && ((aTileEntity instanceof IMachineProgress))) {
- if (((IMachineProgress) aTileEntity).isAllowedToWork()) {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- if ((aCoverVariable > 1) && ((aTileEntity instanceof IMachineProgress))) {
- if (((IMachineProgress) aTileEntity).isAllowedToWork()) {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean isGUIClickable(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean manipulatesSidedRedstoneOutput(
- byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- return false;
- }
-
- @Override
- public boolean onCoverRightclick(
- byte aSide,
- int aCoverID,
- int aCoverVariable,
- ICoverable aTileEntity,
- EntityPlayer aPlayer,
- float aX,
- float aY,
- float aZ) {
- return false;
- }
-
- @Override
- public boolean onCoverRemoval(
- byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) {
- return true;
- }
-}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java b/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java
index addc154cfb..1332fa66c6 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java
@@ -137,6 +137,12 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase<GT_Cover_
}
@Override
+ protected ITexture getSpecialCoverFGTextureImpl(
+ byte aSide, int aCoverID, FacadeData aCoverVariable, ICoverable aTileEntity) {
+ return getSpecialCoverTextureImpl(aSide, aCoverID, aCoverVariable, aTileEntity);
+ }
+
+ @Override
protected ITexture getSpecialCoverTextureImpl(
byte aSide, int aCoverID, FacadeData aCoverVariable, ICoverable aTileEntity) {
if (GT_Utility.isStackInvalid(aCoverVariable.mStack)) return Textures.BlockIcons.ERROR_RENDERING[0];
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java
index a6c07e71f8..0dffd08c5e 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java
@@ -4,6 +4,7 @@ import com.google.common.io.ByteArrayDataInput;
import gregtech.api.enums.GT_Values;
import gregtech.api.gui.GT_GUICover;
import gregtech.api.gui.widgets.GT_GuiIntegerTextBox;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.net.GT_Packet_TileEntityCoverNew;
import gregtech.api.util.GT_CoverBehaviorBase;
@@ -27,8 +28,16 @@ import net.minecraftforge.fluids.IFluidHandler;
*/
public class GT_Cover_FluidLimiter extends GT_CoverBehaviorBase<GT_Cover_FluidLimiter.FluidLimiterData> {
+ /**
+ * @deprecated use {@link #GT_Cover_FluidLimiter(ITexture coverTexture)} instead
+ */
+ @Deprecated
public GT_Cover_FluidLimiter() {
- super(FluidLimiterData.class);
+ this(null);
+ }
+
+ public GT_Cover_FluidLimiter(ITexture coverTexture) {
+ super(FluidLimiterData.class, coverTexture);
}
@Override
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
index 0bc34b147d..fa20d8206e 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
@@ -6,6 +6,7 @@ import gregtech.api.gui.GT_GUICover;
import gregtech.api.gui.widgets.GT_GuiIcon;
import gregtech.api.gui.widgets.GT_GuiIconButton;
import gregtech.api.gui.widgets.GT_GuiIntegerTextBox;
+import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.net.GT_Packet_TileEntityCoverNew;
@@ -50,8 +51,16 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
public final int mTransferRate;
private boolean allowFluid = false;
+ /**
+ * @deprecated use {@link #GT_Cover_FluidRegulator(int aTransferRate, ITexture coverTexture)} instead
+ */
+ @Deprecated
public GT_Cover_FluidRegulator(int aTransferRate) {
- super(FluidRegulatorData.class);
+ this(aTransferRate, null);
+ }
+
+ public GT_Cover_FluidRegulator(int aTransferRate, ITexture coverTexture) {
+ super(FluidRegulatorData.class, coverTexture);
if (aTransferRate > (-1 >>> (Integer.SIZE - SPEED_LENGTH)))
throw new IllegalArgumentException("aTransferRate too big: " + aTransferRate);
this.mTransferRate = aTransferRate;
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java
index a90d2f2213..8f03f7fff9 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java
@@ -19,6 +19,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FLUID_STORAGE_MONIT
import com.google.common.io.ByteArrayDataInput;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.ITextureBuilder;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_CoverBehaviorBase;
@@ -44,6 +45,10 @@ import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidContainerItem;
import net.minecraftforge.fluids.IFluidHandler;
+/**
+ * TODO: Implement overlay rendering only with
+ * {@link GT_CoverBehaviorBase#getSpecialCoverFGTextureImpl(byte, int, ISerializableObject, ICoverable)}
+ */
public class GT_Cover_FluidStorageMonitor extends GT_CoverBehaviorBase<GT_Cover_FluidStorageMonitor.FluidStorageData> {
private static final IIconContainer[] icons = new IIconContainer[] {
OVERLAY_FLUID_STORAGE_MONITOR0,
@@ -107,31 +112,39 @@ public class GT_Cover_FluidStorageMonitor extends GT_CoverBehaviorBase<GT_Cover_
}
@Override
+ protected ITexture getSpecialCoverFGTextureImpl(
+ byte aSide, int aCoverID, FluidStorageData aCoverVariable, ICoverable aTileEntity) {
+ return getSpecialCoverText