Skip to content

Hummel009/LOTR-WikiGen

Repository files navigation

Caution

С 29.02.2024 разработка проекта завершена. Инструментарий будет поддерживаться в актуальном и рабочем состоянии, но правки в основной код вноситься не будут.

Code Smells Maintainability Rating Security Rating Bugs Vulnerabilities Duplicated Lines (%) Reliability Rating Quality Gate Status Technical Debt Lines of Code

LOTR WikiGen - аддон к моду "Властелин колец" для Minecraft, который выводит информацию о нём в виде парсеров и таблиц, предназначенных для MediaWiki. Быстро портируется на сабмоды "Властелина колец". Также пригоден для отлова багов, вроде неприсвоенных полей и непереведённых строк.

Использование

Генерация сайта MediaWiki

Чтобы сгенерировать первую и основную часть информации, войдите в игру и введите команду "/db xml". Так вы получите файл *.xml в директории игры (.minecraft/hummel/*.xml). Этот файл можно импортировать на MediaWiki. Пример хорошего бесплатного хостинга MediaWiki - Fandom. В итоге будет сгенерировано несколько сотен статей на том языке, который был у вас в игре.

Чтобы статьи заработали и начали отображать информацию, вам нужно скопировать и отредактировать под себя 6 шаблонов MediaWiki:

Не забывайте также и о подшаблонах, которые будут гореть красным цветом. Если у вас возникли вопросы, можете задавать их опытным участникам Википедии - они умеют обращаться с шаблонами.

Дополнение сайта MediaWiki

Вторая часть информации - это "/db tables". Так вы получите около 10 файлов в директории игры ( .minecraft/hummel/*.txt), их можно использовать как код обычных таблиц в MediaWiki и размещать там, где посчитаете нужным. Главное - не забыть сделать заголовок и завершение таблицы.

Для загрузки изображений примените массовую загрузку ассетов мода.

В конечном итоге вы получите достаточно большой и хорошо заполненный сайт MediaWiki. Аддон можно приспособить, по сути, для любого сабмода LOTR.

Полезные побочные эффекты

Перед тем, как у вас сгенерируется информация, вы получите тонну ошибок, которые указывают на то, что ваш код не идеален. Отлов ошибок производится следующим образом: можно открыть в блокноте каждый из сгенерированных файлов и искать там строки с фрагментами "name", "title", "desc", "info", "null" и т.д. Строки с упомянутыми фрагментами в 90% указывают на баг в коде или отсутствие перевода.

Если же ваши файлы баз данных вовсе не создались, то, возможно, у вас в коде мода кроется NullPointerException. Самое время пройтись по папке .minecraft/logs и посмотреть, какие ошибки выдала команда базы данных.

Для адаптации к сабмодам LOTR необходимо через JD GUI скопировать методы регистрации в файлах LOTREntities и LOTRStructures и вставить их в файл LFGConfig в практически неизменном виде, переименовав методы регистрации на методы получения информации. Затем может потребоваться обновление импортов во всех файлах и запуск.