
Smart Recipes
Активный0.0
Установок
Последнее обновление
Версии
Smart Recipes
Устали от стандартного формата рецептов в Minecraft? Хотите добавить в игру больше событийного контента, как в Terraria? Тогда мод Smart Recipes создан именно для вас! Создавайте уникальные игровые механики с помощью нового условного формата рецептов!
Как работает мод
Мод Smart Recipes расширяет стандартную систему рецептов Minecraft, добавляя возможность задавать условия для их активации. Это открывает безграничные возможности для создания динамичных и контекстно-зависимых рецептов.
Формат условий
Мод вводит новое свойство smart_recipes:conditions
в формат рецептов. Вы можете использовать различные стили записи условий — от подробного до максимально компактного.
"smart_recipes:conditions": {
"conditionName0": [4, "2"],
"conditionName1": "foo"
}
Все приведенные ниже примеры форматов поддерживаются модом, так что вы можете выбрать тот стиль, который вам больше нравится.
Условия перезагрузки
Для рецептов, зависящих от изменяющихся параметров (погода, время суток и т.д.), предусмотрены условия перезагрузки:
"smart_recipes:reload_conditions": [
"weather_changed",
"time_changed"
]
Доступные условия
Базовые логические операторы
false
— всегда возвращаетfalse
true
— всегда возвращаетtrue
or
/any
— возвращаетtrue
, если любое из условий истинноand
/all
— возвращаетtrue
, если все условия истинныnot
/none
— возвращаетtrue
, если ни одно из условий не истинно
Условия сложности игры
is_hardcore
— режим Хардкорis_peaceful_difficulty
— мирная сложностьis_easy_difficulty
— легкая сложностьis_normal_difficulty
— нормальная сложностьis_hard_difficulty
— высокая сложностьdifficulty_check
— проверка по числовым или строковым значениям
Условия игрового режима
is_survival
— режим выживанияis_creative
— творческий режимis_adventure
— режим приключенияis_spectator
— режим наблюдателяgamemode_check
— проверка по числовым или строковым значениям
Условия окружающего мира
weather_check
— проверка погоды (clear, rain, thunder)time_check
— проверка времени суток (day, noon, sunset, midnight, sunrise, night)
Условия игроков и контента
players_online
— проверка онлайн-статуса игроковblocks_registered
— проверка зарегистрированных блоковitems_registered
— проверка зарегистрированных предметовblock_entities_registered
— проверка зарегистрированных блок-сущностейentries_registered
— проверка записей в реестрахfabric:mods_loaded
— проверка загруженных модов
Условия перезагрузки
player_joined
иplayer_disconnected
— при подключении/отключении игрокаdifficulty_changed
— при изменении сложностиgamemode_changed
— при изменении игрового режимаweather_changed
— при изменении погодыtime_changed
— при изменении времени суток
Практический пример
Допустим, мы хотим создать упрощенный рецепт TNT со следующими условиями:
- Доступен только в полночь и на рассвете
- Только при ясной погоде
- Недоступен, когда игрок Vladimir онлайн
- Только на высокой сложности
{
"type": "minecraft:crafting_shaped",
"pattern": [
"# X",
" ",
"X #"
],
"key": {
"#": {
"item": "minecraft:sand"
},
"X": {
"item": "minecraft:gunpowder"
}
},
"result": {
"item": "minecraft:tnt"
},
"smart_recipes:conditions": {
"time_check": ["midnight", "sunrise"],
"weather_check": "clear",
"not": {
"players_online": ["Vladimir"]
},
"difficulty_check": "hard"
},
"smart_recipes:reload_conditions": [
"time_changed",
"weather_changed",
"player_joined",
"player_disconnected",
"difficulty_changed"
]
}
Системные требования
- Minecraft версии 1.17.x и выше
- Fabric Loader версии 0.11.3 и выше
- Fabric API версии 0.35.0 и выше
Использование как зависимости
Вы можете включить Smart Recipes в свой мод для использования условного формата без необходимости скачивания мода игроками отдельно.
build.gradle
:
repositories {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
}
dependencies {
modImplementation "maven.modrinth:smart-recipes:${project.smart_recipes_version}"
}
gradle.properties
:
smart_recipes_version=/ укажите последнюю версию здесь /
Сборка из исходников
Требования: JDK 17
Linux/MacOS:
git clone https://github.com/Kir-Antipov/smart-recipes.git
cd smart-recipes
chmod +x ./gradlew
./gradlew build
cd build/libs
Windows:
git clone https://github.com/Kir-Antipov/smart-recipes.git
cd smart-recipes
gradlew build
cd build/libs