Иконка ресурса

Some code using Kotlin 0.1

Нет прав для скачивания
Merisen добавил(а) новый ресурс:

Some code using Kotlin - Переписывание модов/некоторых исходников под Котлин

Автор мода и его версия на Java: click
Любые нарекания по коду – излагайте, буду принимать и исправлять.

Класс отрисовки компаса:
Kotlin:
package merisen.compas_kt

import cpw.mods.fml.common.eventhandler.SubscribeEvent
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import net.minecraft.client.Minecraft
import net.minecraft.util.StatCollector
import...

Узнать больше об этом ресурсе...
 
1,111
47
420
Где смысл?
Но вапще, я бы предложил обработчик событий сделать object'ом, а не class'ом
 
Для тех кто захочет писать моды на Котлине будет небольшой подсказкой.

Обработчик оставил классом так как стандартный темплейт был классом (мун)
В будущих обновлениях и добавлениях новых сливов кода на котлине исправлю.
 
1,111
47
420
Ок, мне еще вот это не нравится: merisen.compas_kt. Исходя из стандарта кодостайла стоит называть compasKt. У некоторых непереносимость верхнего регистра в именах пакетов, и они пишут compaskt, что тоже допустимо.
 

CumingSoon

Местный стендапер
1,634
12
269
В дравТекст кмк лишний when, так как в else ветке только return. Можно вполне себе заменить на if
 
1,159
38
544
Шаблон проекта для тех, кто не хочет самостоятельно парится с шейдингом либ котлина. Готовое окружение для разаботки модов на котлине. За авторством хорошего чувака по имени @Ivasik.

+ вот еще одна тема по котлину. Может будет кому-то полезна.
 
7,099
324
1,510
Ок, мне еще вот это не нравится: merisen.compas_kt. Исходя из стандарта кодостайла стоит называть compasKt. У некоторых непереносимость верхнего регистра в именах пакетов, и они пишут compaskt, что тоже допустимо.
Можно еще compas.kt - красиво и читаемо
 

Icosider

Kotliner
Администратор
3,603
99
664
Главный класс не обджект...
"val mc = Minecraft.getMinecraft()!!" мда...
Использовать when при одном условии...
Создать mc переменную, чтобы не использовать её...
 
2,505
81
397
И не нужно никаких адаптеров
Kotlin:
@Mod(modid = MyMod.MODID)
object MyMod {
    const val MODID = "mymod"

    @JvmStatic
    @Mod.InstanceFactory
    fun instance() = MyMod
}
 

CumingSoon

Местный стендапер
1,634
12
269
Для обжекта адаптер нужен, так что да, проще
 

CumingSoon

Местный стендапер
1,634
12
269
Ну либо адаптер, либо переменная для создания класса
Это куда сложнее, чем просто написать class
 
78
3
10
Вот бы сейчас использовать лаконичный Котлин и старые конвенции Джавы с переносом усов на новую строку...
 
1,470
19
189
Сверху