mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-11 14:38:05 +02:00
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 Bukkit Changes: fc460d1b PR-735: Add Villager#zombify c8c8331e PR-690: Add method to read ItemStack input 62845f2f SPIGOT-6829: Add per-player world border API CraftBukkit Changes: a459f4d4 PR-1033: Add Villager#zombify d65d1430 PR-975: Add method to read ItemStack input b5559f8c SPIGOT-6990: Fix setRepairCost(0) in Anvil 6c308e1b SPIGOT-6829: Add per-player world border API Spigot Changes: 42b61526 SPIGOT-7000: Generation and /locate issues when using custom structure seeds
82 lines
4.2 KiB
Diff
82 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 fc1933160f0bc70438c40fd3c0adb5675093af07..96fbac179e6970f4eeeed9fdc07c1ac1d8e8be0a 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 {
|
|
|
|
@@ -254,4 +255,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 d8acbce8c2f0cc9a93fff044b25629021bf90f75..c4142568c3188c89142799cc4911dd7eae32a45f 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 void add(GameProfile profile) {
|
|
diff --git a/src/main/java/net/minecraft/server/players/OldUsersConverter.java b/src/main/java/net/minecraft/server/players/OldUsersConverter.java
|
|
index b7b98832be6178a2bca534bf974519ede977b282..aa3caccc58f1cec8d5f396813d7fc40b05985cc8 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 d09b9dfdfea5848dcb60ad05d4399b5ed871a795..265fbc13c571bcfb7d921445a75add522ec9de52 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -1703,7 +1703,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);
|
|
}
|