A minimal example showing how any standard Bukkit/Spigot/Paper plugin can integrate with UltiTools-API using the External Plugin API introduced in v6.2.2.
| Feature | File | What it proves |
|---|---|---|
UltiToolsAPI.connect(this) | UltiToolsExtExample.java | One-line framework integration |
@Service + @Autowired | GreetService.java | IoC container auto-scan & injection |
@CmdExecutor | GreetCommand.java | Auto-registered commands with tab completion |
@EventListener | JoinListener.java | Auto-registered Bukkit event listeners |
DataOperator CRUD | GreetCommand.java + VisitorRecord.java | Data storage scoped to plugin's own folder |
<dependency>
<groupId>com.ultikits</groupId>
<artifactId>UltiTools-API</artifactId>
<version>6.2.2</version>
<scope>provided</scope>
</dependency>name: MyPlugindepend: [UltiTools]publicclassMyPluginextendsJavaPlugin {
@OverridepublicvoidonEnable() {
UltiToolsAPI.connect(this); // That's it!
}
}After connect(), UltiTools automatically scans your plugin's package for:
@Service— registered as beans in a child IoC container@CmdExecutor— commands auto-registered with Bukkit@EventListener— Bukkit listeners auto-registered@Autowired— dependency injection across all scanned classes
// Get a DataOperator scoped to your plugin's data folderDataOperator<MyEntity> data = UltiToolsAPI.getDataOperator(this, MyEntity.class);
// CRUD operationsdata.insert(entity);
data.getAll();
data.update(entity);
data.del(WhereCondition.builder().column("name").value("test").build());src/main/java/com/example/ultitoolsext/
├── UltiToolsExtExample.java # Main plugin class — connect/disconnect
├── commands/
│ └── GreetCommand.java # @CmdExecutor with @Autowired + DataOperator CRUD
├── data/
│ └── VisitorRecord.java # @Table data entity (BaseDataEntity)
├── listeners/
│ └── JoinListener.java # @EventListener with @Autowired
└── services/
└── GreetService.java # @Service bean
| Command | Description |
|---|---|
/ultiext hello | Greet message (tests @Service injection) |
/ultiext info | Plugin info |
/ultiext visit <name> | Record a visit (tests insert + update) |
/ultiext visitors | List all visitors (tests getAll) |
/ultiext delvisitor <name> | Delete a visitor (tests delete) |
mvn clean packageCopy the JAR to your server's plugins/ folder. Requires UltiTools-API 6.2.2+ on the server.
MIT