mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
ea855e2b46
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Developers!: You will need to clean up your work/Minecraft/1.13.2 folder for this Also, restore a patch that was dropped in the last upstream Bukkit Changes: 279eeab3 Fix command description not being set 96e2bb18 Remove debug print from SyntheticEventTest CraftBukkit Changes:d3ed1516
Fix dangerously threaded beacons217a293d
Don't relocate joptsimple to allow --help to work.1be05a21
Prepare for imminent Java 12 releasea49270b2
Mappings Update5259d80c
SPIGOT-4669: Fix PlayerTeleportEvent coordinates for relative teleports Spigot Changes: e6eb36f2 Rebuild patches
144 lines
4.4 KiB
Diff
144 lines
4.4 KiB
Diff
From bf13bc9b676e4081be6052781074e45aabd3f4ef Mon Sep 17 00:00:00 2001
|
|
From: Caleb Bassham <caleb.bassham@gmail.com>
|
|
Date: Fri, 28 Sep 2018 02:30:56 -0500
|
|
Subject: [PATCH] Add spectator target events
|
|
|
|
- PlayerStartSpectatingEntityEvent
|
|
- PlayerStopSpectatingEntityEvent
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerStartSpectatingEntityEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerStartSpectatingEntityEvent.java
|
|
new file mode 100644
|
|
index 000000000..b8ec7ef2d
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerStartSpectatingEntityEvent.java
|
|
@@ -0,0 +1,67 @@
|
|
+package com.destroystokyo.paper.event.player;
|
|
+
|
|
+import org.bukkit.entity.Entity;
|
|
+import org.bukkit.entity.Player;
|
|
+import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Triggered when a player starts spectating an entity in spectator mode.
|
|
+ */
|
|
+public class PlayerStartSpectatingEntityEvent extends PlayerEvent implements Cancellable {
|
|
+
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+ private boolean cancelled;
|
|
+ @NotNull private final Entity currentSpectatorTarget;
|
|
+ @NotNull private final Entity newSpectatorTarget;
|
|
+
|
|
+ public PlayerStartSpectatingEntityEvent(@NotNull Player player, @NotNull Entity currentSpectatorTarget, @NotNull Entity newSpectatorTarget) {
|
|
+ super(player);
|
|
+ this.currentSpectatorTarget = currentSpectatorTarget;
|
|
+ this.newSpectatorTarget = newSpectatorTarget;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the entity that the player is currently spectating or themselves if they weren't spectating anything
|
|
+ *
|
|
+ * @return The entity the player is currently spectating (before they start spectating the new target).
|
|
+ */
|
|
+ @NotNull
|
|
+ public Entity getCurrentSpectatorTarget() {
|
|
+ return currentSpectatorTarget;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the new entity that the player will now be spectating
|
|
+ *
|
|
+ * @return The entity the player is now going to be spectating.
|
|
+ */
|
|
+ @NotNull
|
|
+ public Entity getNewSpectatorTarget() {
|
|
+ return newSpectatorTarget;
|
|
+ }
|
|
+
|
|
+ @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;
|
|
+ }
|
|
+}
|
|
+
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerStopSpectatingEntityEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerStopSpectatingEntityEvent.java
|
|
new file mode 100644
|
|
index 000000000..693d119ab
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerStopSpectatingEntityEvent.java
|
|
@@ -0,0 +1,54 @@
|
|
+package com.destroystokyo.paper.event.player;
|
|
+
|
|
+import org.bukkit.entity.Entity;
|
|
+import org.bukkit.entity.Player;
|
|
+import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Triggered when a player stops spectating an entity in spectator mode.
|
|
+ */
|
|
+public class PlayerStopSpectatingEntityEvent extends PlayerEvent implements Cancellable {
|
|
+
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+ private boolean cancelled;
|
|
+ @NotNull private final Entity spectatorTarget;
|
|
+
|
|
+ public PlayerStopSpectatingEntityEvent(@NotNull Player player, @NotNull Entity spectatorTarget) {
|
|
+ super(player);
|
|
+ this.spectatorTarget = spectatorTarget;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the entity that the player is spectating
|
|
+ *
|
|
+ * @return The entity the player is currently spectating (before they will stop).
|
|
+ */
|
|
+ @NotNull
|
|
+ public Entity getSpectatorTarget() {
|
|
+ return spectatorTarget;
|
|
+ }
|
|
+
|
|
+ @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;
|
|
+ }
|
|
+}
|
|
--
|
|
2.21.0
|
|
|