Added vent Carbon Dioxide function in Zirnox for OpenComputers

This commit is contained in:
Agarmal 2025-01-16 15:00:17 +01:00
parent 40379c75b0
commit b7d416cd8a

View File

@ -513,6 +513,17 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
return new Object[] {};
}
@Callback(direct = true)
@Optional.Method(modid = "OpenComputers")
public Object[] ventCarbonDioxide(Context context, Arguments args) {
int ventAmount = args.optInteger(0, 1000); // Get how much CO2 to vent in mB (1000mB default)
int fill = this.carbonDioxide.getFill();
this.carbonDioxide.setFill(fill - ventAmount);
if(this.carbonDioxide.getFill() < 0)
this.carbonDioxide.setFill(0);
return new Object[] {};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
@ -524,7 +535,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
"getCarbonDioxide",
"isActive",
"getInfo",
"setActive"
"setActive",
"ventCarbonDioxide"
};
}
@ -548,6 +560,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
return getInfo(context, args);
case ("setActive"):
return setActive(context, args);
case ("ventCarbonDioxide"):
return ventCarbonDioxide(context, args);
}
throw new NoSuchMethodException();
}