package com.thebrokenrail.energonrelics.energy.helper;
import com.thebrokenrail.energonrelics.energy.core.EnergyProviderBlockEntity;
import com.thebrokenrail.energonrelics.energy.core.util.Action;
import net.minecraft.block.entity.BlockEntityType;
public abstract class EnergyGeneratorBlockEntity extends EnergyProviderBlockEntity implements EnergyGenerator {
public EnergyGeneratorBlockEntity(BlockEntityType<?> type) {
super(type);
}
private long energy = 0;
@Override
public boolean isEnergyProvider() {
return true;
public long getEnergy() {
return energy;
public void setEnergy(long value) {
if (value < 0) {
throw new UnsupportedOperationException();
energy = value;
protected void handlePropagatedAction(Action.PropagatedAction action) {
super.handlePropagatedAction(action);
handlePropagatedActionWithGenerator(action);
public abstract long getDisplayEnergy();