diff --git a/common/src/main/java/com/dfsek/terra/api/math/vector/Location.java b/common/src/main/java/com/dfsek/terra/api/math/vector/Location.java index 4fb2435b5..a030f9e49 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/vector/Location.java +++ b/common/src/main/java/com/dfsek/terra/api/math/vector/Location.java @@ -106,6 +106,11 @@ public class Location implements Cloneable { return this; } + public Location add(Location add) { + vector.add(add.toVector()); + return this; + } + @Override public boolean equals(Object obj) { if(!(obj instanceof Location)) { diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java b/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java index d72f441f9..79cb7e2e6 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java @@ -14,10 +14,10 @@ import com.dfsek.terra.api.structures.script.builders.CheckFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.EntityFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.GetMarkFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.LootFunctionBuilder; -import com.dfsek.terra.api.structures.script.builders.MarkFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.PullFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.RandomFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.RecursionsFunctionBuilder; +import com.dfsek.terra.api.structures.script.builders.SetMarkFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.StateFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.StructureFunctionBuilder; import com.dfsek.terra.api.structures.script.builders.UnaryNumberFunctionBuilder; @@ -58,7 +58,7 @@ public class StructureScript { .registerFunction("structure", new StructureFunctionBuilder(registry, main)) .registerFunction("randomInt", new RandomFunctionBuilder()) .registerFunction("recursions", new RecursionsFunctionBuilder()) - .registerFunction("setMark", new MarkFunctionBuilder()) + .registerFunction("setMark", new SetMarkFunctionBuilder()) .registerFunction("getMark", new GetMarkFunctionBuilder()) .registerFunction("pull", new PullFunctionBuilder(main)) .registerFunction("loot", new LootFunctionBuilder(main, lootRegistry)) diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/GetMarkFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/GetMarkFunctionBuilder.java index 5da2fa0e5..e93fbdc2b 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/GetMarkFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/GetMarkFunctionBuilder.java @@ -1,6 +1,5 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.script.functions.GetMarkFunction; @@ -15,7 +14,7 @@ public class GetMarkFunctionBuilder implements FunctionBuilder @SuppressWarnings("unchecked") @Override - public GetMarkFunction build(List> argumentList, Position position) throws ParseException { + public GetMarkFunction build(List> argumentList, Position position) { return new GetMarkFunction((Returnable) argumentList.get(0), (Returnable) argumentList.get(1), (Returnable) argumentList.get(2), position); } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/MarkFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/SetMarkFunctionBuilder.java similarity index 61% rename from common/src/main/java/com/dfsek/terra/api/structures/script/builders/MarkFunctionBuilder.java rename to common/src/main/java/com/dfsek/terra/api/structures/script/builders/SetMarkFunctionBuilder.java index cf73e0948..76fc5ec39 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/MarkFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/SetMarkFunctionBuilder.java @@ -3,20 +3,20 @@ package com.dfsek.terra.api.structures.script.builders; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; -import com.dfsek.terra.api.structures.script.functions.MarkFunction; +import com.dfsek.terra.api.structures.script.functions.SetMarkFunction; import com.dfsek.terra.api.structures.tokenizer.Position; import java.util.List; -public class MarkFunctionBuilder implements FunctionBuilder { +public class SetMarkFunctionBuilder implements FunctionBuilder { - public MarkFunctionBuilder() { + public SetMarkFunctionBuilder() { } @SuppressWarnings("unchecked") @Override - public MarkFunction build(List> argumentList, Position position) throws ParseException { - return new MarkFunction((Returnable) argumentList.get(0), (Returnable) argumentList.get(1), (Returnable) argumentList.get(2), (Returnable) argumentList.get(3), position); + public SetMarkFunction build(List> argumentList, Position position) throws ParseException { + return new SetMarkFunction((Returnable) argumentList.get(0), (Returnable) argumentList.get(1), (Returnable) argumentList.get(2), (Returnable) argumentList.get(3), position); } @Override diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/UnaryStringFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/UnaryStringFunctionBuilder.java index f3436899a..619326773 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/UnaryStringFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/UnaryStringFunctionBuilder.java @@ -45,7 +45,7 @@ public class UnaryStringFunctionBuilder implements FunctionBuilder { @Override public Void apply(ImplementationArguments implementationArguments) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; + BlockData rot = data.clone(); + Vector2 xz = new Vector2(x.apply(implementationArguments).doubleValue(), z.apply(implementationArguments).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - BlockData rot = data.clone(); + RotationUtil.rotateBlockData(rot, arguments.getRotation().inverse()); - arguments.getBuffer().addItem(new BufferedBlock(rot, overwrite.apply(implementationArguments)), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); + arguments.getBuffer().addItem(new BufferedBlock(rot, overwrite.apply(implementationArguments)), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).doubleValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java index 2c238cc64..8582af9ba 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java @@ -30,7 +30,7 @@ public class CheckBlockFunction implements Function { RotationUtil.rotateVector(xz, arguments.getRotation()); - String data = arguments.getBuffer().getOrigin().clone().add(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))).getBlock().getBlockData().getAsString(); + String data = arguments.getBuffer().getOrigin().clone().add(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).doubleValue(), FastMath.roundToInt(xz.getZ()))).getBlock().getBlockData().getAsString(); if(data.contains("[")) return data.substring(0, data.indexOf('[')); // Strip properties else return data; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java index 05de2816b..0be6ac4a1 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java @@ -43,7 +43,7 @@ public class CheckFunction implements Function { RotationUtil.rotateVector(xz, arguments.getRotation()); - Location location = arguments.getBuffer().getOrigin().clone().add(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); + Location location = arguments.getBuffer().getOrigin().clone().add(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).doubleValue(), FastMath.roundToInt(xz.getZ()))); return apply(location, arguments.getBuffer().getOrigin().getWorld()); } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java index 614603d09..e96d5c5d1 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java @@ -37,7 +37,7 @@ public class EntityFunction implements Function { RotationUtil.rotateVector(xz, arguments.getRotation()); - arguments.getBuffer().addItem(new BufferedEntity(data), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); + arguments.getBuffer().addItem(new BufferedEntity(data), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java index 797544529..b2610b9cd 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java @@ -7,7 +7,6 @@ import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.Function; import com.dfsek.terra.api.structures.script.TerraImplementationArguments; import com.dfsek.terra.api.structures.structure.RotationUtil; -import com.dfsek.terra.api.structures.structure.buffer.items.Mark; import com.dfsek.terra.api.structures.tokenizer.Position; import net.jafama.FastMath; @@ -28,8 +27,8 @@ public class GetMarkFunction implements Function { Vector2 xz = new Vector2(x.apply(implementationArguments).doubleValue(), z.apply(implementationArguments).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - Mark mark = arguments.getBuffer().getMark(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); - return mark == null ? "" : mark.getContent(); + String mark = arguments.getBuffer().getMark(new Vector3(FastMath.floorToInt(xz.getX()), FastMath.floorToInt(y.apply(implementationArguments).doubleValue()), FastMath.floorToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); + return mark == null ? "" : mark; } @Override @@ -39,6 +38,6 @@ public class GetMarkFunction implements Function { @Override public ReturnType returnType() { - return ReturnType.VOID; + return ReturnType.STRING; } } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java index d1f197e25..a8421f81c 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java @@ -46,7 +46,7 @@ public class LootFunction implements Function { return null; } - arguments.getBuffer().addItem(new BufferedLootApplication(table, main), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); + arguments.getBuffer().addItem(new BufferedLootApplication(table, main), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java index 8f6e45a86..e3722dbc1 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java @@ -38,7 +38,7 @@ public class PullFunction implements Function { RotationUtil.rotateVector(xz, arguments.getRotation()); BlockData rot = data.clone(); RotationUtil.rotateBlockData(rot, arguments.getRotation().inverse()); - arguments.getBuffer().addItem(new BufferedPulledBlock(rot), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); + arguments.getBuffer().addItem(new BufferedPulledBlock(rot), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/MarkFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/SetMarkFunction.java similarity index 71% rename from common/src/main/java/com/dfsek/terra/api/structures/script/functions/MarkFunction.java rename to common/src/main/java/com/dfsek/terra/api/structures/script/functions/SetMarkFunction.java index 671973eb3..f439d5acc 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/MarkFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/SetMarkFunction.java @@ -2,22 +2,20 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.Function; import com.dfsek.terra.api.structures.script.TerraImplementationArguments; import com.dfsek.terra.api.structures.structure.RotationUtil; -import com.dfsek.terra.api.structures.structure.buffer.items.Mark; import com.dfsek.terra.api.structures.tokenizer.Position; import net.jafama.FastMath; -public class MarkFunction implements Function { +public class SetMarkFunction implements Function { private final Returnable x, y, z; private final Position position; private final Returnable mark; - public MarkFunction(Returnable x, Returnable y, Returnable z, Returnable mark, Position position) throws ParseException { + public SetMarkFunction(Returnable x, Returnable y, Returnable z, Returnable mark, Position position) { this.position = position; this.mark = mark; this.x = x; @@ -32,7 +30,7 @@ public class MarkFunction implements Function { RotationUtil.rotateVector(xz, arguments.getRotation()); - arguments.getBuffer().setMark(new Mark(mark.apply(implementationArguments)), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); + arguments.getBuffer().setMark(mark.apply(implementationArguments), new Vector3(FastMath.floorToInt(xz.getX()), FastMath.floorToInt(y.apply(implementationArguments).doubleValue()), FastMath.floorToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java index 54f40462e..341a34d2d 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java @@ -33,7 +33,7 @@ public class StateFunction implements Function { Vector2 xz = new Vector2(x.apply(implementationArguments).doubleValue(), z.apply(implementationArguments).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - arguments.getBuffer().addItem(new BufferedStateManipulator(main, data.apply(implementationArguments)), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ()))); + arguments.getBuffer().addItem(new BufferedStateManipulator(main, data.apply(implementationArguments)), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java index 7a4c41184..3a23e54aa 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java @@ -65,7 +65,7 @@ public class StructureFunction implements Function { return null; } - Vector3 offset = new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).intValue(), FastMath.roundToInt(xz.getZ())); + Vector3 offset = new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments).doubleValue(), FastMath.roundToInt(xz.getZ())); return script.executeInBuffer(new IntermediateBuffer(arguments.getBuffer(), offset), arguments.getRandom(), arguments.getRotation().rotate(rotation1), arguments.getRecursions() + 1); } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java index 80a74afe5..319534b78 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java @@ -1,16 +1,14 @@ package com.dfsek.terra.api.structures.structure.buffer; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; -import com.dfsek.terra.api.structures.structure.buffer.items.Mark; public interface Buffer { - Buffer addItem(BufferedItem item, Vector3 location); + Buffer addItem(BufferedItem item, Location location); Location getOrigin(); - Mark getMark(Vector3 location); + String getMark(Location location); - Buffer setMark(Mark mark, Vector3 location); + Buffer setMark(String mark, Location location); } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java index ab0b6742e..faf4860ab 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java @@ -2,14 +2,13 @@ package com.dfsek.terra.api.structures.structure.buffer; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; -import com.dfsek.terra.api.structures.structure.buffer.items.Mark; import com.dfsek.terra.api.util.GlueList; import java.util.List; public class Cell implements BufferedItem { private final List items = new GlueList<>(); - private Mark mark = null; + private String mark = null; @Override @@ -21,11 +20,11 @@ public class Cell implements BufferedItem { items.add(item); } - public Mark getMark() { + public String getMark() { return mark; } - public void setMark(Mark mark) { + public void setMark(String mark) { this.mark = mark; } } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java index 4011760c1..34250571f 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java @@ -3,7 +3,6 @@ package com.dfsek.terra.api.structures.structure.buffer; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; -import com.dfsek.terra.api.structures.structure.buffer.items.Mark; public class IntermediateBuffer implements Buffer { private final Buffer original; @@ -11,11 +10,11 @@ public class IntermediateBuffer implements Buffer { public IntermediateBuffer(Buffer original, Vector3 offset) { this.original = original; - this.offset = offset; + this.offset = offset.clone(); } @Override - public Buffer addItem(BufferedItem item, Vector3 location) { + public Buffer addItem(BufferedItem item, Location location) { return original.addItem(item, location.add(offset)); } @@ -25,12 +24,12 @@ public class IntermediateBuffer implements Buffer { } @Override - public Mark getMark(Vector3 location) { + public String getMark(Location location) { return original.getMark(location.add(offset)); } @Override - public Buffer setMark(Mark mark, Vector3 location) { + public Buffer setMark(String mark, Location location) { original.setMark(mark, location.add(offset)); return this; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java index 62261bf64..6ff3029c6 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java @@ -1,17 +1,15 @@ package com.dfsek.terra.api.structures.structure.buffer; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; -import com.dfsek.terra.api.structures.structure.buffer.items.Mark; import net.jafama.FastMath; import java.util.LinkedHashMap; import java.util.Map; public class StructureBuffer implements Buffer { - private final Map bufferedItemMap = new LinkedHashMap<>(); + private final Map bufferedItemMap = new LinkedHashMap<>(); private final Location origin; private boolean succeeded; @@ -33,13 +31,13 @@ public class StructureBuffer implements Buffer { } @Override - public Buffer addItem(BufferedItem item, Vector3 location) { + public Buffer addItem(BufferedItem item, Location location) { bufferedItemMap.computeIfAbsent(location, l -> new Cell()).add(item); return this; } @Override - public Mark getMark(Vector3 location) { + public String getMark(Location location) { Cell cell = bufferedItemMap.get(location); if(cell != null) { return cell.getMark(); @@ -48,7 +46,7 @@ public class StructureBuffer implements Buffer { } @Override - public Buffer setMark(Mark mark, Vector3 location) { + public Buffer setMark(String mark, Location location) { bufferedItemMap.computeIfAbsent(location, l -> new Cell()).setMark(mark); return this; } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/Mark.java b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/Mark.java deleted file mode 100644 index 532030b87..000000000 --- a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/Mark.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.dfsek.terra.api.structures.structure.buffer.items; - -public class Mark { - private final String content; - - public Mark(String content) { - this.content = content; - } - - public String getContent() { - return content; - } -}