summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2017-07-22 09:51:22 +1000
committermd_5 <git@md-5.net>2017-07-22 09:51:22 +1000
commit5a12442f223f04b36ee78454419c7cb19e915aa7 (patch)
treeb29f03892e1f9c9188e7825b6a5b5a47d579bfb1
parent9a82fa7785843e56b8799ca2b495b0ce115d79d6 (diff)
downloadcraftbukkit-5a12442f223f04b36ee78454419c7cb19e915aa7.tar
craftbukkit-5a12442f223f04b36ee78454419c7cb19e915aa7.tar.gz
craftbukkit-5a12442f223f04b36ee78454419c7cb19e915aa7.tar.lz
craftbukkit-5a12442f223f04b36ee78454419c7cb19e915aa7.tar.xz
craftbukkit-5a12442f223f04b36ee78454419c7cb19e915aa7.zip
SPIGOT-3433: Improve AreaEffectCloud#getSource
-rw-r--r--nms-patches/EntityCreeper.patch8
-rw-r--r--nms-patches/EntityPotion.patch10
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java5
3 files changed, 12 insertions, 11 deletions
diff --git a/nms-patches/EntityCreeper.patch b/nms-patches/EntityCreeper.patch
index b29ed0a4..5721057f 100644
--- a/nms-patches/EntityCreeper.patch
+++ b/nms-patches/EntityCreeper.patch
@@ -72,3 +72,11 @@
}
}
+@@ -202,6 +225,7 @@
+ if (!collection.isEmpty()) {
+ EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.locX, this.locY, this.locZ);
+
++ entityareaeffectcloud.setSource(this); // CraftBukkit
+ entityareaeffectcloud.setRadius(2.5F);
+ entityareaeffectcloud.setRadiusOnUse(-0.5F);
+ entityareaeffectcloud.setWaitTime(10);
diff --git a/nms-patches/EntityPotion.patch b/nms-patches/EntityPotion.patch
index f7ce8610..117e59dc 100644
--- a/nms-patches/EntityPotion.patch
+++ b/nms-patches/EntityPotion.patch
@@ -91,15 +91,7 @@
}
}
}
-@@ -167,6 +199,7 @@
- private void a(ItemStack itemstack, PotionRegistry potionregistry) {
- EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.locX, this.locY, this.locZ);
-
-+ entityareaeffectcloud.projectileSource = this.projectileSource; // CraftBukkit
- entityareaeffectcloud.setSource(this.getShooter());
- entityareaeffectcloud.setRadius(3.0F);
- entityareaeffectcloud.setRadiusOnUse(-0.5F);
-@@ -187,7 +220,14 @@
+@@ -187,7 +219,14 @@
entityareaeffectcloud.setColor(nbttagcompound.getInt("CustomPotionColor"));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java
index 42f6ea4a..5f068416 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java
@@ -14,6 +14,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.potion.CraftPotionUtil;
import org.bukkit.entity.AreaEffectCloud;
import org.bukkit.entity.EntityType;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.projectiles.ProjectileSource;
@@ -206,7 +207,8 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
}
public ProjectileSource getSource() {
- return getHandle().projectileSource;
+ EntityLiving source = getHandle().y(); // PAIL: rename
+ return (source == null) ? null : (LivingEntity) source.getBukkitEntity();
}
public void setSource(ProjectileSource shooter) {
@@ -215,6 +217,5 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
} else {
getHandle().setSource((EntityLiving) null);
}
- getHandle().projectileSource = shooter;
}
}