What is a Plugin?
In BDSC, a plugin is a modular unit of functionality that extends the core framework. All gameplay systems — such as inventories, jobs, XP, shops, crafting, and more — are implemented as plugins. Nothing is hardcoded into the core.
A plugin is essentially just a resource — but located inside the core. This allows tighter integration, shared access to internal systems, and simpler development for small to mid-scale projects.
Plugins can:
Register new systems
Extend the player object
Hook into player load/unload
Add custom data, logic, and behaviour
Plugins are optional. You only load what your server needs.
Why Plugins?
BDSC is built around the idea that everything is optional and modular. Instead of forcing a specific feature set or gameplay style, plugins let you:
Add features without touching the core
Build servers around specific modes (e.g. survival, minigames, RP)
Replace or disable features cleanly
Maintain separation between systems
How Plugins Work
Plugins are loaded at runtime by the core plugins
module.
Each plugin:
Lives in its own folder under
/plugins
Can include server, client, and shared code
Uses a specific file structure to be registered correctly
Extending Players
Plugins can extend players in three clean ways:
add_data(key, value)
– Adds custom dataadd_method(name, fn)
– Adds a new methodadd_extension(name, obj)
– Attaches a full system or class
This allows plugins to define per-player logic without modifying the core or conflicting with other systems.
Last updated