โš ๏ธ You are reading a doc of an undergoing development version. Information can be out of date and/or change at any time. โš ๏ธ

๐Ÿš€ Quickstart#

This page gives a quick overview of how to get started with the Bookshelf library, and how to use it.


๐Ÿ”Œ Quick installation#

Bookshelf is still in its development phase, and there is no straightforward installation process at the moment. If youโ€™re not familiar with datapacks, feel free to join our Discord, weโ€™ll be delighted to assist you with the installation and usage of the library!

๐Ÿ’ฌ Come talk with us on Discord!

๐Ÿค Help us improving the installation process

We are actively searching for web developers to create the new version of the Bookshelf Manager, a website that helps users download modules and their respective dependencies. Weโ€™ve already finalized the mockup for the website, you can check it here. If you are interested in helping us, please contact us on Discord!

๐Ÿ—ƒ๏ธ Install from source#

If you know how datapacks work, and want to handle the installation process on your own ๐Ÿ’ช๐Ÿ˜Ž, first familiarize yourself with the structure of the project below. Then rendez-vous on github to download the repository, and extract only what you need!

Once Bookshelf is installed on your map with specific modules (rather than the entire library), the initial step is to ensure that each module can be properly loaded with all its dependencies. Verify this by calling the #bs.<module>:load function for each module or check your game console for any errors.

Upon exploring the main datapack, you may notice files within the minecraft namespace. These files facilitate the autoloading of modules and the ticking of specific functions. While they are not strictly needed for Bookshelf to work, without them, you have the responsibility to manually call tick functions or reload modules.

๐Ÿ—๏ธ Structural overview#

The Github repository includes a demo map (still a work in progress) and four datapacks:

๐Ÿ“ datapacks / Bookshelf

This is the main datapack of the library, containing all the useful tools for your project. Itโ€™s the only one to keep in the end. The datapack is divided into modules, so install only the ones you need.

๐Ÿ“ datapacks / Bookshelf Dev

This datapack includes utilities for developers, such as logs, unit tests, and more. Its purpose is to provide essential tools to assist you during the development phase of your project.

๐Ÿ“ datapacks / Bookshelf Examples (WIP)

This datapack contains easily-readable examples showcasing systems that can be created with Bookshelf. Its main purpose is to be read. Install it only if you wish to gain familiarity with the library by examining practical examples.

๐Ÿ“ datapacks / Bookshelf World (WIP)

This datapack contains code utilized by the world itself. It is not intended for direct use.


๐Ÿ‘ถ First steps#

Important

Bookshelf relies on persistent entities to enhance performances. Therefore, itโ€™s important not to kill all entities. Instead, you can use the command kill @e[tag=!bs.persistent]. Learn more here

Note

This section is in progress. If you have some ideas about how to improve the first steps with Bookshelf, please share it on our Discord server.


๐Ÿ’ฌ Did it help you?

Feel free to leave your questions and feedbacks below!