Compukter Kraft | Dev
4 subscribers
19 photos
1 file
3 links
Наивный мальчик, желающий стать гигачадом в мире разработки

GitHub: https://github.com/LazyHat/Compukter-Kraft

Modrinth: https://modrinth.com/mod/compukterkraft
Download Telegram
Нарисовал я свои текстурки, рисовать я не умею, что получилось то получилось, мне нравится в целом)

Слева - Workbench
Справа - обычный комп
👍1
Вот что поделать....

Это последствия дрейфа между дропами майна.

Я часа 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
А, да, теперь терминал это отдельный item

При нажатии ПКМ по компу, он к нему прикрепляется и с компом можно взаимодействовать. У терминала есть радиус действия, так что из жопы мира к компу не подлкючится.
С начала порта на 1.21.1 кодовая база выросла более чем в 2 раза. Жесть.

Итого на сегодня:
27к строк кода
263 коммита

Ни одной публикации, прошлую на 1.20.1 я удалил, так как толку в ней 0
Сделал и выложил первый релиз на 1.21.1, по сути своего рода Hello World!

Прошу любить и жаловать! Мод пока очень сырой, багов много, ну и в целом в моде особо пока ничего нет, 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
Вот такой логотип мне сгенерила нейронка Nano Banana. МНЕ КАЖЕТСЯ АХУЕННО
Вот второе лого
Пока мне абсолютно насрать как будет выглядеть хах, мне даже так нравится больше, пусть полная чушь, но пусть так. В любом случае компы в майне это настолько же странная штука, как и эти две картинки
Channel photo updated
Channel photo updated