如题,我试着用之前站里的教程来发一个展示实体,但是怎么写展示实体的元数据呢,比如TextDisplay,我怎么才能指定这个实体的文本内容啊。我试着写入watcher,但是下标溢出了,有没有大佬给个例子,感激不尽
PacketContainer packet = protocolManager.createPacket(PacketType.Play.Server.SPAWN_ENTITY);
// 基础数据设置
packet.getIntegers().write(0, entityId);
packet.getUUIDs().write(0, UUID.randomUUID());
packet.getEntityTypeModifier().write(0, EntityType.TEXT_DISPLAY);
packet.getDoubles().write(0, loc.getX());
packet.getDoubles().write(1, loc.getY());
packet.getDoubles().write(2, loc.getZ());
Polygon.getSender().sendToAllPlayer(packet.toString());
Entity entity = player.getWorld().spawnEntity(loc,EntityType.TEXT_DISPLAY);
TextDisplay textDisplay = (TextDisplay) entity;
textDisplay.setText("你好哦~");
entity.remove();
WrappedDataWatcher watcher = WrappedDataWatcher.getEntityWatcher(entity).deepClone();
packet.getDataWatcherModifier().write(0,watcher);
pm.sendServerPacket(player, packet);
PacketContainer packet = protocolManager.createPacket(PacketType.Play.Server.SPAWN_ENTITY);
// 基础数据设置
packet.getIntegers().write(0, entityId);
packet.getUUIDs().write(0, UUID.randomUUID());
packet.getEntityTypeModifier().write(0, EntityType.TEXT_DISPLAY);
packet.getDoubles().write(0, loc.getX());
packet.getDoubles().write(1, loc.getY());
packet.getDoubles().write(2, loc.getZ());
Polygon.getSender().sendToAllPlayer(packet.toString());
Entity entity = player.getWorld().spawnEntity(loc,EntityType.TEXT_DISPLAY);
TextDisplay textDisplay = (TextDisplay) entity;
textDisplay.setText("你好哦~");
entity.remove();
WrappedDataWatcher watcher = WrappedDataWatcher.getEntityWatcher(entity).deepClone();
packet.getDataWatcherModifier().write(0,watcher);
pm.sendServerPacket(player, packet);