This commit is contained in:
modmuss50 2015-11-01 16:45:58 +00:00
parent dedb00aa7e
commit 50a830a101
4 changed files with 51 additions and 4 deletions

View file

@ -1,6 +1,9 @@
package techreborn.client.container; package techreborn.client.container;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import techreborn.client.SlotFake; import techreborn.client.SlotFake;
import techreborn.client.SlotOutput; import techreborn.client.SlotOutput;
@ -9,6 +12,8 @@ import techreborn.tiles.TileDieselGenerator;
public class ContainerDieselGenerator extends TechRebornContainer { public class ContainerDieselGenerator extends TechRebornContainer {
public TileDieselGenerator tiledieselGenerator; public TileDieselGenerator tiledieselGenerator;
public EntityPlayer player; public EntityPlayer player;
public int energy;
public int fluid;
public ContainerDieselGenerator(TileDieselGenerator tiledieselGenerator, public ContainerDieselGenerator(TileDieselGenerator tiledieselGenerator,
EntityPlayer player) { EntityPlayer player) {
@ -42,4 +47,36 @@ public class ContainerDieselGenerator extends TechRebornContainer {
public boolean canInteractWith(EntityPlayer player) { public boolean canInteractWith(EntityPlayer player) {
return true; return true;
} }
@Override
public void detectAndSendChanges() {
super.detectAndSendChanges();
for (int i = 0; i < this.crafters.size(); i++) {
ICrafting icrafting = (ICrafting) this.crafters.get(i);
if (this.energy != (int) tiledieselGenerator.getEnergy()) {
icrafting.sendProgressBarUpdate(this, 0, (int) tiledieselGenerator.getEnergy());
}
if (this.fluid != tiledieselGenerator.tank.getFluidAmount()) {
icrafting.sendProgressBarUpdate(this, 1, tiledieselGenerator.tank.getFluidAmount());
}
}
}
@Override
public void addCraftingToCrafters(ICrafting crafting) {
super.addCraftingToCrafters(crafting);
crafting.sendProgressBarUpdate(this, 0, (int) tiledieselGenerator.getEnergy());
crafting.sendProgressBarUpdate(this, 1, tiledieselGenerator.tank.getFluidAmount());
}
@SideOnly(Side.CLIENT)
@Override
public void updateProgressBar(int id, int value) {
if (id == 0) {
this.energy = value;
}else
if (id == 1) {
this.fluid = value;
}
}
} }

View file

@ -15,11 +15,14 @@ public class GuiDieselGenerator extends GuiContainer {
TileDieselGenerator tile; TileDieselGenerator tile;
ContainerDieselGenerator containerDieselGenerator;
public GuiDieselGenerator(EntityPlayer player, TileDieselGenerator tile) { public GuiDieselGenerator(EntityPlayer player, TileDieselGenerator tile) {
super(new ContainerDieselGenerator(tile, player)); super(new ContainerDieselGenerator(tile, player));
this.xSize = 176; this.xSize = 176;
this.ySize = 167; this.ySize = 167;
this.tile = tile; this.tile = tile;
containerDieselGenerator = (ContainerDieselGenerator) this.inventorySlots;
} }
@Override @Override
@ -39,7 +42,11 @@ public class GuiDieselGenerator extends GuiContainer {
I18n.format("container.inventory", new Object[0]), 8, I18n.format("container.inventory", new Object[0]), 8,
this.ySize - 96 + 2, 4210752); this.ySize - 96 + 2, 4210752);
this.fontRendererObj.drawString("Liquid Amount", 10, 20, 16448255); this.fontRendererObj.drawString("Liquid Amount", 10, 20, 16448255);
this.fontRendererObj.drawString(tile.tank.getFluidAmount() + "", 10, this.fontRendererObj.drawString(containerDieselGenerator.fluid + "", 10,
30, 16448255); 30, 16448255);
this.fontRendererObj.drawString("EU Amount", 10, 40, 16448255);
this.fontRendererObj.drawString(containerDieselGenerator.energy + "", 10,
50, 16448255);
} }
} }

View file

@ -227,7 +227,7 @@ public abstract class TilePowerAcceptor extends RFProviderTile implements
double energyReceived = Math.min(getMaxPower() - energy, Math.min(this.getMaxPower(), energy)); double energyReceived = Math.min(getMaxPower() - energy, Math.min(this.getMaxPower(), energy));
if (!simulate) { if (!simulate) {
setEnergy(energy + energyReceived); setEnergy(getEnergy() + energyReceived);
} }
return energyReceived; return energyReceived;
} }

View file

@ -89,11 +89,13 @@ public class TileDieselGenerator extends TilePowerAcceptor implements IWrenchabl
@Override @Override
public boolean canFill(ForgeDirection from, Fluid fluid) { public boolean canFill(ForgeDirection from, Fluid fluid) {
System.out.println("hi");
return FluidPowerManager.fluidPowerValues.containsKey(fluid); return FluidPowerManager.fluidPowerValues.containsKey(fluid);
} }
@Override @Override
public boolean canDrain(ForgeDirection from, Fluid fluid) { public boolean canDrain(ForgeDirection from, Fluid fluid) {
System.out.println("hi");
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid; return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
} }
@ -149,9 +151,10 @@ public class TileDieselGenerator extends TilePowerAcceptor implements IWrenchabl
if (!tank.isEmpty()) { if (!tank.isEmpty()) {
double powerIn = FluidPowerManager.fluidPowerValues.get(tank.getFluidType()); double powerIn = FluidPowerManager.fluidPowerValues.get(tank.getFluidType());
if(getFreeSpace() >= powerIn){ if(getFreeSpace() >= powerIn){
addEnergy(powerIn); addEnergy(powerIn, false);
tank.drain(1, true); tank.drain(1, true);
} System.out.println(getEnergy() + ":" + tank.getFluidAmount());
}
} }
} }