Java-红石粒子不会改变其颜色

我正在尝试使用ProtocolLib通过数据包将彩色的红石颗粒发送到播放器.我用谷歌搜索使它们着色,我需要使用offset参数作为RGB系统.但是,它没有按预期工作.粒子仍然是红色或具有随机颜色(请参见下文),并且偏移量仍用作每个粒子从给定位置的随机化器.
我的代码:

PacketContainer packet = new PacketContainer(PacketType.Play.Server.WORLD_PARTICLES);
packet.getModifier().writeDefaults();
packet.getParticles().write(0, Particle.REDSTONE);
float x = (float) loc.getX();
float y = (float) loc.getY() + 3;
float z = (float) loc.getZ();
float red = 0;
float green = 0;
float blue = 1;
packet.getFloat().write(0, x).write(1, y).write(2, z); // Location
packet.getFloat().write(3, red).write(4, green).write(5, blue); // Offset
packet.getFloat().write(6, 0F); // Particle data ?
packet.getIntegers().write(0, 1); // Amount

ProtocolManager manager = ProtocolLibrary.getProtocolManager();
try {
    for (Player player : getters) manager.sendServerPacket(player, packet);
} catch (Exception ex) {ex.printStackTrace();}

我试图更改数量和粒子数据.如果粒子数据为0,则粒子为红色,在其他情况下,最多随机化1个粒子.
我正在使用ProtocolLib 4.3.0和Spigot 1.12.2

解决方法:

我解决了我的问题,要生成彩色的真实红石粒子,必须有3件事:

>金额必须为0
>数据必须为1
>红色分量(x偏移)必须为x-1(因为该分量在推入数据包之前会自动增加1)

上一篇:Java进程使用了​​比分配的更多的RAM?


下一篇:Java-Bukkit ConfigurationSection getKeys