Skip to main content
The missions system provides objectives for players and islands to complete, offering rewards and progression. Missions can be created using Java or JavaScript and are fully customizable.

Opening Missions Menu

View available missions:
/island missions
This displays:
  • Available missions
  • Completed missions
  • Mission categories
  • Progress tracking
  • Rewards
Missions are organized into categories for better organization. Each category can have its own icon and description.

Mission Types

SuperiorSkyblock2 supports two types of missions:

Player Missions

Individual missions that track player-specific progress:
  • Break specific blocks
  • Kill certain mobs
  • Craft items
  • Visit locations
  • Personal achievements

Island Missions

Team missions that track island-wide progress:
  • Collective block breaking
  • Total island worth
  • Combined mob kills
  • Island level milestones
  • Team achievements

Completing Missions

Missions are typically completed automatically as you perform actions, but you can also manually complete them:
/island mission <mission-name>
Requirements:
  • superior.island.mission permission
  • Mission must be available
  • All objectives must be completed
Some missions may have cooldowns before they can be completed again. Check the mission details for reset times.

Mission Progress Tracking

Missions automatically track progress based on their objectives:
1

Mission activation

Missions are available based on configured requirements.
2

Progress tracking

Your actions are monitored and progress is updated in real-time.
3

Completion

When all objectives are met, the mission can be completed for rewards.
You can view your progress by opening the missions menu and clicking on a specific mission.

Mission Rewards

Completing missions grants various rewards:
  • Money: Added to your personal balance or island bank
  • Items: Given to your inventory
  • Commands: Executed as the player or console
  • Permissions: Granted temporarily or permanently
  • Custom Rewards: Through command execution
Mission rewards are configured per mission and can include multiple reward types simultaneously.

Mission Categories

Missions are organized into categories for better navigation:
/island missions
Categories can represent:
  • Difficulty levels (Easy, Medium, Hard)
  • Mission types (Building, Farming, Combat)
  • Progression tiers (Beginner, Advanced, Expert)
  • Event-specific missions (Seasonal, Limited-Time)

Creating Custom Missions

SuperiorSkyblock2 supports custom missions through Java or JavaScript:

JavaScript Mission Example

var SuperiorSkyblockMission = Java.type('com.bgsoftware.superiorskyblock.api.missions.Mission');
var MissionLoadException = Java.type('com.bgsoftware.superiorskyblock.api.missions.MissionLoadException');

var mission = {
    onEnable: function() {
        // Mission initialization
    },
    onDisable: function() {
        // Cleanup
    },
    canComplete: function(superiorPlayer) {
        // Check if player can complete
        return true;
    },
    onComplete: function(superiorPlayer) {
        // Handle completion
    },
    formatData: function(data) {
        // Format progress data
        return data;
    }
};

Java Mission Example

Create a class extending the Mission interface:
public class CustomMission implements Mission<SuperiorPlayer> {
    @Override
    public void load() throws MissionLoadException {
        // Load mission data
    }
    
    @Override
    public void onComplete(SuperiorPlayer superiorPlayer) {
        // Handle completion
    }
    
    @Override
    public boolean canComplete(SuperiorPlayer superiorPlayer) {
        // Check completion requirements
        return true;
    }
}
Custom missions should be placed in the missions folder and will be loaded automatically on startup.

Mission Configuration

Missions are configured through YAML files:
mission-name:
  category: "farming"
  icon: WHEAT
  rewards:
    money: 1000
    items:
      - DIAMOND:5
    commands:
      - "broadcast {0} completed the farming mission!"
  objectives:
    - "Break 1000 wheat"
    - "Harvest 500 carrots"

Checking Mission Status

View if a player or island has completed a mission using the API or admin commands:
# Set mission status (admin)
/admin mission <player> <mission> <complete|reset>
Permissions:
  • superior.admin.mission

Mission Data Persistence

Mission progress is automatically saved:
  • Progress is tracked per player or island
  • Data persists across server restarts
  • Completed missions are recorded
  • Reset times are managed automatically
Mission data is saved periodically (every 5 minutes) and on plugin shutdown to prevent data loss.

Mission Events

The missions system fires events that developers can listen to:
  • Mission complete events
  • Mission progress events
  • Mission reset events
  • Mission load events
These events allow for custom integrations and behaviors.

Best Practices

For Players:
  • Check missions menu regularly for new objectives
  • Focus on island missions for team rewards
  • Complete easier missions first for quick rewards
For Administrators:
  • Create progression paths with increasing difficulty
  • Balance rewards with effort required
  • Use categories to organize missions
  • Test missions thoroughly before deployment
  • Consider cooldowns for repeatable missions
Use placeholders in mission rewards and commands to create dynamic, personalized experiences. For example, {0} represents the player name.