Merge branch 'master' into 1.16

This commit is contained in:
gnembon committed 2020-06-28 14:34:35 -03:00
commit 66a02c06cd
4 files changed
+27 -24

No files matched your search

@@ -759,16 +759,21 @@ public class CarpetExpression
this.expr.addLazyFunction("without_updates", 1, (c, t, lv) ->
{
boolean previous = CarpetSettings.impendingFillSkipUpdates;
try
if (previous) return lv.get(0);
Value [] result = new Value[]{Value.NULL};
((CarpetContext)c).s.getMinecraftServer().submitAndJoin( () ->
{
CarpetSettings.impendingFillSkipUpdates = true;
Value ret = lv.get(0).evalValue(c, t);
return (cc, tt) -> ret;
}
finally
{
CarpetSettings.impendingFillSkipUpdates = previous;
}
try
{
CarpetSettings.impendingFillSkipUpdates = true;
result[0] = lv.get(0).evalValue(c, t);
}
finally
{
CarpetSettings.impendingFillSkipUpdates = previous;
}
});
return (cc, tt) -> result[0];
});
this.expr.addLazyFunction("set", -1, (c, t, lv) ->
@@ -3249,18 +3254,13 @@ public class CarpetExpression
throw new InternalExpressionException("Incorrect dimension string: "+dimString);
innerSource = outerSource.withWorld(outerSource.getMinecraftServer().getWorld(dim));
}
}
try
{
((CarpetContext) c).s = innerSource;
Value retval = lv.get(1).evalValue(c);
return (cc, tt) -> retval;
}
finally
{
((CarpetContext) c).s = outerSource;
}
};
if (innerSource.getWorld() == outerSource.getWorld()) return lv.get(1);
Context newCtx = c.recreate();
((CarpetContext) newCtx).s = innerSource;
newCtx.variables = c.variables;
Value retval = lv.get(1).evalValue(newCtx);
return (cc, tt) -> retval;
});
this.expr.addLazyFunction("plop", 4, (c, t, lv) ->{
+1 -1
View File
@@ -20,7 +20,7 @@ public class Context
public static final int LVALUE = 9;
public static final int MAPDEF = 10;
public final Map<String, LazyValue> variables = new HashMap<>();
public Map<String, LazyValue> variables = new HashMap<>();
public final ScriptHost host;
+1 -1
View File
@@ -13,7 +13,7 @@
"sources": "https://github.com/gnembon/fabric-carpet"
},
"license": "GNU LGPL V3",
"license": "MIT",
"icon": "assets/carpet/icon.png",
"environment": "*",