aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorPrometheus0000 <prometheus0000000@gmail.com>2021-03-22 15:13:12 -0400
committerGitHub <noreply@github.com>2021-03-22 15:13:12 -0400
commitd7467b6d1a47190bf36eaa01758f9136a417cc1a (patch)
treeddd98acd6c075bbdabdf12c9222fd0141447a1ea /src/main/java/gregtech/api
parent64ecbdcfc179ffbe7a00500081abee4959c690af (diff)
parentb676922c34d52402751bbdf18692c0852bb894be (diff)
downloadGT5-Unofficial-d7467b6d1a47190bf36eaa01758f9136a417cc1a.tar.gz
GT5-Unofficial-d7467b6d1a47190bf36eaa01758f9136a417cc1a.tar.bz2
GT5-Unofficial-d7467b6d1a47190bf36eaa01758f9136a417cc1a.zip
Merge pull request #27 from GTNewHorizons/experimental
update
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java14
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java24
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java22
5 files changed, 63 insertions, 7 deletions
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java
index 909f4077f0..8392616f34 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java
@@ -1,6 +1,7 @@
package gregtech.api.interfaces.tileentity;
import gregtech.api.interfaces.ITexture;
+import net.minecraft.block.Block;
public interface IPipeRenderedTileEntity extends ICoverable, ITexturedTileEntity {
float getThickNess();
@@ -8,4 +9,8 @@ public interface IPipeRenderedTileEntity extends ICoverable, ITexturedTileEntity
byte getConnections();
ITexture[] getTextureUncovered(byte aSide);
+
+ default ITexture[] getTextureCovered(byte aSide) {
+ return getTextureUncovered(aSide);
+ };
} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java
index 6025e7eb13..26fee68f2b 100644
--- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java
@@ -784,6 +784,20 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
}
@Override
+ public ITexture[] getTextureCovered(byte aSide) {
+ ITexture coverTexture = getCoverTexture(aSide);
+ ITexture[] textureUncovered = getTextureUncovered(aSide);
+ ITexture[] textureCovered;
+ if (coverTexture != null) {
+ textureCovered = Arrays.copyOf(textureUncovered, textureUncovered.length + 1);
+ textureCovered[textureUncovered.length] = coverTexture;
+ return textureCovered;
+ } else {
+ return textureUncovered;
+ }
+ }
+
+ @Override
public ITexture[] getTextureUncovered(byte aSide) {
if ((mConnections & 64) != 0) return Textures.BlockIcons.FRESHFOAM;
if ((mConnections & -128) != 0) return Textures.BlockIcons.HARDENEDFOAMS[mColor];
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
index 5e9715493b..0781c57086 100644
--- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
@@ -8,7 +8,6 @@ import appeng.me.helpers.AENetworkProxy;
import appeng.me.helpers.IGridProxyable;
import appeng.tile.TileEvent;
import appeng.tile.events.TileEventType;
-import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Optional;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
@@ -22,7 +21,11 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachin
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.net.GT_Packet_TileEntity;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_CoverBehavior;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
import ic2.api.Direction;
import net.minecraft.block.Block;
@@ -1169,11 +1172,18 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
@Override
public ITexture[] getTexture(Block aBlock, byte aSide) {
- ITexture rIcon = getCoverTexture(aSide);
- if (rIcon != null) return new ITexture[]{rIcon};
- if (hasValidMetaTileEntity())
- return mMetaTileEntity.getTexture(this, aSide, mFacing, (byte) (mColor - 1), mActive, getOutputRedstoneSignal(aSide) > 0);
- return Textures.BlockIcons.ERROR_RENDERING;
+ ITexture coverTexture = getCoverTexture(aSide);
+ ITexture[] textureUncovered = hasValidMetaTileEntity() ?
+ mMetaTileEntity.getTexture(this, aSide, mFacing, (byte) (mColor - 1), mActive, getOutputRedstoneSignal(aSide) > 0) :
+ Textures.BlockIcons.ERROR_RENDERING;
+ ITexture[] textureCovered;
+ if (coverTexture != null) {
+ textureCovered = Arrays.copyOf(textureUncovered, textureUncovered.length + 1);
+ textureCovered[textureUncovered.length] = coverTexture;
+ return textureCovered;
+ } else {
+ return textureUncovered;
+ }
}
private boolean isEnergyInputSide(byte aSide) {
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
index fa653df16f..4775158319 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
@@ -382,6 +382,11 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
}
@Override
+ public boolean isDrainableStackSeparate() {
+ return true;
+ }
+
+ @Override
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) return true;
if(!GT_Mod.gregtechproxy.mForceFreeFace) {
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java
index f4a70b2ee5..9222029854 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java
@@ -9,7 +9,9 @@ import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTankInfo;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
@@ -100,6 +102,9 @@ public abstract class GT_MetaTileEntity_BasicTank extends GT_MetaTileEntity_Tier
return mFluid;
}
+ /**
+ * If you override this and change the field returned, be sure to override {@link #isDrainableStackSeparate()} as well!
+ */
public FluidStack getDrainableStack() {
return mFluid;
}
@@ -109,6 +114,10 @@ public abstract class GT_MetaTileEntity_BasicTank extends GT_MetaTileEntity_Tier
return mFluid;
}
+ public boolean isDrainableStackSeparate() {
+ return false;
+ }
+
public FluidStack getDisplayedFluid() {
return getDrainableStack();
}
@@ -249,6 +258,19 @@ public abstract class GT_MetaTileEntity_BasicTank extends GT_MetaTileEntity_Tier
}
@Override
+ public FluidTankInfo[] getTankInfo(ForgeDirection aSide) {
+ if (getCapacity() <= 0 && !getBaseMetaTileEntity().hasSteamEngineUpgrade()) return new FluidTankInfo[]{};
+ if (isDrainableStackSeparate()) {
+ return new FluidTankInfo[]{
+ new FluidTankInfo(getFillableStack(), getCapacity()),
+ new FluidTankInfo(getDrainableStack(), getCapacity())
+ };
+ } else {
+ return new FluidTankInfo[]{new FluidTankInfo(this)};
+ }
+ }
+
+ @Override
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return aIndex == getOutputSlot();
}