// Path: src/main/java/com/nauktis/solarflux/reference/NBTConstants.java
// public final class NBTConstants {
//     private static final String NBT_PREFIX = "SF";
//     public static final String TIER_INDEX = NBT_PREFIX + "TierIndex";
//     public static final String ITEMS = NBT_PREFIX + "Items";
//     public static final String SLOT = NBT_PREFIX + "Slot";
//     public static final String ENERGY = NBT_PREFIX + "Energy";
// 
//     private static final String TOOLTIP_PREFIX = NBT_PREFIX + "TL";
//     public static final String TOOLTIP_UPGRADE_COUNT = TOOLTIP_PREFIX + "UpgradeCount";
//     public static final String TOOLTIP_TRANSFER_RATE = TOOLTIP_PREFIX + "TransferRate";
//     public static final String TOOLTIP_CAPACITY = TOOLTIP_PREFIX + "Capacity";
// 
//     private NBTConstants() {
// 
//     }
// }


import cofh.api.energy.IEnergyReceiver;
import cofh.api.energy.IEnergyStorage;
import com.google.common.base.Objects;
import com.nauktis.solarflux.reference.NBTConstants;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
package com.nauktis.solarflux.blocks;


public class StatefulEnergyStorage implements IEnergyStorage {
    protected int mEnergy;
    protected int mCapacity;
    protected int mMaxTransferReceive;
    protected int mMaxTransferExtract;

    public StatefulEnergyStorage(int pCapacity) {
        this(pCapacity, pCapacity, pCapacity);
    }

    public StatefulEnergyStorage(int pCapacity, int pMaxTransfer) {
        this(pCapacity, pMaxTransfer, pMaxTransfer);
    }

    public StatefulEnergyStorage(int pCapacity, int pMaxTransferReceive, int pMaxTransferExtract) {
        mCapacity = pCapacity;
        mMaxTransferReceive = pMaxTransferReceive;
        mMaxTransferExtract = pMaxTransferExtract;
    }

    public void readFromNBT(NBTTagCompound pNbt) {
// Path: src/main/java/com/nauktis/solarflux/reference/NBTConstants.java
// public final class NBTConstants {
//     private static final String NBT_PREFIX = "SF";
//     public static final String TIER_INDEX = NBT_PREFIX + "TierIndex";
//     public static final String ITEMS = NBT_PREFIX + "Items";
//     public static final String SLOT = NBT_PREFIX + "Slot";
//     public static final String ENERGY = NBT_PREFIX + "Energy";
// 
//     private static final String TOOLTIP_PREFIX = NBT_PREFIX + "TL";
//     public static final String TOOLTIP_UPGRADE_COUNT = TOOLTIP_PREFIX + "UpgradeCount";
//     public static final String TOOLTIP_TRANSFER_RATE = TOOLTIP_PREFIX + "TransferRate";
//     public static final String TOOLTIP_CAPACITY = TOOLTIP_PREFIX + "Capacity";
// 
//     private NBTConstants() {
// 
//     }
// }


// Path: src/main/java/com/nauktis/solarflux/blocks/StatefulEnergyStorage.java
import cofh.api.energy.IEnergyReceiver;
import cofh.api.energy.IEnergyStorage;
import com.google.common.base.Objects;
import com.nauktis.solarflux.reference.NBTConstants;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;

package com.nauktis.solarflux.blocks;


public class StatefulEnergyStorage implements IEnergyStorage {
    protected int mEnergy;
    protected int mCapacity;
    protected int mMaxTransferReceive;
    protected int mMaxTransferExtract;

    public StatefulEnergyStorage(int pCapacity) {
        this(pCapacity, pCapacity, pCapacity);
    }

    public StatefulEnergyStorage(int pCapacity, int pMaxTransfer) {
        this(pCapacity, pMaxTransfer, pMaxTransfer);
    }

    public StatefulEnergyStorage(int pCapacity, int pMaxTransferReceive, int pMaxTransferExtract) {
        mCapacity = pCapacity;
        mMaxTransferReceive = pMaxTransferReceive;
        mMaxTransferExtract = pMaxTransferExtract;
    }

    public void readFromNBT(NBTTagCompound pNbt) {
        setEnergyStored(pNbt.getInteger(NBTConstants.ENERGY));