Prepare for 1.19 dev
This commit is contained in:
		
					parent
					
						
							
								f34f678b20
							
						
					
				
			
			
				commit
				
					
						1148687a8d
					
				
			
		
					 1302 changed files with 120 additions and 61 deletions
				
			
		|  | @ -1,35 +0,0 @@ | |||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||||
| From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> | ||||
| Date: Sat, 31 Oct 2020 11:49:01 -0700 | ||||
| Subject: [PATCH] Fix client lag on advancement loading | ||||
| 
 | ||||
| When new advancements are added via the UnsafeValues#loadAdvancement | ||||
| API, it triggers a full datapack reload when this is not necessary. The | ||||
| advancement is already loaded directly into the advancement registry, | ||||
| and the point of saving the advancement to the Bukkit datapack seems to | ||||
| be for persistence. By removing the call to reload datapacks when an | ||||
| advancement is loaded, the client no longer completely freezes up when | ||||
| adding a new advancement. | ||||
| To ensure the client still receives the updated advancement data, we | ||||
| manually reload the advancement data for all players, which | ||||
| normally takes place as a part of the datapack reloading. | ||||
| 
 | ||||
| diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
 | ||||
| +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
 | ||||
| @@ -0,0 +0,0 @@ public final class CraftMagicNumbers implements UnsafeValues {
 | ||||
|                      Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex); | ||||
|                  } | ||||
|   | ||||
| -                MinecraftServer.getServer().getPlayerList().reloadResources();
 | ||||
| +                // Paper start
 | ||||
| +                //MinecraftServer.getServer().getPlayerList().reload();
 | ||||
| +                MinecraftServer.getServer().getPlayerList().getPlayers().forEach(player -> {
 | ||||
| +                    player.getAdvancements().reload(MinecraftServer.getServer().getAdvancements());
 | ||||
| +                    player.getAdvancements().flushDirty(player);
 | ||||
| +                });
 | ||||
| +                // Paper end
 | ||||
|   | ||||
|                  return bukkit; | ||||
|              } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nassim Jahnke
				Nassim Jahnke