/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.gui.containers;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mods.railcraft.common.carts.EntityCartRF;
import mods.railcraft.common.gui.widgets.IndicatorWidget;
import mods.railcraft.common.gui.widgets.RFEnergyIndicator;
import mods.railcraft.common.util.network.PacketBuilder;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.ICrafting;
public class ContainerCartRF extends RailcraftContainer {
private final EntityCartRF cart;
private final RFEnergyIndicator energyIndicator;
private int lastEnergy;
public ContainerCartRF(EntityCartRF cart) {
this.cart = cart;
energyIndicator = new RFEnergyIndicator(cart.getMaxRF());
addWidget(new IndicatorWidget(energyIndicator, 57, 38, 176, 0, 62, 8, false));
}
@Override
public void addCraftingToCrafters(ICrafting crafter) {
super.addCraftingToCrafters(crafter);
PacketBuilder.instance().sendGuiIntegerPacket((EntityPlayerMP) crafter, windowId, 0, cart.getRF());
}
@Override
public void sendUpdateToClient() {
super.sendUpdateToClient();
for (int var1 = 0; var1 < crafters.size(); ++var1) {
ICrafting crafter = (ICrafting) crafters.get(var1);
if (lastEnergy != cart.getRF())
PacketBuilder.instance().sendGuiIntegerPacket((EntityPlayerMP) crafter, windowId, 0, cart.getRF());
}
this.lastEnergy = cart.getRF();
}
@Override
@SideOnly(Side.CLIENT)
public void updateProgressBar(int id, int value) {
switch (id) {
case 0:
energyIndicator.setEnergy(value);
break;
}
}
}