Привет!
Ты попал на канал увлечённого программированием человечка
Здесь я буду писать заметки и девлоги по своим проектам
Надеюсь найдёшь здесь для себя полезную инфу!
Ты попал на канал увлечённого программированием человечка
Здесь я буду писать заметки и девлоги по своим проектам
Надеюсь найдёшь здесь для себя полезную инфу!
Compukter Kraft | Dev pinned «Привет! Ты попал на канал увлечённого программированием человечка Здесь я буду писать заметки и девлоги по своим проектам Надеюсь найдёшь здесь для себя полезную инфу!»
Сейчас я занимаюсь разработкой аналога мода CC:Tweaked - Compukter Craft (название может поменяться)
Отличие мода в том, что основной язык написания скриптов - Kotlin, а не Lua
Я считаю что язык Lua хорош, но он, на мой взгляд, не подходит для CC.
Lua предназначен прежде всего для написания не исполняемых скриптов или конфигураций, а вот исполняемую логику, тем более сложную логику я считаю нереально писать на Lua
Один мой друг решил нарисовать програмки для CC и... это было больно.
Поэтому я загорелся идеей написать свой мод.
Прикладываю настоящий репозиторий с модом, пока там ничего особого нет, да и половина сп.. позаимствована из оригинального CC
GitHub: https://github.com/LazyHat/Compukter-Kraft
Modrinth: https://modrinth.com/mod/compukterkraft
Отличие мода в том, что основной язык написания скриптов - Kotlin, а не Lua
Я считаю что язык Lua хорош, но он, на мой взгляд, не подходит для CC.
Lua предназначен прежде всего для написания не исполняемых скриптов или конфигураций, а вот исполняемую логику, тем более сложную логику я считаю нереально писать на Lua
Один мой друг решил нарисовать програмки для CC и... это было больно.
Поэтому я загорелся идеей написать свой мод.
Прикладываю настоящий репозиторий с модом, пока там ничего особого нет, да и половина сп.. позаимствована из оригинального CC
GitHub: https://github.com/LazyHat/Compukter-Kraft
Modrinth: https://modrinth.com/mod/compukterkraft
GitHub
GitHub - LazyHat/Compukter-Kraft: Mod inspired by ComputerCraft mod, but programming language is NOT Lua
Mod inspired by ComputerCraft mod, but programming language is NOT Lua - LazyHat/Compukter-Kraft
Compukter Kraft | Dev pinned «Сейчас я занимаюсь разработкой аналога мода CC:Tweaked - Compukter Craft (название может поменяться) Отличие мода в том, что основной язык написания скриптов - Kotlin, а не Lua Я считаю что язык Lua хорош, но он, на мой взгляд, не подходит для CC. Lua предназначен…»
Ох как же я устал от конфигурирования проекта мода в Gradle
С одной стороны я хорошо знаю Gradle и знаю как сделать что угодно.
С другой стороны есть всякие плагины для модлоадеров, которые совершенно не интуитивно работают с classpath и sourceSet
Вот я вообще не имею понятия как мне подгрузить другие зависимости в мод, например для Kotlin Scripting, чтобы они нормально резолвились в Intellij и чтобы модлоадер тоже их мог найти
С одной стороны я хорошо знаю Gradle и знаю как сделать что угодно.
С другой стороны есть всякие плагины для модлоадеров, которые совершенно не интуитивно работают с classpath и sourceSet
Вот я вообще не имею понятия как мне подгрузить другие зависимости в мод, например для Kotlin Scripting, чтобы они нормально резолвились в Intellij и чтобы модлоадер тоже их мог найти
Compukter Kraft | Dev
Ох как же я устал от конфигурирования проекта мода в Gradle С одной стороны я хорошо знаю Gradle и знаю как сделать что угодно. С другой стороны есть всякие плагины для модлоадеров, которые совершенно не интуитивно работают с classpath и sourceSet Вот я…
Вообще я просто хочу добавить:
во-первых поддержку Kotlin в моде без KotlinForForge, потому что я не хочу завязываться на этот мод, он как-то странно поддерживается
во-вторых добавить поддержку Kotlin Scripting
всего-то...
А на деле это выливается в кучу проблем с внедрением этого всего в java мир Minecraft, знаю разраб HollowEngine тоже запарился, настала и моя очередь)
Пока я не сильно представляю как устроена разработка мода, зачем деобфусцировать я в целом понимаю, но тонкости упаковки мода, загрузки его модлоадером, а также конфигурация в Gradle - это пока неизведанное
во-первых поддержку Kotlin в моде без KotlinForForge, потому что я не хочу завязываться на этот мод, он как-то странно поддерживается
во-вторых добавить поддержку Kotlin Scripting
всего-то...
А на деле это выливается в кучу проблем с внедрением этого всего в java мир Minecraft, знаю разраб HollowEngine тоже запарился, настала и моя очередь)
Пока я не сильно представляю как устроена разработка мода, зачем деобфусцировать я в целом понимаю, но тонкости упаковки мода, загрузки его модлоадером, а также конфигурация в Gradle - это пока неизведанное
Не знаю почему, но что бы я не попробовал, везде натыкался на какую-то ошибку, о которой никто не знает. Копаться в исходниках мне не очень хочется, особенно Gradle плагинов, где люди забывают что такое типизация как правило
Пробовал разные плагины и в итоге решил остановится на чистом ForgeGradle 6
Почему-то 7-мая версия у меня не завелась, вылетел непонятный NPE, ишьюс не было никакого, поэтому я решил забить на него и откатиться на 6-ой
ModDevGradle(legacy) от neoforge завёлся, но мне была совсем непонятно как он управляет конфигурациями. Банально не полуилось подтянуть зависимость в мод (kotlin-stdlib). При запуске задачи runClient Forge не находил зависимость и классы в ней. В classpath разумеется было пусто. Я попробовал разные варианты прокидывания: и в рантайм, и в implementation, нейронки тоже ничего путного не подсказали.
Поэтому я решил попробовать использовать форджовский оригинальный Gradle плагин, ну нахер эти ваши обёртки
В целом ветки я оставил, может ещё вернусь к новым плагинам
Пробовал разные плагины и в итоге решил остановится на чистом ForgeGradle 6
Почему-то 7-мая версия у меня не завелась, вылетел непонятный NPE, ишьюс не было никакого, поэтому я решил забить на него и откатиться на 6-ой
ModDevGradle(legacy) от neoforge завёлся, но мне была совсем непонятно как он управляет конфигурациями. Банально не полуилось подтянуть зависимость в мод (kotlin-stdlib). При запуске задачи runClient Forge не находил зависимость и классы в ней. В classpath разумеется было пусто. Я попробовал разные варианты прокидывания: и в рантайм, и в implementation, нейронки тоже ничего путного не подсказали.
Поэтому я решил попробовать использовать форджовский оригинальный Gradle плагин, ну нахер эти ваши обёртки
В целом ветки я оставил, может ещё вернусь к новым плагинам
Compukter Kraft | Dev
УРААААААААААААА ПОБЕДАААААААААА СЛАВА ARCHITECTURY!!!!!!
В общем да... Я решил всё таки попробвать ещё раз. И у меня получилось, счастья полные штаны
В ForgeGradle 6 я тоже столкнулся с какой-то непонятной для меня нынешнего ошибкой, поэтому я снова переключился от нехотя на модный молодёжный плагин architectury, плюсом я скорее всего буду распространять мод на несколько модлоадеров и разумеется лучшим вариантом будет использовать architectury
+ Forge уже уходит в закат, а плагин NeoForge разумеется несовместим никак со старым Forge
Даже в architectury на сайте с инициализацией проекта у тебя выбор Forge доступен только на 1.20.x версиях. На 1.21.x на Forge писать уже моветон хах
В ForgeGradle 6 я тоже столкнулся с какой-то непонятной для меня нынешнего ошибкой, поэтому я снова переключился от нехотя на модный молодёжный плагин architectury, плюсом я скорее всего буду распространять мод на несколько модлоадеров и разумеется лучшим вариантом будет использовать architectury
+ Forge уже уходит в закат, а плагин NeoForge разумеется несовместим никак со старым Forge
Даже в architectury на сайте с инициализацией проекта у тебя выбор Forge доступен только на 1.20.x версиях. На 1.21.x на Forge писать уже моветон хах
Compukter Kraft | Dev
И вот я вернулся к ошибке, из-за которой забросил разработку этого мода... Как ни странно, но раньше у меня получалось работать с ModDevGradle от NeoForged и всё подгружалось... но да не важно уже )))
Просто в тупую подключить зависимости для Kotlin Scripting увы не получится, есть такой вот пакет с названием "native". А в Java слово "native" является зарезервированным и как название пакета использоваться не может. буду ремапить штош
Compukter Kraft | Dev
Просто в тупую подключить зависимости для Kotlin Scripting увы не получится, есть такой вот пакет с названием "native". А в Java слово "native" является зарезервированным и как название пакета использоваться не может. буду ремапить штош
Не совсем как оказалось. Проблема ещё глубже, на уровне загрузки этих зависимостей в мод.
Как я понял, самое лучшее решение - делать отдельный Jar со всей мишурой компиляторной и делать маленький слой взаимодействия с модом. Т.е. напрямую не пользоваться зависимостями для kts скриптов
Подключил нейронку для такого действия, буду внимательно изучать, так как всё это для меня в новинку
Как я понял, самое лучшее решение - делать отдельный Jar со всей мишурой компиляторной и делать маленький слой взаимодействия с модом. Т.е. напрямую не пользоваться зависимостями для kts скриптов
Подключил нейронку для такого действия, буду внимательно изучать, так как всё это для меня в новинку
Заодно я окончательно решил что буду использовать Architectury для своего мода