This commit is contained in:
mcrcortex
2024-02-13 01:56:04 +10:00
parent 2fad1f96d7
commit 31f228f725
2 changed files with 22 additions and 1 deletions

View File

@@ -17,11 +17,29 @@ public class WorldImportCommand {
return ClientCommandManager.literal("voxy").then( return ClientCommandManager.literal("voxy").then(
ClientCommandManager.literal("import") ClientCommandManager.literal("import")
.then(ClientCommandManager.literal("world") .then(ClientCommandManager.literal("world")
.then(ClientCommandManager.argument("world_name", StringArgumentType.string()).executes(WorldImportCommand::importWorld)))); .then(ClientCommandManager.argument("world_name", StringArgumentType.string()).executes(WorldImportCommand::importWorld)))
.then(ClientCommandManager.literal("bobby")
.then(ClientCommandManager.argument("world_name", StringArgumentType.string()).executes(WorldImportCommand::importBobby)))
.then(ClientCommandManager.literal("raw")
.then(ClientCommandManager.argument("path", StringArgumentType.string()).executes(WorldImportCommand::importRaw))));
} }
public static WorldImporter importerInstance; public static WorldImporter importerInstance;
private static int importRaw(CommandContext<FabricClientCommandSource> ctx) {
var instance = MinecraftClient.getInstance();
var file = new File(ctx.getArgument("path", String.class));
importerInstance = ((IGetVoxelCore)instance.worldRenderer).getVoxelCore().createWorldImporter(MinecraftClient.getInstance().player.clientWorld, file);
return 0;
}
private static int importBobby(CommandContext<FabricClientCommandSource> ctx) {
var instance = MinecraftClient.getInstance();
var file = new File(".bobby").toPath().resolve(ctx.getArgument("world_name", String.class)).toFile();
importerInstance = ((IGetVoxelCore)instance.worldRenderer).getVoxelCore().createWorldImporter(MinecraftClient.getInstance().player.clientWorld, file);
return 0;
}
private static int importWorld(CommandContext<FabricClientCommandSource> ctx) { private static int importWorld(CommandContext<FabricClientCommandSource> ctx) {
var instance = MinecraftClient.getInstance(); var instance = MinecraftClient.getInstance();
var file = new File("saves").toPath().resolve(ctx.getArgument("world_name", String.class)).resolve("region").toFile(); var file = new File("saves").toPath().resolve(ctx.getArgument("world_name", String.class)).resolve("region").toFile();

View File

@@ -156,6 +156,9 @@ public class Serialization {
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
private static List<String> collectAllClasses(Path base, String pack) { private static List<String> collectAllClasses(Path base, String pack) {
if (!Files.exists(base.resolve(pack.replaceAll("[.]", "/")))) {
return List.of();
}
try { try {
return Files.list(base.resolve(pack.replaceAll("[.]", "/"))).flatMap(inner -> { return Files.list(base.resolve(pack.replaceAll("[.]", "/"))).flatMap(inner -> {
if (inner.getFileName().toString().endsWith(".class")) { if (inner.getFileName().toString().endsWith(".class")) {