From 5129403d89bcb1c2eb88b16c331bfc55aaff71d0 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 31 Dec 2020 05:56:37 +0300 Subject: [PATCH] Structure fix --- .../java/ru/betterend/world/biome/EndBiome.java | 3 +-- .../ru/betterend/world/features/ListFeature.java | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/ru/betterend/world/biome/EndBiome.java b/src/main/java/ru/betterend/world/biome/EndBiome.java index 1dc07120..7ab7a540 100644 --- a/src/main/java/ru/betterend/world/biome/EndBiome.java +++ b/src/main/java/ru/betterend/world/biome/EndBiome.java @@ -8,7 +8,6 @@ import com.google.common.collect.Lists; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import net.minecraft.structure.Structure; import net.minecraft.util.Identifier; import net.minecraft.world.biome.Biome; import ru.betterend.config.Configs; @@ -146,7 +145,7 @@ public class EndBiome { List list = Lists.newArrayList(); enties.forEach((entry) -> { JsonObject e = entry.getAsJsonObject(); - Structure structure = StructureHelper.readStructure(path + e.get("nbt").getAsString() + ".nbt"); + String structure = path + e.get("nbt").getAsString() + ".nbt"; TerrainMerge terrainMerge = TerrainMerge.getFromString(e.get("terrainMerge").getAsString()); int offsetY = e.get("offsetY").getAsInt(); list.add(new StructureInfo(structure, offsetY, terrainMerge)); diff --git a/src/main/java/ru/betterend/world/features/ListFeature.java b/src/main/java/ru/betterend/world/features/ListFeature.java index a2fd9143..5872d0d2 100644 --- a/src/main/java/ru/betterend/world/features/ListFeature.java +++ b/src/main/java/ru/betterend/world/features/ListFeature.java @@ -10,6 +10,7 @@ import net.minecraft.util.BlockRotation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.StructureWorldAccess; import ru.betterend.registry.EndTags; +import ru.betterend.util.StructureHelper; public class ListFeature extends NBTStructureFeature { private final List list; @@ -57,13 +58,22 @@ public class ListFeature extends NBTStructureFeature { public static final class StructureInfo { public final TerrainMerge terrainMerge; - public final Structure structure; + public final String structurePath; public final int offsetY; - public StructureInfo(Structure structure, int offsetY, TerrainMerge terrainMerge) { + private Structure structure; + + public StructureInfo(String structurePath, int offsetY, TerrainMerge terrainMerge) { this.terrainMerge = terrainMerge; - this.structure = structure; + this.structurePath = structurePath; this.offsetY = offsetY; } + + public Structure getStructure() { + if (structure == null) { + structure = StructureHelper.readStructure(structurePath); + } + return structure; + } } }