From ef383b6e134b94572892b80f7e637c457e627dcd Mon Sep 17 00:00:00 2001 From: Forwolk Date: Thu, 2 Aug 2018 09:25:47 +0300 Subject: [PATCH] Interfaces implementations --- .../main/java/mc/world/flat/FlatWorld.java | 17 ++++++++++++++++ .../mc/world/generated_world/CubicWorld.java | 20 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/flat_world/src/main/java/mc/world/flat/FlatWorld.java b/flat_world/src/main/java/mc/world/flat/FlatWorld.java index 418fbab..0671c31 100644 --- a/flat_world/src/main/java/mc/world/flat/FlatWorld.java +++ b/flat_world/src/main/java/mc/world/flat/FlatWorld.java @@ -4,12 +4,14 @@ */ package mc.world.flat; +import com.flowpowered.nbt.Tag; import lombok.Getter; import lombok.Setter; import mc.core.Location; import mc.core.world.*; import java.util.UUID; +import java.util.stream.Stream; public class FlatWorld implements World { @@ -50,4 +52,19 @@ public class FlatWorld implements World { public int getSeed() { return 0; } + + @Override + public Tag getTag(String name) { + throw new UnsupportedOperationException(); + } + + @Override + public void setTag(Tag tag) { + throw new UnsupportedOperationException(); + } + + @Override + public Stream> tagStream() { + throw new UnsupportedOperationException(); + } } diff --git a/generated_world/src/main/java/mc/world/generated_world/CubicWorld.java b/generated_world/src/main/java/mc/world/generated_world/CubicWorld.java index 1f21785..2d785aa 100644 --- a/generated_world/src/main/java/mc/world/generated_world/CubicWorld.java +++ b/generated_world/src/main/java/mc/world/generated_world/CubicWorld.java @@ -1,10 +1,14 @@ package mc.world.generated_world; +import com.flowpowered.nbt.Tag; import lombok.Getter; import mc.core.Location; import mc.core.world.*; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; +import java.util.stream.Stream; public class CubicWorld implements World { @Getter @@ -13,6 +17,7 @@ public class CubicWorld implements World { private volatile Location spawnLocation; private final transient Object spawnLocationLock = new Object(); private final transient ChunkLoader chunkLoader; + private final Map> nbtTagMap = new HashMap<>(); public CubicWorld(UUID worldId, int seed) { this.worldId = worldId; @@ -86,4 +91,19 @@ public class CubicWorld implements World { public int getSeed() { return seed; } + + @Override + public Tag getTag(String name) { + return nbtTagMap.get(name); + } + + @Override + public void setTag(Tag tag) { + nbtTagMap.put(tag.getName(), tag); + } + + @Override + public Stream> tagStream() { + return nbtTagMap.values().stream(); + } }