The project
Progress driven by what players do—not how much block value they place.
SS2Integration is a custom Java 21 plugin that replaces SuperiorSkyblock2’s normal block-worth progression with shared Island XP. Mining generator blocks, harvesting custom crops, killing mobs, and completing activity requirements all feed one persistent progression system.
It integrates with SuperiorSkyblock2, RoseStacker, ShopGUI+, PlaceholderAPI, and SQLite through supported APIs without modifying or forking any of them.
The challenge
One consistent system across independently managed plugins.
The server needed shared XP and levels, farming and mob rewards, crop and spawner gates, persistent custom crops, farming tools, ShopGUI+ support, progression menus, and extensive configuration.
The difficult part was keeping every system consistent while respecting Minecraft’s event order, physics, threading, and client/server behavior.
Working with Officer Ray is a pleasure! The custom leveling and progression system is a total game-changer. It delivers a much more competitive experience for our players. The multi-layered progression and farming was a massive task, but he performed at a professional level and in a timely manner!
— Server owner
What I built
A cohesive progression layer.
Shared island progression
One persistent Island XP total and calculated custom level per island, keyed by SuperiorSkyblock2’s stable island UUID and synchronized back into its existing displays.
Persistent custom farming
Ten custom crop types use vanilla growth while retaining exact item identity, configurable multi-cycle harvests, custom tools, and state across restarts.
Compound requirements
Crops and spawners can require both an island level and shared activity totals, such as 500 Wheat harvested or 250 Zombies killed.
Stack-aware slayer tracking
Bukkit deaths and RoseStacker events are reconciled so every logical kill counts exactly once, including mixed-type spawner restrictions.
Exact ShopGUI+ integration
Transactions match the plugin’s persistent item identity, preventing seeds, plantable crops, or ordinary vanilla items from being sold as custom produce.
Player-facing UX
Native /is farming and /is slayer subcommands open configurable paginated menus, backed by PlaceholderAPI and Adventure/MiniMessage output.
Engineering highlights
Reliability at the boundaries.
- Stable identity Durable progression uses island UUIDs; crops and tools use persistent data rather than names, lore, or materials.
- Non-blocking persistence SQLite operations run asynchronously through a serialized layer so gameplay never waits on database work.
- Server authority XP, harvest damage, drops, and activity totals change only after validated server events.
- Fail-closed integrations Invalid or unverifiable integration state is rejected instead of silently bypassing progression.
- Safe evolution Versioned configuration and database migrations add features without overwriting existing data.
Testing & delivery
52 passing tests, plus live-server acceptance.
The automated suite covers progression calculations, persistence, migrations, concurrent updates, item identity, unlock requirements, configuration validation, PlaceholderAPI output, and ShopGUI+ behavior. Live testing covered RoseStacker, Minecraft physics, continuous block breaking, client/server mining differences, and real shop transactions.
Outcome
Built for OmenMC · Client project · 2026
One progression system instead of a collection of mechanics.
The delivered plugin provides persistent shared progression, custom farming, stack-aware combat tracking, compound farming and slayer requirements, spawner restrictions, economy integration, player menus, and administrator tooling—while continuing to work alongside the server’s commercial plugin stack.




