🚀 Getting started
All SsomarDev plugins (ExecutableItems, ExecutableBlocks, ExecutableEvents, ExecutableCrafting, MyFurniture, CustomPiglinsTrades) expose their public API through SCore, our open-source core library. You compile only against artifacts from our public Maven repository:
https://repo.ssomar.com — resolvable by Maven and Gradle, no manual jar download.
1. Add the dependency
Maven:
<repositories>
<repository>
<id>splugins-repository-releases</id>
<name>SPlugins Repository</name>
<url>https://repo.ssomar.com/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.ssomar</groupId>
<artifactId>SCore</artifactId>
<version>VERSION</version>
<scope>provided</scope>
</dependency>
</dependencies>
Gradle:
repositories {
maven {
name = "spluginsRepositoryReleases"
url = uri("https://repo.ssomar.com/releases")
}
}
dependencies {
compileOnly("com.ssomar:SCore:VERSION")
}
Browse the available versions at repo.ssomar.com and the javadoc at https://repo.ssomar.com/javadoc/releases/com/ssomar/SCore/VERSION — your IDE also picks the javadoc up automatically (documentation on hover).
Published artifacts:
| Artifact | Contents |
|---|---|
com.ssomar:SCore | full jar — contains every public API (com.ssomar.score.api.*) |
com.ssomar.executablecrafting:ExecutableCrafting | full jar (advanced recipe API) |
com.ssomar.executableblocks:ExecutableBlocks-API | legacy API classes only |
com.ssomar.executableevents:ExecutableEvents-API | legacy API classes only |
com.ssomar.myfurniture:MyFurniture-API | legacy API classes only |
For almost every integration, com.ssomar:SCore is the only dependency you need.
2. Declare the dependency in your plugin.yml
softdepend: [SCore, ExecutableItems, ExecutableBlocks, ExecutableEvents, ExecutableCrafting, MyFurniture, CustomPiglinsTrades]
(keep only the plugins you integrate with — SCore is always required)
3. Entry points
One facade per plugin, all under com.ssomar.score.api.*:
| Plugin | Facade | Guide |
|---|---|---|
| ExecutableItems | com.ssomar.score.api.executableitems.ExecutableItemsAPI | ExecutableItems API |
| ExecutableBlocks | com.ssomar.score.api.executableblocks.ExecutableBlocksAPI | ExecutableBlocks API |
| ExecutableEvents | com.ssomar.score.api.executableevents.ExecutableEventsAPI | ExecutableEvents API |
| ExecutableCrafting | com.ssomar.score.api.executablecrafting.ExecutableCraftingAPI | ExecutableCrafting API |
| MyFurniture | com.ssomar.score.api.myfurniture.MyFurnitureAPI | MyFurniture API |
| CustomPiglinsTrades | com.ssomar.score.api.custompiglinstrades.CustomPiglinsTradesAPI | CustomPiglinsTrades API |
The implementation is registered at runtime by each plugin when it enables:
- If the plugin is not installed, the facade getters throw
IllegalStateException. Guard optional integrations withisEnabled():
if (ExecutableItemsAPI.isEnabled()) {
// safe to use ExecutableItemsAPI.getExecutableItemsManager()
}
- If the plugin is still loading, lookups return empty results. Two ways to know the API is ready:
// 1. Check the flag
if (ExecutableItemsAPI.getExecutableItemsManager().isLoaded()) { ... }
// 2. Listen to the PostLoad event (fired once all configurations are loaded)
@EventHandler
public void onLoaded(ExecutableItemsPostLoadEvent e) {
ExecutableItemsManagerInterface manager = e.getManager();
// lookups return complete results from here
}
Every plugin has the same lifecycle pair: isLoaded() + <Plugin>PostLoadEvent.
4. First integration in 30 seconds
// Give the ExecutableItem "my_sword" to a player
ExecutableItemsAPI.getExecutableItemsManager()
.getExecutableItem("my_sword")
.ifPresent(item -> item.give(player));
Continue with the per-plugin guides in this section, the events reference, and the migration guide if you were using the old APIs.
Try it now
Copy this into ExecutableItems and reload
Taken from this page. Paste it into a config, run the plugin's reload command, and you have a working starting point to edit.
<repositories>
<repository>
<id>splugins-repository-releases</id>
<name>SPlugins Repository</name>
<url>https://repo.ssomar.com/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.ssomar</groupId>
<artifactId>SCore</artifactId>
<version>VERSION</version>
<scope>provided</scope>
</dependency>
</dependencies>Plugin used on this page
ExecutableItemsCustom items with abilities, activators and commands — no code.
- 5.0/5 from 10 reviews
- 3.4K servers running it right now (bStats)
- 32 downloads on SPlugins
€19.99
one-time, lifetime updates