Данная статья рассказывает о настройке Sponge. Плагины и моды, обычно, создают свои конфигурационные файлы в папке «config». Чтобы настроить Sponge Vanilla редактируйте файл «server.properties», подробнее о настройке этого файла рассказывает Minecraft Wiki.
Конфигурационные файлы Sponge
В Sponge имеется несколько конфигурационных файлов, которые можно найти в папке config/sponge/ :
- tracker.conf
- custom_data.conf
- global.conf и другие конфигурации в папке worlds
Файл global.conf содержит глобальные настройки Sponge. Его свойства также могут быть переопределены для каждого мира и их типов, используя конфигурационные файлы в папке config/worlds .
tracker.conf может использоваться для настройки отслеживания фаз, а custom_data.conf используется для управления пользовательскими данными, добавляемыми плагинами.
Настройка конфигураций в текстовом редакторе
Откройте нужный файл с помощью вашего редактора. Конфигурационные файлы Sponge используют формат HOCON, о котором вы можете подробнее узнать в :doc:»Введение в HOCON» `.
КАК ИЗМЕНЯТЬ КОНФИГИ ПО НОВОМУ В МАЙНКРАФТ | ОБЗОР МОДА MINECRAFT Config Menus for Forge
После внесения желаемых изменений, сохраните файл. Если ваш сервер был запущен во время внесения изменений, вы должны перезагрузить файл конфигурации, используя команды перезагрузки . Например, после внесения изменений в global.conf , запустите /sponge reload -g для перезагрузки глобальных конфигураций из измененного файла.
Конфигурации перезаписывающие глобальные настройки
Если вы хотите переопределить глобальные настройки всего в одном мире или типе измерений, Например, только в аду поднять верхушку спавна монстров, подконфигураторы позволяют сделать именно это. Вы можете найти конфигурацию для каждого мира и измерения на вашем сервере в папке worlds внутри основной папки конфигурации Sponge. Они сначала сортируются по модам, а затем по типу размера. Просто измените эти настройки под ваши потребности, и изменения будут применены ко всем связанным мирам, переопределяя более широкие настройки. Это следует за простым порядком: Мир > Измерение > Глобальный
Изменение конфигурационных файлов с помощью команд
Можно изменять конфигурационные файлы при помощи внутриигровой команды /sponge config . Синтаксис команды выглядит так:
/sponge config
Ниже перечислены флаги которые вы можете изменить.
- -g — глобальный флаг ( global.conf )
- -d флаг измерений ( dimension.conf )
- -w флаг мира ( world.conf )
- -t — флаг трекера ( tracker.conf )
вам нужно заменить на имя цели, например -d minecraft:nether .
key — это параметр, который вы хотите изменить. value — это параметр, на который вы хотите изменить значение. Например, если вы хотите изменить chunk-load на true в файле config/sponge/minecraft/nether/dimension.conf :
sponge < logging < # Log when chunks are loaded chunk-load=false >>
Вы должны использовать такую команду:
Как найти любой звук или файл в майнкрафте
/sponge config -d minecraft:nether logging.chunk-load true
Если вам нужно проверить значение параметра, то вам не нужно вводить value. Проверка значения такого параметра как logging.chunk-load для измерения ад, будет выглядеть так:
/sponge config -d minecraft:nether logging.chunk-load
Сохранение конфигурационного файла
Сохранение конфигурации мира может понадобиться после внесения правок в файл. Это может быть полезно в случае неожиданного падения сервера. Сохранение можно выполнить при помощи команды сервера /sponge save . Синтаксис команды подобен остальным командам конфигурации:
/sponge save
Вот пример сохранения общей конфигурации:
/sponge save -g
Обновление конфигурационного файла
Иногда во время работы сервера может потребоваться перезагрузка конфигурации мира. Это необходимо если вы внесли правки в него правки и хотите применить внесённые изменения. Это можно сделать при помощи команды /sponge reload . Синтаксис команды выглядит так:
/sponge reload
Вот пример перезагрузки файла конфигурации для мира Энд:
/sponge reload -d minecraft:the_end
Источник: docs.spongepowered.org
Структура мода#
API Minecraft Forge предлагает нам использовать следующую структуру проекта мода:
src └── main ├── java └── resources
- «src» содержит «наборы» для исходного кода и ресурсов. Это может пригодиться, чтобы, например, не смешивать код программы и код для её тестирования. Основой код размещается в модуле «main».
- «java» содержит исходный код соответствующий своему названию языка программирования. Помимо Java, Minecraft Forge предоставляет из коробки возможностью написания модов на Scala (исходный код размещается в каталоге src/main/scala ).
- «resources» содержит ресурсы, а ими в свою очередь являются: текстуры, файлы локализации, звуки и так далее.
Приведённые выше папки поставляются сразу с MDK и содержат официальный мод-пример, но мы их удалили на этапе подготовки, поэтому пересоздайте их. С данным учебником поставляемый мод-пример не нужен.
IDEA автоматически распределит значения источников кода и ресурсов папкам «src» и «resources» соответственно.
В случае Eclipse, выдайте им эти значения вручную: ПКМ по папке → Build Path → Use as Source Folder
Про наборы исходного кода
По умолчанию Gradle предоставляет наборы: «main» для кода программы и «test» для кода её тестирования (например, для unit-тестов). Minecraft Forge также предоставляет набор «api», файлы которого не будут добавляться в итоговый файл мода, но могут быть использованы во время сборки.
Подробно про наборы исходного кода вы можете прочесть на странице документации Gradle.
Главный файл мода#
В папке «java» создайте базовый пакет вашего мода. Если у вас уже есть домен для мода, то отличным названием для пакета будет что-то вроде ru.mcmodding.tutorial . Если домена у вас нет, вполне подойдет использование вашего никнейма, как название пакета верхнего уровня: mcmodding.tutorial .
Для данного урока мы будем использовать пакет: ru.mcmodding.tutorial .
Теперь создадим в нем класс с названием вашего мода, для урока: McModding . Это и будет главным классом нашего мода.
Аннотация имеет один единственный параметр modid – уникальный идентификатор мода. В ModID рекомендуется использовать только латиницу в нижнем регистре, никаких пробелов, подчеркиваний и прочего. Крайне не рекомендуется изменять ModID в дальнейшем, так как это приведёт к потере игровых данных, созданных модом.
Файл mcmod.info#
Этот файл определяет метаданные нашего мода: идентификатор, название, авторов, зависимости и так далее. Это обычный JSON файл, хотя он и имеет расширение .info .
Файл mcmod.info является необязательным и в основном служит для оформления странички мода на экране «Mod List».
Создадим в папке «resources» файл mcmod.info .
Минимально правильный mcmod.info файл должен содержать следующее:
[ «modid»: «mcmodding», «name»: «McModding Mod» >]
Где параметр modid — идентификатор мода, а name отвечает за красивое название вашего мода, которое видит пользователь.
Доступные параметры#
modid | Уникальный идентификатор мода |
name | Название мода |
description | Описание мода в 1-2 абзаца |
version | Версия мода, рекомендуем придерживаться семантического версионирования |
url | Ссылка на сайт мода, например CurseForge или GitHub |
updateUrl | Ссылка для обновления мода |
authorList | Список имен авторов |
credits | Строка для выражения благодарностей, например тем, кто помогал с модом |
logoFile | Путь к логотипу мода |
screenshots | Массив путей к скриншотам мода. В данный момент не поддерживается |
parent | Уникальный идентификатор родительского мода, в списке модов ваш будет отображён как дочерний у родительского |
useDependencyInformation | Если true, то следующие три параметра будут учитываться |
requiredMods | Массив уникальных идентификаторов модов, которые требуются для работы вашего мода. Если данные моды не установлены, то произойдёт краш игры. Данный параметр не указывает порядок загрузки модов. Используйте для этой цели параметр dependencies и dependants |
dependencies | Массив уникальных идентификаторов модов, которые должны быть загружены до загрузки данного мода |
dependants | Массив уникальных идентификаторов модов, которые должны быть загружены после загрузки данного мода |
Пример заполненного файла:
[ «modid»: «mcmodding», «name»: «McModding Mod», «description»: «Это мой первый и крутой мод!», «version»: «1.0.0», «url»: «mcmodding.ru», «authorList»: [«Icosider», «CMTV», «TheAndrey»], «credits»: «Спасибо, что читаете наш учебник.» >]
Итог#
Мы создали базовую структуру любого мода для Minecraft. Выглядит она следующим образом:
src └── main ├── java │ └── ru.mcmodding.tutorial │ └── McModding.java └── resources └── mcmod.info
Источник: mcmodding.ru
bukkit
Файлы конфигурации
Файлы конфигурации Bukkit представляют собой прямые файлы YAML (еще один язык разметки) и реализуются как таковые.
Плагин Config.yml
У вас может быть файл config.yml, который загружается непосредственно из вашего файла jar. Он должен быть добавлен в папку вашего проекта так же, как файл plugin.yml.
В этом файле у вас есть значения по умолчанию для вашей конфигурации.
Пример config:
# This is an YML comment adminName: «Kerooker» moderators: [«Romario», «Pelé», «Cafú»]
Пример файла конфигурации должен быть добавлен в папку проекта.
Чтобы загрузить файл конфигурации по умолчанию в папку вашего плагина, в ваш onEnable () должен быть добавлен следующий код:
saveDefaultConfig();
Это приведет к тому, что ваш файл config.yml из проекта станет вашим конфигурационным файлом плагина и добавит его в папку вашего плагина.
Оттуда вы можете получить доступ к своему конфигурационному файлу из любого места, используя ваш экземпляр плагина:
JavaPlugin plugin; // Your plugin instance FileConfiguration config = plugin.getConfig(); //Accessing the config file
Оттуда мы можем получить доступ ко всему, что было установлено в конфигурации плагина.
Примечание. Конфигурационный файл по умолчанию может иметь свои значения, если пользователь хочет отредактировать файл config.yml, сгенерированный в папку.
String adminName = config.getString(«adminName»); List moderators = config.getStringList(«moderators»);
Секция множественных путей
Что может произойти в вашем файле конфигурации, есть путь к переменной, которая проходит через несколько разделов.
Пример конфигурации
admins: first-tier: «Kerooker» second-tier: «Mordekaiser» third-tier: «Yesh4»
Имя «Kerooker» — это раздел «first-tier», который находится в разделе «Администраторы». Для доступа к внутренним путям нашего файла мы используем простой ‘.’ как способ сказать, что мы хотим следующий раздел. Итак, для доступа к «Kerooker» мы идем:
config.getString(«admins.first-tier»);
Источник: learntutorials.net