aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/og/net/minecraft/world/entity/EntityAreaEffectCloud.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/og/net/minecraft/world/entity/EntityAreaEffectCloud.patch')
-rw-r--r--patch-remap/og/net/minecraft/world/entity/EntityAreaEffectCloud.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/world/entity/EntityAreaEffectCloud.patch b/patch-remap/og/net/minecraft/world/entity/EntityAreaEffectCloud.patch
new file mode 100644
index 0000000000..90305ddb11
--- /dev/null
+++ b/patch-remap/og/net/minecraft/world/entity/EntityAreaEffectCloud.patch
@@ -0,0 +1,50 @@
+--- a/net/minecraft/world/entity/EntityAreaEffectCloud.java
++++ b/net/minecraft/world/entity/EntityAreaEffectCloud.java
+@@ -31,6 +31,12 @@
+ import net.minecraft.world.level.material.EnumPistonReaction;
+ import org.slf4j.Logger;
+
++// CraftBukkit start
++import net.minecraft.resources.MinecraftKey;
++import org.bukkit.craftbukkit.entity.CraftLivingEntity;
++import org.bukkit.entity.LivingEntity;
++// CraftBukkit end
++
+ public class EntityAreaEffectCloud extends Entity implements TraceableEntity {
+
+ private static final Logger LOGGER = LogUtils.getLogger();
+@@ -264,6 +270,7 @@
+ if (!list1.isEmpty()) {
+ Iterator iterator1 = list1.iterator();
+
++ List<LivingEntity> entities = new java.util.ArrayList<LivingEntity>(); // CraftBukkit
+ while (iterator1.hasNext()) {
+ EntityLiving entityliving = (EntityLiving) iterator1.next();
+
+@@ -273,6 +280,17 @@
+ double d8 = d6 * d6 + d7 * d7;
+
+ if (d8 <= (double) (f * f)) {
++ // CraftBukkit start
++ entities.add((LivingEntity) entityliving.getBukkitEntity());
++ }
++ }
++ }
++ org.bukkit.event.entity.AreaEffectCloudApplyEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callAreaEffectCloudApplyEvent(this, entities);
++ if (!event.isCancelled()) {
++ for (LivingEntity entity : event.getAffectedEntities()) {
++ if (entity instanceof CraftLivingEntity) {
++ EntityLiving entityliving = ((CraftLivingEntity) entity).getHandle();
++ // CraftBukkit end
+ this.victims.put(entityliving, this.tickCount + this.reapplicationDelay);
+ Iterator iterator2 = list.iterator();
+
+@@ -282,7 +300,7 @@
+ if (mobeffect1.getEffect().isInstantenous()) {
+ mobeffect1.getEffect().applyInstantenousEffect(this, this.getOwner(), entityliving, mobeffect1.getAmplifier(), 0.5D);
+ } else {
+- entityliving.addEffect(new MobEffect(mobeffect1), this);
++ entityliving.addEffect(new MobEffect(mobeffect1), this, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.AREA_EFFECT_CLOUD); // CraftBukkit
+ }
+ }
+