Force value in spawnParticle Method not working

    • Type: Bug
    • Resolution: Fixed
    • Priority: Minor
    • None
    • Affects Version/s: None
    • CraftBukkit version 4435-Spigot-d421948-c175d4f (MC: 1.21.4) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
    • Yes

      Particles spawned with the World.spawnParticle method are created with force set to false regardless of the value of the parameter of the method.

      This means, that all particles created using the spigot API are not visible to players when they are >= 32 blocks away from the particle.

       

      Example to reproduce:

      The following continuously spawns a particle at the location of arrows fired by the player:

       

      new BukkitRunnable() {
          @Override
          public void run() {
      
              for (Entity entity : Bukkit.getWorlds().get(0).getEntities()) {
                  if (!(entity instanceof AbstractArrow arrow)) continue;
                  if (!(arrow.getShooter() instanceof Player)) continue;
                  if (arrow.isInBlock()) continue;
      
                  entity.getWorld().spawnParticle(Particle.EXPLOSION, entity.getLocation(), 1, 0, 0, 0, 0, null, true);
              }
      
          }
      }.runTaskTimer(this, 0, 1); 

      Expected Behavior:
      The "force" parameter is set to true, so the particle should be visible beyond 32 blocks.

      Actual Behavior:
      Particles disappear after approximately 32 blocks, indicating the force parameter is ignored

      Additional Evidence:
      Using ProtocolLib, I intercepted the Particle Packet sent to the client and confirmed that the "force" value is always set to false, even when explicitly set to true in the spawnParticle method.
      The attached video demonstrates how the particles stop appearing at a certain distance.

      The attached Jar is a simple reproduction plugin. Simply shoot an arrow using a bow. The particles should stop spawning after around 32 blocks. If ProtocolLib is also installed, some debug information about the particle creation will be printed in the in-game chat.

        1. BugTest.jar
          6 kB
        2. Bug Test.mp4
          15.00 MB

            Assignee:
            Doc
            Reporter:
            Alphaton
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: