aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/mache-vineflower/net/minecraft/server/commands/GameRuleCommand.java.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/mache-vineflower/net/minecraft/server/commands/GameRuleCommand.java.patch')
-rw-r--r--patch-remap/mache-vineflower/net/minecraft/server/commands/GameRuleCommand.java.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/patch-remap/mache-vineflower/net/minecraft/server/commands/GameRuleCommand.java.patch b/patch-remap/mache-vineflower/net/minecraft/server/commands/GameRuleCommand.java.patch
new file mode 100644
index 0000000000..4ac723ebec
--- /dev/null
+++ b/patch-remap/mache-vineflower/net/minecraft/server/commands/GameRuleCommand.java.patch
@@ -0,0 +1,73 @@
+--- a/net/minecraft/server/commands/GameRuleCommand.java
++++ b/net/minecraft/server/commands/GameRuleCommand.java
+@@ -4,39 +4,48 @@
+ import com.mojang.brigadier.builder.LiteralArgumentBuilder;
+ import com.mojang.brigadier.context.CommandContext;
+ import net.minecraft.commands.CommandSourceStack;
+-import net.minecraft.commands.Commands;
+ import net.minecraft.network.chat.Component;
+ import net.minecraft.world.level.GameRules;
+
+ public class GameRuleCommand {
++
++ public GameRuleCommand() {}
++
+ public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
+- final LiteralArgumentBuilder<CommandSourceStack> literalArgumentBuilder = Commands.literal("gamerule").requires(source -> source.hasPermission(2));
+- GameRules.visitGameRuleTypes(
+- new GameRules.GameRuleTypeVisitor() {
+- @Override
+- public <T extends GameRules.Value<T>> void visit(GameRules.Key<T> key, GameRules.Type<T> type) {
+- literalArgumentBuilder.then(
+- Commands.literal(key.getId())
+- .executes(context -> GameRuleCommand.queryRule(context.getSource(), key))
+- .then(type.createArgument("value").executes(context -> GameRuleCommand.setRule(context, key)))
+- );
+- }
++ final LiteralArgumentBuilder<CommandSourceStack> literalargumentbuilder = (LiteralArgumentBuilder) net.minecraft.commands.Commands.literal("gamerule").requires((commandlistenerwrapper) -> {
++ return commandlistenerwrapper.hasPermission(2);
++ });
++
++ GameRules.visitGameRuleTypes(new GameRules.GameRuleTypeVisitor() {
++ @Override
++ public <T extends GameRules.Value<T>> void visit(GameRules.Key<T> key, GameRules.Type<T> type) {
++ literalargumentbuilder.then(((LiteralArgumentBuilder) net.minecraft.commands.Commands.literal(key.getId()).executes((commandcontext) -> {
++ return GameRuleCommand.queryRule((CommandSourceStack) commandcontext.getSource(), key);
++ })).then(type.createArgument("value").executes((commandcontext) -> {
++ return GameRuleCommand.setRule(commandcontext, key);
++ })));
+ }
+- );
+- dispatcher.register(literalArgumentBuilder);
++ });
++ dispatcher.register(literalargumentbuilder);
+ }
+
+ static <T extends GameRules.Value<T>> int setRule(CommandContext<CommandSourceStack> source, GameRules.Key<T> gameRule) {
+- CommandSourceStack commandSourceStack = source.getSource();
+- T rule = commandSourceStack.getServer().getGameRules().getRule(gameRule);
+- rule.setFromArgument(source, "value");
+- commandSourceStack.sendSuccess(() -> Component.translatable("commands.gamerule.set", gameRule.getId(), rule.toString()), true);
+- return rule.getCommandResult();
++ CommandSourceStack commandlistenerwrapper = (CommandSourceStack) source.getSource();
++ T t0 = commandlistenerwrapper.getLevel().getGameRules().getRule(gameRule); // CraftBukkit
++
++ t0.setFromArgument(source, "value");
++ commandlistenerwrapper.sendSuccess(() -> {
++ return Component.translatable("commands.gamerule.set", gameRule.getId(), t0.toString());
++ }, true);
++ return t0.getCommandResult();
+ }
+
+ static <T extends GameRules.Value<T>> int queryRule(CommandSourceStack source, GameRules.Key<T> gameRule) {
+- T rule = source.getServer().getGameRules().getRule(gameRule);
+- source.sendSuccess(() -> Component.translatable("commands.gamerule.query", gameRule.getId(), rule.toString()), false);
+- return rule.getCommandResult();
++ T t0 = source.getLevel().getGameRules().getRule(gameRule); // CraftBukkit
++
++ source.sendSuccess(() -> {
++ return Component.translatable("commands.gamerule.query", gameRule.getId(), t0.toString());
++ }, false);
++ return t0.getCommandResult();
+ }
+ }