This commit is contained in:
Jason Penilla 2021-06-14 20:50:26 -07:00
parent 2ac6b12fc8
commit 7271649af2
No known key found for this signature in database
GPG key ID: 0E75A301420E48F8
15 changed files with 195 additions and 242 deletions

View file

@ -0,0 +1,129 @@
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 38003de85a8098fc78fc947dd975990d478ee908..da83b4cbed0be6f693c7cbb1cc032356f12d7883 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
}

View file

@ -0,0 +1,70 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Wed, 26 May 2021 17:08:57 -0400
Subject: [PATCH] Add BellRevealRaiderEvent
diff --git a/src/main/java/io/papermc/paper/event/block/BellRevealRaiderEvent.java b/src/main/java/io/papermc/paper/event/block/BellRevealRaiderEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..03dae5be7dba8ab550d03f365c05af4ba73e4224
--- /dev/null
+++ b/src/main/java/io/papermc/paper/event/block/BellRevealRaiderEvent.java
@@ -0,0 +1,58 @@
+package io.papermc.paper.event.block;
+
+import org.bukkit.block.Block;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.Raider;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.HandlerList;
+import org.bukkit.event.block.BlockEvent;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Called when a {@link org.bukkit.entity.Raider} is revealed by a bell.
+ */
+public class BellRevealRaiderEvent extends BlockEvent implements Cancellable {
+ private static final HandlerList handlers = new HandlerList();
+
+ private boolean cancelled = false;
+ private final Raider raider;
+
+ public BellRevealRaiderEvent(@NotNull Block theBlock, @NotNull Entity raider) {
+ super(theBlock);
+ this.raider = (Raider) raider;
+ }
+
+ /**
+ * Gets the raider that the bell revealed.
+ *
+ * @return The raider
+ */
+ @NotNull
+ public Raider getEntity() {
+ return raider;
+ }
+
+ @Override
+ public boolean isCancelled() {
+ return cancelled;
+ }
+
+ /**
+ * {@inheritDoc}
+ * <p>
+ * This does not cancel the particle effects shown on the bell, only the entity.
+ */
+ @Override
+ public void setCancelled(boolean cancel) {
+ this.cancelled = cancel;
+ }
+
+ @Override
+ public @NotNull HandlerList getHandlers() {
+ return handlers;
+ }
+
+ public static @NotNull HandlerList getHandlerList() {
+ return handlers;
+ }
+}

View file

@ -0,0 +1,81 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Fri, 19 Mar 2021 23:39:21 -0400
Subject: [PATCH] Add ElderGuardianAppearanceEvent
diff --git a/src/main/java/io/papermc/paper/event/entity/ElderGuardianAppearanceEvent.java b/src/main/java/io/papermc/paper/event/entity/ElderGuardianAppearanceEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..4cd551c8311ff8f7321ed2dc6a4efc87162dadfe
--- /dev/null
+++ b/src/main/java/io/papermc/paper/event/entity/ElderGuardianAppearanceEvent.java
@@ -0,0 +1,69 @@
+package io.papermc.paper.event.entity;
+
+import org.bukkit.entity.ElderGuardian;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.HandlerList;
+import org.bukkit.event.entity.EntityEvent;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Is called when an {@link org.bukkit.entity.ElderGuardian} appears in front of a {@link org.bukkit.entity.Player}.
+ */
+public class ElderGuardianAppearanceEvent extends EntityEvent implements Cancellable {
+
+ private static final HandlerList handlers = new HandlerList();
+
+ private boolean cancelled;
+ private final Player affectedPlayer;
+
+ public ElderGuardianAppearanceEvent(@NotNull Entity what, @NotNull Player affectedPlayer) {
+ super(what);
+ this.affectedPlayer = affectedPlayer;
+ }
+
+ /**
+ * Get the player affected by the guardian appearance.
+ *
+ * @return Player affected by the appearance
+ */
+ @NotNull
+ public Player getAffectedPlayer() {
+ return affectedPlayer;
+ }
+
+ /**
+ * The elder guardian playing the effect.
+ *
+ * @return The elder guardian
+ */
+ @NotNull
+ public ElderGuardian getEntity() {
+ return (ElderGuardian) entity;
+ }
+
+ @Override
+ public boolean isCancelled() {
+ return cancelled;
+ }
+
+ @Override
+ public void setCancelled(boolean cancel) {
+ this.cancelled = cancel;
+ }
+
+ @NotNull
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+
+ @NotNull
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+}