aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAbdiel Kavash <19243993+AbdielKavash@users.noreply.github.com>2023-12-24 13:42:09 -0600
committerGitHub <noreply@github.com>2023-12-24 20:42:09 +0100
commitcd47f0809ad7568db7ee890c031bf957d8a5d0ed (patch)
tree4b1faba695c79220f0024989e2d673c4e81bcbb4 /src/main
parent5077f31cfa1f4b614335a1f61b087b3e9d901751 (diff)
downloadGT5-Unofficial-cd47f0809ad7568db7ee890c031bf957d8a5d0ed.tar.gz
GT5-Unofficial-cd47f0809ad7568db7ee890c031bf957d8a5d0ed.tar.bz2
GT5-Unofficial-cd47f0809ad7568db7ee890c031bf957d8a5d0ed.zip
Rework the UI of singleblock pumps. (#2420)
Change singleblock pumps to be machines, not tanks. Rework the UI of the pump.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/api/gui/modularui/GT_UITextures.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java397
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT.pngbin0 -> 465 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE.pngbin0 -> 465 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP.pngbin0 -> 187 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE.pngbin0 -> 187 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_GLOW.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/overlay_slot/mining_pipe.pngbin0 -> 5666 bytes
19 files changed, 193 insertions, 206 deletions
diff --git a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
index 1dd7c9f6d2..b200e16d47 100644
--- a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
+++ b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
@@ -109,6 +109,8 @@ public class GT_UITextures {
public static final UITexture OVERLAY_SLOT_LENS = UITexture.fullImage(GregTech.ID, "gui/overlay_slot/lens");
public static final UITexture OVERLAY_SLOT_MICROSCOPE = UITexture
.fullImage(GregTech.ID, "gui/overlay_slot/microscope");
+ public static final UITexture OVERLAY_SLOT_MINING_PIPE = UITexture
+ .fullImage(GregTech.ID, "gui/overlay_slot/mining_pipe");
public static final UITexture OVERLAY_SLOT_MOLD = UITexture.fullImage(GregTech.ID, "gui/overlay_slot/mold");
public static final UITexture OVERLAY_SLOT_MOLECULAR_1 = UITexture
.fullImage(GregTech.ID, "gui/overlay_slot/molecular_1");
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
index 0bc3b2e367..58e8be1c6f 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
@@ -1,6 +1,5 @@
package gregtech.common.tileentities.machines.basic;
-import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.debugBlockPump;
import java.util.ArrayDeque;
@@ -19,25 +18,29 @@ import net.minecraft.util.StatCollector;
import net.minecraft.world.ChunkPosition;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidBlock;
-import net.minecraftforge.fluids.IFluidHandler;
+
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
import gregtech.api.enums.Textures;
-import gregtech.api.gui.modularui.GT_UIInfos;
+import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.recipe.BasicUIProperties;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
+import gregtech.common.misc.GT_DrillingLogicDelegate;
-public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
+public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_BasicMachine {
private static final ItemStack MINING_PIPE = GT_ModHandler.getIC2Item("miningPipe", 0);
+
+ private static final ItemStack MINING_PIPE_ONE = GT_ModHandler.getIC2Item("miningPipe", 1);
private static final Block MINING_PIPE_BLOCK = GT_Utility.getBlockFromStack(MINING_PIPE);
private static final Block MINING_PIPE_TIP_BLOCK = GT_Utility
.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 0));
@@ -68,8 +71,8 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
aName,
aNameRegional,
aTier,
- 3,
- new String[] { "The best way to empty Oceans! Outputs on top",
+ 1,
+ new String[] { "The best way to empty Oceans!",
getEuUsagePerTier(aTier) + " EU/operation, "
+ GT_Utility.safeInt(160 / 20 / (long) Math.pow(2, aTier))
+ " sec per bucket, no stuttering",
@@ -78,17 +81,63 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
+ (getMaxDistanceForTier(aTier) * 2 + 1),
"Use Screwdriver to regulate pumping area", "Use Soft Mallet to disable and retract the pipe",
"Disable the bottom pump to retract the pipe!",
- "Use Soldering Iron to auto retract the pipe when hitting a rock", });
- radiusConfig = getMaxDistanceForTier(mTier);
- }
+ "Use Soldering Iron to auto retract the pipe when hitting a rock", },
+ 2,
+ 2,
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_SIDE_ACTIVE")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_SIDE_ACTIVE_GLOW"))
+ .glow()
+ .build()),
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_SIDE")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_SIDE_GLOW"))
+ .glow()
+ .build()),
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_FRONT_ACTIVE")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_FRONT_ACTIVE_GLOW"))
+ .glow()
+ .build()),
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_FRONT")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_FRONT_GLOW"))
+ .glow()
+ .build()),
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_TOP_ACTIVE")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_TOP_ACTIVE_GLOW"))
+ .glow()
+ .build()),
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_TOP")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_TOP_GLOW"))
+ .glow()
+ .build()),
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_BOTTOM_ACTIVE")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_BOTTOM_ACTIVE_GLOW"))
+ .glow()
+ .build()),
+ TextureFactory.of(
+ TextureFactory.of(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_BOTTOM")),
+ TextureFactory.builder()
+ .addIcon(new Textures.BlockIcons.CustomIcon("basicmachines/pump/OVERLAY_BOTTOM_GLOW"))
+ .glow()
+ .build()));
- public GT_MetaTileEntity_Pump(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, 3, aDescription, aTextures);
radiusConfig = getMaxDistanceForTier(mTier);
}
public GT_MetaTileEntity_Pump(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, 3, aDescription, aTextures);
+ super(aName, aTier, 1, aDescription, aTextures, 2, 2);
radiusConfig = getMaxDistanceForTier(mTier);
}
@@ -98,6 +147,44 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
}
@Override
+ public boolean useModularUI() {
+ return true;
+ }
+
+ private static final FallbackableUITexture progressBarTexture = GT_UITextures
+ .fallbackableProgressbar("pump", GT_UITextures.PROGRESSBAR_CANNER);
+
+ @Override
+ protected BasicUIProperties getUIProperties() {
+ return BasicUIProperties.builder()
+ .maxItemInputs(2)
+ .maxItemOutputs(2)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (!isFluid && !isOutput && !isSpecial) {
+ return GT_UITextures.OVERLAY_SLOT_MINING_PIPE;
+ } else {
+ return null;
+ }
+ })
+ .maxFluidInputs(0)
+ .maxFluidOutputs(1)
+ .progressBarTexture(progressBarTexture)
+ .build();
+ }
+
+ @Override
+ public int getCapacity() {
+ return getCapacityForTier(mTier);
+ }
+
+ @Override
+ protected boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
+ ItemStack aStack) {
+ return super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)
+ && aStack.getItem() == GT_DrillingLogicDelegate.MINING_PIPE_STACK.getItem();
+ }
+
+ @Override
public void saveNBTData(NBTTagCompound aNBT) {
boolean wasPumping = this.wasPumping || !this.mPumpList.isEmpty();
if (debugBlockPump) {
@@ -132,6 +219,32 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
this.mRetractDone = aNBT.getBoolean("mRetractDone");
this.mDisallowRetract = aNBT.getBoolean("mDisallowRetract");
+ // Transition from old TE which was derived from GT_MetaTileEntity_Hatch
+ if (!aNBT.hasKey("mEUt")) {
+ // Output of old pump always faces up.
+ getBaseMetaTileEntity().setFrontFacing(ForgeDirection.UP);
+
+ // Automatic output on.
+ mFluidTransfer = true;
+
+ // Fluid was stored in the hatch, now needs to go to the output.
+ if (mFluid != null && mFluid.amount > 0) {
+ fluidOutputTank.fill(mFluid, true);
+ mFluid = null;
+ }
+
+ // Move pipes (or other things) from old slots to new ones.
+ if (mInventory[1] != null && mInventory[1].stackSize > 0) {
+ mInventory[getInputSlot() + 1] = mInventory[1];
+ mInventory[1] = null;
+ }
+
+ if (mInventory[0] != null && mInventory[0].stackSize > 0) {
+ mInventory[getInputSlot()] = mInventory[0];
+ mInventory[0] = null;
+ }
+ }
+
if (debugBlockPump) {
GT_Log.out.println(
"PUMP: NBT:Load - WasPumping - " + this.wasPumping
@@ -152,6 +265,12 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
@Override
public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) {
super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ);
+
+ if (side == getBaseMetaTileEntity().getFrontFacing() || side == mMainFacing) {
+ // Configuring "input from output side allowed".
+ return;
+ }
+
int max = getMaxPumpableDistance();
if (aPlayer.isSneaking()) {
if (radiusConfig >= 0) {
@@ -187,43 +306,9 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
}
@Override
- public boolean doesFillContainers() {
- return true;
- }
-
- @Override
- public boolean doesEmptyContainers() {
- return false;
- }
-
- @Override
- public boolean canTankBeFilled() {
- return false;
- }
-
- @Override
- public boolean canTankBeEmptied() {
- return true;
- }
-
- @Override
- public boolean displaysItemStack() {
- return true;
- }
-
- @Override
- public boolean displaysStackSize() {
- return false;
- }
-
- @Override
- public boolean isFluidInputAllowed(FluidStack aFluid) {
- return false;
- }
-
- @Override
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
super.onPostTick(aBaseMetaTileEntity, aTick);
+
if (getBaseMetaTileEntity().isServerSide()) {
this.mPumpTimer -= 1;
if ((getBaseMetaTileEntity() instanceof BaseTileEntity)) {
@@ -242,6 +327,7 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
this.mPumpCountBelow += 1;
// The more pumps we have stacked, the faster the ones below go
((GT_MetaTileEntity_Pump) tTileEntity.getMetaTileEntity()).mPumpTimer -= 1;
+ ((GT_MetaTileEntity_Pump) tTileEntity.getMetaTileEntity()).mProgresstime += 1;
}
if (debugBlockPump && (this.mPumpCountBelow != 0)) {
GT_Log.out.println("PUMP: Detected " + this.mPumpCountBelow + " pumps below this pump.");
@@ -251,7 +337,7 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
if (getBaseMetaTileEntity().isAllowedToWork()) {
mRetractDone = false;
if ((getBaseMetaTileEntity().isUniversalEnergyStored(this.getEuUsagePerAction()))
- && ((this.mFluid == null) || (this.mFluid.amount + 1000 <= getCapacity()))) {
+ && (fluidOutputTank.getFluidAmount() + 1000 <= fluidOutputTank.getCapacity())) {
boolean tMovedOneDown = false;
if ((this.mPumpList.isEmpty()) && (getBaseMetaTileEntity().getTimer() % 100L == 0L)) {
if (!this.wasPumping) {
@@ -343,6 +429,9 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
}
this.mPumpTimer = GT_Utility.safeInt(160 / (long) Math.pow(2, this.mTier));
this.mPumpTimer = mPumpTimer == 0 ? 1 : mPumpTimer;
+
+ mMaxProgresstime = mPumpTimer;
+ mProgresstime = 0;
}
} else {
// We somehow have a valid fluid, but the head of the pump isn't below the pump. Perhaps
@@ -354,10 +443,9 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
GT_Log.out.println("PUMP: Not enough energy? Free space?");
}
} else {
- if (!mRetractDone && ((aTick % 5) == 0)
- && ((this.mInventory[0] == null) || this.mInventory[0].stackSize == 0
- || (GT_Utility.areStacksEqual(this.mInventory[0], MINING_PIPE)
- && (this.mInventory[0].stackSize < this.mInventory[0].getMaxStackSize())))) {
+ mMaxProgresstime = 0;
+
+ if (!mRetractDone && ((aTick % 5) == 0) && canOutput(MINING_PIPE_ONE)) {
// try retract if all of these conditions are met
// 1. not retracted yet
// 2. once per 5 tick
@@ -377,13 +465,13 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
getBaseMetaTileEntity().getWorld()
.setBlock(tXCoord, tHeadY + 1, tZCoord, MINING_PIPE_TIP_BLOCK);
}
- if (this.mInventory[0] == null) {
- final ItemStack copy = MINING_PIPE.copy();
- copy.stackSize = 1;
- this.setInventorySlotContents(0, copy);
- } else {
- this.mInventory[0].stackSize++;
+
+ for (int i = 0; i < mOutputItems.length; ++i) {
+ if (aBaseMetaTileEntity.addStackToSlot(getOutputSlot() + i, MINING_PIPE_ONE.copy())) {
+ break;
+ }
}
+
if (debugBlockPump) {
GT_Log.out.println("PUMP: Retracted one pipe");
}
@@ -397,18 +485,6 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
}
if (!mDisallowRetract) getBaseMetaTileEntity().setActive(!this.mPumpList.isEmpty());
}
-
- if (this.mFluid != null && (aTick % 20 == 0)) {
- // auto outputs on top every second or so
- IFluidHandler tTank = aBaseMetaTileEntity.getITankContainerAtSide(ForgeDirection.UP); // 1 is up.
- if (tTank != null) {
- FluidStack tDrained = drain(1000, false);
- if (tDrained != null) {
- int tFilledAmount = tTank.fill(ForgeDirection.DOWN, tDrained, false);
- if (tFilledAmount > 0) tTank.fill(ForgeDirection.DOWN, drain(tFilledAmount, true), true);
- }
- }
- }
}
}
@@ -425,8 +501,17 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
}
private boolean moveOneDown() {
- if ((this.mInventory[0] == null) || (this.mInventory[0].stackSize < 1)
- || (!GT_Utility.areStacksEqual(this.mInventory[0], MINING_PIPE))) {
+ boolean foundPipe = false;
+
+ for (int i = 0; i < mInputSlotCount; i++) {
+ ItemStack stack = getInputAt(i);
+ if (stack != null && GT_Utility.areStacksEqual(stack, MINING_PIPE) && stack.stackSize > 0) {
+ foundPipe = true;
+ break;
+ }
+ }
+
+ if (!foundPipe) {
// No mining pipes
if (debugBlockPump) {
GT_Log.out.println("PUMP: No mining pipes");
@@ -472,10 +557,30 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
getBaseMetaTileEntity().getWorld()
.setBlock(x, yHead, z, MINING_PIPE_BLOCK);
}
- getBaseMetaTileEntity().decrStackSize(0, 1);
+
+ // Remove pipe from inputs.
+ foundPipe = false;
+
+ for (int i = 0; i < mInputSlotCount; i++) {
+ ItemStack stack = getInputAt(i);
+ if (stack != null && GT_Utility.areStacksEqual(stack, MINING_PIPE) && stack.stackSize > 0) {
+ foundPipe = true;
+ stack.stackSize -= 1;
+ if (stack.stackSize == 0) {
+ mInventory[getInputSlot() + i] = null;
+ }
+ break;
+ }
+ }
+
if (debugBlockPump) {
- GT_Log.out.println("PUMP: Using 1 pipe");
+ if (foundPipe) {
+ GT_Log.out.println("PUMP: Using 1 pipe");
+ } else {
+ GT_Log.err.println("PUMP: Lowered pipe but could not find pipe in input");
+ }
}
+
return true;
}
@@ -645,16 +750,19 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
if (debugBlockPump) {
GT_Log.out.println("PUMP: Water/Lava - Not a source block");
}
- } else if (this.mFluid == null) {
+
+ } else if (getDrainableStack() == null) {
// The pump has no internal fluid
- if (this.mPrimaryPumpedBlock == Blocks.water) this.mFluid = GT_ModHandler.getWater(1000L);
- else if (this.mPrimaryPumpedBlock == Blocks.lava) this.mFluid = GT_ModHandler.getLava(1000L);
+ if (this.mPrimaryPumpedBlock == Blocks.water) setDrainableStack(GT_ModHandler.getWater(1000L));
+ else if (this.mPrimaryPumpedBlock == Blocks.lava) setDrainableStack(GT_ModHandler.getLava(1000L));
else {
// Not water or lava; try to drain and set to air
- this.mFluid = ((IFluidBlock) aBlock).drain(getBaseMetaTileEntity().getWorld(), aX, aY, aZ, true);
+ setDrainableStack(
+ ((IFluidBlock) aBlock).drain(getBaseMetaTileEntity().getWorld(), aX, aY, aZ, true));
}
- } else if (GT_ModHandler.isWater(this.mFluid) || GT_ModHandler.isLava(this.mFluid)
- || this.mFluid.isFluidEqual(
+
+ } else if (GT_ModHandler.isWater(getDrainableStack()) || GT_ModHandler.isLava(getDrainableStack())
+ || getDrainableStack().isFluidEqual(
((IFluidBlock) aBlock).drain(getBaseMetaTileEntity().getWorld(), aX, aY, aZ, false))) {
if (!isWaterOrLava) {
// Only set Block to Air for non lava/water fluids
@@ -662,7 +770,7 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
.getWorld()
.setBlockToAir(aX, aY, aZ);
}
- this.mFluid.amount += 1000;
+ getDrainableStack().amount += 1000;
} else {
if (debugBlockPump) {
@@ -681,12 +789,6 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
}
@Override
- public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
- GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
- return true;
- }
-
- @Override
public ArrayList<String> getSpecialDebugInfo(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer,
int aLogLevel, ArrayList<String> aList) {
aList.addAll(
@@ -711,118 +813,6 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
return aList;
}
- @Override
- public boolean isSimpleMachine() {
- return false;
- }
-
- @Override
- public boolean isOverclockerUpgradable() {
- return false;
- }
-
- @Override
- public boolean isTransformerUpgradable() {
- return false;
- }
-
- @Override
- public boolean isElectric() {
- return true;
- }
-
- @Override
- public boolean isFacingValid(ForgeDirection facing) {
- return true;
- }
-
- @Override
- public boolean isEnetInput() {
- return true;
- }
-
- @Override
- public boolean isInputFacing(ForgeDirection side) {
- return true;
- }
-
- @Override
- public boolean isOutputFacing(ForgeDirection side) {
- return false;
- }
-
- @Override
- public boolean isTeleporterCompatible() {
- return false;
- }
-
- @Override
- public long getMinimumStoredEU() {
- return V[mTier] * 16;
- }
-
- @Override
- public long maxEUStore() {
- return V[mTier] * 64;
- }
-
- @Override
- public long maxEUInput() {
- return V[mTier];
- }
-
- @Override
- public long maxSteamStore() {
- return maxEUStore();
- }
-
- @Override
- public long maxAmperesIn() {
- return 2;
- }
-
- @Override
- public int getStackDisplaySlot() {
- return 2;
- }
-
- @Override
- public boolean isAccessAllowed(EntityPlayer aPlayer) {
- return true;
- }
-
- @Override
- public int getCapacity() {
- return 16000 * this.mTier;
- }
-
- @Override
- public int getTankPressure() {
- return 100;
- }
-
- @Override
- public ITexture[] getTexture(IGregTechTileEntity baseMetaTileEntity, ForgeDirection sideDirection,
- ForgeDirection facingDirection, int colorIndex, boolean active, boolean redstoneLevel) {
- return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][colorIndex + 1],
- (sideDirection.flag & (ForgeDirection.UP.flag | ForgeDirection.DOWN.flag)) != 0
- ? TextureFactory.of(Textures.BlockIcons.OVERLAY_PIPE_OUT)
- : TextureFactory.of(Textures.BlockIcons.OVERLAY_ADV_PUMP) };
- }
-
- @Override
- public ITexture[] getTexturesActive(ITexture aBaseTexture) {
- return getTexturesInactive(aBaseTexture);
- }
-
- @Override
- public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
- return new ITexture[] { TextureFactory.of(Textures.BlockIcons.OVERLAY_ADV_PUMP),
- TextureFactory.of(Textures.BlockIcons.OVERLAY_ADV_PUMP),
- TextureFactory.of(Textures.BlockIcons.OVERLAY_ADV_PUMP),
- TextureFactory.of(Textures.BlockIcons.OVERLAY_ADV_PUMP), };
- }
-
private FakePlayer mFakePlayer = null;
protected FakePlayer getFakePlayer(IGregTechTileEntity aBaseTile) {
@@ -843,9 +833,4 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
+ " "
+ StatCollector.translateToLocal("GT5U.machines.blocks") };
}
-
- @Override
- public boolean useModularUI() {
- return true;
- }
}
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_ACTIVE_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_BOTTOM_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT.png
new file mode 100644
index 0000000000..962a52c203
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE.png
new file mode 100644
index 0000000000..962a52c203
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_ACTIVE_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_FRONT_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_ACTIVE_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_SIDE_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP.png
new file mode 100644
index 0000000000..3ecda894d0
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE.png
new file mode 100644
index 0000000000..71c2eb1668
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_ACTIVE_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_GLOW.png b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_GLOW.png
new file mode 100644
index 0000000000..a2fcfb9a21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/basicmachines/pump/OVERLAY_TOP_GLOW.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay_slot/mining_pipe.png b/src/main/resources/assets/gregtech/textures/gui/overlay_slot/mining_pipe.png
new file mode 100644
index 0000000000..3a1580bd98
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/overlay_slot/mining_pipe.png
Binary files differ