[ci skip] Cleanup diff in Async command map building (#6492)
This commit is contained in:
		
					parent
					
						
							
								5ce32344db
							
						
					
				
			
			
				commit
				
					
						b0d8230b5a
					
				
			
		
					 3 changed files with 10 additions and 34 deletions
				
			
		| 
						 | 
					@ -26,47 +26,23 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 | 
				
			||||||
+        });
 | 
					+        });
 | 
				
			||||||
+    }
 | 
					+    }
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+    private void sendAsync(ServerPlayer entityplayer) {
 | 
					+    private void sendAsync(ServerPlayer player) {
 | 
				
			||||||
+        // Paper end - Async command map building
 | 
					+        // Paper end - Async command map building
 | 
				
			||||||
         Map<CommandNode<CommandSourceStack>, CommandNode<SharedSuggestionProvider>> map = Maps.newIdentityHashMap(); // Use identity to prevent aliasing issues
 | 
					         Map<CommandNode<CommandSourceStack>, CommandNode<SharedSuggestionProvider>> map = Maps.newIdentityHashMap(); // Use identity to prevent aliasing issues
 | 
				
			||||||
         RootCommandNode vanillaRoot = new RootCommandNode();
 | 
					         RootCommandNode vanillaRoot = new RootCommandNode();
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-        RootCommandNode<CommandSourceStack> vanilla = player.server.vanillaCommandDispatcher.getDispatcher().getRoot();
 | 
					@@ -0,0 +0,0 @@ public class Commands {
 | 
				
			||||||
+        RootCommandNode<CommandSourceStack> vanilla = entityplayer.server.vanillaCommandDispatcher.getDispatcher().getRoot();
 | 
					 | 
				
			||||||
         map.put(vanilla, vanillaRoot);
 | 
					 | 
				
			||||||
-        this.fillUsableCommands(vanilla, vanillaRoot, player.createCommandSourceStack(), (Map) map);
 | 
					 | 
				
			||||||
+        this.fillUsableCommands(vanilla, vanillaRoot, entityplayer.createCommandSourceStack(), (Map) map);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
         // Now build the global commands in a second pass
 | 
					 | 
				
			||||||
         RootCommandNode<SharedSuggestionProvider> rootcommandnode = new RootCommandNode();
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
         map.put(this.dispatcher.getRoot(), rootcommandnode);
 | 
					 | 
				
			||||||
-        this.fillUsableCommands(this.dispatcher.getRoot(), rootcommandnode, player.createCommandSourceStack(), (Map) map);
 | 
					 | 
				
			||||||
+        this.fillUsableCommands(this.dispatcher.getRoot(), rootcommandnode, entityplayer.createCommandSourceStack(), (Map) map);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
         Collection<String> bukkit = new LinkedHashSet<>();
 | 
					 | 
				
			||||||
         for (CommandNode node : rootcommandnode.getChildren()) {
 | 
					         for (CommandNode node : rootcommandnode.getChildren()) {
 | 
				
			||||||
             bukkit.add(node.getName());
 | 
					             bukkit.add(node.getName());
 | 
				
			||||||
         }
 | 
					         }
 | 
				
			||||||
+        // Paper start - Async command map building
 | 
					+        // Paper start - Async command map building
 | 
				
			||||||
+        MinecraftServer.getServer().execute(() -> {
 | 
					+        MinecraftServer.getServer().execute(() -> {
 | 
				
			||||||
+           runSync(entityplayer, bukkit, rootcommandnode);
 | 
					+           runSync(player, bukkit, rootcommandnode);
 | 
				
			||||||
+        });
 | 
					+        });
 | 
				
			||||||
+    }
 | 
					+    }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-        PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
 | 
					+    private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
 | 
				
			||||||
+    private void runSync(ServerPlayer entityplayer, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
 | 
					 | 
				
			||||||
+        // Paper end - Async command map building
 | 
					+        // Paper end - Async command map building
 | 
				
			||||||
+        PlayerCommandSendEvent event = new PlayerCommandSendEvent(entityplayer.getBukkitEntity(), new LinkedHashSet<>(bukkit));
 | 
					         PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
 | 
				
			||||||
         event.getPlayer().getServer().getPluginManager().callEvent(event);
 | 
					         event.getPlayer().getServer().getPluginManager().callEvent(event);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
         // Remove labels that were removed during the event
 | 
					 | 
				
			||||||
@@ -0,0 +0,0 @@ public class Commands {
 | 
					 | 
				
			||||||
             }
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
         // CraftBukkit end
 | 
					 | 
				
			||||||
-        player.connection.send(new ClientboundCommandsPacket(rootcommandnode));
 | 
					 | 
				
			||||||
+        entityplayer.connection.send(new ClientboundCommandsPacket(rootcommandnode));
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     private void fillUsableCommands(CommandNode<CommandSourceStack> tree, CommandNode<SharedSuggestionProvider> result, CommandSourceStack source, Map<CommandNode<CommandSourceStack>, CommandNode<SharedSuggestionProvider>> resultNodes) {
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -68,16 +68,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 | 
				
			||||||
             bukkit.add(node.getName());
 | 
					             bukkit.add(node.getName());
 | 
				
			||||||
         }
 | 
					         }
 | 
				
			||||||
         // Paper start - Async command map building
 | 
					         // Paper start - Async command map building
 | 
				
			||||||
+        new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(entityplayer.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
 | 
					+        new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
 | 
				
			||||||
         MinecraftServer.getServer().execute(() -> {
 | 
					         MinecraftServer.getServer().execute(() -> {
 | 
				
			||||||
            runSync(entityplayer, bukkit, rootcommandnode);
 | 
					            runSync(player, bukkit, rootcommandnode);
 | 
				
			||||||
         });
 | 
					         });
 | 
				
			||||||
@@ -0,0 +0,0 @@ public class Commands {
 | 
					@@ -0,0 +0,0 @@ public class Commands {
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
     private void runSync(ServerPlayer entityplayer, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
 | 
					     private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
 | 
				
			||||||
         // Paper end - Async command map building
 | 
					         // Paper end - Async command map building
 | 
				
			||||||
+        new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(entityplayer.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
 | 
					+        new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
 | 
				
			||||||
         PlayerCommandSendEvent event = new PlayerCommandSendEvent(entityplayer.getBukkitEntity(), new LinkedHashSet<>(bukkit));
 | 
					         PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
 | 
				
			||||||
         event.getPlayer().getServer().getPluginManager().callEvent(event);
 | 
					         event.getPlayer().getServer().getPluginManager().callEvent(event);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
 | 
					diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue