From bd030ec37458eddcc077286e9cf80d710c15bfa1 Mon Sep 17 00:00:00 2001 From: CreepyCre Date: Thu, 4 Feb 2021 14:13:57 +0100 Subject: [PATCH] some cleaning & fixes --- .../dimdoors/pockets/SchematicV2Handler.java | 27 ++++--------------- .../pockets/generator/ChunkGenerator.java | 8 +++--- .../dimdev/dimdoors/world/ModDimensions.java | 2 +- 3 files changed, 10 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/dimdev/dimdoors/pockets/SchematicV2Handler.java b/src/main/java/org/dimdev/dimdoors/pockets/SchematicV2Handler.java index 442cd2cd..a4f90936 100644 --- a/src/main/java/org/dimdev/dimdoors/pockets/SchematicV2Handler.java +++ b/src/main/java/org/dimdev/dimdoors/pockets/SchematicV2Handler.java @@ -42,7 +42,7 @@ public class SchematicV2Handler { try { Path path = Paths.get(SchematicV2Handler.class.getResource("/data/dimdoors/pockets/generators").toURI()); - loadCompound(path, new String[0], this::loadPocketGenerator); + loadJson(path, new String[0], this::loadPocketGenerator); LOGGER.info("Loaded pockets in {} seconds", System.currentTimeMillis() - startTime); } catch (URISyntaxException e) { LOGGER.error(e); @@ -51,14 +51,14 @@ public class SchematicV2Handler { startTime = System.currentTimeMillis(); try { Path path = Paths.get(SchematicV2Handler.class.getResource("/data/dimdoors/pockets/groups").toURI()); - loadCompound(path, new String[0], this::loadPocketGroup); + loadJson(path, new String[0], this::loadPocketGroup); LOGGER.info("Loaded pocket groups in {} seconds", System.currentTimeMillis() - startTime); } catch (URISyntaxException e) { LOGGER.error(e); } } - private void loadCompound(Path path, String[] idParts, BiConsumer loader) { + private void loadJson(Path path, String[] idParts, BiConsumer loader) { if (Files.isDirectory(path)) { try { for (Path directoryPath : Files.newDirectoryStream(path)) { @@ -66,7 +66,7 @@ public class SchematicV2Handler { String fileName = directoryPath.getFileName().toString(); if (Files.isRegularFile(directoryPath)) fileName = fileName.substring(0, fileName.lastIndexOf('.')); // cut extension directoryIdParts[directoryIdParts.length - 1] = fileName; - loadCompound(directoryPath, directoryIdParts, loader); + loadJson(directoryPath, directoryIdParts, loader); } } catch (IOException e) { LOGGER.error("could not load pocket data in path " + path.toString() + " due to malformed json.", e); @@ -75,30 +75,13 @@ public class SchematicV2Handler { String id = String.join(".", idParts); try { JsonElement json = GSON.fromJson(String.join("", Files.readAllLines(path)), JsonElement.class); - loader.accept(id, jsonToTag(json)); + loader.accept(id, JsonOps.INSTANCE.convertTo(NbtOps.INSTANCE, json)); } catch (IOException e) { LOGGER.error("could not load pocket data in path " + path.toString() + " due to malformed json.", e); } } } - private Tag jsonToTag(JsonElement json) { - if (json.isJsonArray()) { - ListTag listTag = new ListTag(); - for (JsonElement jsonElement : (JsonArray) json) { - Tag tag = jsonToTag(jsonElement); - if (tag != null) listTag.add(jsonToTag(jsonElement)); - } - return listTag; - } - else if (json.isJsonObject()) { - return CompoundTag.CODEC.decode(JsonOps.INSTANCE, json).getOrThrow(false, LOGGER::error).getFirst(); - } else { - LOGGER.error("JsonElement was not JsonObject or JsonArray!"); - return null; - } - } - private void loadPocketGroup(String id, Tag tag) { VirtualPocket group = VirtualPocket.deserialize(tag); LOGGER.info(VirtualPocket.serialize(group).toString()); diff --git a/src/main/java/org/dimdev/dimdoors/pockets/generator/ChunkGenerator.java b/src/main/java/org/dimdev/dimdoors/pockets/generator/ChunkGenerator.java index 6d969272..4cd86166 100644 --- a/src/main/java/org/dimdev/dimdoors/pockets/generator/ChunkGenerator.java +++ b/src/main/java/org/dimdev/dimdoors/pockets/generator/ChunkGenerator.java @@ -80,8 +80,8 @@ public class ChunkGenerator extends PocketGenerator { ServerWorld world = parameters.getWorld(); VirtualLocation sourceVirtualLocation = parameters.getSourceVirtualLocation(); - int ChunkSizeX = ((this.size.getX() >> 4) + (this.size.getX() % 16 == 0 ? 0 : 1)); - int ChunkSizeZ = ((this.size.getZ() >> 4) + (this.size.getZ() % 16 == 0 ? 0 : 1)); + int chunkSizeX = ((this.size.getX() >> 4) + (this.size.getX() % 16 == 0 ? 0 : 1)); + int chunkSizeZ = ((this.size.getZ() >> 4) + (this.size.getZ() % 16 == 0 ? 0 : 1)); Pocket pocket = DimensionalRegistry.getPocketDirectory(world.getRegistryKey()).newPocket(); pocket.setSize(size); @@ -93,8 +93,8 @@ public class ChunkGenerator extends PocketGenerator { net.minecraft.world.gen.chunk.ChunkGenerator genWorldChunkGenerator = genWorld.getChunkManager().getChunkGenerator(); ArrayList protoChunks = new ArrayList<>(); - for (int z = 0; z < ChunkSizeZ; z++) { - for (int x = 0; x < ChunkSizeX; x++) { + for (int z = 0; z < chunkSizeZ; z++) { + for (int x = 0; x < chunkSizeX; x++) { ProtoChunk protoChunk = new ProtoChunk(new ChunkPos(pocket.getOrigin().add(x * 16, 0, z * 16)), UpgradeData.NO_UPGRADE_DATA); protoChunk.setLightingProvider(genWorld.getLightingProvider()); protoChunks.add(protoChunk); diff --git a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java index f70d787c..a879e32e 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java @@ -51,7 +51,7 @@ public final class ModDimensions { } public static boolean isPersonalPocketDimension(World world) { - return isPocketDimension(world.getRegistryKey()); + return world != null && world == PERSONAL_POCKET_DIMENSION; } public static boolean isPocketDimension(RegistryKey type) {