Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 11:00:06 +01:00
Add ElderGuardianAppearanceEvent (#5394)
Dieser Commit ist enthalten in:
Ursprung
a04ad7bfb4
Commit
407ad043cc
81
Spigot-API-Patches/0315-Add-ElderGuardianAppearanceEvent.patch
Normale Datei
81
Spigot-API-Patches/0315-Add-ElderGuardianAppearanceEvent.patch
Normale Datei
@ -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;
|
||||||
|
+ }
|
||||||
|
+}
|
23
Spigot-Server-Patches/0754-Add-ElderGuardianAppearanceEvent.patch
Normale Datei
23
Spigot-Server-Patches/0754-Add-ElderGuardianAppearanceEvent.patch
Normale Datei
@ -0,0 +1,23 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||||
|
Date: Fri, 19 Mar 2021 23:39:09 -0400
|
||||||
|
Subject: [PATCH] Add ElderGuardianAppearanceEvent
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityGuardianElder.java b/src/main/java/net/minecraft/world/entity/monster/EntityGuardianElder.java
|
||||||
|
index 9bd6f5d988c1e50e1bb729c407178b9cbcc62115..300efeb98bb68b24faa68a4af9d703bf2b8c405c 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityGuardianElder.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityGuardianElder.java
|
||||||
|
@@ -77,10 +77,12 @@ public class EntityGuardianElder extends EntityGuardian {
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||||
|
|
||||||
|
+ if (new io.papermc.paper.event.entity.ElderGuardianAppearanceEvent(getBukkitEntity(), entityplayer.getBukkitEntity()).callEvent()) { // Paper - Add Guardian Appearance Event
|
||||||
|
if (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < 2 || entityplayer.getEffect(mobeffectlist).getDuration() < 1200) {
|
||||||
|
entityplayer.playerConnection.sendPacket(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.k, this.isSilent() ? 0.0F : 1.0F));
|
||||||
|
entityplayer.addEffect(new MobEffect(mobeffectlist, 6000, 2), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ATTACK); // CraftBukkit
|
||||||
|
}
|
||||||
|
+ } // Paper - Add Guardian Appearance Event
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren