more thread safe carpet globs

This commit is contained in:
gnembon committed 2021-05-25 17:24:14 -03:00
1 parent 5d00709b1f
commit f18cc1c836
19 files changed
+48 -52

No files matched your search

@@ -688,19 +688,19 @@ public class WorldAccess {
// lazy cause its parked execution
expression.addLazyFunction("without_updates", 1, (c, t, lv) ->
{
boolean previous = CarpetSettings.impendingFillSkipUpdates;
boolean previous = CarpetSettings.impendingFillSkipUpdates.get();
if (previous) return lv.get(0);
Value [] result = new Value[]{Value.NULL};
((CarpetContext)c).s.getMinecraftServer().submitAndJoin( () ->
{
try
{
CarpetSettings.impendingFillSkipUpdates = true;
CarpetSettings.impendingFillSkipUpdates.set(true);
result[0] = lv.get(0).evalValue(c, t);
}
finally
{
CarpetSettings.impendingFillSkipUpdates = previous;
CarpetSettings.impendingFillSkipUpdates.set(previous);
}
});
return (cc, tt) -> result[0];