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
creating a multiblock of any size can be done just by overriding a single method. All breaking and placing logic is done for you.
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
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
Allows registering blockstate properties that automatically sync across the whole multiblock when updated, great for mod compatibility
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)
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😬)
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
jarJar(implementation("net.nikdo53:tiny-multiblock-lib-neoforge-${minecraft_version}:${tiny_multiblock_lib_version}"))
jarJar.enable() anywhere before your minecraft blockimplementation(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)
jarJar(modImplementation("net.nikdo53:tiny-multiblock-lib-forge-${minecraft_version}:${tiny_multiblock_lib_version}"))
// 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}"))
// 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}")