Обсудим Помогите с реализацией

tjryj

Пользователь
Сообщения
3
Здравствуйте , хотел сделать систему улучшения зданий , задумка в том, что все игроки будут появляться в одном городе имея возможность за определенное кол - во ресурсов прокачать здание , в принципе , я знаю как сделать это все, но очень хотелось бы что бы здание имело какие то визуальные изменения после прокачки , причём для каждого игрока отдельно , то есть если 2 игрока будут стоять напротив одного и того же здания рядом друг с другом видеть они должны его в соответствии со своим уровнем прокачки, возможно ли такое в принципе ?
 
если 2 игрока будут стоять напротив одного и того же здания рядом друг с другом видеть они должны его в соответствии со своим уровнем прокачки, возможно ли такое в принципе ?
Да, это возможно
 
Здравствуйте , хотел сделать систему улучшения зданий , задумка в том, что все игроки будут появляться в одном городе имея возможность за определенное кол - во ресурсов прокачать здание , в принципе , я знаю как сделать это все, но очень хотелось бы что бы здание имело какие то визуальные изменения после прокачки , причём для каждого игрока отдельно , то есть если 2 игрока будут стоять напротив одного и того же здания рядом друг с другом видеть они должны его в соответствии со своим уровнем прокачки, возможно ли такое в принципе ?
да изи, но много писать код
 
Писать и правда надо будет много, если это прям полноценная рпг система прокачки. Ещё нужно будет писать дополнительные инструменты с FAWE, чтобы можно было выделять территорию и получать координаты блоков, затем загружать их в конфигурацию (не руками же писать координат каждого блока xD).
 
да изи, но много писать код
Скажу больше - код писать не много

Есть такой пакет в майне - MultiBlockChange (отправляет клиенту измененения нескольких блоков)
К-во самих блоков в теории не ограничено - просто это жрет трафика много (если много блоков - то будет весить больше чем секция чанка)

В общем схема простая - на локации где стоит дом - пустота (можно и дом-заглушка но тут уже в зависимости от конкретики решать)
И в зависимости от конкретного игрока - отправлять ему нужный динамически сгенерированный пакет с изменениями блоков

Ещё нужно будет писать дополнительные инструменты с FAWE, чтобы можно было выделять территорию и получать координаты блоков, затем загружать их в конфигурацию
Обычный NBT
В обычном цикле прошелся по указанным координатам, перебрал все блоки, записал в NBT
В обратном порядке восстановил
В идеале можно задействовать ванильные фрагменты кода (либо следовать спецефикациям), чтобы оно было совместимо со структурным блоком

Не уверен сколько там на ведроспиготах писать - но у себя (1.12.2, Forge + свое API) я бы сделал подобную механику буквально в 200 строчек кода
И даж "уровень прокачки" выделенным полем дописал бы игроку (либо с помощью своего LoadInjector-а, либо с помощью миксинов)
 
Последнее редактирование:
В обычном цикле прошелся по указанным координатам, перебрал все блоки, записал в NBT
Я к тому, что в любом случае интеграция с выделениями будут практичнее потому что там много инструментов уже готовых, удобны бля билдеров, а дальше дело логики.
 
Я к тому, что в любом случае интеграция с выделениями будут практичнее потому что там много инструментов уже готовых, удобны бля билдеров, а дальше дело логики.
Тут требуется конкретно тонкая и ручная работа с блоками - использовать WE не эффективно.
Максимальная интеграция к-ю можно использовать - это получить 2 позиции к-ые выделены "топориком" и на этом все
Стоит ли оставлять WE как зависимость только ради этого - вопрос сомнительный
 
В том то и дело, что если он делает рпг систему и у него будет часто использоваться постройки, ему две позиции недостаточно, по этому банально проще интегрировать фулл систему выделения. Особенно если нужно загружать специфические постройки и размеры.
 
по этому банально проще интегрировать фулл систему выделения. Особенно если нужно загружать специфические постройки и размеры.
Чел. Конечная цель всего этого преобразовать набор блоков в пакет с изменениями блоков в определенной области
Тут нужна ручная работа. Использовать WE = себе в колено стрелять. Лучше использовать ванильный формат к-рый совместим с структурными блоками.
Достаточно будет ровно 2-х позиций и 1-го имени файла. Так сделал я.

У меня мощная система каскадной генерации на этом выстроена. И все работает невероятно быстро. Если прикрутить достаточно большую библиотеку, легковесный ИИ (не понятно только как обучать) то можно будет всю карту заполнить городом в стиле киберпанка.
С WE я бы задолбался все это делать
А так - настроил шаблонов, настроил 1 раз структурные блоки - наклацал сохранить, загрузил и использую

(Система сложная только потому что имеет с десяток разных шаблонов для динамической корректировки постройки под ландшафт, имеет поддержку размещения постройки как и на этапе генерации, так и на этапе популяции (в обоих случаях с настройкой времени когда - перед рудами, после них, перед цветами или после, итд), + есть с десяток разных опций для возможного будущего строительства, физических пост-обработчиков итд)
 
Назад
Сверху Снизу