Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Kotlin и Java-типы

Статус
Закрыто для дальнейших ответов.

ifxandy

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
witwar
Здравствуйте, форумчане. Решил посмотреть в сторону Kotlin'а как языка для Spigot плагинов. Начал писать на нём плагин с функциями для лобби (блоки не-ломаемые, NPC, музыка), я не мазохист, поэтому подключил ProtocolLib. Покопавшись с ошибками и старыми темами на американских форумах нашёл ДАННУЮ ТЕМКУ, решил адаптировать исходя из Issue'шок ProtocolLib до текущей версии. Начал получать DataWatcher'ы, проблема возникла на моменте получения сериалайзеров.

Сама суть проблемы - Kotlin имеет свою имплементацию типов (они представляются в виде отдельных классов либы). При получении сериалайзеров, мне необходимо в метод Registry.get() передать класс, но т.к. это не обычная Java, там нету её стандартных классов представляющих типы (Integer, Byte, Float, Double) и Kotlin передаёт туда объект класса своей имплементации, по которой соответственно ничего из Registry получить не удаётся и он выкидывает экзепшн.

Мои версии:
- ProtocolLib - 4.7.0
- PacketWrapper - 1.12.1-R0-1 (добавил из локального файла, билд взял с CI, номер #69)
- Paper - 1.12.2-R0.1
- kotlin-stdlib-jdk8 - 1.4.32
- maven-failsafe-plugin - 2.22.2
- maven-surefire-plugin - 2.22.2
- maven-shade-plugin 3.2.4
- kotlin-maven-plugin 1.4.32

Скрин самой ошибки:
- [ТЫК]

Соурс-код файла ProtocolNPC (файл логики NPC):
- [ТЫК]

Файл с полным экзепшном (текстом):
- [ТЫК]
 
Вот тебе делать то нечего, кодил бы на java и все. Оно все равно в java классы компилируется, только жизнь себе усложняешь.
 
Вот тебе делать то нечего, кодил бы на java и все. Оно все равно в java классы компилируется, только жизнь себе усложняешь.
там есть некоторые удобства по сравнению с ванилльной java
 
Решил посмотреть в сторону Kotlin'а как языка для Spigot плагинов
Что-то здесь не стыкуется.
Так или иначе, с котлином в таких аспектах я мало знаком. Гугл предлагает использовать что-то вроде Float::class.javaObjectType
 
Что-то здесь не стыкуется.
Так или иначе, с котлином в таких аспектах я мало знаком. Гугл предлагает использовать что-то вроде Float::class.javaObjectType
Спасибо, это действительно сработало для меня!
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх