13
0
geforkt von Mirrors/Paper

Move ProfileWhitelistVerifyEvent to use new PlayerProfile API

Also update javadocs on lookup events to link the new methods to use
Dieser Commit ist enthalten in:
Aikar 2018-01-19 00:12:03 -05:00
Ursprung 17bec29ef0
Commit d065e0b00e
4 geänderte Dateien mit 46 neuen und 11 gelöschten Zeilen

Datei anzeigen

@ -26,7 +26,7 @@ index c8b37997..13994dc2 100644
<artifactId>fastutil-lite</artifactId>
diff --git a/src/main/java/com/destroystokyo/paper/event/profile/LookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/LookupProfileEvent.java
new file mode 100644
index 00000000..e4b36255
index 00000000..3b6995a7
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/profile/LookupProfileEvent.java
@@ -0,0 +0,0 @@
@ -60,7 +60,7 @@ index 00000000..e4b36255
+
+ /**
+ * @return The profile that was recently looked up. This profile can be mutated
+ * @deprecated will be removed with 1.13
+ * @deprecated will be removed with 1.13, use {@link #getPlayerProfile()}
+ */
+ @Deprecated
+ @Nonnull
@ -87,7 +87,7 @@ index 00000000..e4b36255
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
new file mode 100644
index 00000000..0a657904
index 00000000..aa0666d5
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
@@ -0,0 +0,0 @@
@ -165,7 +165,7 @@ index 00000000..0a657904
+ * Get the properties for this profile
+ *
+ * @return the property map to attach to the new {@link PlayerProfile}
+ * @deprecated will be removed with 1.13
+ * @deprecated will be removed with 1.13 Use {@link #getProfileProperties()}
+ */
+ @Deprecated
+ @Nonnull
@ -181,7 +181,7 @@ index 00000000..0a657904
+ /**
+ * Completely replaces all Properties with the new provided properties
+ * @param properties the properties to set on the new profile
+ * @deprecated will be removed with 1.13
+ * @deprecated will be removed with 1.13 Use {@link #setProfileProperties(Set)}
+ */
+ @Deprecated
+ public void setProperties(Multimap<String, Property> properties) {
@ -194,7 +194,7 @@ index 00000000..0a657904
+ /**
+ * Adds additional properties, without removing the original properties
+ * @param properties the properties to add to the existing properties
+ * @deprecated will be removed with 1.13
+ * @deprecated will be removed with 1.13 use {@link #addProfileProperties(Set)}
+ */
+ @Deprecated
+ public void addProperties(Multimap<String, Property> properties) {

Datei anzeigen

@ -9,7 +9,7 @@ Allows you to do dynamic whitelisting and change of kick message
diff --git a/src/main/java/com/destroystokyo/paper/event/profile/ProfileWhitelistVerifyEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/ProfileWhitelistVerifyEvent.java
new file mode 100644
index 00000000..59b69b23
index 00000000..662e79e3
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/profile/ProfileWhitelistVerifyEvent.java
@@ -0,0 +0,0 @@
@ -38,6 +38,7 @@ index 00000000..59b69b23
+
+package com.destroystokyo.paper.event.profile;
+
+import com.destroystokyo.paper.profile.PlayerProfile;
+import com.mojang.authlib.GameProfile;
+import org.bukkit.event.Event;
+import org.bukkit.event.HandlerList;
@ -51,13 +52,13 @@ index 00000000..59b69b23
+ */
+public class ProfileWhitelistVerifyEvent extends Event {
+ private static final HandlerList handlers = new HandlerList();
+ private final GameProfile profile;
+ private final PlayerProfile profile;
+ private final boolean whitelistEnabled;
+ private boolean whitelisted;
+ private final boolean isOp;
+ private String kickMessage;
+
+ public ProfileWhitelistVerifyEvent(final GameProfile profile, boolean whitelistEnabled, boolean whitelisted, boolean isOp, String kickMessage) {
+ public ProfileWhitelistVerifyEvent(final PlayerProfile profile, boolean whitelistEnabled, boolean whitelisted, boolean isOp, String kickMessage) {
+ this.profile = profile;
+ this.whitelistEnabled = whitelistEnabled;
+ this.whitelisted = whitelisted;
@ -81,8 +82,17 @@ index 00000000..59b69b23
+
+ /**
+ * The gameprofile of the player trying to connect
+ * @deprecated Will be removed in 1.13, use #{@link #getPlayerProfile()}
+ */
+ @Deprecated
+ public GameProfile getProfile() {
+ return profile.getGameProfile();
+ }
+
+ /**
+ * @return The profile of the player trying to connect
+ */
+ public PlayerProfile getPlayerProfile() {
+ return profile;
+ }
+

Datei anzeigen

@ -119,6 +119,31 @@ index 000000000..6e9a6a2e6
+ return new Property(property.getName(), property.getValue(), property.getSignature());
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
index 02940d697..f38afb72e 100644
--- a/src/main/java/net/minecraft/server/MCUtil.java
+++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -0,0 +0,0 @@
package net.minecraft.server;
+import com.destroystokyo.paper.profile.CraftPlayerProfile;
+import com.destroystokyo.paper.profile.PlayerProfile;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import com.mojang.authlib.GameProfile;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.bukkit.Location;
import org.bukkit.craftbukkit.CraftWorld;
@@ -0,0 +0,0 @@ public final class MCUtil {
return run.get();
}
+ public static PlayerProfile toBukkit(GameProfile profile) {
+ return CraftPlayerProfile.from(profile);
+ }
+
/**
* Calculates distance between 2 entities
* @param e1
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8d0a9e8ca..f0ae65f08 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java

Datei anzeigen

@ -5,7 +5,7 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 219734689..00b8887bc 100644
index 219734689..6af671c45 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -0,0 +0,0 @@ public abstract class PlayerList {
@ -33,7 +33,7 @@ index 219734689..00b8887bc 100644
+ boolean isOp = this.operators.d(gameprofile);
+ boolean isWhitelisted = !this.hasWhitelist || isOp || this.whitelist.d(gameprofile);
+ final com.destroystokyo.paper.event.profile.ProfileWhitelistVerifyEvent event;
+ event = new com.destroystokyo.paper.event.profile.ProfileWhitelistVerifyEvent(gameprofile, this.hasWhitelist, isWhitelisted, isOp, org.spigotmc.SpigotConfig.whitelistMessage);
+ event = new com.destroystokyo.paper.event.profile.ProfileWhitelistVerifyEvent(MCUtil.toBukkit(gameprofile), this.hasWhitelist, isWhitelisted, isOp, org.spigotmc.SpigotConfig.whitelistMessage);
+ event.callEvent();
+ if (!event.isWhitelisted()) {
+ if (loginEvent != null) {