[Protocollib] Как задать Scale для Display

Lev

Пользователь
Сообщения
110
Решения
15
Я пытаюсь задать Scale для для ITEM_DISPLAY ( ). Пакет отправляется нормально, но на клиенте я получаю ошибку. Как правильно задать Scale для ITEM_DISPLAY?
Код:
Java:
#pm - ProtocolManager
#i - id существа
PacketContainer entityMetadata = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
entityMetadata.getIntegers().write(0, i);
StructureModifier<List<WrappedDataValue>> watchableAccessor = entityMetadata.getDataValueCollectionModifier();
List<WrappedDataValue> values = Lists.newArrayList();
net.minecraft.core.Vector3f vector3F = new net.minecraft.core.Vector3f(3.0f, 3.0f, 3.0f);
values.add(new WrappedDataValue(11, WrappedDataWatcher.Registry.getVectorSerializer(), vector3F));
watchableAccessor.write(0, values);
pm.sendServerPacket(player, entityMetadata);
[Render thread/ERROR]: Error executing task on Client
java.lang.IllegalStateException: Invalid entity data item type for field 11 on entity g['Item Display'/6769317, l='ClientLevel', x=-232.70, y=64.00, z=39.51]: old=( 1.000E+0 1.000E+0 1.000E+0)(class org.joml.Vector3f), new=hw@4426b017(class hw)
at acb.a(SourceFile:204) ~[minecraft-1.20.1-client.jar:?]
at acb.a(SourceFile:191) ~[minecraft-1.20.1-client.jar:?]
at fex.a(SourceFile:529) ~[minecraft-1.20.1-client.jar:?]
at xw.a(SourceFile:46) ~[minecraft-1.20.1-client.jar:?]
at xw.a(SourceFile:10) ~[minecraft-1.20.1-client.jar:?]
at uq.a(SourceFile:22) ~[minecraft-1.20.1-client.jar:?]
at bcn.d(SourceFile:156) ~[minecraft-1.20.1-client.jar:?]
at bcr.d(SourceFile:23) ~[minecraft-1.20.1-client.jar:?]
at bcn.x(SourceFile:130) ~[minecraft-1.20.1-client.jar:?]
at bcn.bp(SourceFile:115) ~[minecraft-1.20.1-client.jar:?]
at enn.f(SourceFile:1175) ~[minecraft-1.20.1-client.jar:?]
at enn.e(SourceFile:802) ~[minecraft-1.20.1-client.jar:?]
at net.minecraft.client.main.Main.main(SourceFile:250) ~[minecraft-1.20.1-client.jar:?]
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?]
 
Я пытаюсь задать Scale для для ITEM_DISPLAY ( ). Пакет отправляется нормально, но на клиенте я получаю ошибку. Как правильно задать Scale для ITEM_DISPLAY?
Код:
Java:
#pm - ProtocolManager
#i - id существа
PacketContainer entityMetadata = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
entityMetadata.getIntegers().write(0, i);
StructureModifier<List<WrappedDataValue>> watchableAccessor = entityMetadata.getDataValueCollectionModifier();
List<WrappedDataValue> values = Lists.newArrayList();
net.minecraft.core.Vector3f vector3F = new net.minecraft.core.Vector3f(3.0f, 3.0f, 3.0f);
values.add(new WrappedDataValue(11, WrappedDataWatcher.Registry.getVectorSerializer(), vector3F));
watchableAccessor.write(0, values);
pm.sendServerPacket(player, entityMetadata);
[Render thread/ERROR]: Error executing task on Client
java.lang.IllegalStateException: Invalid entity data item type for field 11 on entity g['Item Display'/6769317, l='ClientLevel', x=-232.70, y=64.00, z=39.51]: old=( 1.000E+0 1.000E+0 1.000E+0)(class org.joml.Vector3f), new=hw@4426b017(class hw)
at acb.a(SourceFile:204) ~[minecraft-1.20.1-client.jar:?]
at acb.a(SourceFile:191) ~[minecraft-1.20.1-client.jar:?]
at fex.a(SourceFile:529) ~[minecraft-1.20.1-client.jar:?]
at xw.a(SourceFile:46) ~[minecraft-1.20.1-client.jar:?]
at xw.a(SourceFile:10) ~[minecraft-1.20.1-client.jar:?]
at uq.a(SourceFile:22) ~[minecraft-1.20.1-client.jar:?]
at bcn.d(SourceFile:156) ~[minecraft-1.20.1-client.jar:?]
at bcr.d(SourceFile:23) ~[minecraft-1.20.1-client.jar:?]
at bcn.x(SourceFile:130) ~[minecraft-1.20.1-client.jar:?]
at bcn.bp(SourceFile:115) ~[minecraft-1.20.1-client.jar:?]
at enn.f(SourceFile:1175) ~[minecraft-1.20.1-client.jar:?]
at enn.e(SourceFile:802) ~[minecraft-1.20.1-client.jar:?]
at net.minecraft.client.main.Main.main(SourceFile:250) ~[minecraft-1.20.1-client.jar:?]
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?]
Если я все правильно понял ошибка в этом, но не уверен
Код:
StructureModifier<List<WrappedDataValue>> watchableAccessor = entityMetadata.getDataValueCollectionModifier();
Исправленный код
Код:
StructureModifier<List<WrappedWatchableObject>> watchableAccessor = entityMetadata.getWatchableCollectionModifier();
 
Назад
Сверху Снизу