SPluginsSPlugins

🔁 Migration from the old APIs

If you integrated with the SsomarDev plugins before the public Maven repository existed, this page maps the old way to the new one. The old classes still work but are deprecated and will be removed in a future major version.

Dependency

BeforeNow
Download SCore.jar manually + <scope>system</scope> + systemPathcom.ssomar:SCore from https://repo.ssomar.com/releases, <scope>provided</scope>
Compile against the premium plugin jarsNot needed — all APIs are in SCore (open source)
<repository>
    <id>splugins-repository-releases</id>
    <name>SPlugins Repository</name>
    <url>https://repo.ssomar.com/releases</url>
</repository>

<dependency>
    <groupId>com.ssomar</groupId>
    <artifactId>SCore</artifactId>
    <version>VERSION</version>
    <scope>provided</scope>
</dependency>

Entry points

DeprecatedReplacement
com.ssomar.executableblocks.api.ExecutableBlocksAPIcom.ssomar.score.api.executableblocks.ExecutableBlocksAPI
com.ssomar.executableevents.api.ExecutableEventsAPIcom.ssomar.score.api.executableevents.ExecutableEventsAPI
com.ssomar.myfurniture.api.MyFurnitureAPIcom.ssomar.score.api.myfurniture.MyFurnitureAPI
MyFurnitureAPI.getExecutableItemObject(...) (misnamed)MyFurnitureAPI.getFurnitureObject(...)
ExecutableItemsAPI.registerNewExecutableItemObject(...)ExecutableItemsAPI.registerNewExecutableItem(...)

The new facades return interfaces instead of implementation classes — your code no longer links against premium internals, and a missing plugin raises a clear IllegalStateException instead of a NoClassDefFoundError (guard with isEnabled()).

Events

DeprecatedReplacement
com.ssomar.myfurniture.api.events.FurniturePlaceEvent / FurnitureBreakEventsame names in com.ssomar.score.api.myfurniture.events
com.ssomar.myfurniture.api.load.MyFurniturePostLoadEventsame name in com.ssomar.score.api.myfurniture.load
com.ssomar.executableevents.api.load.ExecutableEventsPostLoadEventsame name in com.ssomar.score.api.executableevents.load
...executableblocks.events.mechanics.pistons.PistonBreakEBPEventcom.ssomar.score.api.executableblocks.events.ExecutableBlockPistonBreakEvent
...executableblocks.events.mechanics.liquid.LiquidBreakEBPEventcom.ssomar.score.api.executableblocks.events.ExecutableBlockLiquidBreakEvent

During the transition, both the legacy and the new events are fired — you can migrate listener by listener.

Behavior changes to know about

  • ExecutableBlockBreakEvent.getBreakMethod() now returns the API enum ExecutableBlockBreakEvent.BreakMethod instead of the internal ExecutableBlockPlaced.BreakMethod — recompile against the new SCore.
  • Facade getters throw IllegalStateException when the target plugin is not installed/enabled (previously: NoClassDefFoundError or an empty manager). Use isEnabled() for optional dependencies.
  • The managers now expose isLoaded() and the *PostLoadEvents carry the manager — prefer these over arbitrary startup delays.

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.

<repository>
    <id>splugins-repository-releases</id>
    <name>SPlugins Repository</name>
    <url>https://repo.ssomar.com/releases</url>
</repository>

<dependency>
    <groupId>com.ssomar</groupId>
    <artifactId>SCore</artifactId>
    <version>VERSION</version>
    <scope>provided</scope>
</dependency>
ExecutableItems

Plugin used on this page

ExecutableItems

Custom 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

Created Jul 11, 2026Last updated Jul 11, 2026 by Ssomar
Edit this page on GitHub