diff --git a/src/main/java/carpet/script/CarpetExpression.java b/src/main/java/carpet/script/CarpetExpression.java index 46a8f0c6..8bb440c9 100644 --- a/src/main/java/carpet/script/CarpetExpression.java +++ b/src/main/java/carpet/script/CarpetExpression.java @@ -2343,7 +2343,7 @@ public class CarpetExpression cz = (int)((NumericValue) lv.get(2).evalValue(c)).getLong(); if (lv.size()==3) { - Value retval = new ListValue(Arrays.asList( + Value retval = ListValue.of( BlockValue.fromCoords(cc, cx, cy-1, cz), BlockValue.fromCoords(cc, cx, cy, cz), BlockValue.fromCoords(cc, cx-1, cy, cz), @@ -2351,7 +2351,7 @@ public class CarpetExpression BlockValue.fromCoords(cc, cx+1, cy, cz), BlockValue.fromCoords(cc, cx, cy, cz+1), BlockValue.fromCoords(cc, cx, cy+1, cz) - )); + ); return (_c, _t ) -> retval; } else if (lv.size()==4) diff --git a/src/main/java/carpet/script/value/ListValue.java b/src/main/java/carpet/script/value/ListValue.java index 397a9baf..acb657a7 100644 --- a/src/main/java/carpet/script/value/ListValue.java +++ b/src/main/java/carpet/script/value/ListValue.java @@ -58,6 +58,11 @@ public class ListValue extends AbstractListValue implements ContainerValueInterf items.addAll(list); } + private ListValue(List list) + { + items = list; + } + public static Value fromItemStack(ItemStack itemstack) { if (itemstack == null || itemstack.isEmpty()) @@ -307,7 +312,7 @@ public class ListValue extends AbstractListValue implements ContainerValueInterf if (from < 0 || from > size) from = size; if (from > to) return ListValue.of(); - return new ListValue(getItems().subList((int)from, (int) to)); + return new ListValue((Collection) getItems().subList((int)from, (int) to)); } @Override diff --git a/src/main/java/carpet/script/value/MapValue.java b/src/main/java/carpet/script/value/MapValue.java index f196b628..fbd6d251 100644 --- a/src/main/java/carpet/script/value/MapValue.java +++ b/src/main/java/carpet/script/value/MapValue.java @@ -72,9 +72,9 @@ public class MapValue extends AbstractListValue implements ContainerValueInterfa return new MapValue(copyMap); } - public MapValue(Map other) + private MapValue(Map other) { - map = new HashMap<>(other); + map = other; } @Override