Перейти к содержимому
Mineforgian

Tiny Multiblock Lib

A tiny jar-in-jar lib for simple creation of multiblocks

Загрузки
3K
Подписчики
4
Обновлён
3 июня 2026 г.
Лицензия
MIT

Опубликован 21 сентября 2025 г.

A Tiny Lib for simple creation of Multiblocks

Meant as blocks that that contain multiple blocks of itself, but still act like 1 block (for example a bed, door etc...) not to be confused with multiblock structures!!

(Since it's a lib, there's no point to download it by itself)

Features

Super simple

creating a multiblock of any size can be done just by overriding a single method and adding a block entity. All breaking and placing logic is done for you.

Jar-in-Jar -able

Because I hate dowloading thousands of dependencies for each mod, the whole lib is intended as a jar-in-jar, meaning it gets included in your mod jar and players won't have to download any extra dependencies

Multiblock Previews

Allows devs to enable placement previews for specific multiblocks. When a player holds that multiblock in hand, it renders a transparent client-side preview of the multiblock (see the picture in gallery). This can be disabled with client config on forge and neoforge

Shared Blockstates

Allows registering blockstates that automatically sync across the whole multiblock when updated, great for mod compatibility

Support

If you're a developer and have some issues / suggestions, just dm me on discord (nikdo53) or github and I pinky promise to get back to you as soon as I can (unless you live in the USA and it's like 3AM for me😬)

Installation instructions

First, get the modrinth maven repository url and put into your build.gradle repository block.

repositories {
    //some other repositories you might have
    
    exclusiveContent {
        forRepository {
            maven {
                name = "Modrinth"
                url = "https://api.modrinth.com/maven"
            }
        }
       // forRepositories(fg.repository) // Only add this if you're using ForgeGradle, otherwise remove this line
        filter {
            includeGroup "maven.modrinth"
        }
    }
}

Then add the following to your gradle.properties:

# this example is for neoforge 1.21.1
# replace with the newest version for your mc version and loader!
tiny_multiblock_lib_version=neo-1.21.1-3.0

Lastly, add the dependecy to your build.gradle based on your loader / gradle plugin

Neoforge MDG or NG

jarJar(implementation("maven.modrinth:tiny-multiblock-lib:${tiny_multiblock_lib_version}"))

Forge FG

  1. enable jarjar by adding jarJar.enable() anywhere before your minecraft block
  2. add this line into dependencies:
implementation(fg.deobf(jarJar("maven.modrinth:tiny-multiblock-lib:${tiny_multiblock_lib_version}")))

Forge MDGL

jarJar(modImplementation("maven.modrinth:tiny-multiblock-lib:${tiny_multiblock_lib_version}"))

Fabric

modImplementation(include("maven.modrinth:tiny-multiblock-lib:${tiny_multiblock_lib_version}"))

Multiloader

The whole lib is coded in multiloader and anything you'd want to reference is common, meaning you can just add any version as a common dependency, then add the jar in jar into each loader separately

Ченджлог

neo-26.1-3.2.1Релиз26.1, 26.1.1, 26.1.2 · 3 июня 2026 г.

Fixed a crash on server load

forge-1.20.1-3.2.0Релиз1.20.2, 1.20.3, 1.20.4 · 21 апреля 2026 г.

Fix leaks from FakeClientLevel

fabric-1.20.1-3.1.1Релиз1.20.1 · 6 апреля 2026 г.

Fixed a crash related to registration

forge-1.20.1-3.1Релиз1.20.2, 1.20.3, 1.20.4 · 17 марта 2026 г.

Completely Revamped the preview system

  • Previews now work for most blocks and block entities, including vanilla and modded, this can be enabled through the tiny_multiblock_lib:show_preview item tag
  • Block entities no longer require manually switching colors and renderTypes, this is done automatically (the helper has been deprecated)
  • Added an OnBlockPreview pre- and post-events
  • Block faces now correctly cull with both the real world and other previewed blocks (fixing z-fighting and ugly lines between blocks)

Bugfixes

  • Fixed a bug where players couldn't place and respawn when using the carry on mod
  • Fixed the /setblock command not working
  • Fixed a typo in the neo/forge config
  • Added better error reporting when a dev doesn't implement IMultiblockEntity Correctly
forge-1.20.1-3.0Релиз1.20.2, 1.20.3, 1.20.4 · 9 января 2026 г.

Unless I get more ideas, this might be the final major version. I'll try to avoid breaking changes from now on

  • makeFullShape now has Level and its BE in its parameter
  • Added a BlockEntity that's registered automatically, removing the need for custom BEs when not necessary
  • Added Multiblock Structures, which are multiblocks with blocks underneath
  • Added some helper utils for multiblock structures
  • Moved most classes into common, meaning both loaders now have the same example blocks
  • Expanding multiblock now reacts to block updates
  • Fixed movable multiblock for the most part
  • Added a Simple multiblock, a minimal implementation for mod devs to reference
  • Renamed synced blockstates to shared blockstates, to avoid confusion
  • Fixed a bug where previews used the wrong rendertype
  • Fixed multiblocks breaking at world limit
forge-1.20.1-2.2Релиз1.20.2, 1.20.3, 1.20.4 · 11 ноября 2025 г.
  • Fixed multiblocks not dropping items when broken
forge-1.20.1-2.1Релиз1.20.2, 1.20.3, 1.20.4 · 23 октября 2025 г.
  • Switched to an offset system Instead of each block saving the BlockPos of its center, it now only saves its offset, improving compatibility and maybe even performance slightly
  • Removed the structure fixing code, as its not needed anymore
  • Cleaned up some rendering code
  • Actually fixed the GeoMultiblockRenderer
  • Split up some placing methods for easier overriding
  • BE fields are now private
forge-1.20.1-2.0Релиз1.20.2, 1.20.3, 1.20.4 · 15 октября 2025 г.
  • Added synced blockstates that get updated across the whole multiblock automatically
  • added IExpandingMultiblock, which allows multiblocks to changeshape based on their blockstate
  • (WIP) added IMovableMultiblock
  • cached the MB shape to improve performance
  • added checking for entity obstruction before placing

Комментарии

Загружаем…