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

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...

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

Обработчик оставил классом так как стандартный темплейт был классом (мун)
В будущих обновлениях и добавлениях новых сливов кода на котлине исправлю.
 
Ок, мне еще вот это не нравится: merisen.compas_kt. Исходя из стандарта кодостайла стоит называть compasKt. У некоторых непереносимость верхнего регистра в именах пакетов, и они пишут compaskt, что тоже допустимо.
 
В дравТекст кмк лишний when, так как в else ветке только return. Можно вполне себе заменить на if
 
Шаблон проекта для тех, кто не хочет самостоятельно парится с шейдингом либ котлина. Готовое окружение для разаботки модов на котлине. За авторством хорошего чувака по имени @Ivasik.

+ вот еще одна тема по котлину. Может будет кому-то полезна.
 
Ок, мне еще вот это не нравится: merisen.compas_kt. Исходя из стандарта кодостайла стоит называть compasKt. У некоторых непереносимость верхнего регистра в именах пакетов, и они пишут compaskt, что тоже допустимо.
Можно еще compas.kt - красиво и читаемо
 
Главный класс не обджект...
"val mc = Minecraft.getMinecraft()!!" мда...
Использовать when при одном условии...
Создать mc переменную, чтобы не использовать её...
 
И не нужно никаких адаптеров
Kotlin:
@Mod(modid = MyMod.MODID)
object MyMod {
    const val MODID = "mymod"

    @JvmStatic
    @Mod.InstanceFactory
    fun instance() = MyMod
}
 
Для обжекта адаптер нужен, так что да, проще
 
Ну либо адаптер, либо переменная для создания класса
Это куда сложнее, чем просто написать class
 
Вот бы сейчас использовать лаконичный Котлин и старые конвенции Джавы с переносом усов на новую строку...
 
Назад
Сверху