diff --git a/docs/scarpet/api/Auxiliary.md b/docs/scarpet/api/Auxiliary.md
index 544ed6c2..0d264bd8 100644
--- a/docs/scarpet/api/Auxiliary.md
+++ b/docs/scarpet/api/Auxiliary.md
@@ -407,14 +407,14 @@ read_file('foo', 'shared_text') => ['one', 'two', 'three', '', 'four', '', '
### `run(expr)`
-Runs a vanilla command from the string result of the `expr` and returns a triple of success count,
+Runs a vanilla command from the string result of the `expr` and returns a triple of 0 (unused after success count removal),
intercepted list of output messages, and error message if the command resulted in a failure.
Successful commands return `null` as their error.
-run('fill 1 1 1 10 10 10 air') -> [123, ["Successfully filled 123 blocks"], null] // 123 block were filled, this operation was successful 123 times out of a possible 1000 block volume
-run('give @s stone 4') -> [1, ["Gave 4 [Stone] to gnembon"], null] // this operation was successful once
-run('seed') -> [-170661413, ["Seed: [4031384495743822299]"], null]
+run('fill 1 1 1 10 10 10 air') -> [0, ["Successfully filled 123 blocks"], null]
+run('give @s stone 4') -> [0, ["Gave 4 [Stone] to gnembon"], null]
+run('seed') -> [0, ["Seed: [4031384495743822299]"], null]
run('sed') -> [0, [], "sed<--[HERE]"] // wrong command
diff --git a/gradle.properties b/gradle.properties
index 0beaf261..d4998990 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G
# Fabric Properties
# check https://fabricmc.net/develop/
- minecraft_version=23w40a
+ minecraft_version=23w41a
loader_version=0.14.22
jsr305_version=3.0.2
fabric_version=0.89.3+1.20.2
diff --git a/src/main/java/carpet/mixins/Commands_customCommandsMixin.java b/src/main/java/carpet/mixins/Commands_customCommandsMixin.java
index cac7058b..88de8145 100644
--- a/src/main/java/carpet/mixins/Commands_customCommandsMixin.java
+++ b/src/main/java/carpet/mixins/Commands_customCommandsMixin.java
@@ -15,8 +15,6 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
-
@Mixin(Commands.class)
public abstract class Commands_customCommandsMixin
@@ -32,14 +30,14 @@ public abstract class Commands_customCommandsMixin
}
@Inject(method = "performCommand", at = @At("HEAD"))
- private void onExecuteBegin(ParseResults parseResults, String string, CallbackInfoReturnable cir)
+ private void onExecuteBegin(ParseResults parseResults, String string, CallbackInfo ci)
{
if (!CarpetSettings.fillUpdates)
CarpetSettings.impendingFillSkipUpdates.set(true);
}
@Inject(method = "performCommand", at = @At("RETURN"))
- private void onExecuteEnd(ParseResults parseResults, String string, CallbackInfoReturnable cir)
+ private void onExecuteEnd(ParseResults parseResults, String string, CallbackInfo ci)
{
CarpetSettings.impendingFillSkipUpdates.set(false);
}
diff --git a/src/main/java/carpet/network/CarpetClient.java b/src/main/java/carpet/network/CarpetClient.java
index 5075adaa..5be5f453 100644
--- a/src/main/java/carpet/network/CarpetClient.java
+++ b/src/main/java/carpet/network/CarpetClient.java
@@ -94,7 +94,6 @@ public class CarpetClient
CarpetSettings.LOG.info("Server Response:");
CompoundTag tag = (CompoundTag) t;
CarpetSettings.LOG.info(" - id: " + tag.getString("id"));
- CarpetSettings.LOG.info(" - code: " + tag.getInt("code"));
if (tag.contains("error"))
{
CarpetSettings.LOG.warn(" - error: " + tag.getString("error"));
diff --git a/src/main/java/carpet/network/ServerNetworkHandler.java b/src/main/java/carpet/network/ServerNetworkHandler.java
index 327fb20c..6bf8b153 100644
--- a/src/main/java/carpet/network/ServerNetworkHandler.java
+++ b/src/main/java/carpet/network/ServerNetworkHandler.java
@@ -84,20 +84,18 @@ public class ServerNetworkHandler
String id = commandData.getString("id");
List output = new ArrayList<>();
Component[] error = {null};
- int resultCode = -1;
if (player.getServer() == null)
{
error[0] = Component.literal("No Server");
}
else
{
- resultCode = player.getServer().getCommands().performPrefixedCommand(
+ player.getServer().getCommands().performPrefixedCommand(
new SnoopyCommandSource(player, error, output), command
);
}
CompoundTag result = new CompoundTag();
result.putString("id", id);
- result.putInt("code", resultCode);
if (error[0] != null)
{
result.putString("error", error[0].getContents().toString());
diff --git a/src/main/java/carpet/script/api/Auxiliary.java b/src/main/java/carpet/script/api/Auxiliary.java
index fe2de599..6fc6a1a4 100644
--- a/src/main/java/carpet/script/api/Auxiliary.java
+++ b/src/main/java/carpet/script/api/Auxiliary.java
@@ -690,12 +690,11 @@ public class Auxiliary
{
Component[] error = {null};
List output = new ArrayList<>();
- Value retval = new NumericValue(s.getServer().getCommands().performPrefixedCommand(
+ s.getServer().getCommands().performPrefixedCommand(
new SnoopyCommandSource(s, error, output),
- lv.get(0).getString())
- );
+ lv.get(0).getString());
return ListValue.of(
- retval,
+ NumericValue.ZERO,
ListValue.wrap(output.stream().map(FormattedTextValue::new)),
FormattedTextValue.of(error[0])
);
diff --git a/src/main/java/carpet/script/utils/SnoopyCommandSource.java b/src/main/java/carpet/script/utils/SnoopyCommandSource.java
index adc181d7..7e7a89c6 100644
--- a/src/main/java/carpet/script/utils/SnoopyCommandSource.java
+++ b/src/main/java/carpet/script/utils/SnoopyCommandSource.java
@@ -1,7 +1,7 @@
package carpet.script.utils;
import carpet.script.external.Vanilla;
-import com.mojang.brigadier.ResultConsumer;
+import net.minecraft.commands.CommandResultConsumer;
import net.minecraft.commands.CommandSigningContext;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
@@ -33,7 +33,7 @@ public class SnoopyCommandSource extends CommandSourceStack
private final MinecraftServer server;
// skipping silent since snooper is never silent
private final Entity entity;
- private final ResultConsumer resultConsumer;
+ private final CommandResultConsumer resultConsumer;
private final EntityAnchorArgument.Anchor entityAnchor;
private final Vec2 rotation;
// good stuff
@@ -91,7 +91,7 @@ public class SnoopyCommandSource extends CommandSourceStack
this.taskChainer = TaskChainer.immediate(player.server);
}
- private SnoopyCommandSource(CommandSource output, Vec3 pos, Vec2 rot, ServerLevel world, int level, String simpleName, Component name, MinecraftServer server, @Nullable Entity entity, ResultConsumer consumer, EntityAnchorArgument.Anchor entityAnchor, CommandSigningContext context, TaskChainer chainer,
+ private SnoopyCommandSource(CommandSource output, Vec3 pos, Vec2 rot, ServerLevel world, int level, String simpleName, Component name, MinecraftServer server, @Nullable Entity entity, CommandResultConsumer consumer, EntityAnchorArgument.Anchor entityAnchor, CommandSigningContext context, TaskChainer chainer,
Component[] error, List chatOutput
)
{
@@ -134,15 +134,15 @@ public class SnoopyCommandSource extends CommandSourceStack
}
@Override
- public CommandSourceStack withCallback(ResultConsumer consumer)
+ public CommandSourceStack withCallback(CommandResultConsumer consumer)
{
return new SnoopyCommandSource(output, position, rotation, world, level, simpleName, name, server, entity, consumer, entityAnchor, signingContext, taskChainer, error, chatOutput);
}
@Override
- public CommandSourceStack withCallback(ResultConsumer consumer, BinaryOperator> binaryOperator)
+ public CommandSourceStack withCallback(CommandResultConsumer consumer, BinaryOperator> binaryOperator)
{
- ResultConsumer resultConsumer = binaryOperator.apply(this.resultConsumer, consumer);
+ CommandResultConsumer resultConsumer = binaryOperator.apply(this.resultConsumer, consumer);
return this.withCallback(resultConsumer);
}