mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 04:31:58 +01:00
4af62f6d1d
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: 2d009e64 Update SnakeYAML javadoc link b4fd213c Switch Player#updateInventory deprecation for internal API annotation CraftBukkit Changes: f3b2b2210 SPIGOT-7376: Exception with getBlockData when hasBlockData is false 725545630 SPIGOT-7375: Fix crash breeding certain entities b9873b0d4 Update Brigadier version with fix 68b320562 SPIGOT-7266: Found typo in CraftBukkit package 98b4d2ff8 SPIGOT-7372, SPIGOT-7373: Signs can't be edited, issues with SignChangeEvent 5f7bd4d78 SPIGOT-7371: Sign does not open edit text on placement b4cf99d24 SPIGOT-7371: Fix editing signs with API a2b6c2744 PR-1200: Implement open sign by side a345bb940 SPIGOT-7368: Downgrade SpecialSource version Spigot Changes: 723951c3 Rebuild patches b655c57d Drop old collision API deprecated since 1.9.4 55b0fed4 Rebuild patches
141 lines
4.3 KiB
Diff
141 lines
4.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Sat, 15 May 2021 20:30:34 -0700
|
|
Subject: [PATCH] Add PlayerKickEvent causes
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
index 3ee171a4dc48f6ed6cb5b672feeb2793f5ac598f..65188c33dbd1aa98c156495f8d0a0fc10062304c 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -252,6 +252,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
* @param message kick message
|
|
*/
|
|
void kick(final net.kyori.adventure.text.@Nullable Component message);
|
|
+
|
|
+ /**
|
|
+ * Kicks player with custom kick message and cause.
|
|
+ *
|
|
+ * @param message kick message
|
|
+ * @param cause kick cause
|
|
+ */
|
|
+ void kick(final net.kyori.adventure.text.@Nullable Component message, org.bukkit.event.player.PlayerKickEvent.@NotNull Cause cause);
|
|
// Paper end
|
|
|
|
/**
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerKickEvent.java b/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
|
index 997b06c19a5277656521e0e298f2958c209f1da1..2eb13c049fa917d41fa9ad17fdec9ec4c33701a8 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
|
@@ -12,6 +12,7 @@ public class PlayerKickEvent extends PlayerEvent implements Cancellable {
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private net.kyori.adventure.text.Component leaveMessage; // Paper
|
|
private net.kyori.adventure.text.Component kickReason; // Paper
|
|
+ private final Cause cause; // Paper
|
|
private boolean cancel;
|
|
|
|
@Deprecated // Paper
|
|
@@ -19,14 +20,25 @@ public class PlayerKickEvent extends PlayerEvent implements Cancellable {
|
|
super(playerKicked);
|
|
this.kickReason = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(kickReason); // Paper
|
|
this.leaveMessage = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(leaveMessage); // Paper
|
|
+ this.cause = Cause.UNKNOWN; // Paper
|
|
this.cancel = false;
|
|
}
|
|
// Paper start
|
|
+ @Deprecated
|
|
public PlayerKickEvent(@NotNull final Player playerKicked, @NotNull final net.kyori.adventure.text.Component kickReason, @NotNull final net.kyori.adventure.text.Component leaveMessage) {
|
|
super(playerKicked);
|
|
this.kickReason = kickReason;
|
|
this.leaveMessage = leaveMessage;
|
|
this.cancel = false;
|
|
+ this.cause = Cause.UNKNOWN;
|
|
+ }
|
|
+
|
|
+ public PlayerKickEvent(@NotNull final Player playerKicked, @NotNull final net.kyori.adventure.text.Component kickReason, @NotNull final net.kyori.adventure.text.Component leaveMessage, @NotNull final Cause cause) {
|
|
+ super(playerKicked);
|
|
+ this.kickReason = kickReason;
|
|
+ this.leaveMessage = leaveMessage;
|
|
+ this.cancel = false;
|
|
+ this.cause = cause;
|
|
}
|
|
|
|
/**
|
|
@@ -132,4 +144,77 @@ public class PlayerKickEvent extends PlayerEvent implements Cancellable {
|
|
public static HandlerList getHandlerList() {
|
|
return handlers;
|
|
}
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Gets the cause of this kick
|
|
+ *
|
|
+ * @return
|
|
+ */
|
|
+ @NotNull
|
|
+ public org.bukkit.event.player.PlayerKickEvent.Cause getCause() {
|
|
+ return cause;
|
|
+ }
|
|
+
|
|
+ public enum Cause {
|
|
+
|
|
+ PLUGIN,
|
|
+
|
|
+ WHITELIST,
|
|
+
|
|
+ BANNED,
|
|
+
|
|
+ IP_BANNED,
|
|
+
|
|
+ KICK_COMMAND,
|
|
+
|
|
+ FLYING_PLAYER,
|
|
+
|
|
+ FLYING_VEHICLE,
|
|
+
|
|
+ TIMEOUT,
|
|
+
|
|
+ IDLING,
|
|
+
|
|
+ INVALID_VEHICLE_MOVEMENT,
|
|
+
|
|
+ INVALID_PLAYER_MOVEMENT,
|
|
+
|
|
+ INVALID_ENTITY_ATTACKED,
|
|
+
|
|
+ INVALID_PAYLOAD,
|
|
+
|
|
+ SPAM,
|
|
+
|
|
+ ILLEGAL_ACTION,
|
|
+
|
|
+ ILLEGAL_CHARACTERS,
|
|
+
|
|
+ OUT_OF_ORDER_CHAT,
|
|
+
|
|
+ UNSIGNED_CHAT,
|
|
+
|
|
+ CHAT_VALIDATION_FAILED,
|
|
+
|
|
+ EXPIRED_PROFILE_PUBLIC_KEY,
|
|
+
|
|
+ INVALID_PUBLIC_KEY_SIGNATURE,
|
|
+
|
|
+ TOO_MANY_PENDING_CHATS,
|
|
+
|
|
+ SELF_INTERACTION,
|
|
+
|
|
+ DUPLICATE_LOGIN,
|
|
+
|
|
+ RESOURCE_PACK_REJECTION,
|
|
+
|
|
+ /**
|
|
+ * Spigot's restart command
|
|
+ */
|
|
+ RESTART_COMMAND,
|
|
+ /**
|
|
+ * Fallback cause
|
|
+ */
|
|
+ UNKNOWN,
|
|
+ }
|
|
+ // Paper end
|
|
}
|