@@ -0,0 +1,1134 @@
+package com.mcgoodtime.gti.common.tiles.tileslots;%0A%0Aimport com.mcgoodtime.gti.common.tiles.TileElectricContainer;%0Aimport ic2.api.item.ElectricItem;%0Aimport net.minecraft.item.ItemStack;%0A%0A/**%0A * Created by BestOwl on 2015.11.28.0028.%0A *%0A * @author BestOwl%0A */%0Apublic class TileSlotCharge extends TileSlot %7B%0A%0A    public TileSlotCharge(TileElectricContainer tile, SlotMode mode) %7B%0A        super(tile, mode);%0A    %7D%0A%0A    /**%0A     * Whether the current item can be inputted.%0A     *%0A     * @param itemStack Input item.%0A     */%0A    @SuppressWarnings(%22NumericOverflow%22)%0A    @Override%0A    public boolean canInput(ItemStack itemStack) %7B%0A        return ElectricItem.manager.charge(itemStack, 1.0D / 0.0, ((TileElectricContainer) this.tile).tier, true, true) %3E 0.0D;%0A    %7D%0A%0A    public double charge(double amount) %7B%0A        if(amount %3C= 0.0D) %7B%0A            throw new IllegalArgumentException(%22Amount must be %3E 0.%22);%0A        %7D else %7B%0A            ItemStack itemStack = this.getStack();%0A            return itemStack == null?0.0D:ElectricItem.manager.charge(itemStack, amount, ((TileElectricContainer) this.tile).tier, false, false);%0A        %7D%0A    %7D%0A%7D%0A

Add TileSlotCharge