diff --git a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java index 9582ba6a1..966bccba4 100644 --- a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java +++ b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java @@ -74,11 +74,6 @@ public class TerraFlora implements Structure { return faces; } - @Override - public String getID() { - return id; - } - @Override public boolean generate(Vector3Int location, WritableWorld world, Random random, Rotation rotation) { boolean doRotation = testRotation.size() > 0; diff --git a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java index 0b9beb671..7ba230f10 100644 --- a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java +++ b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java @@ -95,11 +95,6 @@ public class VanillaOre implements Structure { return true; } - @Override - public String getID() { - return null; - } - public BlockState getMaterial(BlockType replace) { return materials.getOrDefault(replace, material); } diff --git a/common/addons/structure-block-shortcut/src/main/java/com/dfsek/terra/addons/palette/shortcut/block/SingletonStructure.java b/common/addons/structure-block-shortcut/src/main/java/com/dfsek/terra/addons/palette/shortcut/block/SingletonStructure.java index 05f2b02d4..f3f168c5c 100644 --- a/common/addons/structure-block-shortcut/src/main/java/com/dfsek/terra/addons/palette/shortcut/block/SingletonStructure.java +++ b/common/addons/structure-block-shortcut/src/main/java/com/dfsek/terra/addons/palette/shortcut/block/SingletonStructure.java @@ -1,6 +1,7 @@ package com.dfsek.terra.addons.palette.shortcut.block; import com.dfsek.terra.api.block.state.BlockState; +import com.dfsek.terra.api.registry.key.RegistryKey; import com.dfsek.terra.api.structure.Structure; import com.dfsek.terra.api.util.Rotation; import com.dfsek.terra.api.util.vector.Vector3Int; @@ -21,9 +22,4 @@ public class SingletonStructure implements Structure { world.setBlockState(location, blockState); return true; } - - @Override - public String getID() { - return blockState.getAsString(); - } } diff --git a/common/addons/structure-sponge-loader/src/main/java/com/dfsek/terra/addons/sponge/SpongeStructure.java b/common/addons/structure-sponge-loader/src/main/java/com/dfsek/terra/addons/sponge/SpongeStructure.java index 1820174a5..d44eb772e 100644 --- a/common/addons/structure-sponge-loader/src/main/java/com/dfsek/terra/addons/sponge/SpongeStructure.java +++ b/common/addons/structure-sponge-loader/src/main/java/com/dfsek/terra/addons/sponge/SpongeStructure.java @@ -10,6 +10,8 @@ package com.dfsek.terra.addons.sponge; import java.util.Random; import com.dfsek.terra.api.block.state.BlockState; +import com.dfsek.terra.api.registry.key.Keyed; +import com.dfsek.terra.api.registry.key.RegistryKey; import com.dfsek.terra.api.structure.Structure; import com.dfsek.terra.api.util.Rotation; import com.dfsek.terra.api.util.vector.Vector2Int; @@ -17,13 +19,13 @@ import com.dfsek.terra.api.util.vector.Vector3Int; import com.dfsek.terra.api.world.WritableWorld; -public class SpongeStructure implements Structure { +public class SpongeStructure implements Structure, Keyed { private final BlockState[][][] blocks; - private final String id; + private final RegistryKey id; - public SpongeStructure(BlockState[][][] blocks, String id) { + public SpongeStructure(BlockState[][][] blocks, RegistryKey id) { this.blocks = blocks; this.id = id; } @@ -49,7 +51,7 @@ public class SpongeStructure implements Structure { } @Override - public String getID() { + public RegistryKey getRegistryKey() { return id; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java index dbedfb730..d07858cf9 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java @@ -7,6 +7,8 @@ package com.dfsek.terra.addons.terrascript.script; +import com.dfsek.terra.api.registry.key.Keyed; +import com.dfsek.terra.api.registry.key.RegistryKey; import com.dfsek.terra.api.util.vector.Vector3Int; import net.jafama.FastMath; @@ -49,14 +51,14 @@ import com.dfsek.terra.api.util.Rotation; import com.dfsek.terra.api.world.WritableWorld; -public class StructureScript implements Structure { +public class StructureScript implements Structure, Keyed { private static final Logger LOGGER = LoggerFactory.getLogger(StructureScript.class); private final Block block; - private final String id; + private final RegistryKey id; private final Platform platform; @SuppressWarnings("rawtypes") - public StructureScript(InputStream inputStream, String id, Platform platform, Registry registry, + public StructureScript(InputStream inputStream, RegistryKey id, Platform platform, Registry registry, Registry lootRegistry, Registry functionRegistry) { Parser parser; @@ -148,7 +150,7 @@ public class StructureScript implements Structure { } @Override - public String getID() { - return id; + public RegistryKey getRegistryKey() { + return null; } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/structure/Structure.java b/common/api/src/main/java/com/dfsek/terra/api/structure/Structure.java index 9194edfdd..110f87dc8 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/structure/Structure.java +++ b/common/api/src/main/java/com/dfsek/terra/api/structure/Structure.java @@ -9,12 +9,13 @@ package com.dfsek.terra.api.structure; import java.util.Random; +import com.dfsek.terra.api.registry.key.Keyed; import com.dfsek.terra.api.util.Rotation; import com.dfsek.terra.api.registry.key.StringIdentifiable; import com.dfsek.terra.api.util.vector.Vector3Int; import com.dfsek.terra.api.world.WritableWorld; -public interface Structure extends StringIdentifiable { +public interface Structure { boolean generate(Vector3Int location, WritableWorld world, Random random, Rotation rotation); }