← Назад к ресурсам

Tiny Multiblock Lib

A Tiny Lib for easy creation of Multiblocks with a built-in ghost system. Made to be packaged with other mods

Modrinth library

Описание

### 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. ```groovy 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: ```groovy 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 ```groovy jarJar(implementation("net.nikdo53:tiny-multiblock-lib-neoforge-${minecraft_version}:${tiny_multiblock_lib_version}")) ``` ### Forge FG 1. enable jarjar by adding ```jarJar.enable()``` anywhere before your minecraft block 2. add this line into dependencies: ```groovy 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](https://github.com/NeoForgeMDKs/MDK-Forge-1.20.1-ModDevGradle)) ### Forge MDGL ```groovy jarJar(modImplementation("net.nikdo53:tiny-multiblock-lib-forge-${minecraft_version}:${tiny_multiblock_lib_version}")) ``` ### Fabric ```groovy // 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 ```groovy // 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}") ```