mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-12 06:58:11 +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: eec4aab0 SPIGOT-6657: Add getPlayer to SheepDyeWoolEvent 205213c6 SPIGOT-6656: CauldronLevelChangeEvent is not fired correctly when dripstone fills the cauldron CraftBukkit Changes: b8c522d5 SPIGOT-6657: Add getPlayer to SheepDyeWoolEvent f04a77dc SPIGOT-6656: CauldronLevelChangeEvent is not fired correctly when dripstone fills the cauldron d1dbcebc SPIGOT-6653: Canceling snow bucket placement removes snow from bucket 4f34a67b #891: Fix scheduler task ID overflow and duplication issues Spigot Changes: d03d7f12 BUILDTOOLS-604: Rebuild patches
130 lines
4.1 KiB
Diff
130 lines
4.1 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 69b1cd6d504e30b5c638882aa925033930d45964..5e8814cc317a705eaf8bdd9f3876a5366c0a0226 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -240,6 +240,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
* @param message kick message
|
|
*/
|
|
void kick(final @Nullable net.kyori.adventure.text.Component message);
|
|
+
|
|
+ /**
|
|
+ * Kicks player with custom kick message and cause.
|
|
+ *
|
|
+ * @param message kick message
|
|
+ * @param cause kick cause
|
|
+ */
|
|
+ void kick(final @Nullable Component message, @NotNull org.bukkit.event.player.PlayerKickEvent.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 5c0efe74237dbe6803ce023fde99682ff70d1a92..05ecfd8c133e72d198faeeded8c757c231c871cc 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 = org.bukkit.Bukkit.getUnsafe().legacyComponentSerializer().deserialize(kickReason); // Paper
|
|
this.leaveMessage = org.bukkit.Bukkit.getUnsafe().legacyComponentSerializer().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,65 @@ 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,
|
|
+
|
|
+ SELF_INTERACTION,
|
|
+
|
|
+ DUPLICATE_LOGIN,
|
|
+
|
|
+ RESOURCE_PACK_REJECTION,
|
|
+
|
|
+ /**
|
|
+ * Spigot's restart command
|
|
+ */
|
|
+ RESTART_COMMAND,
|
|
+ /**
|
|
+ * Fallback cause
|
|
+ */
|
|
+ UNKNOWN,
|
|
+ }
|
|
+ // Paper end
|
|
}
|