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[] {}; 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 @Override
@Optional.Method(modid = "OpenComputers") @Optional.Method(modid = "OpenComputers")
public String[] methods() { public String[] methods() {
@ -524,7 +535,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
"getCarbonDioxide", "getCarbonDioxide",
"isActive", "isActive",
"getInfo", "getInfo",
"setActive" "setActive",
"ventCarbonDioxide"
}; };
} }
@ -548,6 +560,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
return getInfo(context, args); return getInfo(context, args);
case ("setActive"): case ("setActive"):
return setActive(context, args); return setActive(context, args);
case ("ventCarbonDioxide"):
return ventCarbonDioxide(context, args);
} }
throw new NoSuchMethodException(); throw new NoSuchMethodException();
} }