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.