PacketPlayOutWorldParticles help

Discussion in 'Plugin Development' started by DarkFuzzyCookie, Apr 7, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    DarkFuzzyCookie

    I'm trying to play particles threw the packet PacketPlayOutWorldParticles, but I'm not having much luck.

    This is my code so far, everytime I run it it D/Cs my game and gives me the error:

    "Internal Exception: io.netty.handler.codec.DecoderException:
    java.lang.IndexOutOfBoundsException: readerIndex(1) + length(4)
    exceeds writerIndex(1): UnpooledHeapByteBuf(ridx: 1, widx: 1, cap: 1)"

    Code:
    PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles();
                           
                            for (Field field : particles.getClass().getDeclaredFields())
                            {
                                try
                                {
                                    field.setAccessible(true);
                                    String fieldName = field.getName();
                                    switch (fieldName)
                                    {
                                    // dunno what it wants here
                                    case "a":
                                        field.set(particles, null);
                                        break;
                                     // float
                                    case "b":
                                        field.set(particles, 0F);
                                        break;
                                     // float
                                    case "c":
                                        field.set(particles, 0F);
                                        break;
                                     // float
                                    case "d":
                                        field.set(particles, 0F);
                                        break;
                                     // float
                                    case "e":
                                        field.set(particles, 0F);
                                        break;
                                     // float
                                    case "f":
                                        field.set(particles, 0F);
                                        break;
                                     // float
                                    case "g":
                                        field.set(particles, 0F);
                                        break;
                                     // float
                                    case "h":
                                        field.set(particles, 0F);
                                        break;
                                     // int
                                    case "i":
                                        field.set(particles, 0);
                                        break;
                                     // boolean
                                    case "j":
                                        field.set(particles, true);
                                        break;
                                     // int[]
                                    case "k":
                                        field.set(particles, ef);
                                        break;
                                    }         
                                }catch(Exception e){
                                    player.sendMessage(e.getMessage());
                                }
                            }
                            cPlayer.getHandle().playerConnection.sendPacket(particles);

    Any push / help in the right direction would be great. Thank you.
     
  2. Offline

    Zombie_Striker

Thread Status:
Not open for further replies.

Share This Page