Вот что поделать....
Это последствия дрейфа между дропами майна.
Я часа 4 потратил чтобы разобраться почему не дропается item.
Нейронка потратила полчаса рыская по jar-никам и исходникам NeoForge...
А всё почему, потому что blocks остались как blocks. Но loot_tables почему-то надо было переименовать в loot_table.
И самое главное я знал что такое изменение было, но подумал что это лут таблиц не коснулось, так как там blocks.
Это последствия дрейфа между дропами майна.
Я часа 4 потратил чтобы разобраться почему не дропается item.
Нейронка потратила полчаса рыская по jar-никам и исходникам NeoForge...
А всё почему, потому что blocks остались как blocks. Но loot_tables почему-то надо было переименовать в loot_table.
И самое главное я знал что такое изменение было, но подумал что это лут таблиц не коснулось, так как там blocks.
Разработка активно продолжается, но пока я всё ещё не могу выложить мод в открытый доступ, даже для тестов, потому что толком основной usecase не покрыт увы.
Коротко что было сделано:
1. Добавил runtime gametesting и подтянул тесты, чтобы дальше развивать систему без регрессий.
2. Я собрал новую screen-first/compiled UI-архитектуру: declarative DSL, layout-контейнеры, modifiers, цветовую модель, измерение текста и базовые примитивы рендера - В итоге получился Jetpack Compose like DSL, но без его жирного рантайма и магических преобразований. По сути я сделал минимальный рантайм, все статичные элементы просто складываются в список и потом уже при отрисевке просто рисуется весь список элементов сплошняком, без динамических перерасчётов каждый кадр. Разумеется динамика есть, например ветвления, тултипы, popups, это приходится пересобирать, но не каждый кадр, а только когда состояние меняется. Досиг минимум overhead и максимум читаемости кода, пушто я задолбался смотреть на рисование прямоугольников с магическими числами.
Сейчас в процессе переноса всех своих UI экранов на новый DSL.
3. Перевел terminal/runtime на stream I/O и VT-последовательности, добавил terminal session model, scrollback, shared-session broadcaster и portable terminal item с 3D-моделью и отдельными текстурами. Теперь клиентский терминал связывается с сервером только посредством STDOUT и STDIN, что существенно снижает кол-во передаваемых данных, по сути довольно близко к Unix философии и SSH подобному взаимодействию
Сейчас хочу стабилизировать эти фичи и наконецто выложить первую версию для 1.21.1
Коротко что было сделано:
1. Добавил runtime gametesting и подтянул тесты, чтобы дальше развивать систему без регрессий.
2. Я собрал новую screen-first/compiled UI-архитектуру: declarative DSL, layout-контейнеры, modifiers, цветовую модель, измерение текста и базовые примитивы рендера - В итоге получился Jetpack Compose like DSL, но без его жирного рантайма и магических преобразований. По сути я сделал минимальный рантайм, все статичные элементы просто складываются в список и потом уже при отрисевке просто рисуется весь список элементов сплошняком, без динамических перерасчётов каждый кадр. Разумеется динамика есть, например ветвления, тултипы, popups, это приходится пересобирать, но не каждый кадр, а только когда состояние меняется. Досиг минимум overhead и максимум читаемости кода, пушто я задолбался смотреть на рисование прямоугольников с магическими числами.
Сейчас в процессе переноса всех своих UI экранов на новый DSL.
3. Перевел terminal/runtime на stream I/O и VT-последовательности, добавил terminal session model, scrollback, shared-session broadcaster и portable terminal item с 3D-моделью и отдельными текстурами. Теперь клиентский терминал связывается с сервером только посредством STDOUT и STDIN, что существенно снижает кол-во передаваемых данных, по сути довольно близко к Unix философии и SSH подобному взаимодействию
Сейчас хочу стабилизировать эти фичи и наконецто выложить первую версию для 1.21.1
С начала порта на 1.21.1 кодовая база выросла более чем в 2 раза. Жесть.
Итого на сегодня:
27к строк кода
263 коммита
Ни одной публикации, прошлую на 1.20.1 я удалил, так как толку в ней 0
Итого на сегодня:
27к строк кода
263 коммита
Ни одной публикации, прошлую на 1.20.1 я удалил, так как толку в ней 0
Сделал и выложил первый релиз на 1.21.1, по сути своего рода Hello World!
Прошу любить и жаловать! Мод пока очень сырой, багов много, ну и в целом в моде особо пока ничего нет, 2 блока да предмет )
Плюс мод скорее всего не совместим с Kotlin For Forge, но это как я знаю решается.
Если кому интересно, то можете потестить, завести issues )
https://modrinth.com/mod/compukterkraft
Прошу любить и жаловать! Мод пока очень сырой, багов много, ну и в целом в моде особо пока ничего нет, 2 блока да предмет )
Плюс мод скорее всего не совместим с Kotlin For Forge, но это как я знаю решается.
Если кому интересно, то можете потестить, завести issues )
https://modrinth.com/mod/compukterkraft
compukterkraft-1.21.1-0.1.0.jar
4.5 MB
На Modrinth довольно долго апрувят, так что продублирую мод здесь
пока на neoforge, если нужно будет, сделаю на fabric или вообще quilt
пока на neoforge, если нужно будет, сделаю на fabric или вообще quilt
Пока мне абсолютно насрать как будет выглядеть хах, мне даже так нравится больше, пусть полная чушь, но пусть так. В любом случае компы в майне это настолько же странная штука, как и эти две картинки

