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 not supported) 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}")
How to Install Tiny Multiblock Lib (Mod)
Tiny Multiblock Lib by Nikdo53 is verified for Fabric, Forge, Neoforge across Minecraft versions 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.21, 1.21.1 (latest release: 4.0.1, file size: 227 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.21, 1.21.1) and platform (Fabric, Forge, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge.
- Move the downloaded Tiny Multiblock Lib file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- (neoforge) Hopefully fixed crash with the Epic Fight mod
- (fabric) Properly added forge config api port as a dependency
- Added 2 new multiblock classes: BaseMultiblock and LogicMultiblock
- AbstractMultiblock is now deprecated in favour of those classes
- The mutliblock is now created through a builder, which can accept arbitrary data (like voxelshapes)
- Added a symbol builder that works similary to the blockpattern builder
- The builder has a method for automatic rotations for both the multiblock shape and each parts voxelshape
- Voxelshape outlines are now joined automatically
## Rendering
- Added a GhostRender (and its children: GhostBlockRenderer, GhostModelRenderer and GhostBlockEntityRenderer),
- Preview system should now catch most errors to prevent crashes
- Preview events have been reworked to be clearer
## Config
- Added more config options: enable previews for everything, preview whitelist, preview blacklist
- Config is now on fabric through forge config api port
- 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