Что нужно чтобы блок мог использовал энергию?

Версия Minecraft
1.12.2
107
2
2
Я в интернете не нашёл гайдов по forge energy и в итоге я не знаю каким образом сделать блок который её будет потреблять.
Что для этого нужно? Энергия должна быть Redstone Flux.
 
Если это энергия из мода, вероятнее всего у мода этого есть API к которому можно привязаться и получить эту энергию
в Forge есть API Forge Energy, который основан на Redstone Flux API от Team CoFH, но я хз как этим пользоваться.
 
Я поэтому гайду частично разобрался как добавить энергию.
Я написал код в TileEntity
Код:
public static final int MAX_POWER = 10000;
public static final int RF_PER_TICK = 10;
public static final int RF_PER_TICK_INPUT = 100;

public void update()
    {
        if (energyStorage.getEnergyStored() < RF_PER_TICK) {

            ItemStack itemstack = this.chestContents.get(0);
                if (!itemstack.isEmpty()) {
                   energyStorage.consumerPower(RF_PER_TICK);
                    int itemdamage = itemstack.getItemDamage();

                    itemstack.setItemDamage(itemdamage - 1);


                }
            }
    }

@Override
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
    if (capability == CapabilityEnergy.ENERGY) return true;
    return super.hasCapability(capability, facing);
}

@Nullable
@Override
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
    if (capability == CapabilityEnergy.ENERGY){
        return CapabilityEnergy.ENERGY.cast(energyStorage);
    }
    return super.getCapability(capability, facing);
}

private MyEnergyStorage energyStorage = new MyEnergyStorage(MAX_POWER, RF_PER_TICK_INPUT);
То из-за строчки if (energyStorage.getEnergyStored() < RF_PER_TICK) ничего не работает, но если её убрать то энергия тратится. Но всё работает даже если энергии 0.
Код:
public class MyEnergyStorage extends EnergyStorage {
    public MyEnergyStorage(int capacity,int maxReceive){
        super(capacity, maxReceive);
    }

    public void setEnergy(int energy){
        this.energy = energy;
    }

    public  void  consumerPower(int energy){
        this.energy = energy;
        if (this.energy < 0){
            this.energy = 0;
        }
    }
}
Что я сделал не так?
 
Тип ты уменьшаешь энергию, если она есть.
Ты не прибавляешь энергию, значит этот if не может работать.
 
Тип ты уменьшаешь энергию, если она есть.
Ты не прибавляешь энергию, значит этот if не может работать.
я щас заметил ошибку, я просто в проверке < поменял на >
 
Назад
Сверху