Remove Slime Landing Particles

Discussion in 'Spigot Plugin Development' started by Lurgypai, Apr 20, 2017.

  1. Heyo, so as the title says I need to remove slime's landing particles. I'm making a minigame plugin and, long story short, I'm using an invisible slime to stand still and hold something. Well, he turns invisible easily enough, but there are still particles when he lands on the ground (He's getting moved about). How do I get rid of them? I've looked into using protocollib to intercept the packets (I've never used it before btw), and I was able to get it to work and respond to packets being sent, but I was unable to find the packet used for a slime's landing particles. Any help is appreciated!

    On an informational note, due to some other things I'm running spigot version 1.8.8.

    My code for protocol lib on the chance that I did something wrong:
    Code (Java):
            ProtocolLibrary.getProtocolManager().addPacketListener(
                    new PacketAdapter(basketball, ListenerPriority.NORMAL, PacketType.Play.Server.("I CAN'T FIND THE PACKET")) {
                       
                        @Override
                        public void onPacketSending(PacketEvent event) {
                            Bukkit.getServer().broadcastMessage("test1");
                        }
                    }
                );
        }
     
  2. Maybe this packet could help you out:
    PacketPlayOutWorldParticles // PacketPlayOutWorldEvent
     
    #2 Phloxz, Apr 20, 2017
    Last edited: Apr 20, 2017
  3. Neither

    Code (Java):
        public void startListening() {
            ProtocolLibrary.getProtocolManager().addPacketListener(
                    new PacketAdapter(basketball, ListenerPriority.NORMAL, PacketType.Play.Server.WORLD_EVENT) {
                     
                        @Override
                        public void onPacketSending(PacketEvent event) {
                            Bukkit.getServer().broadcastMessage("test1");
                        }
                    }
                );
        }
    Nor

    Code (Java):
        public void startListening() {
            ProtocolLibrary.getProtocolManager().addPacketListener(
                    new PacketAdapter(basketball, ListenerPriority.NORMAL, PacketType.Play.Server.WORLD_PARTICLES) {
                     
                        @Override
                        public void onPacketSending(PacketEvent event) {
                            Bukkit.getServer().broadcastMessage("test1");
                        }
                    }
                );
        }
    Are triggered by the creation of the slime's landing particles. As I stated I'm new to using ProtocolLib. Is there a different way to check for these packets?

    Edit: On a side note yes, WorldParticles triggered. It went of when I or the entity landed and created landing particles from the block we landed on. But not when only the slime particles appeared.
     
    #3 Lurgypai, Apr 21, 2017
    Last edited: Apr 21, 2017
  4. Bumpey bump. I'm at my wits end, anyone out there with any idea how to do this?
     
  5. Is there really no answer?
     
  6. According to http://wiki.vg/Protocol#Particle there is no slime-landing-particle.

    It also doesn't make sense, that there ever would be a serverside-sent particle for actions like this.
    I'm 95% sure, these particles were completely clientside.

    So if you don't want those paricles, don't use slimes or try turning on their NoAI.
     
  7. Check it again. ID 33 clearly seems to be slime. Those are the particles that are played by slimes.
     
  8. Those particles are particles that can be spawned, yes, but that packet is apparently not used when they are spawned. The potion particles, or the particles that spawn when a dispenser is used are also no triggering it, though block particles from landing are, so I assumed it was correctly triggering, but that these particles didn't trigger it. I tried overriding the code that spawns the particles in my custom slimes class, but they still spawned.

    Is it that I'm running the latest protocolLib on Minecraft version 1.8.8? I didn't think to check... What version of Protocol Lib goes with 1.8.8?

    I need the height of the small slime. Its carrying the a ball for a minigame.