mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 15:49:00 +01:00
f44d237de9
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 5be41fb8 SPIGOT-6720: Fix bed explosion checks 09b99daf SPIGOT-6722: Close entity manager when unloading world 3a9561bf SPIGOT-6686: Changes in MaximumRepairCost for Anvil Rename cause inconsistency
81 lines
4.2 KiB
Diff
81 lines
4.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Gabriele C <sgdc3.mail@gmail.com>
|
|
Date: Fri, 5 Aug 2016 01:03:08 +0200
|
|
Subject: [PATCH] Add setting for proxy online mode status
|
|
|
|
TODO: Add isProxyOnlineMode check to Metrics
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
index b4746ddf18a492e8993bbc534f41d13d4da65eeb..092f9f9588d3a3621d6221c397c0e64aff9067e2 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
@@ -23,6 +23,7 @@ import org.bukkit.configuration.InvalidConfigurationException;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
import co.aikar.timings.Timings;
|
|
import co.aikar.timings.TimingsManager;
|
|
+import org.spigotmc.SpigotConfig;
|
|
|
|
public class PaperConfig {
|
|
|
|
@@ -251,4 +252,13 @@ public class PaperConfig {
|
|
private static void saveEmptyScoreboardTeams() {
|
|
saveEmptyScoreboardTeams = getBoolean("settings.save-empty-scoreboard-teams", false);
|
|
}
|
|
+
|
|
+ public static boolean bungeeOnlineMode = true;
|
|
+ private static void bungeeOnlineMode() {
|
|
+ bungeeOnlineMode = getBoolean("settings.bungee-online-mode", true);
|
|
+ }
|
|
+
|
|
+ public static boolean isProxyOnlineMode() {
|
|
+ return Bukkit.getOnlineMode() || (SpigotConfig.bungee && bungeeOnlineMode);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java
|
|
index 7ef77c38537b85deb7d388a7331e895c54a8ba95..6e1b7d5b20e9f6ed1b650eb9d6ac9f8c4867b4b7 100644
|
|
--- a/src/main/java/net/minecraft/server/players/GameProfileCache.java
|
|
+++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java
|
|
@@ -98,6 +98,7 @@ public class GameProfileCache {
|
|
}
|
|
};
|
|
|
|
+ if (com.destroystokyo.paper.PaperConfig.isProxyOnlineMode()) // Paper - only run in online mode - 100 COL
|
|
repository.findProfilesByNames(new String[]{name}, Agent.MINECRAFT, profilelookupcallback);
|
|
GameProfile gameprofile = (GameProfile) atomicreference.get();
|
|
|
|
@@ -115,7 +116,7 @@ public class GameProfileCache {
|
|
}
|
|
|
|
private static boolean usesAuthentication() {
|
|
- return GameProfileCache.usesAuthentication;
|
|
+ return com.destroystokyo.paper.PaperConfig.isProxyOnlineMode(); // Paper
|
|
}
|
|
|
|
public synchronized void add(GameProfile profile) { // Paper - synchronize
|
|
diff --git a/src/main/java/net/minecraft/server/players/OldUsersConverter.java b/src/main/java/net/minecraft/server/players/OldUsersConverter.java
|
|
index f6cb864c45f960811acc02829d1f7883b916de29..8703f97dc2f392b136c6851aa09b607cbfdfa5de 100644
|
|
--- a/src/main/java/net/minecraft/server/players/OldUsersConverter.java
|
|
+++ b/src/main/java/net/minecraft/server/players/OldUsersConverter.java
|
|
@@ -66,7 +66,8 @@ public class OldUsersConverter {
|
|
return new String[i];
|
|
});
|
|
|
|
- if (server.usesAuthentication() || org.spigotmc.SpigotConfig.bungee) { // Spigot: bungee = online mode, for now.
|
|
+ if (server.usesAuthentication()
|
|
+ || (com.destroystokyo.paper.PaperConfig.isProxyOnlineMode())) { // Spigot: bungee = online mode, for now. // Paper - Handle via setting
|
|
server.getProfileRepository().findProfilesByNames(astring, Agent.MINECRAFT, callback);
|
|
} else {
|
|
String[] astring1 = astring;
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
index 8020aa53077e3eb09a866257c5648bf10ecc9227..a461bfaeaa414ae3bfed96913140b22b81fe255d 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -1649,7 +1649,7 @@ public final class CraftServer implements Server {
|
|
// Spigot Start
|
|
GameProfile profile = null;
|
|
// Only fetch an online UUID in online mode
|
|
- if ( this.getOnlineMode() || org.spigotmc.SpigotConfig.bungee )
|
|
+ if ( this.getOnlineMode() || com.destroystokyo.paper.PaperConfig.isProxyOnlineMode() ) // Paper - Handle via setting
|
|
{
|
|
profile = this.console.getProfileCache().get(name).orElse(null);
|
|
}
|