aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Spigot-API-Patches/0315-Add-ElderGuardianAppearanceEvent.patch81
-rw-r--r--Spigot-Server-Patches/0754-Add-ElderGuardianAppearanceEvent.patch23
2 files changed, 104 insertions, 0 deletions
diff --git a/Spigot-API-Patches/0315-Add-ElderGuardianAppearanceEvent.patch b/Spigot-API-Patches/0315-Add-ElderGuardianAppearanceEvent.patch
new file mode 100644
index 0000000000..8d925d10ac
--- /dev/null
+++ b/Spigot-API-Patches/0315-Add-ElderGuardianAppearanceEvent.patch
@@ -0,0 +1,81 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Owen1212055 <[email protected]>
+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;
++ }
++}
diff --git a/Spigot-Server-Patches/0754-Add-ElderGuardianAppearanceEvent.patch b/Spigot-Server-Patches/0754-Add-ElderGuardianAppearanceEvent.patch
new file mode 100644
index 0000000000..27121d2be1
--- /dev/null
+++ b/Spigot-Server-Patches/0754-Add-ElderGuardianAppearanceEvent.patch
@@ -0,0 +1,23 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Owen1212055 <[email protected]>
+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
+ }
+ }
+