How qiuhaitanghong/wizardry works
Electroblob’s Wizardry is a NeoForge Minecraft magic mod. Its main interaction path is player spell selection through client controls, a server-bound payload, and server-side handling; the broader spell API supplies casting behavior. Other major product branches include registered magic items, the Arcane Workbench, client resource data, the handbook, and custom particles. The README reports item registration, block rendering, handbook migration, and partial particle effects. Some subsystems are represented from the tree and README rather than sampled implementation, so their internal links are omitted where evidence is unavailable.
Main entry points: WizardryClientDataManager.java Client data manager · ServerPayloadHandler.java Server payload handler · ClientEvents.java Client registration · WizardryParticleManager.java Particle manager
Components 17
Magic gameplay
- Server payload handler
src/main/java/top/begonia/wizardry/core/network/ServerPayloadHandler.java - Casting item API
src/main/java/top/begonia/wizardry/api/item/ISpellCastingItem.java - Spell behavior
src/main/java/top/begonia/wizardry/core/spell/AbstractSpell.java - Player spell data
src/main/java/top/begonia/wizardry/core/data/player/WizardPlayerData.java
Game content
- Magic items
src/main/java/top/begonia/wizardry/core/registry/WizardryItems.java - Workbench menu
src/main/java/top/begonia/wizardry/core/inventory/menu/ArcaneWorkbenchMenu.java
Client experience
- Spell controls
src/main/java/top/begonia/wizardry/client/handle/WizardryControlHandler.java - Workbench screen
src/main/java/top/begonia/wizardry/client/gui/ArcaneWorkbenchScreen.java - Client registration
src/main/java/top/begonia/wizardry/client/event/ClientEvents.java - Wizard handbook
src/main/java/top/begonia/wizardry/client/data/definition/handbook/HandbookData.java
Resource data
- Data loading
src/main/java/top/begonia/wizardry/api/data/AbstractWizardryDataManager.java - Client data manager
src/main/java/top/begonia/wizardry/client/data/manager/WizardryClientDataManager.java - Parser registration
src/main/java/top/begonia/wizardry/api/event/data/RegisterDataParserEvent.java
Particles and rendering
- Particle manager
src/main/java/top/begonia/wizardry/api/particle/manager/WizardryParticleManager.java - Composite particles
src/main/java/top/begonia/wizardry/api/particle/CompositeParticle.java
Other components
- Player
- Minecraft runtime
Connections 16
- Player → Spell controls: selects spell
src/main/java/top/begonia/wizardry/client/handle/WizardryControlHandler.java - Spell controls → Server payload handler: sends selection
src/main/java/top/begonia/wizardry/client/handle/WizardryControlHandler.java - Server payload handler → Casting item API: handles casting
src/main/java/top/begonia/wizardry/core/network/ServerPayloadHandler.java - Casting item API → Spell behavior: casts spells
src/main/java/top/begonia/wizardry/api/item/ISpellCastingItem.java - Player → Workbench screen: uses workbench
- Client registration → Workbench screen: registers screen
src/main/java/top/begonia/wizardry/client/event/ClientEvents.java - Server payload handler → Workbench menu: handles menu requests
src/main/java/top/begonia/wizardry/core/network/ServerPayloadHandler.java - Client registration → Client data manager: uses client data
src/main/java/top/begonia/wizardry/client/event/ClientEvents.java - Client data manager → Data loading: extends loader
src/main/java/top/begonia/wizardry/client/data/manager/WizardryClientDataManager.java - Client data manager → Parser registration: posts registration
src/main/java/top/begonia/wizardry/client/data/manager/WizardryClientDataManager.java - Particle manager → Composite particles: creates particles
src/main/java/top/begonia/wizardry/api/particle/manager/WizardryParticleManager.java - Particle manager → Client data manager: reads sprite data
src/main/java/top/begonia/wizardry/api/particle/manager/WizardryParticleManager.java - Composite particles → Minecraft runtime: adds to engine
src/main/java/top/begonia/wizardry/api/particle/CompositeParticle.java - Player spell data → Spell behavior: spell state
- Magic items → Minecraft runtime: registers content
- Wizard handbook → Client data manager: loaded as client data