Expose origin-less constructors and methods (#1556)
This commit is contained in:
1 parent
f63c6acb05
commit
b1c29efa2b
4 files changed
+17
-8
No files matched your search
@@ -8,6 +8,11 @@ public class CarpetContext extends Context
|
|||||||
{
|
{
|
||||||
public CommandSourceStack s;
|
public CommandSourceStack s;
|
||||||
public final BlockPos origin;
|
public final BlockPos origin;
|
||||||
|
|
||||||
|
public CarpetContext(ScriptHost host, CommandSourceStack source) {
|
||||||
|
this(host, source, BlockPos.ZERO);
|
||||||
|
}
|
||||||
|
|
||||||
public CarpetContext(ScriptHost host, CommandSourceStack source, BlockPos origin)
|
public CarpetContext(ScriptHost host, CommandSourceStack source, BlockPos origin)
|
||||||
{
|
{
|
||||||
super(host);
|
super(host);
|
||||||
|
|||||||
@@ -1221,7 +1221,7 @@ public class CarpetEventServer
|
|||||||
if (executingHost == null) return CallbackResult.FAIL;
|
if (executingHost == null) return CallbackResult.FAIL;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
executingHost.callUDF(BlockPos.ZERO, source.withPermission(CarpetSettings.runPermissionLevel), udf, argv);
|
executingHost.callUDF(source.withPermission(CarpetSettings.runPermissionLevel), udf, argv);
|
||||||
return CallbackResult.SUCCESS;
|
return CallbackResult.SUCCESS;
|
||||||
}
|
}
|
||||||
catch (NullPointerException | InvalidCallbackException | IntegrityException error)
|
catch (NullPointerException | InvalidCallbackException | IntegrityException error)
|
||||||
|
|||||||
@@ -764,7 +764,7 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
{
|
{
|
||||||
// TODO: this is just for now - invoke would be able to invoke other hosts scripts
|
// TODO: this is just for now - invoke would be able to invoke other hosts scripts
|
||||||
assertAppIntegrity(function.getModule());
|
assertAppIntegrity(function.getModule());
|
||||||
Context context = new CarpetContext(this, source, BlockPos.ZERO);
|
Context context = new CarpetContext(this, source);
|
||||||
return scriptServer().events.handleEvents.getWhileDisabled(() -> function.getExpression().evalValue(
|
return scriptServer().events.handleEvents.getWhileDisabled(() -> function.getExpression().evalValue(
|
||||||
() -> function.lazyEval(context, Context.VOID, function.getExpression(), function.getToken(), argv),
|
() -> function.lazyEval(context, Context.VOID, function.getExpression(), function.getToken(), argv),
|
||||||
context,
|
context,
|
||||||
@@ -795,7 +795,7 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
assertAppIntegrity(function.getModule());
|
assertAppIntegrity(function.getModule());
|
||||||
Context context = new CarpetContext(this, source, BlockPos.ZERO);
|
Context context = new CarpetContext(this, source);
|
||||||
return function.getExpression().evalValue(
|
return function.getExpression().evalValue(
|
||||||
() -> function.execute(context, Context.VOID, function.getExpression(), function.getToken(), argv),
|
() -> function.execute(context, Context.VOID, function.getExpression(), function.getToken(), argv),
|
||||||
context,
|
context,
|
||||||
@@ -808,7 +808,12 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Value callUDF(BlockPos pos, CommandSourceStack source, FunctionValue fun, List<Value> argv) throws InvalidCallbackException, IntegrityException
|
public Value callUDF(CommandSourceStack source, FunctionValue fun, List<Value> argv) throws InvalidCallbackException, IntegrityException
|
||||||
|
{
|
||||||
|
return callUDF(BlockPos.ZERO, source, fun, argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Value callUDF(BlockPos origin, CommandSourceStack source, FunctionValue fun, List<Value> argv) throws InvalidCallbackException, IntegrityException
|
||||||
{
|
{
|
||||||
if (CarpetServer.scriptServer.stopAll)
|
if (CarpetServer.scriptServer.stopAll)
|
||||||
return Value.NULL;
|
return Value.NULL;
|
||||||
@@ -824,7 +829,7 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
assertAppIntegrity(fun.getModule());
|
assertAppIntegrity(fun.getModule());
|
||||||
Context context = new CarpetContext(this, source, pos);
|
Context context = new CarpetContext(this, source, origin);
|
||||||
return fun.getExpression().evalValue(
|
return fun.getExpression().evalValue(
|
||||||
() -> fun.execute(context, Context.VOID, fun.getExpression(), fun.getToken(), argv),
|
() -> fun.execute(context, Context.VOID, fun.getExpression(), fun.getToken(), argv),
|
||||||
context,
|
context,
|
||||||
@@ -844,7 +849,7 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
return scriptServer().events.handleEvents.getWhileDisabled(()->{
|
return scriptServer().events.handleEvents.getWhileDisabled(()->{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return callUDF(BlockPos.ZERO, source, fun, arguments);
|
return callUDF(source, fun, arguments);
|
||||||
}
|
}
|
||||||
catch (InvalidCallbackException ignored)
|
catch (InvalidCallbackException ignored)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.OptionalInt;
|
import java.util.OptionalInt;
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
import net.minecraft.core.BlockPos;
|
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.nbt.ListTag;
|
import net.minecraft.nbt.ListTag;
|
||||||
import net.minecraft.nbt.Tag;
|
import net.minecraft.nbt.Tag;
|
||||||
@@ -182,7 +181,7 @@ public class ScreenValue extends Value {
|
|||||||
CarpetScriptHost executingHost = appHost.retrieveForExecution(source,player);
|
CarpetScriptHost executingHost = appHost.retrieveForExecution(source,player);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Value cancelValue = executingHost.callUDF(BlockPos.ZERO, source.withPermission(CarpetSettings.runPermissionLevel), callback, args);
|
Value cancelValue = executingHost.callUDF(source.withPermission(CarpetSettings.runPermissionLevel), callback, args);
|
||||||
return cancelValue.getString().equals("cancel");
|
return cancelValue.getString().equals("cancel");
|
||||||
}
|
}
|
||||||
catch (NullPointerException | InvalidCallbackException | IntegrityException error)
|
catch (NullPointerException | InvalidCallbackException | IntegrityException error)
|
||||||
|
|||||||
Reference in new issue
Block a user