diff --git a/src/net/bdew/lib/data/DataSlotTank.scala b/src/net/bdew/lib/data/DataSlotTank.scala index 8067a27..8be6ac8 100644 --- a/src/net/bdew/lib/data/DataSlotTank.scala +++ b/src/net/bdew/lib/data/DataSlotTank.scala @@ -15,7 +15,6 @@ import net.bdew.lib.data.base.{UpdateKind, TileDataSlots, DataSlot} abstract class DataSlotTankBase(sz: Int) extends FluidTank(sz) with IFluidTank with DataSlot { var oldStack: FluidStack = null - var size: Int parent.serverTick.listen(checkUpdate) @@ -38,7 +37,7 @@ abstract class DataSlotTankBase(sz: Int) extends FluidTank(sz) with IFluidTank w val tag = new NBTTagCompound() writeToNBT(tag) if (k == UpdateKind.GUI) - tag.setInteger("size", size) + tag.setInteger("size", getCapacity) t.setCompoundTag(name, tag) } @@ -46,11 +45,11 @@ abstract class DataSlotTankBase(sz: Int) extends FluidTank(sz) with IFluidTank w val tag = t.getCompoundTag(name) readFromNBT(tag) if (k == UpdateKind.GUI) - size = tag.getInteger("size") + setCapacity(tag.getInteger("size")) } } -case class DataSlotTank(name: String, parent: TileDataSlots, var size: Int) extends DataSlotTankBase(size) +case class DataSlotTank(name: String, parent: TileDataSlots, size: Int) extends DataSlotTankBase(size) case class DataSlotTankRestricted(name: String, parent: TileDataSlots, var size: Int, fluidID: Int) extends DataSlotTankBase(size) { def fill(amount: Int, doFill: Boolean) = super.fill(new FluidStack(fluidID, amount), doFill) diff --git a/src/net/bdew/lib/gui/widgets/WidgetFluidGauge.scala b/src/net/bdew/lib/gui/widgets/WidgetFluidGauge.scala index 39b91f7..6ece74b 100644 --- a/src/net/bdew/lib/gui/widgets/WidgetFluidGauge.scala +++ b/src/net/bdew/lib/gui/widgets/WidgetFluidGauge.scala @@ -37,7 +37,7 @@ class WidgetFluidGauge(val rect: Rect, overlay: TextureLocation, dslot: DataSlot if (fstack != null && fstack.getFluid.getStillIcon != null) { val icon = fstack.getFluid.getStillIcon bindTexture(TextureMap.locationBlocksTexture) - var fillHeight: Int = (rect.h * fstack.amount / dslot.getCapacity).round + var fillHeight: Int = if (dslot.getCapacity > 0) (rect.h * fstack.amount / dslot.getCapacity).round else 0 var yStart: Int = 0 while (fillHeight > 0) {