MonitoringMinecraft MonitoringMinecraft

SolLib

Мод FabricForgeNeoForge

Библиотека для Майнкрафт с набором утилит для работы с данными других модов

536 скачиваний 2 подписчика
Оцените первым

Banner

This is a core library for Minecraft mods. Yes, we know, very original.

Believe it or not, copy-pasting a bunch of classes across every project is neither the most efficient nor the most stable idea.


Sol offers a whole constellation of common code for mod developpement.

Most of them orbit around data, multiloader and rendering helpers. A few key highlights being:

Easy config system.

Loaded as soon as you want it, easy to setup and accessible from other mods without the need for hard dependencies.

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

Runtime data, controlled by code.

This lets you edit datapack files at runtime, potentially allowing to change recipes depending on config values, edit or disable compat recipes if their target mods are not loaded, automatically generate models for dynamically defined items, and much more.

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;
});

Rendering helpers.

Centralized and loader agnostic. No need to make more mixins, either.

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);
});

Simplified registry.

That you can call in the common code, complete with all the syntax sugar you need: define models, burn time, stripping results and everything about a feature at the same time.

MOD.register(BlockHolder.class, "block_block", () -> new Block(BlockBehaviour.Properties.of()))
    .withItem(item -> item.withFuel(200)).dropsSelf()
    .withSlab().withStairs().withWall()
    .withFlammability(20, 5);

For the average user, making this page as flashy as we can won't really matter. It's only a library after all.

But if you are a developer and are curious about it, the best way to learn is to read the (wip) Wiki or join the Discord.

Смотри также

Похожие подборки моды — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирай в рейтинге серверов Майнкрафт и заходи прямо сейчас.

SkyBars
SkyBars Java + BE
1530 онлайн
1.8 — 26.2 версия
🎮 ВЫЖИВАНИЕ ⚔️ АНАРХИЯ 🚗 ГТА РП 🎤 ГОЛОСОВОЙ ЧАТ 🎁 БЕСПЛАТНЫЙ ДОНАТ 🌟 СМП 💻 ПК+ТЕЛЕФОН
MigosMc
MigosMc Java + BE
1876 онлайн
1.8 — 26.2 версия
🌿 MigosMc.net | Гриферский сервер с войс-чатом | Награды за онлайн ⭐ ВЫЖИВАНИЕ⭐ ОДИНБЛОК⭐ МИНИ-ИГРЫ
AxisMine - ВаниллаPlus
18 онлайн
1.21.4 — 26.1.2 версия
Ванильный мир с сотнями уникальных механик и справедливой игрой! /free, pat-pat, emotecraft, Voice.
F19T
F19T Java
3 онлайн
1.16.5 версия
F19T - Выкован в огне.Закален хаосом.
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.2, 1.21.11, 26.1.2, 1.16.5. Fabric, NeoForge, Forge, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Forge Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат