Bookshelf Finite State Machine Module

Quick rating

Community listing page, reviews here may not be monitored by the author.

Bookshelf Finite State Machine Module

By Bookshelf

No reviews yet

Describe behaviors as states and transitions, and run them on entities or globally.

Mod Loaders
Minecraft
26.3

About

Description

Bookshelf

Bookshelf is a Minecraft datapack library. It provides performant modules that help you create complex systems more easily.

Documentation   svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KPHBhdGggZD0iTTIzNS4yNCw4NC4zOGwtMjguMDYsMjMuNjgsOC41NiwzNS4zOWExMy4zNCwxMy4zNCwwLDAsMS01LjA5LDEzLjkxLDEzLjU0LDEzLjU0LDAsMCwxLTE1LC42OUwxNjQsMTM5bC0zMS42NSwxOS4wNmExMy41MSwxMy41MSwwLDAsMS0xNS0uNjksMTMuMzIsMTMuMzIsMCwwLDEtNS4xLTEzLjkxbDguNTYtMzUuMzlMOTIuNzYsODQuMzhhMTMuMzksMTMuMzksMCwwLDEsNy42Ni0yMy41OGwzNi45NC0yLjkyLDE0LjIxLTMzLjY2YTEzLjUxLDEzLjUxLDAsMCwxLDI0Ljg2LDBsMTQuMjEsMzMuNjYsMzYuOTQsMi45MmExMy4zOSwxMy4zOSwwLDAsMSw3LjY2LDIzLjU4Wk04OC4xMSwxMTEuODlhOCw4LDAsMCwwLTExLjMyLDBMMTguMzQsMTcwLjM0YTgsOCwwLDAsMCwxMS4zMiwxMS4zMmw1OC40NS01OC40NUE4LDgsMCwwLDAsODguMTEsMTExLjg5Wm0tLjUsNjEuMTlMMzQuMzQsMjI2LjM0YTgsOCwwLDAsMCwxMS4zMiwxMS4zMmw1My4yNi01My4yN2E4LDgsMCwwLDAtMTEuMzEtMTEuMzFabTczLTEtNTQuMjksNTQuMjhhOCw4LDAsMCwwLDExLjMyLDExLjMybDU0LjI4LTU0LjI4YTgsOCwwLDAsMC0xMS4zMS0xMS4zMloiIHN0eWxlPSJmaWxsOiAjQ0FEM0Y1OyIvPgo8L3N2Zz4=   bookshelf?colorA=363a4f&colorB=926bd1&style=for-the-badge&logo=github&logoColor=cad3f5   1247513995376726116?style=for-the-badge&color=%237289DA&labelColor=363a4f&logo=discord&logoColor=cad3f5


🔄 Bookshelf Finite State Machine Module

Describe behaviors as states and transitions, and run them on entities or globally.

"FSMs are without a doubt the most commonly used technology in game AI programming today. They are conceptually simple, efficient, easily extensible, and yet powerful enough to handle a wide variety of situations."

— Daniel D. Fu & Ryan Houlette

✨ Features

  • Describe a state machine as a template, stored and edited with plain data commands
  • Validate a state machine before running it (initiality, unicity, acceptability, reachability)
  • Run a state machine globally or bound to specific entities
  • Trigger transitions manually, or from a predicate, a command, or a delay
  • React to state changes with enter, tick, and exit commands

📚 Documentation

About Bookshelf

This module is part of the Bookshelf library:

🧩 Find more in the Bookshelf Organization
📦 Get the full Bookshelf Suite

Get involved

💬 Join our Discord
🛠 Learn how to contribute