SolLib
sollib · 267025 загрузок · LicenseRef-AGNYA-License
клиент: required · сервер: required (заявлено автором мода)
Позволяет модам проявить себя, предоставляя набор (в основном) утилит для работы с данными.
Описание

Это основная библиотека для модов Minecraft. Да, мы знаем, очень оригинально.
Хотите верьте, хотите нет, но копирование множества классов в каждый проект — не самая эффективная и не самая стабильная идея.
Sol предлагает целый набор общего кода для разработки модов.
Большинство из них вращаются вокруг данных, мультизагрузчика и помощников рендеринга. Вот несколько ключевых моментов:
Простая система настройки.
Загружается, как только вы этого захотите, легко настраивается и доступен из других модов без необходимости жестких зависимостей.
SolConfig config = MOD.createConfig("sollib/test", 1.0, builder -> builder
.addObject("category", category -> category
.comment("This is a comment")
.add("hello", "world")
.add("easyconfig", true)
)
);
MOD.getLogger().info(config.get("category.hello", ""));
// world
Данные времени выполнения, управляемые кодом.
Это позволяет редактировать файлы пакетов данных во время выполнения, потенциально позволяя изменять рецепты в зависимости от значений конфигурации, редактировать или отключать совместимые рецепты, если их целевые моды не загружены, автоматически генерировать модели для динамически определенных элементов и многое другое.
SolRegistries.Data.RUNTIME.addJson(Identifier.of("minecraft", "recipe/dropper.json"), json -> {
if (json == null) return null;
if (!config.get("recipe.copper_dropper", false)) return null;
json.getAsJsonObject("key")
.getAsJsonObject("#")
.addProperty("item", "minecraft:copper_ingot");
return json;
});
Помощники рендеринга.
Централизованный и независимый от загрузчика. Также нет необходимости создавать больше миксинов.
ResourceLocation TEXTURE = MOD.makeID("textures/models/sword_overlay.png");
SolClientRegistries.Render.ITEM.register(stack -> stack.is(Items.DIAMOND_SWORD) && stack.isEnchanted(),
(stack, context, matrices, bufferSource, light, overlay) -> {
matrices.scale(1.005f, 1.005f, 1.005f);
matrices.translate(0, 0.995, 0.4975);
matrices.mulPose(Axis.XP.rotationDegrees(180));
MockItemRenderer.renderItem(matrices, bufferSource, light, TEXTURE);
});
Упрощенный реестр.
Это вы можете вызвать в общем коде со всем синтаксическим сахаром, который вам нужен: определить модели, время записи, результаты удаления и все, что касается функции одновременно.
MOD.register(BlockHolder.class, "block_block", () -> new Block(BlockBehaviour.Properties.of()))
.withItem(item -> item.withFuel(200)).dropsSelf()
.withSlab().withStairs().withWall()
.withFlammability(20, 5);
Для обычного пользователя не имеет большого значения сделать эту страницу настолько яркой, насколько это возможно. В конце концов, это всего лишь библиотека.
Но если вы разработчик и вам это интересно, лучший способ узнать — прочитать (wip) Wiki или присоединиться к Discord.
Версии (24)
| Версия | Minecraft | Загрузчики | Файл |
|---|---|---|---|
neo-1.21.1-2.1 |
1.21.1 | neoforge | скачать |
fabric-1.21.1-2.1 |
1.21.1 | fabric | скачать |
forge-1.20.1-2.1 |
1.20.1 | forge | скачать |
fabric-1.20.1-2.1 |
1.20.1 | fabric | скачать |
forge-1.20.1-2.0 |
1.20.1 | forge | скачать |
fabric-1.20.1-2.0 |
1.20.1 | fabric | скачать |
neo-1.21.1-2.0 |
1.21.1 | neoforge | скачать |
fabric-1.21.1-2.0 |
1.21.1 | fabric | скачать |
forge-1.20.1-1.4 |
1.20.1 | forge | скачать |
fabric-1.20.1-1.4 |
1.20.1 | fabric | скачать |
neo-1.21.1-1.3 |
1.21.1 | neoforge | скачать |
fabric-1.21.1-1.3 |
1.21.1 | fabric | скачать |
forge-1.20.1-1.3 |
1.20.1 | forge | скачать |
fabric-1.20.1-1.3 |
1.20.1 | fabric | скачать |
neo-1.21.1-1.2 |
1.21.1 | neoforge | скачать |
fabric-1.21.1-1.2 |
1.21.1 | fabric | скачать |
forge-1.20.1-1.2 |
1.20.1 | forge | скачать |
fabric-1.20.1-1.2 |
1.20.1 | fabric | скачать |
fabric-1.20.1-1.1 |
1.20.1 | fabric | скачать |
forge-1.20.1-1.1 |
1.20.1 | forge | скачать |
neo-1.21.1-1.0 |
1.21.1 | neoforge | скачать |
fabric-1.21.1-1.0 |
1.21.1 | fabric | скачать |
forge-1.20.1-1.0 |
1.20.1 | forge | скачать |
fabric-1.20.1-1.0 |
1.20.1 | fabric | скачать |