runAsync method
Implementation
@override
Future<void> runAsync(String label, List<String> args) async {
if (args.length > 2) {
throw const CommandUsageException();
}
final worldName = args.elementAtOrNull(0) ?? defaultWorldName;
final world = server.getWorld(worldName);
if (world == null) {
server.log("Unknown world: $worldName", level: LogLevel.error);
return;
}
final modeName = args.elementAtOrNull(1);
ItemLocation? mode;
if (modeName != null && modeName != 'sandbox') {
mode = ItemLocation.fromString(modeName);
mode = ItemLocation(
server.assetManager.getPackIdOrDefault(mode.namespace),
mode.id,
);
if (server.assetManager.getModeItem(mode) == null) {
server.log("Unknown game mode: $modeName", level: LogLevel.error);
return;
}
}
server.log("Resetting world $worldName…", level: LogLevel.info);
await world.resetWorld(mode);
server.log("World $worldName reset successfully.", level: LogLevel.info);
}