NotDen Опубликовано 26 ноября, 2023 Поделиться Опубликовано 26 ноября, 2023 Создавал ентити Text_display, не и столкнулся с проблемой, что как запихнуть компонент в Метадату. Были 2 нерабочих варианта: new WrappedDataValue(23, WrappedDataWatcher.Registry.get(String.class), GsonComponentSerializer.gson().serialize( <некий компонент> )), /* text */ new WrappedDataValue(23, WrappedDataWatcher.Registry.getChatComponentSerializer(), WrappedChatComponent.fromJson(GsonComponentSerializer.gson().serialize( <некий компонент> ))), /* text */ В первом случаи просто не работает, во втором ошибка WrappedChatComponent cannot be cast to class net.minecraft.network.chat.IChatBaseComponent Если использовать WrappedChatComponent.class в Registry.get то ошибка No serializer found for class WrappedChatComponent Вопрос: как это заставить работать? Полный код: Спойлер PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA); packet.getIntegers().write(0, data.displayId()); { List<WrappedDataValue> vals = List.of( new WrappedDataValue(0, WrappedDataWatcher.Registry.get(Byte.class), (byte)0), /* */ new WrappedDataValue(4, WrappedDataWatcher.Registry.get(Boolean.class), true), /* is silent */ new WrappedDataValue(5, WrappedDataWatcher.Registry.get(Boolean.class), true), /* no gravity */ new WrappedDataValue(7, WrappedDataWatcher.Registry.get(Integer.class), 0), /* frozen ticks */ new WrappedDataValue(8, WrappedDataWatcher.Registry.get(Integer.class), 1), /* interpolation delay */ new WrappedDataValue(9, WrappedDataWatcher.Registry.get(Integer.class), 1), /* interpolation duration */ new WrappedDataValue(10, WrappedDataWatcher.Registry.get(Integer.class), 1), /* interpolation duration */ new WrappedDataValue(11, WrappedDataWatcher.Registry.get(Vector3f.class), new Vector3f(0f, -0.1f, 0f)), /* translation */ new WrappedDataValue(12, WrappedDataWatcher.Registry.get(Vector3f.class), new Vector3f(1f, 1f, 1f)), /* scale */ new WrappedDataValue(13, WrappedDataWatcher.Registry.get(Quaternionf.class), new Quaternionf(0f, 0f, 0f, 0f)), /* rotation left */ new WrappedDataValue(14, WrappedDataWatcher.Registry.get(Quaternionf.class), new Quaternionf(0f, 0f, 0f, 0f)), /* rotation right */ new WrappedDataValue(15, WrappedDataWatcher.Registry.get(Byte.class), (byte)3), /* billboard */ new WrappedDataValue(16, WrappedDataWatcher.Registry.get(Integer.class), -1), /* brightness */ new WrappedDataValue(17, WrappedDataWatcher.Registry.get(Float.class), 0f), /* view range */ new WrappedDataValue(18, WrappedDataWatcher.Registry.get(Float.class), 0f), /* shadow radius */ new WrappedDataValue(19, WrappedDataWatcher.Registry.get(Float.class), 0f), /* shadow strength */ new WrappedDataValue(20, WrappedDataWatcher.Registry.get(Float.class), 1f), /* width */ new WrappedDataValue(21, WrappedDataWatcher.Registry.get(Float.class), 1f), /* height */ new WrappedDataValue(22, WrappedDataWatcher.Registry.get(Integer.class), -1), /* Glow color override */ new WrappedDataValue(23, WrappedDataWatcher.Registry.getChatComponentSerializer(), WrappedChatComponent.fromJson(GsonComponentSerializer.gson().serialize( <некий компонент> ))), /* text */ new WrappedDataValue(24, WrappedDataWatcher.Registry.get(Integer.class), 200), /* line width */ new WrappedDataValue(25, WrappedDataWatcher.Registry.get(Integer.class), 0x40000000), /* BG color */ new WrappedDataValue(26, WrappedDataWatcher.Registry.get(Byte.class), (byte)-1), /* text opacity */ new WrappedDataValue(27, WrappedDataWatcher.Registry.get(Byte.class), (byte)(0x04 | 0x08)) /* default BG color | align center */ ); packet.getDataValueCollectionModifier().write(0, vals); } protocolManager.sendServerPacket(packetEvent.getPlayer(), packet); Да, много лишнего Но покрайнемере сущность заспанить получилось. Проверял через PacketType.Play.Server.CAMERA Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 28 ноября, 2023 Поделиться Опубликовано 28 ноября, 2023 тебе с такими вопросами на bukkit.ru : / Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 28 ноября, 2023 Автор Поделиться Опубликовано 28 ноября, 2023 3 часа назад, Shomen сказал: тебе с такими вопросами на bukkit.ru : / К сожалению, заметил раньше. Хотя решение уже вроде нашёл, но это не точно Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 3 сообщения