aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-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 getSpecialCoverTextureImpl(aSide, aCoverID, aCoverVariable, aTileEntity);
+ }
+
+ @Override
protected ITexture getSpecialCoverTextureImpl(
byte aSide, int aCoverID, FluidStorageData aCoverVariable, ICoverable aTileEntity) {
if (aCoverVariable.slot == -1 || aCoverVariable.fluid == null || aCoverVariable.scale == 0) {
return TextureFactory.of(OVERLAY_FLUID_STORAGE_MONITOR0);
}
- return TextureFactory.of(
- TextureFactory.of(
- new IIconContainer() {
- @Override
- public IIcon getIcon() {
- return aCoverVariable.fluid.getStillIcon();
- }
-
- @Override
- public IIcon getOverlayIcon() {
- return null;
- }
-
- @Override
- public ResourceLocation getTextureFile() {
- return TextureMap.locationBlocksTexture;
- }
- },
- colorToRGBA(aCoverVariable.fluid.getColor())),
- TextureFactory.of(icons[aCoverVariable.scale]));
+ final IIconContainer fluidIcon = new IIconContainer() {
+ @Override
+ public IIcon getIcon() {
+ return aCoverVariable.fluid.getStillIcon();
+ }
+
+ @Override
+ public IIcon getOverlayIcon() {
+ return null;
+ }
+
+ @Override
+ public ResourceLocation getTextureFile() {
+ return TextureMap.locationBlocksTexture;
+ }
+ };
+
+ final short[] fluidRGBA = colorToRGBA(aCoverVariable.fluid.getColor());
+ final ITextureBuilder fluidTextureBuilder =
+ TextureFactory.builder().addIcon(fluidIcon).setRGBA(fluidRGBA);
+ if (aCoverVariable.fluid.getLuminosity() > 0) fluidTextureBuilder.glow();
+ return TextureFactory.of(fluidTextureBuilder