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: MyPlugin
depend: [UltiTools]public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
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 folder
DataOperator<MyEntity> data = UltiToolsAPI.getDataOperator(this, MyEntity.class);
// CRUD operations
data.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