react to invalidate caps

This commit is contained in:
DBotThePony 2021-08-11 15:00:18 +07:00
parent 5c8657f5b3
commit 610e01f0ea
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -26,6 +26,7 @@ import java.util.Optional;
abstract public class BlockEntityMatteryPoweredMachine extends BlockEntityMatteryMachine {
protected MatteryMachineEnergyStorage energy = null;
protected LazyOptional<MatteryMachineEnergyStorage> energy_resolver = null;
private boolean valid = true;
public SimpleSerializableContainer battery_container = new SimpleSerializableContainer(1);
@ -81,9 +82,21 @@ abstract public class BlockEntityMatteryPoweredMachine extends BlockEntityMatter
super(p_155228_, p_155229_, p_155230_);
}
@Override
public void invalidateCaps() {
super.invalidateCaps();
valid = false;
}
@Override
public void reviveCaps() {
super.reviveCaps();
valid = true;
}
@Nonnull
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
if ((cap == MatteryCapability.ENERGY || cap == CapabilityEnergy.ENERGY) && energy_resolver != null) {
if (valid && (cap == MatteryCapability.ENERGY || cap == CapabilityEnergy.ENERGY) && energy_resolver != null) {
return energy_resolver.cast();
}