From 5d0d83bb90b240a065599e5144a91181c6212ca6 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 26 Aug 2018 18:26:09 +1000 Subject: SPIGOT-4309: Add "forced" display of particles --- nms-patches/EntityLiving.patch | 2 +- nms-patches/WorldServer.patch | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'nms-patches') diff --git a/nms-patches/EntityLiving.patch b/nms-patches/EntityLiving.patch index 54d1e474..60392131 100644 --- a/nms-patches/EntityLiving.patch +++ b/nms-patches/EntityLiving.patch @@ -64,7 +64,7 @@ - ((WorldServer) this.world).a(new ParticleParamBlock(Particles.d, iblockdata), this.locX, this.locY, this.locZ, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D); + // CraftBukkit start - visiblity api + if (this instanceof EntityPlayer) { -+ ((WorldServer) this.world).sendParticles((EntityPlayer) this, new ParticleParamBlock(Particles.d, iblockdata), this.locX, this.locY, this.locZ, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D); ++ ((WorldServer) this.world).sendParticles((EntityPlayer) this, new ParticleParamBlock(Particles.d, iblockdata), this.locX, this.locY, this.locZ, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D, false); + } else { + ((WorldServer) this.world).a(new ParticleParamBlock(Particles.d, iblockdata), this.locX, this.locY, this.locZ, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D); + } diff --git a/nms-patches/WorldServer.patch b/nms-patches/WorldServer.patch index 7411f7ae..79fa8696 100644 --- a/nms-patches/WorldServer.patch +++ b/nms-patches/WorldServer.patch @@ -555,22 +555,26 @@ } -@@ -909,11 +1157,18 @@ +@@ -909,13 +1157,20 @@ } public int a(T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6) { +- PacketPlayOutWorldParticles packetplayoutworldparticles = new PacketPlayOutWorldParticles(t0, false, (float) d0, (float) d1, (float) d2, (float) d3, (float) d4, (float) d5, (float) d6, i); + // CraftBukkit - visibility api support -+ return sendParticles(null, t0, d0, d1, d2, i, d3, d4, d5, d6); ++ return sendParticles(null, t0, d0, d1, d2, i, d3, d4, d5, d6, false); + } + -+ public int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6) { ++ public int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) { ++ PacketPlayOutWorldParticles packetplayoutworldparticles = new PacketPlayOutWorldParticles(t0, force, (float) d0, (float) d1, (float) d2, (float) d3, (float) d4, (float) d5, (float) d6, i); + // CraftBukkit end - PacketPlayOutWorldParticles packetplayoutworldparticles = new PacketPlayOutWorldParticles(t0, false, (float) d0, (float) d1, (float) d2, (float) d3, (float) d4, (float) d5, (float) d6, i); int j = 0; for (int k = 0; k < this.players.size(); ++k) { EntityPlayer entityplayer = (EntityPlayer) this.players.get(k); + if (sender != null && !entityplayer.getBukkitEntity().canSee(sender.getBukkitEntity())) continue; // CraftBukkit - if (this.a(entityplayer, false, d0, d1, d2, packetplayoutworldparticles)) { +- if (this.a(entityplayer, false, d0, d1, d2, packetplayoutworldparticles)) { ++ if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit ++j; + } + } -- cgit v1.2.3