lists and maps copy by reference. use copy to get a copy.
This commit is contained in:
1 parent
848f95cd30
commit
24c1ee8d3d
3 files changed
+10
-5
No files matched your search
@@ -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)
|
||||
|
||||
@@ -58,6 +58,11 @@ public class ListValue extends AbstractListValue implements ContainerValueInterf
|
||||
items.addAll(list);
|
||||
}
|
||||
|
||||
private ListValue(List<Value> 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<? extends Value>) getItems().subList((int)from, (int) to));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -72,9 +72,9 @@ public class MapValue extends AbstractListValue implements ContainerValueInterfa
|
||||
return new MapValue(copyMap);
|
||||
}
|
||||
|
||||
public MapValue(Map<Value,Value> other)
|
||||
private MapValue(Map<Value,Value> other)
|
||||
{
|
||||
map = new HashMap<>(other);
|
||||
map = other;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user