
JobBoard v1
providing players with an interactive way to take on tasks earn rewards and progress through levels
Showcase :
Screenshot :
JobBoard Plugin
The JobBoard plugin introduces dynamic job assignments and rewards into a Minecraft server using Bukkit/Spigot API, providing players with an interactive way to take on tasks, earn rewards, and progress through levels. It integrates with the popular Vault plugin for managing economy-based rewards. Here's what it offers:
Main Features:
1. Job Selection GUI:
- Players can use the
/jobboard
command to open a user-friendly GUI where they can view and interact with available jobs. - Jobs are displayed in a three-row inventory:
- First Row: Buttons to accept tasks.
- Second Row: Active tasks with descriptions and rewards.
- Third Row: Buttons to decline tasks.
2. Task Generation:
- Tasks are randomly generated based on player level and configuration, with varying difficulty levels:
- Easy
- Normal
- Hard
- Extreme
- Tasks involve specific item collection goals (e.g., collect X amount of Y material). Tasks scale with player level to maintain a balanced challenge.
3. Task Interaction:
- Accept Tasks: Players can choose to accept tasks if they have the required resources.
- Decline Tasks: Declined tasks initiate a cooldown timer before a new task is generated for that slot.
- Task Timers: Players cannot interact with task slots during the cooldown period.
4. Player Progression:
- The plugin tracks player experience and levels:
- Completing tasks rewards players with coins, experience points (EXP), and potential level-ups.
- The experience bar is dynamically displayed in the Job Board GUI via progress indicators.
- Leveling up progressively increases the difficulty of tasks and the associated rewards.
5. Rewards System:
- Players receive in-game currency (via Vault integration) and EXP upon completing tasks.
- Rewards are dynamically calculated based on task difficulty and player level.
6. Economy Integration:
- Full integration with Vault allows seamless handling of in-game money rewards.
- Coins are deposited directly into the player’s account upon task completion.
7. Player Data Management:
- Player data, including level and experience, is stored in a persistent YAML file (
playerData.yml
), ensuring progress is saved even after the server restarts. - Player-specific tasks and inventories are properly loaded on login and saved on logout.
8. Administration Commands:
/jobboard
: Opens the Job Board GUI for players./jobreload
: Reloads the plugin configuration (requiresjobboard.reload
permission).- Useful for adjusting plugin settings dynamically without restarting the server.
9. Dynamic Configuration Options:
- All core functionalities of the plugin can be customized through the configuration file (
config.yml
):- Task item requirements and rewards.
- Difficulty multipliers for scaling rewards.
- Cooldown durations for task slots.
- Material translation for user-friendly display in tasks.
10. Interactive GUI Elements:
- Accept Button (
Green Wool
): Accepts the selected task. - Decline Button (
Red Wool
): Declines the task and initiates a cooldown. - Placeholders (
Clock
): Indicates slot cooldown with a timer display.
Player Flow:
-
Joining the Server:
- On login, player data is loaded, and a personalized task list is generated.
- Players can view their progress in the Job Board GUI.
-
Completing Tasks:
- Select a task, meet the resource requirements, and complete it to earn rewards and EXP.
- Players can reject tasks if they aren’t ready, initiating a cooldown.
-
Level Progression:
- Players’ experience builds up, and they level up once they meet the requirements.
- Higher levels unlock more challenging tasks with greater rewards.
-
Managing Inventory:
- Tasks dynamically introduce item collection challenges, encouraging players to venture out and gather resources.
Plugin Benefits:
- Engaging Gameplay: Keeps players motivated with structured goals and rewards.
- Scalable Difficulty: Automatically adjusts task challenges as players progress in level.
- Economy Enhancement: Fully supports in-game money systems to enable meaningful task rewards.
- Immersive Interaction: The intuitive GUI creates a seamless user experience for task management.
- Customizable: Built with flexibility in mind, allowing server admins to tweak settings for their community’s needs.
Technical Notes:
- Dependency: Requires Vault (and a compatible economy plugin) to manage in-game economy rewards.
- Persistence: Implements YAML file storage to save and load player-specific data.
- Scheduled Tasks: Uses
BukkitRunnable
to manage timers and automate task generation. - Highly Configurable: Server admins can control task generation logic, rewards, difficulty scaling, and more through the configuration file.