From b1ac2dc90ec6847e5a328fb12a3ece3b670df33c Mon Sep 17 00:00:00 2001 From: Léa Gris Date: Thu, 1 Sep 2022 13:17:27 +0200 Subject: 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 --- .../api/metatileentity/CoverableTileEntity.java | 15 +- .../java/gregtech/api/util/GT_CoverBehavior.java | 7 +- .../gregtech/api/util/GT_CoverBehaviorBase.java | 20 ++ .../java/gregtech/common/covers/GT_Cover_Arm.java | 10 + .../common/covers/GT_Cover_ControlsWork.java | 14 ++ .../gregtech/common/covers/GT_Cover_Conveyor.java | 17 +- .../gregtech/common/covers/GT_Cover_Crafting.java | 14 ++ .../gregtech/common/covers/GT_Cover_DoesWork.java | 14 ++ .../gregtech/common/covers/GT_Cover_Drain.java | 14 ++ .../gregtech/common/covers/GT_Cover_EUMeter.java | 12 +- .../common/covers/GT_Cover_EnergyOnly.java | 126 ------------- .../common/covers/GT_Cover_FacadeBase.java | 6 + .../common/covers/GT_Cover_FluidLimiter.java | 11 +- .../common/covers/GT_Cover_FluidRegulator.java | 11 +- .../covers/GT_Cover_FluidStorageMonitor.java | 53 ++++-- .../common/covers/GT_Cover_Fluidfilter.java | 13 +- .../common/covers/GT_Cover_ItemFilter.java | 11 +- .../gregtech/common/covers/GT_Cover_ItemMeter.java | 11 +- .../java/gregtech/common/covers/GT_Cover_Lens.java | 10 + .../common/covers/GT_Cover_LiquidMeter.java | 9 +- .../common/covers/GT_Cover_NeedMaintainance.java | 14 ++ .../common/covers/GT_Cover_PlayerDetector.java | 13 ++ .../java/gregtech/common/covers/GT_Cover_Pump.java | 10 + .../common/covers/GT_Cover_RedstoneConductor.java | 6 + .../covers/GT_Cover_RedstoneReceiverExternal.java | 14 ++ .../covers/GT_Cover_RedstoneReceiverInternal.java | 14 ++ .../common/covers/GT_Cover_RedstoneSignalizer.java | 6 + .../GT_Cover_RedstoneTransmitterExternal.java | 16 +- .../GT_Cover_RedstoneTransmitterInternal.java | 14 ++ .../covers/GT_Cover_RedstoneWirelessBase.java | 13 ++ .../gregtech/common/covers/GT_Cover_Screen.java | 14 ++ .../gregtech/common/covers/GT_Cover_Shutter.java | 13 ++ .../common/covers/GT_Cover_SteamValve.java | 11 +- .../common/items/GT_MetaGenerated_Item_01.java | 205 ++++++++++----------- .../loaders/oreprocessing/ProcessingLens.java | 9 +- 35 files changed, 499 insertions(+), 271 deletions(-) delete mode 100644 src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java (limited to 'src/main/java') 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 { public EntityPlayer lastPlayer = null; private final Class typeToken; + private final ITexture coverFGTexture; protected GT_CoverBehaviorBase(Class typeToken) { + this(typeToken, null); + } + + protected GT_CoverBehaviorBase(Class typeToken, ITexture coverTexture) { this.typeToken = typeToken; + this.coverFGTexture = coverTexture; } public abstract T createDataObject(int aLegacyData); @@ -87,6 +93,15 @@ public abstract class GT_CoverBehaviorBase { return getDisplayStackImpl(aCoverID, forceCast(aCoverVariable)); } + /** + * 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 { 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 { + + /** + * @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 @@ -136,6 +136,12 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase { + /** + * @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 (-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 { private static final IIconContainer[] icons = new IIconContainer[] { OVERLAY_FLUID_STORAGE_MONITOR0, @@ -106,32 +111,40 @@ public class GT_Cover_FluidStorageMonitor extends GT_CoverBehaviorBase 0) fluidTextureBuilder.glow(); + return TextureFactory.of(fluidTextureBuilder.build(), TextureFactory.of(icons[aCoverVariable.scale])); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java b/src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java index 1da703cbb7..ace1645a0f 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java @@ -8,6 +8,7 @@ import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiFakeItemButton; 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.net.GT_Packet_TileEntityCoverNew; import gregtech.api.util.GT_CoverBehaviorBase; @@ -39,8 +40,16 @@ public class GT_Cover_Fluidfilter extends GT_CoverBehaviorBase { - public GT_Cover_LiquidMeter() { - super(LiquidMeterData.class); + public GT_Cover_LiquidMeter(ITexture coverTexture) { + super(LiquidMeterData.class, coverTexture); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java b/src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java index baf3c6232f..369778ef12 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java @@ -4,6 +4,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_GuiIconCheckButton; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -18,6 +19,19 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; public class GT_Cover_NeedMaintainance extends GT_CoverBehavior { + + /** + * @deprecated use {@link #GT_Cover_NeedMaintainance(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_NeedMaintainance() { + this(null); + } + + public GT_Cover_NeedMaintainance(ITexture coverTexture) { + super(coverTexture); + } + private boolean isRotor(ItemStack aRotor) { return !(aRotor == null || !(aRotor.getItem() instanceof GT_MetaGenerated_Tool) diff --git a/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java index a0f2d830c0..338a214ada 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java @@ -4,6 +4,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_GuiIconCheckButton; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.net.GT_Packet_TileEntityCover; @@ -19,6 +20,18 @@ public class GT_Cover_PlayerDetector extends GT_CoverBehavior { private String placer = ""; private int range = 8; + /** + * @deprecated use {@link #GT_Cover_PlayerDetector(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_PlayerDetector() { + this(null); + } + + public GT_Cover_PlayerDetector(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_Pump.java b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java index 269788cb6d..db60cfa409 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Pump.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java @@ -4,6 +4,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; @@ -19,7 +20,16 @@ import net.minecraftforge.fluids.IFluidHandler; public class GT_Cover_Pump extends GT_CoverBehavior { public final int mTransferRate; + /** + * @deprecated use {@link #GT_Cover_Pump(int aTransferRate, ITexture coverTexture)} instead + */ + @Deprecated public GT_Cover_Pump(int aTransferRate) { + this(aTransferRate, null); + } + + public GT_Cover_Pump(int aTransferRate, ITexture coverTexture) { + super(coverTexture); this.mTransferRate = aTransferRate; } diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java index 06e0ec4001..4be44136e6 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java @@ -1,12 +1,18 @@ package gregtech.common.covers; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.util.GT_CoverBehavior; import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.fluids.Fluid; +@SuppressWarnings("unused") // Legacy from GT4. TODO: Consider re-enable registration public class GT_Cover_RedstoneConductor extends GT_CoverBehavior { + GT_Cover_RedstoneConductor(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_RedstoneReceiverExternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java index 374f5a0a81..17d6b2e1c9 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java @@ -1,9 +1,23 @@ package gregtech.common.covers; import gregtech.api.GregTech_API; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; public class GT_Cover_RedstoneReceiverExternal extends GT_Cover_RedstoneWirelessBase { + + /** + * @deprecated use {@link #GT_Cover_RedstoneReceiverExternal(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_RedstoneReceiverExternal() { + this(null); + } + + public GT_Cover_RedstoneReceiverExternal(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_RedstoneReceiverInternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java index 61dcb5a602..32bbd17d7f 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java @@ -1,10 +1,24 @@ package gregtech.common.covers; import gregtech.api.GregTech_API; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IMachineProgress; public class GT_Cover_RedstoneReceiverInternal extends GT_Cover_RedstoneWirelessBase { + + /** + * @deprecated use {@link #GT_Cover_RedstoneReceiverInternal(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_RedstoneReceiverInternal() { + this(null); + } + + public GT_Cover_RedstoneReceiverInternal(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_RedstoneSignalizer.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java index d4ec0a82d6..31a542a924 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java @@ -1,5 +1,6 @@ package gregtech.common.covers; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IMachineProgress; import gregtech.api.util.GT_CoverBehavior; @@ -7,7 +8,12 @@ import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.fluids.Fluid; +@SuppressWarnings("unused") // TODO: Consider re-registering this public class GT_Cover_RedstoneSignalizer extends GT_CoverBehavior { + GT_Cover_RedstoneSignalizer(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_RedstoneTransmitterExternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java index 0c89d7e6e4..1c6623baa7 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java @@ -1,13 +1,27 @@ package gregtech.common.covers; import gregtech.api.GregTech_API; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; public class GT_Cover_RedstoneTransmitterExternal extends GT_Cover_RedstoneWirelessBase { + + /** + * @deprecated use {@link #GT_Cover_RedstoneTransmitterExternal(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_RedstoneTransmitterExternal() { + this(null); + } + + public GT_Cover_RedstoneTransmitterExternal(ITexture coverTexture) { + super(coverTexture); + } + @Override public int doCoverThings( byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { - GregTech_API.sWirelessRedstone.put(Integer.valueOf(aCoverVariable), Byte.valueOf(aInputRedstone)); + GregTech_API.sWirelessRedstone.put(aCoverVariable, aInputRedstone); return aCoverVariable; } diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java index 0003e063b3..a1f020c40c 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java @@ -1,9 +1,23 @@ package gregtech.common.covers; import gregtech.api.GregTech_API; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; public class GT_Cover_RedstoneTransmitterInternal extends GT_Cover_RedstoneWirelessBase { + + /** + * @deprecated use {@link #GT_Cover_RedstoneTransmitterInternal(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_RedstoneTransmitterInternal() { + this(null); + } + + public GT_Cover_RedstoneTransmitterInternal(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_RedstoneWirelessBase.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java index 02f4786dee..a942d39b57 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java @@ -7,6 +7,7 @@ import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconCheckButton; import gregtech.api.gui.widgets.GT_GuiIntegerTextBox; import gregtech.api.interfaces.IGuiScreen; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.net.GT_Packet_WirelessRedstoneCover; import gregtech.api.util.GT_CoverBehavior; @@ -23,6 +24,18 @@ public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior { private static final int PUBLIC_MASK = 0x0000FFFF; private static final int CHECKBOX_MASK = 0x00010000; + /** + * @deprecated use {@link #GT_Cover_RedstoneWirelessBase(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_RedstoneWirelessBase() { + this(null); + } + + public GT_Cover_RedstoneWirelessBase(ITexture coverTexture) { + super(coverTexture); + } + @Override public boolean onCoverRemoval( byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Screen.java b/src/main/java/gregtech/common/covers/GT_Cover_Screen.java index 393f5ee4b4..84fc84d820 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Screen.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Screen.java @@ -1,11 +1,25 @@ 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; import net.minecraftforge.fluids.Fluid; public class GT_Cover_Screen extends GT_CoverBehavior { + + /** + * @deprecated use {@link #GT_Cover_Screen(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_Screen() { + this(null); + } + + public GT_Cover_Screen(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_Shutter.java b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java index 9a2ceac09b..2b15359d64 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java @@ -4,6 +4,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_GuiIconCheckButton; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IMachineProgress; import gregtech.api.metatileentity.BaseMetaPipeEntity; @@ -16,6 +17,18 @@ import net.minecraftforge.fluids.Fluid; public class GT_Cover_Shutter extends GT_CoverBehavior { + /** + * @deprecated use {@link #GT_Cover_Shutter(ITexture coverTexture)} instead + */ + @Deprecated + public GT_Cover_Shutter() { + this(null); + } + + public GT_Cover_Shutter(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_SteamValve.java b/src/main/java/gregtech/common/covers/GT_Cover_SteamValve.java index 068576e8ca..30c48fdf56 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_SteamValve.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_SteamValve.java @@ -1,13 +1,22 @@ package gregtech.common.covers; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.util.GT_ModHandler; import net.minecraftforge.fluids.FluidStack; public class GT_Cover_SteamValve extends GT_Cover_Pump { + /** + * @deprecated use {@link #GT_Cover_SteamValve(int aTransferRate, ITexture coverTexture)} instead + */ + @Deprecated public GT_Cover_SteamValve(int aTransferRate) { - super(aTransferRate); + this(aTransferRate, null); + } + + public GT_Cover_SteamValve(int aTransferRate, ITexture coverTexture) { + super(aTransferRate, coverTexture); } @Override diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index df979e2b3e..aa54520d02 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -13,6 +13,7 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; import gregtech.api.enums.TC_Aspects; import gregtech.api.interfaces.IItemBehaviour; +import gregtech.api.interfaces.ITexture; import gregtech.api.items.GT_MetaBase_Item; import gregtech.api.items.GT_MetaGenerated_Item_X32; import gregtech.api.objects.ItemData; @@ -2661,43 +2662,43 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.Electric_Pump_LV.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(32)); + new GT_Cover_Pump(32, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_MV.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(128)); + new GT_Cover_Pump(128, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_HV.get(1L), TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(512)); + new GT_Cover_Pump(512, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_EV.get(1L), TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(2048)); + new GT_Cover_Pump(2048, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_IV.get(1L), TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(8192)); + new GT_Cover_Pump(8192, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_LuV.get(1L), TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(32768)); + new GT_Cover_Pump(32768, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_ZPM.get(1L), TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(131072)); + new GT_Cover_Pump(131072, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_UV.get(1L), TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(524288)); + new GT_Cover_Pump(524288, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_UHV.get(1L), TextureFactory.of(MACHINE_CASINGS[9][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(1048576)); + new GT_Cover_Pump(1048576, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.Electric_Pump_UEV.get(1L), TextureFactory.of(MACHINE_CASINGS[10][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(2097152)); + new GT_Cover_Pump(2097152, TextureFactory.of(OVERLAY_PUMP))); GT_ModHandler.addCraftingRecipe( ItemList.Electric_Pump_LV.get(1L), @@ -2854,23 +2855,23 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.Steam_Valve_LV.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(1024)); + new GT_Cover_SteamValve(102, TextureFactory.of(OVERLAY_VALVE))); GregTech_API.registerCover( ItemList.Steam_Valve_MV.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(2048)); + new GT_Cover_SteamValve(2048, TextureFactory.of(OVERLAY_VALVE))); GregTech_API.registerCover( ItemList.Steam_Valve_HV.get(1L), TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(4096)); + new GT_Cover_SteamValve(4096, TextureFactory.of(OVERLAY_VALVE))); GregTech_API.registerCover( ItemList.Steam_Valve_EV.get(1L), TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(8192)); + new GT_Cover_SteamValve(8192, TextureFactory.of(OVERLAY_VALVE))); GregTech_API.registerCover( ItemList.Steam_Valve_IV.get(1L), TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(16384)); + new GT_Cover_SteamValve(16384, TextureFactory.of(OVERLAY_VALVE))); ItemList.FluidRegulator_LV.set( addItem(tLastID = 660, "Fluid Regulator (LV)", FRText1 + GT_Utility.formatNumbers(640) + FRText2)); @@ -2892,42 +2893,42 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.FluidRegulator_LV.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(32)); + new GT_Cover_FluidRegulator(32, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.FluidRegulator_MV.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(128)); + new GT_Cover_FluidRegulator(128, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.FluidRegulator_HV.get(1L), TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(512)); + new GT_Cover_FluidRegulator(512, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.FluidRegulator_EV.get(1L), TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(2048)); + new GT_Cover_FluidRegulator(2048, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.FluidRegulator_IV.get(1L), TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(8192)); + new GT_Cover_FluidRegulator(8192, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.FluidRegulator_LuV.get(1L), TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(32768)); + new GT_Cover_FluidRegulator(32768, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.FluidRegulator_ZPM.get(1L), TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(131072)); + new GT_Cover_FluidRegulator(131072, TextureFactory.of(OVERLAY_PUMP))); GregTech_API.registerCover( ItemList.FluidRegulator_UV.get(1L), TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(524288)); + new GT_Cover_FluidRegulator(524288, TextureFactory.of(OVERLAY_PUMP))); ItemList.FluidFilter.set( addItem(669, "Fluid Filter Cover", "Set with Fluid Container to only accept one Fluid Type")); GregTech_API.registerCover( ItemList.FluidFilter.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), - new GT_Cover_Fluidfilter()); + new GT_Cover_Fluidfilter(TextureFactory.of(OVERLAY_SHUTTER))); ItemList.ItemFilter_Export.set(addItem( 270, "Item Filter Cover (Export)", @@ -2935,7 +2936,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.ItemFilter_Export.get(1L), TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_ItemFilter(true)); + new GT_Cover_ItemFilter(true, TextureFactory.of(OVERLAY_CONVEYOR))); ItemList.ItemFilter_Import.set(addItem( 271, "Item Filter Cover (Import)", @@ -2943,13 +2944,13 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.ItemFilter_Import.get(1L), TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_ItemFilter(false)); + new GT_Cover_ItemFilter(false, TextureFactory.of(OVERLAY_CONVEYOR))); ItemList.Cover_FluidLimiter.set( addItem(272, "Fluid Limiter Cover", "Limits fluid input depending on fill level")); GregTech_API.registerCover( ItemList.Cover_FluidLimiter.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), - new GT_Cover_FluidLimiter()); + new GT_Cover_FluidLimiter(TextureFactory.of(OVERLAY_SHUTTER))); ItemList.Conveyor_Module_LV.set(addItem( 630, @@ -3134,43 +3135,43 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.Conveyor_Module_LV.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(400, 1)); + new GT_Cover_Conveyor(400, 1, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_MV.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(100, 1)); + new GT_Cover_Conveyor(100, 1, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_HV.get(1L), TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(20, 1)); + new GT_Cover_Conveyor(20, 1, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_EV.get(1L), TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(4, 1)); + new GT_Cover_Conveyor(4, 1, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_IV.get(1L), TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 1)); + new GT_Cover_Conveyor(1, 1, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_LuV.get(1L), TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 2)); + new GT_Cover_Conveyor(1, 2, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_ZPM.get(1L), TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 4)); + new GT_Cover_Conveyor(1, 4, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_UV.get(1L), TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 8)); + new GT_Cover_Conveyor(1, 8, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_UHV.get(1L), TextureFactory.of(MACHINE_CASINGS[9][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 16)); + new GT_Cover_Conveyor(1, 16, TextureFactory.of(OVERLAY_CONVEYOR))); GregTech_API.registerCover( ItemList.Conveyor_Module_UEV.get(1L), TextureFactory.of(MACHINE_CASINGS[10][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 32)); + new GT_Cover_Conveyor(1, 32, TextureFactory.of(OVERLAY_CONVEYOR))); ItemList.Robot_Arm_LV.set(addItem( 650, @@ -3389,23 +3390,23 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.Robot_Arm_LV.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(400)); + new GT_Cover_Arm(400, TextureFactory.of(OVERLAY_ARM))); GregTech_API.registerCover( ItemList.Robot_Arm_MV.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(100)); + new GT_Cover_Arm(100, TextureFactory.of(OVERLAY_ARM))); GregTech_API.registerCover( ItemList.Robot_Arm_HV.get(1L), TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(20)); + new GT_Cover_Arm(20, TextureFactory.of(OVERLAY_ARM))); GregTech_API.registerCover( ItemList.Robot_Arm_EV.get(1L), TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(4)); + new GT_Cover_Arm(4, TextureFactory.of(OVERLAY_ARM))); GregTech_API.registerCover( ItemList.Robot_Arm_IV.get(1L), TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(1)); + new GT_Cover_Arm(1, TextureFactory.of(OVERLAY_ARM))); ItemList.QuantumEye.set(addItem(tLastID = 724, "Quantum Eye", "Improved Ender Eye")); ItemList.QuantumStar.set(addItem(tLastID = 725, "Quantum Star", "Improved Nether Star")); @@ -4240,41 +4241,41 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover( ItemList.Cover_Controller.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_CONTROLLER)), - new GT_Cover_ControlsWork()); + new GT_Cover_ControlsWork(TextureFactory.of(OVERLAY_CONTROLLER))); + + final ITexture doesWorkCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), + TextureFactory.builder() + .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) + .glow() + .build()); GregTech_API.registerCover( ItemList.Cover_ActivityDetector.get(1L), - TextureFactory.of( - MACHINE_CASINGS[2][0], - TextureFactory.of( - TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), - TextureFactory.builder() - .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) - .glow() - .build())), - new GT_Cover_DoesWork()); + TextureFactory.of(MACHINE_CASINGS[2][0], doesWorkCoverTexture), + new GT_Cover_DoesWork(doesWorkCoverTexture)); GregTech_API.registerCover( ItemList.Cover_FluidDetector.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_FLUIDDETECTOR)), - new GT_Cover_LiquidMeter()); + new GT_Cover_LiquidMeter(TextureFactory.of(OVERLAY_FLUIDDETECTOR))); GregTech_API.registerCover( ItemList.Cover_ItemDetector.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ITEMDETECTOR)), - new GT_Cover_ItemMeter()); + new GT_Cover_ItemMeter(TextureFactory.of(OVERLAY_ITEMDETECTOR))); GregTech_API.registerCover( ItemList.Cover_EnergyDetector.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ENERGYDETECTOR)), - new GT_Cover_EUMeter()); + new GT_Cover_EUMeter(TextureFactory.of(OVERLAY_ENERGYDETECTOR))); + + final ITexture playerDectectorCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), + TextureFactory.builder() + .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) + .glow() + .build()); GregTech_API.registerCover( ItemList.Cover_PlayerDetector.get(1L), - TextureFactory.of( - MACHINE_CASINGS[2][0], - TextureFactory.of( - TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), - TextureFactory.builder() - .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) - .glow() - .build())), - new GT_Cover_PlayerDetector()); + TextureFactory.of(MACHINE_CASINGS[2][0], playerDectectorCoverTexture), + new GT_Cover_PlayerDetector(playerDectectorCoverTexture)); GregTech_API.registerCover( ItemList.Cover_FluidStorageMonitor.get(1L), TextureFactory.of(OVERLAY_FLUID_STORAGE_MONITOR0), @@ -4440,29 +4441,25 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { 1200, 128); + final ITexture screenCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_SCREEN), + TextureFactory.builder().addIcon(OVERLAY_SCREEN_GLOW).glow().build()); GregTech_API.registerCover( ItemList.Cover_Screen.get(1L), - TextureFactory.of( - MACHINE_CASINGS[2][0], - TextureFactory.of( - TextureFactory.of(OVERLAY_SCREEN), - TextureFactory.builder() - .addIcon(OVERLAY_SCREEN_GLOW) - .glow() - .build())), - new GT_Cover_Screen()); + TextureFactory.of(MACHINE_CASINGS[2][0], screenCoverTexture), + new GT_Cover_Screen(screenCoverTexture)); GregTech_API.registerCover( ItemList.Cover_Crafting.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_CRAFTING)), - new GT_Cover_Crafting()); + new GT_Cover_Crafting(TextureFactory.of(OVERLAY_CRAFTING))); GregTech_API.registerCover( ItemList.Cover_Drain.get(1L), TextureFactory.of(MACHINE_CASINGS[0][0], TextureFactory.of(OVERLAY_DRAIN)), - new GT_Cover_Drain()); + new GT_Cover_Drain(TextureFactory.of(OVERLAY_DRAIN))); GregTech_API.registerCover( ItemList.Cover_Shutter.get(1L), TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), - new GT_Cover_Shutter()); + new GT_Cover_Shutter(TextureFactory.of(OVERLAY_SHUTTER))); ItemList.Cover_SolarPanel.set(addItem( tLastID = 750, @@ -4662,36 +4659,35 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); + final ITexture redstoneTransmitterExternalCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), + TextureFactory.builder() + .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) + .glow() + .build()); GregTech_API.registerCover( ItemList.Cover_RedstoneTransmitterExternal.get(1L), - TextureFactory.of( - MACHINE_CASINGS[2][0], - TextureFactory.of( - TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), - TextureFactory.builder() - .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) - .glow() - .build())), - new GT_Cover_RedstoneTransmitterExternal()); + TextureFactory.of(MACHINE_CASINGS[2][0], redstoneTransmitterExternalCoverTexture), + new GT_Cover_RedstoneTransmitterExternal(redstoneTransmitterExternalCoverTexture)); + + final ITexture redstoneTransmitterInternalCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), + TextureFactory.builder() + .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) + .glow() + .build()); GregTech_API.registerCover( ItemList.Cover_RedstoneTransmitterInternal.get(1L), - TextureFactory.of( - MACHINE_CASINGS[2][0], - TextureFactory.of( - TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), - TextureFactory.builder() - .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) - .glow() - .build())), - new GT_Cover_RedstoneTransmitterInternal()); + TextureFactory.of(MACHINE_CASINGS[2][0], redstoneTransmitterInternalCoverTexture), + new GT_Cover_RedstoneTransmitterInternal(redstoneTransmitterInternalCoverTexture)); GregTech_API.registerCover( ItemList.Cover_RedstoneReceiverExternal.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_FLUIDDETECTOR)), - new GT_Cover_RedstoneReceiverExternal()); + new GT_Cover_RedstoneReceiverExternal(TextureFactory.of(OVERLAY_FLUIDDETECTOR))); GregTech_API.registerCover( ItemList.Cover_RedstoneReceiverInternal.get(1L), TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_FLUIDDETECTOR)), - new GT_Cover_RedstoneReceiverInternal()); + new GT_Cover_RedstoneReceiverInternal(TextureFactory.of(OVERLAY_FLUIDDETECTOR))); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { @@ -4732,17 +4728,16 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { "Attach to Multiblock Controller. Emits Redstone Signal if needs Maintenance", new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); + final ITexture needMaintenanceCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), + TextureFactory.builder() + .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) + .glow() + .build()); GregTech_API.registerCover( ItemList.Cover_NeedsMaintainance.get(1L), - TextureFactory.of( - MACHINE_CASINGS[2][0], - TextureFactory.of( - TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), - TextureFactory.builder() - .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) - .glow() - .build())), - new GT_Cover_NeedMaintainance()); + TextureFactory.of(MACHINE_CASINGS[2][0], needMaintenanceCoverTexture), + new GT_Cover_NeedMaintainance(needMaintenanceCoverTexture)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ItemList.Emitter_MV.get(1L), diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java index 2c8c2587e5..943d711d59 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java @@ -5,6 +5,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.Textures; +import gregtech.api.interfaces.ITexture; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_OreDictUnificator; import net.minecraft.item.ItemStack; @@ -46,12 +47,12 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), 2400, 30); + final ITexture lensCoverTexture = + TextureFactory.of(Textures.BlockIcons.OVERLAY_LENS, aMaterial.mRGBa, false); GregTech_API.registerCover( aStack, - TextureFactory.of( - Textures.BlockIcons.MACHINE_CASINGS[2][0], - TextureFactory.of(Textures.BlockIcons.OVERLAY_LENS, aMaterial.mRGBa, false)), - new gregtech.common.covers.GT_Cover_Lens(aMaterial.mColor.mIndex)); + TextureFactory.of(Textures.BlockIcons.MACHINE_CASINGS[2][0], lensCoverTexture), + new gregtech.common.covers.GT_Cover_Lens(aMaterial.mColor.mIndex, lensCoverTexture)); } } } -- cgit