Prepare for 1.19 dev
This commit is contained in:
		
					parent
					
						
							
								f34f678b20
							
						
					
				
			
			
				commit
				
					
						1148687a8d
					
				
			
		
					 1302 changed files with 120 additions and 61 deletions
				
			
		|  | @ -1,98 +0,0 @@ | |||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||||
| From: Jake Potrebic <jake.m.potrebic@gmail.com> | ||||
| Date: Sun, 20 Dec 2020 16:41:44 -0800 | ||||
| Subject: [PATCH] Added WorldGameRuleChangeEvent | ||||
| 
 | ||||
| 
 | ||||
| diff --git a/src/main/java/net/minecraft/server/commands/GameRuleCommand.java b/src/main/java/net/minecraft/server/commands/GameRuleCommand.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/main/java/net/minecraft/server/commands/GameRuleCommand.java
 | ||||
| +++ b/src/main/java/net/minecraft/server/commands/GameRuleCommand.java
 | ||||
| @@ -0,0 +0,0 @@ public class GameRuleCommand {
 | ||||
|          CommandSourceStack commandlistenerwrapper = (CommandSourceStack) context.getSource(); | ||||
|          T t0 = commandlistenerwrapper.getLevel().getGameRules().getRule(key); // CraftBukkit | ||||
|   | ||||
| -        t0.setFromArgument(context, "value");
 | ||||
| +        t0.setFromArgument(context, "value", key); // Paper
 | ||||
|          commandlistenerwrapper.sendSuccess(new TranslatableComponent("commands.gamerule.set", new Object[]{key.getId(), t0.toString()}), true); | ||||
|          return t0.getCommandResult(); | ||||
|      } | ||||
| diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/main/java/net/minecraft/world/level/GameRules.java
 | ||||
| +++ b/src/main/java/net/minecraft/world/level/GameRules.java
 | ||||
| @@ -0,0 +0,0 @@ public class GameRules {
 | ||||
|              this.type = type; | ||||
|          } | ||||
|   | ||||
| -        protected abstract void updateFromArgument(CommandContext<CommandSourceStack> context, String name);
 | ||||
| +        protected abstract void updateFromArgument(CommandContext<CommandSourceStack> context, String name, GameRules.Key<T> gameRuleKey); // Paper
 | ||||
|   | ||||
| -        public void setFromArgument(CommandContext<CommandSourceStack> context, String name) {
 | ||||
| -            this.updateFromArgument(context, name);
 | ||||
| +        public void setFromArgument(CommandContext<CommandSourceStack> context, String name, GameRules.Key<T> gameRuleKey) { // Paper
 | ||||
| +            this.updateFromArgument(context, name, gameRuleKey); // Paper
 | ||||
|              this.onChanged(((CommandSourceStack) context.getSource()).getServer()); | ||||
|          } | ||||
|   | ||||
| @@ -0,0 +0,0 @@ public class GameRules {
 | ||||
|          } | ||||
|   | ||||
|          @Override | ||||
| -        protected void updateFromArgument(CommandContext<CommandSourceStack> context, String name) {
 | ||||
| -            this.value = BoolArgumentType.getBool(context, name);
 | ||||
| +        protected void updateFromArgument(CommandContext<CommandSourceStack> context, String name, GameRules.Key<BooleanValue> gameRuleKey) { // Paper start
 | ||||
| +            io.papermc.paper.event.world.WorldGameRuleChangeEvent event = new io.papermc.paper.event.world.WorldGameRuleChangeEvent(context.getSource().getBukkitWorld(), context.getSource().getBukkitSender(), (org.bukkit.GameRule<Boolean>) org.bukkit.GameRule.getByName(gameRuleKey.toString()), String.valueOf(BoolArgumentType.getBool(context, name)));
 | ||||
| +            if (!event.callEvent()) return;
 | ||||
| +            this.value = Boolean.parseBoolean(event.getValue());
 | ||||
| +            // Paper end
 | ||||
|          } | ||||
|   | ||||
|          public boolean get() { | ||||
| @@ -0,0 +0,0 @@ public class GameRules {
 | ||||
|          } | ||||
|   | ||||
|          @Override | ||||
| -        protected void updateFromArgument(CommandContext<CommandSourceStack> context, String name) {
 | ||||
| -            this.value = IntegerArgumentType.getInteger(context, name);
 | ||||
| +        protected void updateFromArgument(CommandContext<CommandSourceStack> context, String name, GameRules.Key<IntegerValue> gameRuleKey) { // Paper start
 | ||||
| +            io.papermc.paper.event.world.WorldGameRuleChangeEvent event = new io.papermc.paper.event.world.WorldGameRuleChangeEvent(context.getSource().getBukkitWorld(), context.getSource().getBukkitSender(), (org.bukkit.GameRule<Integer>) org.bukkit.GameRule.getByName(gameRuleKey.toString()), String.valueOf(IntegerArgumentType.getInteger(context, name)));
 | ||||
| +            if (!event.callEvent()) return;
 | ||||
| +            this.value = Integer.parseInt(event.getValue());
 | ||||
| +            // Paper end
 | ||||
|          } | ||||
|   | ||||
|          public int get() { | ||||
| diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 | ||||
| +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 | ||||
| @@ -0,0 +0,0 @@ public class CraftWorld extends CraftRegionAccessor implements World {
 | ||||
|   | ||||
|          if (!this.isGameRule(rule)) return false; | ||||
|   | ||||
| +        // Paper start
 | ||||
| +        GameRule<?> gameRule = GameRule.getByName(rule);
 | ||||
| +        io.papermc.paper.event.world.WorldGameRuleChangeEvent event = new io.papermc.paper.event.world.WorldGameRuleChangeEvent(this, null, gameRule, value);
 | ||||
| +        if (!event.callEvent()) return false;
 | ||||
| +        // Paper end
 | ||||
|          GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule)); | ||||
| -        handle.deserialize(value);
 | ||||
| +        handle.deserialize(event.getValue()); // Paper
 | ||||
|          handle.onChanged(this.getHandle().getServer()); | ||||
|          return true; | ||||
|      } | ||||
| @@ -0,0 +0,0 @@ public class CraftWorld extends CraftRegionAccessor implements World {
 | ||||
|   | ||||
|          if (!this.isGameRule(rule.getName())) return false; | ||||
|   | ||||
| +        // Paper start
 | ||||
| +        io.papermc.paper.event.world.WorldGameRuleChangeEvent event = new io.papermc.paper.event.world.WorldGameRuleChangeEvent(this, null, rule, String.valueOf(newValue));
 | ||||
| +        if (!event.callEvent()) return false;
 | ||||
| +        // Paper end
 | ||||
|          GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName())); | ||||
| -        handle.deserialize(newValue.toString());
 | ||||
| +        handle.deserialize(event.getValue()); // Paper
 | ||||
|          handle.onChanged(this.getHandle().getServer()); | ||||
|          return true; | ||||
|      } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nassim Jahnke
				Nassim Jahnke