the spingus
@ -37,6 +37,11 @@
|
|||||||
* There is now a second passive cooling variable used for rods on the inside (`dialPassiveCoolingInner`, 0.1°C/t by default)
|
* There is now a second passive cooling variable used for rods on the inside (`dialPassiveCoolingInner`, 0.1°C/t by default)
|
||||||
* The effective passive cooling value is scaled smoothly depending on how many sides are exposed, using `dialPassiveCoolingInner` with no exposed sides and `dialPassiveCooling` for rods with four exposed sides
|
* The effective passive cooling value is scaled smoothly depending on how many sides are exposed, using `dialPassiveCoolingInner` with no exposed sides and `dialPassiveCooling` for rods with four exposed sides
|
||||||
* Simply put, spindly RBMKs are now way less desirable, structural columns no longer just debuff the reactor and reactors that actually look like reactors are now more powerful
|
* Simply put, spindly RBMKs are now way less desirable, structural columns no longer just debuff the reactor and reactors that actually look like reactors are now more powerful
|
||||||
|
* Chanced the way RBMK coolers work
|
||||||
|
* Instead of using cryogel, coolers use 50mB of cold PFM per tick and return an equal amount of warm PFM
|
||||||
|
* In a 5x5 square around the cooler, all components are cooled down by 200°C per tick, down to a minimum of 20°C
|
||||||
|
* This renders that section of the reactor unsuitable for boiling water, however it means very high heat fuels can be used
|
||||||
|
* Cold PFM is used up at a steady rate, even if the reactor is already cold
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
* Fixed NBTStack serialization omitting the stack size most of the time, preventing deserialization (mainly in the precision assembler config)
|
* Fixed NBTStack serialization omitting the stack size most of the time, preventing deserialization (mainly in the precision assembler config)
|
||||||
@ -46,4 +51,5 @@
|
|||||||
* Fixed outdated info on the QMAW pages involving AA and BSCCO due to the fusion reactor update
|
* Fixed outdated info on the QMAW pages involving AA and BSCCO due to the fusion reactor update
|
||||||
* Fixed ammo container giving 9mm instead of .22 for the akimbo target pistols
|
* Fixed ammo container giving 9mm instead of .22 for the akimbo target pistols
|
||||||
* Fixed RBMK control rods incorrectly showing up in the red group when no group is set
|
* Fixed RBMK control rods incorrectly showing up in the red group when no group is set
|
||||||
* Fixed fluid output direction being incorrect on boilers, causing them to break with pipe anchors
|
* Fixed fluid output direction being incorrect on boilers, causing them to break with pipe anchors
|
||||||
|
* Fixed an issue where the industrial turbine's tendency to round up the possible operation counter would cause it to use up steam it doesn't actually have
|
||||||
|
|||||||
@ -59,7 +59,7 @@ public abstract class TileEntityTurbineBase extends TileEntityLoadedBase impleme
|
|||||||
double eff = trait.getEfficiency(CoolingType.TURBINE) * getEfficiency();
|
double eff = trait.getEfficiency(CoolingType.TURBINE) * getEfficiency();
|
||||||
if(eff > 0) {
|
if(eff > 0) {
|
||||||
tanks[1].setTankType(trait.coolsTo);
|
tanks[1].setTankType(trait.coolsTo);
|
||||||
int inputOps = (int) Math.ceil((tanks[0].getFill() * consumptionPercent()) / trait.amountReq);
|
int inputOps = (int) (Math.min(Math.ceil(tanks[0].getFill() * consumptionPercent()), tanks[0].getFill()) / trait.amountReq);
|
||||||
int outputOps = (tanks[1].getMaxFill() - tanks[1].getFill()) / trait.amountProduced;
|
int outputOps = (tanks[1].getMaxFill() - tanks[1].getFill()) / trait.amountProduced;
|
||||||
int ops = Math.min(inputOps, outputOps);
|
int ops = Math.min(inputOps, outputOps);
|
||||||
if(ops > 0) {
|
if(ops > 0) {
|
||||||
|
|||||||
@ -83,10 +83,10 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
|||||||
* Requires the amount of connected neighbors to scale cooling
|
* Requires the amount of connected neighbors to scale cooling
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public double passiveCooling(int members) {
|
public double passiveCooling(int neighbors) {
|
||||||
double min = RBMKDials.getPassiveCoolingInner(worldObj); //default: 0.1D
|
double min = RBMKDials.getPassiveCoolingInner(worldObj); //default: 0.1D
|
||||||
double max = RBMKDials.getPassiveCooling(worldObj); //default: 1.0D
|
double max = RBMKDials.getPassiveCooling(worldObj); //default: 1.0D
|
||||||
return min + (max - min) * ((4 - members) / 4D);
|
return min + (max - min) * ((4 - MathHelper.clamp_int(neighbors, 0, 4)) / 4D);
|
||||||
}
|
}
|
||||||
|
|
||||||
//necessary checks to figure out whether players are close enough to ensure that the reactor can be safely used
|
//necessary checks to figure out whether players are close enough to ensure that the reactor can be safely used
|
||||||
@ -222,7 +222,7 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.worldObj.theProfiler.endStartSection("rbmkBase_rpassive_cooling");
|
this.worldObj.theProfiler.endStartSection("rbmkBase_rpassive_cooling");
|
||||||
coolPassively(members);
|
coolPassively(members - 1);
|
||||||
this.worldObj.theProfiler.endSection();
|
this.worldObj.theProfiler.endSection();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,12 +246,9 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void coolPassively(int members) {
|
protected void coolPassively(int neighbors) {
|
||||||
|
this.heat -= this.passiveCooling(neighbors);
|
||||||
this.heat -= this.passiveCooling(members);
|
if(heat < 20) heat = 20D;
|
||||||
|
|
||||||
if(heat < 20)
|
|
||||||
heat = 20D;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public RBMKType getRBMKType() {
|
public RBMKType getRBMKType() {
|
||||||
|
|||||||
@ -1,135 +1,148 @@
|
|||||||
package com.hbm.tileentity.machine.rbmk;
|
package com.hbm.tileentity.machine.rbmk;
|
||||||
|
|
||||||
import api.hbm.fluid.IFluidStandardReceiver;
|
import api.hbm.fluidmk2.IFluidStandardTransceiverMK2;
|
||||||
|
|
||||||
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.handler.CompatHandler;
|
import com.hbm.handler.CompatHandler;
|
||||||
import com.hbm.inventory.fluid.Fluids;
|
import com.hbm.inventory.fluid.Fluids;
|
||||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||||
import com.hbm.lib.Library;
|
import com.hbm.lib.Library;
|
||||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
|
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
|
||||||
|
import com.hbm.util.Compat;
|
||||||
|
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Optional;
|
import cpw.mods.fml.common.Optional;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import li.cil.oc.api.machine.Arguments;
|
import li.cil.oc.api.machine.Arguments;
|
||||||
import li.cil.oc.api.machine.Callback;
|
import li.cil.oc.api.machine.Callback;
|
||||||
import li.cil.oc.api.machine.Context;
|
import li.cil.oc.api.machine.Context;
|
||||||
import li.cil.oc.api.network.SimpleComponent;
|
import li.cil.oc.api.network.SimpleComponent;
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.DamageSource;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
||||||
public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidStandardReceiver, SimpleComponent, CompatHandler.OCComponent {
|
public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidStandardTransceiverMK2, SimpleComponent, CompatHandler.OCComponent {
|
||||||
|
|
||||||
private FluidTank tank;
|
protected int timer = 0;
|
||||||
private int lastCooled;
|
private FluidTank[] tanks;
|
||||||
|
protected TileEntityRBMKBase[] neighborCache = new TileEntityRBMKBase[25];
|
||||||
|
|
||||||
public TileEntityRBMKCooler() {
|
public TileEntityRBMKCooler() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this.tank = new FluidTank(Fluids.CRYOGEL, 8_000);
|
this.tanks = new FluidTank[2];
|
||||||
|
this.tanks[0] = new FluidTank(Fluids.PERFLUOROMETHYL_COLD, 4_000);
|
||||||
|
this.tanks[1] = new FluidTank(Fluids.PERFLUOROMETHYL, 4_000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity() {
|
public void updateEntity() {
|
||||||
|
|
||||||
if (!worldObj.isRemote) {
|
if(!worldObj.isRemote) {
|
||||||
|
|
||||||
if (this.worldObj.getTotalWorldTime() % 20 == 0)
|
if(timer <= 0) {
|
||||||
this.trySubscribe(tank.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y);
|
timer = 60;
|
||||||
|
|
||||||
if ((int) (this.heat) > 750) {
|
for(int i = 0; i < 25; i++) {
|
||||||
|
int x = xCoord - 2 + i / 5;
|
||||||
int heatProvided = (int) (this.heat - 750D);
|
int z = zCoord - 2 + i % 5;
|
||||||
int cooling = Math.min(heatProvided, tank.getFill());
|
TileEntity tile = Compat.getTileStandard(worldObj, x, yCoord, z);
|
||||||
|
if(tile instanceof TileEntityRBMKBase) {
|
||||||
this.heat -= cooling;
|
neighborCache[i] = (TileEntityRBMKBase) tile;
|
||||||
this.tank.setFill(this.tank.getFill() - cooling);
|
} else {
|
||||||
|
neighborCache[i] = null;
|
||||||
this.lastCooled = cooling;
|
|
||||||
|
|
||||||
if (lastCooled > 0) {
|
|
||||||
List<Entity> entities = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord + 4, zCoord, xCoord + 1, yCoord + 8, zCoord + 1));
|
|
||||||
|
|
||||||
for (Entity e : entities) {
|
|
||||||
e.setFire(5);
|
|
||||||
e.attackEntityFrom(DamageSource.inFire, 10);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.lastCooled = 0;
|
timer--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tanks[0].getFill() >= 50 && tanks[1].getMaxFill() - tanks[1].getFill() >= 50) {
|
||||||
|
tanks[0].setFill(tanks[0].getFill() - 50);
|
||||||
|
tanks[1].setFill(tanks[1].getFill() + 50);
|
||||||
|
|
||||||
|
for(TileEntityRBMKBase neighbor : neighborCache) {
|
||||||
|
if(neighbor != null) {
|
||||||
|
neighbor.heat -= 200;
|
||||||
|
if(neighbor.heat < 20) neighbor.heat = 20;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
this.trySubscribe(tanks[0].getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y);
|
||||||
|
|
||||||
if (this.lastCooled > 100) {
|
if(this.tanks[1].getFill() > 0) for(DirPos pos : getOutputPos()) {
|
||||||
for (int i = 0; i < 2; i++) {
|
this.tryProvide(this.tanks[1], worldObj, pos);
|
||||||
worldObj.spawnParticle("flame", xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 4.5, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, 0, 0.2, 0);
|
|
||||||
worldObj.spawnParticle("smoke", xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 4.5, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, 0, 0.2, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (worldObj.rand.nextInt(20) == 0)
|
|
||||||
worldObj.spawnParticle("lava", xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 4.5, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, 0, 0.0, 0);
|
|
||||||
} else if (this.lastCooled > 50) {
|
|
||||||
for (int i = 0; i < 2; i++) {
|
|
||||||
worldObj.spawnParticle("cloud", xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 4.5, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, worldObj.rand.nextGaussian() * 0.05, 0.2, worldObj.rand.nextGaussian() * 0.05);
|
|
||||||
}
|
|
||||||
} else if (this.lastCooled > 0) {
|
|
||||||
|
|
||||||
if (worldObj.getTotalWorldTime() % 2 == 0)
|
|
||||||
worldObj.spawnParticle("cloud", xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 4.5, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, 0, 0.2, 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected DirPos[] getOutputPos() {
|
||||||
|
|
||||||
|
if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.rbmk_loader) {
|
||||||
|
return new DirPos[] {
|
||||||
|
new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y),
|
||||||
|
new DirPos(this.xCoord + 1, this.yCoord - 1, this.zCoord, Library.POS_X),
|
||||||
|
new DirPos(this.xCoord - 1, this.yCoord - 1, this.zCoord, Library.NEG_X),
|
||||||
|
new DirPos(this.xCoord, this.yCoord - 1, this.zCoord + 1, Library.POS_Z),
|
||||||
|
new DirPos(this.xCoord, this.yCoord - 1, this.zCoord - 1, Library.NEG_Z),
|
||||||
|
new DirPos(this.xCoord, this.yCoord - 2, this.zCoord, Library.NEG_Y)
|
||||||
|
};
|
||||||
|
} else if(worldObj.getBlock(xCoord, yCoord - 2, zCoord) == ModBlocks.rbmk_loader) {
|
||||||
|
return new DirPos[] {
|
||||||
|
new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y),
|
||||||
|
new DirPos(this.xCoord + 1, this.yCoord - 2, this.zCoord, Library.POS_X),
|
||||||
|
new DirPos(this.xCoord - 1, this.yCoord - 2, this.zCoord, Library.NEG_X),
|
||||||
|
new DirPos(this.xCoord, this.yCoord - 2, this.zCoord + 1, Library.POS_Z),
|
||||||
|
new DirPos(this.xCoord, this.yCoord - 2, this.zCoord - 1, Library.NEG_Z),
|
||||||
|
new DirPos(this.xCoord, this.yCoord - 3, this.zCoord, Library.NEG_Y)
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return new DirPos[] {
|
||||||
|
new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readFromNBT(NBTTagCompound nbt) {
|
public void readFromNBT(NBTTagCompound nbt) {
|
||||||
super.readFromNBT(nbt);
|
super.readFromNBT(nbt);
|
||||||
|
|
||||||
tank.readFromNBT(nbt, "cryo");
|
tanks[0].readFromNBT(nbt, "t0");
|
||||||
this.lastCooled = nbt.getInteger("cooled");
|
tanks[1].readFromNBT(nbt, "t1");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeToNBT(NBTTagCompound nbt) {
|
public void writeToNBT(NBTTagCompound nbt) {
|
||||||
super.writeToNBT(nbt);
|
super.writeToNBT(nbt);
|
||||||
|
|
||||||
tank.writeToNBT(nbt, "cryo");
|
tanks[0].writeToNBT(nbt, "t0");
|
||||||
nbt.setInteger("cooled", this.lastCooled);
|
tanks[1].writeToNBT(nbt, "t1");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void serialize(ByteBuf buf) {
|
public void serialize(ByteBuf buf) {
|
||||||
super.serialize(buf);
|
super.serialize(buf);
|
||||||
this.tank.serialize(buf);
|
this.tanks[0].serialize(buf);
|
||||||
buf.writeInt(this.lastCooled);
|
this.tanks[1].serialize(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deserialize(ByteBuf buf) {
|
public void deserialize(ByteBuf buf) {
|
||||||
super.deserialize(buf);
|
super.deserialize(buf);
|
||||||
this.tank.deserialize(buf);
|
this.tanks[0].deserialize(buf);
|
||||||
this.lastCooled = buf.readInt();
|
this.tanks[1].deserialize(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public ColumnType getConsoleType() { return ColumnType.COOLER; }
|
||||||
public ColumnType getConsoleType() {
|
|
||||||
return ColumnType.COOLER;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override public FluidTank[] getAllTanks() { return tanks; }
|
||||||
public FluidTank[] getAllTanks() {
|
@Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0]}; }
|
||||||
return new FluidTank[]{tank};
|
@Override public FluidTank[] getSendingTanks() { return new FluidTank[] {tanks[1]}; }
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public FluidTank[] getReceivingTanks() {
|
|
||||||
return new FluidTank[]{tank};
|
|
||||||
}
|
|
||||||
|
|
||||||
//do some opencomputers stuff
|
//do some opencomputers stuff
|
||||||
|
|
||||||
@ -143,28 +156,6 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidSt
|
|||||||
public Object[] getHeat(Context context, Arguments args) {
|
public Object[] getHeat(Context context, Arguments args) {
|
||||||
return new Object[]{heat};
|
return new Object[]{heat};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Callback(direct = true)
|
// don't know shit about OC - someone else has to add those back
|
||||||
@Optional.Method(modid = "OpenComputers")
|
|
||||||
public Object[] getCryo(Context context, Arguments args) {
|
|
||||||
return new Object[]{tank.getFill()};
|
|
||||||
}
|
|
||||||
|
|
||||||
@Callback(direct = true)
|
|
||||||
@Optional.Method(modid = "OpenComputers")
|
|
||||||
public Object[] getCryoMax(Context context, Arguments args) {
|
|
||||||
return new Object[]{tank.getMaxFill()};
|
|
||||||
}
|
|
||||||
|
|
||||||
@Callback(direct = true)
|
|
||||||
@Optional.Method(modid = "OpenComputers")
|
|
||||||
public Object[] getCoordinates(Context context, Arguments args) {
|
|
||||||
return new Object[] {xCoord, yCoord, zCoord};
|
|
||||||
}
|
|
||||||
|
|
||||||
@Callback(direct = true)
|
|
||||||
@Optional.Method(modid = "OpenComputers")
|
|
||||||
public Object[] getInfo(Context context, Arguments args) {
|
|
||||||
return new Object[]{heat, tank.getFill(), tank.getMaxFill(), xCoord, yCoord, zCoord};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.hbm.tileentity.machine.rbmk;
|
package com.hbm.tileentity.machine.rbmk;
|
||||||
|
|
||||||
import api.hbm.fluid.IFluidStandardTransceiver;
|
import api.hbm.fluidmk2.IFluidStandardTransceiverMK2;
|
||||||
|
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
|
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
|
||||||
import com.hbm.handler.CompatHandler;
|
import com.hbm.handler.CompatHandler;
|
||||||
@ -28,7 +29,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
|
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
|
||||||
public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidStandardTransceiver, SimpleComponent, CompatHandler.OCComponent {
|
public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidStandardTransceiverMK2, SimpleComponent, CompatHandler.OCComponent {
|
||||||
|
|
||||||
public FluidTank feed;
|
public FluidTank feed;
|
||||||
public FluidTank steam;
|
public FluidTank steam;
|
||||||
@ -82,7 +83,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I
|
|||||||
|
|
||||||
this.trySubscribe(feed.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y);
|
this.trySubscribe(feed.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y);
|
||||||
for(DirPos pos : getOutputPos()) {
|
for(DirPos pos : getOutputPos()) {
|
||||||
if(this.steam.getFill() > 0) this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
|
if(this.steam.getFill() > 0) this.tryProvide(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 285 B After Width: | Height: | Size: 325 B |
|
Before Width: | Height: | Size: 364 B After Width: | Height: | Size: 440 B |
|
Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 381 B |
|
Before Width: | Height: | Size: 452 B After Width: | Height: | Size: 460 B |