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!!
Mostly meant as a library for developers, but includes a block placement preview feature accessible through the mods config. Downloading a newer version than a mod packages could also help fix some bugs
Features
Super simple
creating a multiblock of any size can be done just by overriding a single method. 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 and players to enable placement previews for any block. When a player holds that block in hand, it renders a transparent client-side preview of how that block would be placed (see the picture in gallery). This can be disabled with client config
Shared Blockstates
Allows registering blockstate properties that automatically sync across the whole multiblock when updated, great for mod compatibility
Ghost Renderers
Customisable previews of a blocks / blockentities / models that can be easily placed anywhere in the world for a set amount of ticks (client side only)
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 my maven and put into your build.gradle repository block.
repositories {
//some other repositories you might have
maven {
name = 'Nikdo53 Maven'
url = 'https://nikdo53.github.io'
}
}
Then add the version you want (versions before 4.0.0) into gradle.properties:
tiny_multiblock_lib_version=4.0.0
Lastly, add the dependecy to your build.gradle based on your loader / gradle plugin
Neoforge MDG or NG
jarJar(implementation("net.nikdo53:tiny-multiblock-lib-neoforge-${minecraft_version}:${tiny_multiblock_lib_version}"))
Forge FG
- enable jarjar by adding
jarJar.enable() anywhere before your minecraft block
- add this line into dependencies:
implementation(fg.deobf(jarJar("net.nikdo53:tiny-multiblock-lib-forge-${minecraft_version}:${tiny_multiblock_lib_version}")))
(note that ForgeGradle 6 sucks and you should probably switch to MDG Legacy)
Forge MDGL
jarJar(modImplementation("net.nikdo53:tiny-multiblock-lib-forge-${minecraft_version}:${tiny_multiblock_lib_version}"))
Fabric
// pre 26.1
modImplementation(include("net.nikdo53:tiny-multiblock-lib-fabric-${minecraft_version}:${tiny_multiblock_lib_version}"))
// post 26.1
implementation(include("net.nikdo53:tiny-multiblock-lib-fabric-${minecraft_version}:${tiny_multiblock_lib_version}"))
Multiloader common
// 1.20.1
modImplementation("net.nikdo53:tiny-multiblock-lib-common-${minecraft_version}:${tiny_multiblock_lib_version}")
// 1.21+
implementation("net.nikdo53:tiny-multiblock-lib-common-${minecraft_version}:${tiny_multiblock_lib_version}")