This commit is contained in:
gnembon committed 2023-10-11 18:20:30 +02:00
1 parent 4a881264b4
commit 1fe486a5e8
7 files changed
+17 -23

No files matched your search

@@ -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<CommandSourceStack> parseResults, String string, CallbackInfoReturnable<Integer> cir)
private void onExecuteBegin(ParseResults<CommandSourceStack> parseResults, String string, CallbackInfo ci)
{
if (!CarpetSettings.fillUpdates)
CarpetSettings.impendingFillSkipUpdates.set(true);
}
@Inject(method = "performCommand", at = @At("RETURN"))
private void onExecuteEnd(ParseResults<CommandSourceStack> parseResults, String string, CallbackInfoReturnable<Integer> cir)
private void onExecuteEnd(ParseResults<CommandSourceStack> parseResults, String string, CallbackInfo ci)
{
CarpetSettings.impendingFillSkipUpdates.set(false);
}
@@ -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"));
@@ -84,20 +84,18 @@ public class ServerNetworkHandler
String id = commandData.getString("id");
List<Component> 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());
@@ -690,12 +690,11 @@ public class Auxiliary
{
Component[] error = {null};
List<Component> 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])
);
@@ -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<CommandSourceStack> resultConsumer;
private final CommandResultConsumer<CommandSourceStack> 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<CommandSourceStack> 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<CommandSourceStack> consumer, EntityAnchorArgument.Anchor entityAnchor, CommandSigningContext context, TaskChainer chainer,
Component[] error, List<Component> chatOutput
)
{
@@ -134,15 +134,15 @@ public class SnoopyCommandSource extends CommandSourceStack
}
@Override
public CommandSourceStack withCallback(ResultConsumer<CommandSourceStack> consumer)
public CommandSourceStack withCallback(CommandResultConsumer<CommandSourceStack> consumer)
{
return new SnoopyCommandSource(output, position, rotation, world, level, simpleName, name, server, entity, consumer, entityAnchor, signingContext, taskChainer, error, chatOutput);
}
@Override
public CommandSourceStack withCallback(ResultConsumer<CommandSourceStack> consumer, BinaryOperator<ResultConsumer<CommandSourceStack>> binaryOperator)
public CommandSourceStack withCallback(CommandResultConsumer<CommandSourceStack> consumer, BinaryOperator<CommandResultConsumer<CommandSourceStack>> binaryOperator)
{
ResultConsumer<CommandSourceStack> resultConsumer = binaryOperator.apply(this.resultConsumer, consumer);
CommandResultConsumer<CommandSourceStack> resultConsumer = binaryOperator.apply(this.resultConsumer, consumer);
return this.withCallback(resultConsumer);
}