
Dumpster
Активный0.0
Установок
Последнее обновление
Версии
Dumpster
Dumpster
Этот инструментальный мод предоставляет удобные команды для экспорта различных игровых данных прямо в локальные файлы. С его помощью разработчики могут легко анализировать состояние игровых систем.
Основные возможности
Мод предлагает несколько команд для выгрузки данных:
/dump registries
— экспортирует все игровые реестры/dump data
— сохраняет различные игровые данные, включая теги, рецепты и многое другое/dump data <type>
— позволяет выгружать конкретные типы данных, такие как теги, рецепты, таблицы добычи и другие/dump
— выполняет полную выгрузку всех доступных данных
Настройки
Включает файл конфигурации, где можно настроить параметры экспорта. Вы можете определить, какие именно данные должны выгружаться при использовании команд, а также настроить автоматическую выгрузку при перезагрузке или запуске игры. Также доступны опции для организации структуры выходных файлов.
Файл конфигурации находится в папке config под названием dumpster.properties
.
Работа на сервере и клиенте
Мод интеллектуально обрабатывает различные сценарии использования:
- На сервере: только операторы могут использовать команду
/dumpster
, которая сохраняет данные в файлы сервера - На клиенте: любой игрок может использовать команду
/dumpster
без ограничений - При установке на обе стороны: клиентская команда автоматически переименовывается в
/dump-client
для корректной работы
Предназначение
Этот мод не предназначен для обычной игры! Он создан исключительно как полезный инструмент для разработчиков датапаков, модов и сборок, позволяющий проверять влияние их изменений на игровые системы.
Совместимость
По умолчанию мод не обрабатывает пользовательские типы рецептов из других модов. Для обеспечения совместимости требуется дополнительная реализация со стороны мода, добавляющего новый тип рецептов, или через сторонние моды-посредники.
Реализация совместимости
Для интеграции можно использовать Modrinth maven API, как указано в документации. Необходимо реализовать интерфейс RecipeJsonParser в классе и зарегистрировать его как entry-point recipe-dump
, аналогично примеру в файле fabric.mod.json.
Класс также должен быть аннотирован @TargetRecipeType с указанием целевого типа рецепта. При необходимости можно задать приоритет для переопределения других парсеров.
Пример реализации класса (используя Yarn mappings):
import com.google.gson.JsonObject;
import mc.recraftors.dumpster.recipes.RecipeJsonParser;
import mc.recraftors.dumpster.recipes.TargetRecipeType;
import net.minecraft.recipe.Recipe;
@TargetRecipeType("mymod:myrecipetype")
public class MyRecipeTypeJsonParser implements RecipeJsonParser {
private MyRecipe recipe;
@Override
public JsonParser.InResult in(Recipe<?> recipe) {
if (recipe instanceof MyRecipe myRecipe) {
this.recipe = myRecipe;
return RecipeJsonParser.InResult.SUCCESS;
}
return RecipeJsonParser.InResult.FAILURE;
}
@Override
public JsonObject toJson() {
// реализуйте ваш метод парсинга здесь
}
}
Дополнительные методы доступны для расширенной функциональности, такой как группировка нескольких рецептов из одного файла или поддержка альтернативных идентификаторов типов рецептов.