From 8535f295d9ef4136fa05f7d3bf6ca3066b6269de Mon Sep 17 00:00:00 2001 From: Adrian Siekierka Date: Sun, 9 Nov 2014 16:06:19 +0100 Subject: [PATCH] fix #2174 --- .../transport/PipeToolTipManager.java | 8 +++++-- .../transport/PipeTransportFluids.java | 22 ++++++++++++++++++- .../pipes/PipeFluidsCobblestone.java | 5 ++--- .../transport/pipes/PipeFluidsEmerald.java | 2 +- .../transport/pipes/PipeFluidsGold.java | 4 ++-- .../transport/pipes/PipeFluidsIron.java | 4 ++-- .../transport/pipes/PipeFluidsQuartz.java | 2 +- .../transport/pipes/PipeFluidsSandstone.java | 2 +- .../transport/pipes/PipeFluidsStone.java | 2 +- .../transport/pipes/PipeFluidsVoid.java | 2 +- .../transport/pipes/PipeFluidsWood.java | 2 +- 11 files changed, 39 insertions(+), 16 deletions(-) diff --git a/common/buildcraft/transport/PipeToolTipManager.java b/common/buildcraft/transport/PipeToolTipManager.java index a728bcaf..25baac1e 100644 --- a/common/buildcraft/transport/PipeToolTipManager.java +++ b/common/buildcraft/transport/PipeToolTipManager.java @@ -27,6 +27,10 @@ public final class PipeToolTipManager { for (Map.Entry>, Integer> pipe : PipeTransportPower.powerCapacities.entrySet()) { PipeToolTipManager.addToolTip(pipe.getKey(), String.format("%d RF/t", pipe.getValue())); } + + for (Map.Entry>, Integer> pipe : PipeTransportFluids.fluidCapacities.entrySet()) { + PipeToolTipManager.addToolTip(pipe.getKey(), String.format("%d mB/t", pipe.getValue())); + } } /** @@ -47,8 +51,8 @@ public final class PipeToolTipManager { if (localized != null) { List lines = StringUtils.newLineSplitter.splitToList(localized); tips.addAll(lines); - } - } + } + } String tip = toolTips.get(pipe); if (tip != null) { tips.add(tip); diff --git a/common/buildcraft/transport/PipeTransportFluids.java b/common/buildcraft/transport/PipeTransportFluids.java index 51834b4a..2b9dc5ed 100644 --- a/common/buildcraft/transport/PipeTransportFluids.java +++ b/common/buildcraft/transport/PipeTransportFluids.java @@ -9,7 +9,10 @@ package buildcraft.transport; import java.util.BitSet; +import java.util.HashMap; +import java.util.Map; +import buildcraft.transport.pipes.*; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; @@ -27,6 +30,7 @@ import buildcraft.core.DefaultProps; import buildcraft.transport.network.PacketFluidUpdate; public class PipeTransportFluids extends PipeTransport implements IFluidHandler { + public static final Map>, Integer> fluidCapacities = new HashMap>, Integer>(); public class PipeSection extends FluidTank { @@ -153,7 +157,7 @@ public class PipeTransportFluids extends PipeTransport implements IFluidHandler private final SafeTimeTracker tracker = new SafeTimeTracker(BuildCraftCore.updateFactor); private int clientSyncCounter = 0; - public PipeTransportFluids() { + public PipeTransportFluids() { for (ForgeDirection direction : orientations) { internalTanks[direction.ordinal()] = new PipeSection(getCapacity()); if (direction != ForgeDirection.UNKNOWN) { @@ -162,6 +166,10 @@ public class PipeTransportFluids extends PipeTransport implements IFluidHandler } } + public void initFromPipe(Class pipeClass) { + flowRate = fluidCapacities.get(pipeClass); + } + @Override public PipeType getPipeType() { return PipeType.FLUID; @@ -580,4 +588,16 @@ public class PipeTransportFluids extends PipeTransport implements IFluidHandler public FluidTankInfo[] getTankInfo(ForgeDirection from) { return new FluidTankInfo[]{new FluidTankInfo(internalTanks[from.ordinal()])}; } + + static { + fluidCapacities.put(PipeFluidsCobblestone.class, 1 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsEmerald.class, 4 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsGold.class, 4 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsIron.class, 2 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsQuartz.class, 2 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsSandstone.class, 1 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsStone.class, 1 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsVoid.class, 1 * BuildCraftTransport.pipeFluidsBaseFlowRate); + fluidCapacities.put(PipeFluidsWood.class, 1 * BuildCraftTransport.pipeFluidsBaseFlowRate); + } } diff --git a/common/buildcraft/transport/pipes/PipeFluidsCobblestone.java b/common/buildcraft/transport/pipes/PipeFluidsCobblestone.java index 1aada3b1..e0d2add6 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsCobblestone.java +++ b/common/buildcraft/transport/pipes/PipeFluidsCobblestone.java @@ -24,9 +24,8 @@ import buildcraft.transport.PipeTransportFluids; public class PipeFluidsCobblestone extends Pipe { public PipeFluidsCobblestone(Item item) { - super(new PipeTransportFluids(), item); - - transport.flowRate = BuildCraftTransport.pipeFluidsBaseFlowRate; + super(new PipeTransportFluids(), item); + transport.initFromPipe(getClass()); transport.travelDelay = 12; } diff --git a/common/buildcraft/transport/pipes/PipeFluidsEmerald.java b/common/buildcraft/transport/pipes/PipeFluidsEmerald.java index 72a13a71..c60e3129 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsEmerald.java +++ b/common/buildcraft/transport/pipes/PipeFluidsEmerald.java @@ -21,7 +21,7 @@ public class PipeFluidsEmerald extends PipeFluidsWood { standardIconIndex = PipeIconProvider.TYPE.PipeFluidsEmerald_Standard.ordinal(); solidIconIndex = PipeIconProvider.TYPE.PipeAllEmerald_Solid.ordinal(); - transport.flowRate = 4 * BuildCraftTransport.pipeFluidsBaseFlowRate; + transport.initFromPipe(getClass()); transport.travelDelay = 4; } } diff --git a/common/buildcraft/transport/pipes/PipeFluidsGold.java b/common/buildcraft/transport/pipes/PipeFluidsGold.java index 746c8a5e..e3a4c8bb 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsGold.java +++ b/common/buildcraft/transport/pipes/PipeFluidsGold.java @@ -24,9 +24,9 @@ import buildcraft.transport.PipeTransportFluids; public class PipeFluidsGold extends Pipe { public PipeFluidsGold(Item item) { - super(new PipeTransportFluids(), item); + super(new PipeTransportFluids(), item); - transport.flowRate = 4 * BuildCraftTransport.pipeFluidsBaseFlowRate; + transport.initFromPipe(getClass()); transport.travelDelay = 4; } diff --git a/common/buildcraft/transport/pipes/PipeFluidsIron.java b/common/buildcraft/transport/pipes/PipeFluidsIron.java index 86f1639b..89b676c5 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsIron.java +++ b/common/buildcraft/transport/pipes/PipeFluidsIron.java @@ -51,8 +51,8 @@ public class PipeFluidsIron extends Pipe { public PipeFluidsIron(Item item) { super(new PipeTransportFluids(), item); - transport.flowRate = BuildCraftTransport.pipeFluidsBaseFlowRate; - transport.travelDelay = 12; + transport.initFromPipe(getClass()); + transport.travelDelay = 8; } @Override diff --git a/common/buildcraft/transport/pipes/PipeFluidsQuartz.java b/common/buildcraft/transport/pipes/PipeFluidsQuartz.java index 846c1b5d..1311642a 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsQuartz.java +++ b/common/buildcraft/transport/pipes/PipeFluidsQuartz.java @@ -26,7 +26,7 @@ public class PipeFluidsQuartz extends Pipe { public PipeFluidsQuartz(Item item) { super(new PipeTransportFluids(), item); - transport.flowRate = 2 * BuildCraftTransport.pipeFluidsBaseFlowRate; + transport.initFromPipe(getClass()); transport.travelDelay = 8; } diff --git a/common/buildcraft/transport/pipes/PipeFluidsSandstone.java b/common/buildcraft/transport/pipes/PipeFluidsSandstone.java index 58906a58..4328432d 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsSandstone.java +++ b/common/buildcraft/transport/pipes/PipeFluidsSandstone.java @@ -31,7 +31,7 @@ public class PipeFluidsSandstone extends Pipe implements IP public PipeFluidsSandstone(Item item) { super(new PipeTransportFluids(), item); - transport.flowRate = BuildCraftTransport.pipeFluidsBaseFlowRate; + transport.initFromPipe(getClass()); transport.travelDelay = 12; } diff --git a/common/buildcraft/transport/pipes/PipeFluidsStone.java b/common/buildcraft/transport/pipes/PipeFluidsStone.java index b52a10eb..56b124b9 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsStone.java +++ b/common/buildcraft/transport/pipes/PipeFluidsStone.java @@ -26,7 +26,7 @@ public class PipeFluidsStone extends Pipe { public PipeFluidsStone(Item item) { super(new PipeTransportFluids(), item); - transport.flowRate = BuildCraftTransport.pipeFluidsBaseFlowRate; + transport.initFromPipe(getClass()); transport.travelDelay = 12; } diff --git a/common/buildcraft/transport/pipes/PipeFluidsVoid.java b/common/buildcraft/transport/pipes/PipeFluidsVoid.java index 1b68b97e..99a8e59a 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsVoid.java +++ b/common/buildcraft/transport/pipes/PipeFluidsVoid.java @@ -28,7 +28,7 @@ public class PipeFluidsVoid extends Pipe implements IPipeTr public PipeFluidsVoid(Item item) { super(new PipeTransportFluids(), item); - transport.flowRate = BuildCraftTransport.pipeFluidsBaseFlowRate; + transport.initFromPipe(getClass()); transport.travelDelay = 12; } diff --git a/common/buildcraft/transport/pipes/PipeFluidsWood.java b/common/buildcraft/transport/pipes/PipeFluidsWood.java index 6f164495..74205a56 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsWood.java +++ b/common/buildcraft/transport/pipes/PipeFluidsWood.java @@ -62,7 +62,7 @@ public class PipeFluidsWood extends Pipe implements IEnergy public PipeFluidsWood(Item item) { super(new PipeTransportFluids(), item); - transport.flowRate = BuildCraftTransport.pipeFluidsBaseFlowRate; + transport.initFromPipe(getClass()); transport.travelDelay = 12; }