How yufiriamazenta/craftorithm works
Craftorithm is a Minecraft recipe-management plugin. Players and administrators create, edit, discover, disable, and browse recipes through commands and GUI menus; recipe configurations are parsed and registered into the server’s crafting systems, where listeners handle crafting and result customization. Other documented capabilities include custom items and fuels, triggers/scripts, custom menus, and integrations with item plugins. The map follows the tree and supplied excerpts; several feature connections are documented but their implementation wiring was not sampled.
Main entry points: CraftingListener.java Crafting listeners · RecipeManager.java Recipe manager · Craftorithm.java Plugin lifecycle · MainCommand.java Commands
Components 22
Recipe runtime
- Recipe manager
core/src/main/java/pers/yufiria/craftorithm/recipe/RecipeManager.java - Recipe parsers
core/src/main/java/pers/yufiria/craftorithm/recipe/parser/RecipeParser.java - Recipe registry
core/src/main/java/pers/yufiria/craftorithm/recipe/CraftorithmRecipeRegistry.java - Recipe registration
core/src/main/java/pers/yufiria/craftorithm/recipe/register/RecipeRegister.java - Crafting listeners
core/src/main/java/pers/yufiria/craftorithm/recipe/listener/CraftingListener.java
Commands and menus
- Commands
core/src/main/java/pers/yufiria/craftorithm/command/MainCommand.java - Recipe editor
core/src/main/java/pers/yufiria/craftorithm/ui/editor/RecipeEditorManager.java - Recipe creator
core/src/main/java/pers/yufiria/craftorithm/ui/creator/RecipeCreator.java - Recipe display
core/src/main/java/pers/yufiria/craftorithm/ui/display/RecipeDisplayManager.java - Recipe book
core/src/main/java/pers/yufiria/craftorithm/ui/recipebook/RecipeListMenu.java - Custom menus
core/src/main/java/pers/yufiria/craftorithm/ui/custom/CustomMenuManager.java
Items and results
- Result processors
core/src/main/java/pers/yufiria/craftorithm/resultprocessor/ResultProcessorManager.java - Item manager
core/src/main/java/pers/yufiria/craftorithm/item/ItemManager.java - Item integrations
core/src/main/java/pers/yufiria/craftorithm/hook/item/ItemPluginHookManager.java
Triggers and scripts
- Trigger manager
core/src/main/java/pers/yufiria/craftorithm/trigger/TriggerManager.java - Script context
core/src/main/java/pers/yufiria/craftorithm/script/RootScriptContext.java
Configuration and state
- Plugin lifecycle
core/src/main/java/pers/yufiria/craftorithm/Craftorithm.java - Discovery database
core/src/main/java/pers/yufiria/craftorithm/database/DataSourceManager.java - Discovery DAO
core/src/main/java/pers/yufiria/craftorithm/database/dao/DiscoveredRecipeDao.java
Other components
- Player / admin
- Minecraft server
- External item provider
hook/src/main/java/pers/yufiria/craftorithm/hook/item/CraftEngineItemProvider.java
Connections 23
- Player / admin → Commands: runs commands
- Commands → Recipe editor: opens editor
- Recipe editor → Recipe creator: creates recipes
- Player / admin → Recipe book: browses recipes
- Player / admin → Recipe display: views recipe
- Player / admin → Custom menus: opens menu
- Recipe creator → Recipe manager: submits recipe
- Recipe manager → Recipe parsers: parses config
- Recipe manager → Recipe registration: registers recipe
- Recipe registration → Recipe registry: updates registry
- Minecraft server → Crafting listeners: crafting events
- Crafting listeners → Recipe registry: checks recipes
- Crafting listeners → Result processors: processes results
- Crafting listeners → Item manager: matches items
- Plugin lifecycle → Recipe manager: loads recipes
- Plugin lifecycle → Item integrations: initializes hooks
- Item integrations → Item manager: registers providers
- Item manager → External item provider: resolves item IDs
- Minecraft server → Trigger manager: trigger events
- Trigger manager → Script context: evaluates scripts
- Commands → Discovery DAO: updates discovery
- Discovery DAO → Discovery database: reads and writes
- Plugin lifecycle → Discovery database: opens connection