diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java index 6e49e2d9c..42599c05e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java @@ -14,7 +14,7 @@ public class Cell implements BufferedItem { @Override public void paste(Vector3 origin, World world) { - items.forEach(item -> item.paste(origin, world)); + items.forEach(item -> item.paste(origin.clone(), world)); } public void add(BufferedItem item) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java index 1c7391c1f..cae9ea259 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java @@ -35,7 +35,7 @@ public class StructureBuffer implements Buffer { @Override public Buffer addItem(BufferedItem item, Vector3 location) { - bufferedItemMap.computeIfAbsent(location, l -> new Cell()).add(item); + bufferedItemMap.computeIfAbsent(location.clone(), l -> new Cell()).add(item); return this; } @@ -50,7 +50,7 @@ public class StructureBuffer implements Buffer { @Override public Buffer setMark(String mark, Vector3 location) { - bufferedItemMap.computeIfAbsent(location, l -> new Cell()).setMark(mark); + bufferedItemMap.computeIfAbsent(location.clone(), l -> new Cell()).setMark(mark); return this; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java index c6b165f31..c81a729c8 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java @@ -68,7 +68,7 @@ public class TerraFlora implements Flora { if(y > 255 || y < 0) continue; current = current.add(0, search.equals(Search.UP) ? 1 : -1, 0); if((spawnBlacklist != spawnable.contains(chunk.getBlockData(current.getBlockX(), current.getBlockY(), current.getBlockZ()).getBlockType())) && isIrrigated(current.add(0, irrigableOffset, 0), chunk) && valid(size, current.clone(), chunk)) { - blocks.add(current); + blocks.add(current.clone()); if(maxPlacements > 0 && blocks.size() >= maxPlacements) break; } }