Code initialization framework for PaperMC plugins
(Early development stage)
CodeInit simplifies method execution management in Paper plugins by providing annotation-based triggers for:
- Plugin startup/shutdown events
- Manual testing via commands
- Priority-based execution ordering
Create .codeinit file in your plugin's resources folder.
In your main class' onEnable() method:
CodeInit.addPlugin("your.plugin.package", this);@RunOn // Runs during plugin startup (default)
@RunOn(on = RunOnType.STOP) // Runs during plugin shutdown
@RunOn(on = RunOnType.TEST) // Available via /test commandControl method execution order with priorities:
@RunOn(priority = 0) // First to execute
@RunOn(priority = 1) // Runs after priority 0
@RunOn(priority = -2) // Runs before final methods
@RunOn(priority = -1) // Last to execute (default)Manually trigger test methods with automatic argument handling:
/test ClassName:methodName [args]
Automatically injects Player argument when required
public class TestClass {
@RunOn(priority = 0)
public void startupTask() {
// Runs first during plugin startup
}
@RunOn(on = RunOnType.TEST)
public void testMethod(Player player) {
player.sendMessage("Test successful!");
}
}