mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-14 21:02:03 +00:00
Reimplement structure trees with TerraScripts
This commit is contained in:
@@ -21,7 +21,7 @@ public class Block implements Item<Block.ReturnLevel> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReturnLevel apply(Location location, Rotation rotation, int recursions) {
|
||||
public synchronized ReturnLevel apply(Location location, Rotation rotation, int recursions) {
|
||||
for(Item<?> item : items) {
|
||||
Object result = item.apply(location, rotation, recursions);
|
||||
if(result instanceof ReturnLevel) {
|
||||
@@ -33,7 +33,7 @@ public class Block implements Item<Block.ReturnLevel> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReturnLevel apply(Location location, Chunk chunk, Rotation rotation, int recursions) {
|
||||
public synchronized ReturnLevel apply(Location location, Chunk chunk, Rotation rotation, int recursions) {
|
||||
for(Item<?> item : items) {
|
||||
Object result = item.apply(location, chunk, rotation, recursions);
|
||||
if(result instanceof ReturnLevel) {
|
||||
|
||||
+2
-2
@@ -19,14 +19,14 @@ public class Assignment<T> implements Item<T> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public T apply(Location location, Rotation rotation, int recursions) {
|
||||
public synchronized T apply(Location location, Rotation rotation, int recursions) {
|
||||
T val = value.apply(location, rotation, recursions);
|
||||
delegate.setValue(val);
|
||||
return val;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T apply(Location location, Chunk chunk, Rotation rotation, int recursions) {
|
||||
public synchronized T apply(Location location, Chunk chunk, Rotation rotation, int recursions) {
|
||||
T val = value.apply(location, chunk, rotation, recursions);
|
||||
delegate.setValue(val);
|
||||
return val;
|
||||
|
||||
+2
-2
@@ -19,12 +19,12 @@ public class Getter implements Returnable<Object> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object apply(Location location, Rotation rotation, int recursions) {
|
||||
public synchronized Object apply(Location location, Rotation rotation, int recursions) {
|
||||
return delegate.getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object apply(Location location, Chunk chunk, Rotation rotation, int recursions) {
|
||||
public synchronized Object apply(Location location, Chunk chunk, Rotation rotation, int recursions) {
|
||||
return delegate.getValue();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user