added refuel functions to TurtleCtl
This commit is contained in:
parent
757d7098cf
commit
a9f6adcd9d
@ -48,6 +48,53 @@ class TurtleCtl extends CLIAppBase {
|
|||||||
handle.writeLine('${lvl}/${limit} (${(lvl / limit) * 100}%)');
|
handle.writeLine('${lvl}/${limit} (${(lvl / limit) * 100}%)');
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerAsyncSubcommand("fuel-sources", (args) -> {
|
||||||
|
return asynPerform(() -> {
|
||||||
|
var items = InvManager.getCombustableItems();
|
||||||
|
|
||||||
|
for (i in items) {
|
||||||
|
handle.writeLine(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Success(null);
|
||||||
|
}, 1);
|
||||||
|
});
|
||||||
|
|
||||||
|
registerAsyncSubcommand("refuel", (args) -> {
|
||||||
|
var refuelTo = Turtle.getFuelLimit();
|
||||||
|
if (args.length > 0) {
|
||||||
|
var split = args[0].split("%");
|
||||||
|
|
||||||
|
if (split.length > 1) {
|
||||||
|
// Is percentage
|
||||||
|
var parsed = Std.parseFloat(split[0]);
|
||||||
|
|
||||||
|
if (parsed == null) {
|
||||||
|
handle.writeLine("Failed to parse ammount");
|
||||||
|
return Future.sync(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
refuelTo = Math.round(refuelTo * (parsed / 100));
|
||||||
|
} else {
|
||||||
|
// Is absolute
|
||||||
|
var parsed = Std.parseInt(args[0]);
|
||||||
|
|
||||||
|
if (parsed == null) {
|
||||||
|
handle.writeLine("Failed to parse ammount");
|
||||||
|
return Future.sync(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
refuelTo = parsed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return asynPerform(() -> {
|
||||||
|
InvManager.refuel(refuelTo, []);
|
||||||
|
|
||||||
|
return Success(null);
|
||||||
|
}, 1);
|
||||||
|
}, "<to|to%>");
|
||||||
}
|
}
|
||||||
|
|
||||||
private function asynPerform(op:Void->Outcome<Noise, String>, times:Int):Future<Bool> {
|
private function asynPerform(op:Void->Outcome<Noise, String>, times:Int):Future<Bool> {
|
||||||
|
Loading…
Reference in New Issue
Block a user