70ce6ce831
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
67 Zeilen
2.9 KiB
Diff
67 Zeilen
2.9 KiB
Diff
From cbcb45ce92a783630c26656564b1d99326d43266 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sat, 2 Mar 2019 16:12:35 -0500
|
|
Subject: [PATCH] MC-145260: Fix Whitelist On/Off inconsistency
|
|
|
|
mojang stored whitelist state in 2 places (Whitelist Object, PlayerList)
|
|
|
|
some things checked PlayerList, some checked object. This moves
|
|
everything to the Whitelist object.
|
|
|
|
https://github.com/PaperMC/Paper/issues/1880
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
|
|
index c169d0176..55bc4b265 100644
|
|
--- a/src/main/java/net/minecraft/server/JsonList.java
|
|
+++ b/src/main/java/net/minecraft/server/JsonList.java
|
|
@@ -64,6 +64,7 @@ public class JsonList<K, V extends JsonListEntry<K>> {
|
|
return this.e;
|
|
}
|
|
|
|
+ public void setEnabled(boolean flag) { this.a(flag); } // Paper - OBFHeLPER
|
|
public void a(boolean flag) {
|
|
this.e = flag;
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
|
index 1eae8057d..e6c894463 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
|
@@ -62,7 +62,7 @@ public abstract class PlayerList {
|
|
// private final Map<UUID, AdvancementDataPlayer> p;
|
|
// CraftBukkit end
|
|
public IPlayerFileData playerFileData;
|
|
- private boolean hasWhitelist;
|
|
+ //private boolean hasWhitelist;
|
|
protected final int maxPlayers;
|
|
private int viewDistance;
|
|
private EnumGamemode t;
|
|
@@ -899,9 +899,9 @@ public abstract class PlayerList {
|
|
}
|
|
public boolean isWhitelisted(GameProfile gameprofile, org.bukkit.event.player.PlayerLoginEvent loginEvent) {
|
|
boolean isOp = this.operators.d(gameprofile);
|
|
- boolean isWhitelisted = !this.hasWhitelist || isOp || this.whitelist.d(gameprofile);
|
|
+ boolean isWhitelisted = !this.getHasWhitelist() || isOp || this.whitelist.d(gameprofile);
|
|
final com.destroystokyo.paper.event.profile.ProfileWhitelistVerifyEvent event;
|
|
- event = new com.destroystokyo.paper.event.profile.ProfileWhitelistVerifyEvent(MCUtil.toBukkit(gameprofile), this.hasWhitelist, isWhitelisted, isOp, org.spigotmc.SpigotConfig.whitelistMessage);
|
|
+ event = new com.destroystokyo.paper.event.profile.ProfileWhitelistVerifyEvent(MCUtil.toBukkit(gameprofile), this.getHasWhitelist(), isWhitelisted, isOp, org.spigotmc.SpigotConfig.whitelistMessage);
|
|
event.callEvent();
|
|
if (!event.isWhitelisted()) {
|
|
if (loginEvent != null) {
|
|
@@ -1030,11 +1030,11 @@ public abstract class PlayerList {
|
|
}
|
|
|
|
public boolean getHasWhitelist() {
|
|
- return this.hasWhitelist;
|
|
+ return this.whitelist.isEnabled(); // Paper
|
|
}
|
|
|
|
public void setHasWhitelist(boolean flag) {
|
|
- this.hasWhitelist = flag;
|
|
+ this.whitelist.setEnabled(flag); // Paper
|
|
}
|
|
|
|
public List<EntityPlayer> b(String s) {
|
|
--
|
|
2.21.0
|
|
|