mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-17 23:01:01 +01:00
2f95e1a840
Fix empty `ench` tags being wiped by the meta system SpigotMC/Spigot@cc9a1a417f Add Hunger Config Values SpigotMC/Spigot@2cd515e224 Make debug logging togglable SpigotMC/Spigot@d31b1d616f Spigot has implemented a system of hunger exhaustion similar to ours, as such a lot of config values have been moved there. Our exhaustion patch has been trimmed and only a few values for exhaustion remain in paper.yml, the others now sit in spigot.yml
35 lines
No EOL
1.8 KiB
Diff
35 lines
No EOL
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Maxim Van de Wynckel <maxim_vdw@hotmail.com>
|
|
Date: Wed, 30 Jul 2014 01:19:51 +0200
|
|
Subject: [PATCH] Only fetch an online UUID in online mode
|
|
|
|
The previous code would get an online UUID even in offline mode that
|
|
breaks plugins if the player joins.
|
|
|
|
Example:
|
|
You want to store data for player "Test" who never joined. An online UUID is created and you save it using that UUID.
|
|
|
|
The player Test joins with an offline UUID but that will not match the online UUID of the saved data.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -0,0 +0,0 @@ public final class CraftServer implements Server {
|
|
|
|
OfflinePlayer result = getPlayerExact(name);
|
|
if (result == null) {
|
|
- // This is potentially blocking :(
|
|
- GameProfile profile = MinecraftServer.getServer().getUserCache().getProfile(name);
|
|
+ // Spigot Start
|
|
+ GameProfile profile = null;
|
|
+ // Only fetch an online UUID in online mode
|
|
+ if ( MinecraftServer.getServer().getOnlineMode() || org.spigotmc.SpigotConfig.bungee )
|
|
+ {
|
|
+ profile = MinecraftServer.getServer().getUserCache().getProfile( name );
|
|
+ }
|
|
+ // Spigot end
|
|
if (profile == null) {
|
|
// Make an OfflinePlayer using an offline mode UUID since the name has no profile
|
|
result = getOfflinePlayer(new GameProfile(UUID.nameUUIDFromBytes(("OfflinePlayer:" + name).getBytes(Charsets.UTF_8)), name));
|
|
--
|