summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server
diff options
context:
space:
mode:
authort00thpick1 <t00thpick1dirko@gmail.com>2013-12-13 19:32:17 -0500
committerNate Mortensen <nate.richard.mortensen@gmail.com>2013-12-13 20:05:19 -0700
commit1460f250cf98881f4b376f48ac3da03b2c786949 (patch)
tree1f026b8f47cd1dc31e39d2de0cc980a17b5adef4 /src/main/java/net/minecraft/server
parentbdbd1808f73d97da39426465860efea7fc08c9e4 (diff)
downloadcraftbukkit-1460f250cf98881f4b376f48ac3da03b2c786949.tar
craftbukkit-1460f250cf98881f4b376f48ac3da03b2c786949.tar.gz
craftbukkit-1460f250cf98881f4b376f48ac3da03b2c786949.tar.lz
craftbukkit-1460f250cf98881f4b376f48ac3da03b2c786949.tar.xz
craftbukkit-1460f250cf98881f4b376f48ac3da03b2c786949.zip
Alter fall particles to respect visibility API. Fixes BUKKIT-5158
Bukkits Visibility API should prevent players from seeing fall particles of players that they cannot see. This commit alters the handling to provide an EntityPlayer argument that is later used to determine if they are visible.
Diffstat (limited to 'src/main/java/net/minecraft/server')
-rw-r--r--src/main/java/net/minecraft/server/EntityLiving.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 75b1ec10..7211da83 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -127,7 +127,14 @@ public abstract class EntityLiving extends Entity {
block = this.world.getType(i, j - 1, k);
}
} else if (!this.world.isStatic && this.fallDistance > 3.0F) {
- this.world.triggerEffect(2006, i, j, k, MathHelper.f(this.fallDistance - 3.0F));
+ // CraftBukkit start - supply player as argument in particles for visibility API to work
+ if (this instanceof EntityPlayer) {
+ this.world.a((EntityHuman) this, 2006, i, j, k, MathHelper.f(this.fallDistance - 3.0F));
+ ((EntityPlayer) this).playerConnection.sendPacket(new PacketPlayOutWorldEvent(2006, i, j, k, MathHelper.f(this.fallDistance - 3.0F), false));
+ } else {
+ this.world.triggerEffect(2006, i, j, k, MathHelper.f(this.fallDistance - 3.0F));
+ }
+ // CraftBukkit end
}
block.a(this.world, i, j, k, this, this.fallDistance);