KillQuestPlugin

KillQuestPlugin 1.0.3

Compatible API Versions
1.0
Sourcecode
https://github.com/digitalwm/killquest
Contributors
digitalwm
KillQuest - A Nukkit Quest System v1.0.3
KillQuest
is a feature-rich quest system and jumping puzzle generator for Nukkit servers, allowing players to complete kill and gather quests for rewards, and challenge themselves with procedurally generated jumping puzzles. It includes multilingual support, scoreboard tracking, and EconomyAPI integration.

screen1.jpg


screen2.jpg

Screen3.jpg


๐Ÿ“ฅ Installation
1. Download the Plugin
- Compile the plugin using Maven
Code:
mvn clean package
- Find the generated .jar file in the target directory.
- Move the .jar file to your plugins/ folder.

2. Restart Your Nukkit Server
- Run:
Bash:
     java -jar nukkit.jar
- Check logs to confirm the plugin is loaded successfully.


๐Ÿ“œ Features
โœ” Quest System: Kill entities, gather items or travel distances to complete quests.
โœ” Dynamic Quest Selection: Players can select quests using a UI ([code single]/quests[/code]).
โœ” Scoreboard Tracking: Displays active quest progress in the top-right.
โœ” Auto-Saving: Quest progress is saved to files per player.
โœ” EconomyAPI Integration: Players earn credits upon completion.
โœ” Multilingual Support: Uses Minecraftโ€™s translations for entity/item names.
โœ” Jumping Puzzles: Procedurally generate jumping puzzles with varying heights and difficulties.
โœ” Puzzle Persistence: Puzzles are saved and can be reloaded after server restarts.
โœ” Player Movement Tracking: Detect when players start and complete puzzles.
โœ” Block Restrictions: Prevent players from modifying puzzle areas.
โœ” Puzzle Management Commands: Create, list, and remove puzzles dynamically.
โœ” Puzzle Regen Logic: Regenerate the given puzzle, when the user completes it or using reset block.
โœ” Server Events: The plugin sends events when changes are on Quests and Jumping Puzzles.


๐ŸŽฎ How to Use
Viewing Available Quests

- Run the command:
Code:
  /quests
- A selection window appears, showing 5 random quests (rotating every 5 minutes).
- If you have an active quest, it remains selected while 4 others change.

Completing a Quest
- Track progress via the scoreboard (updates live).
- Fulfill the quest objectives:
- Kill Targets: Kill the required entities.
- Gather Items: Pick up or collect required materials.
- Once completed:
- Reward is granted
- Quest progress resets
- Scoreboard updates

How the Jump Puzzle Works

  1. A player generates a puzzle using `/jumpgen`.
  2. The puzzle is enclosed with walls and a light-emitting base.
  3. Players must jump across blocks that are generated to be challenging but solvable.
  4. A tracking system monitors when a player starts and completes the puzzle.
  5. Upon completion, the player receives 100 credits via EconomyAPI.
  6. Once completed, the user is teleported to the center and the puzzle regenerates
  7. If puzzle is imposible, use the green block to regenerate it. Stay on it more than 5 seconds


๐Ÿ“ Configuration
quests.yml

Quests are defined in plugins/KillQuestPlugin/quests.yml:

Code:
quests:
  - name: "Zombie Slayer"
    description: "Kill 10 Zombies"
    killTargets:
      zombie: 10
    gatherItems: {}
    reward: 100

  - name: "Resource Collector"
    description: "Gather 20 Diamonds and 50 Iron Ore"
    killTargets: {}   # No kills required
    gatherItems:
      diamond: 20
      iron_ore: 50
    reward: 200

  - name: "Long Journey"
    description: "Travel over 500 blocks from your starting position"
    distance: 500
    reward: 50

  - name: "High Climb"
    description: "Climb 200 blocks in height"
    height: 200
    reward: 30

  - name: "Deep Dive"
    description: "Descend 100 blocks in depth"
    depth: 100
    reward: 40
- Kill Targets: Define entities to kill.
- Gather Items: Define items to collect.
- Distance Traveled: Define distance to travel (in range, height or depth).
- Reward: Credits given via EconomyAPI.

translations.yml
Custom language translations can be configured in:
Code:
translations:
  en_US:
    entity.minecraft.zombie: "Zombie"
    item.minecraft.diamond: "Diamond"
  de_DE:
    entity.minecraft.zombie: "Zombie"
    item.minecraft.diamond: "Diamant"
- Supports multiple Minecraft locales.
- Used in the scoreboard UI.

๐Ÿ”ง Admin Commands
CommandDescription
/questsOpens the quest selection UI
/killquest reload
Reloads quests and translations
/jumpgen <name> <length> <width> <height>Generates a jumping puzzle with a unique name.
/clearpuzzle <name>Clears a specific puzzle.
/listpuzzlesLists all active puzzles.
/jumpconfig <name> <resetOnCompletion> <greenBlockResetTimeout>Adjust values of generated jumping puzzle
/questsstatusOpens the active quest status UI
๐Ÿ“Œ Debugging & Logs





- Events support:


It provides support of events triggering in context of quests and jumping puzzles. Please check the GitHub link for a readme on this.

- Startup Log:
Code:
  [INFO ] [KillQuestPlugin]
  [INFO ] [KillQuestPlugin] โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—     โ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
  [INFO ] [KillQuestPlugin] โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•
  [INFO ] [KillQuestPlugin] โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•‘
  [INFO ] [KillQuestPlugin] โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘โ–„โ–„ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•  โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘
  [INFO ] [KillQuestPlugin] โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘
  [INFO ] [KillQuestPlugin] โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ• โ•šโ•โ•โ–€โ–€โ•โ•  โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•   โ•šโ•โ•
  [INFO ] [KillQuestPlugin]
  [INFO ] [KillQuestPlugin]                            Version: 1.0.3
  [INFO ] [KillQuestPlugin]                            Developed by digitalwm
  [INFO ] [KillQuestPlugin]
  [INFO ] [KillQuestPlugin] Loaded language: en_US with 41 keys.
  [INFO ] [KillQuestPlugin] Loaded language: de_DE with 41 keys.
  [INFO ] [KillQuestPlugin] Total languages loaded: 2
  [INFO ] [KillQuestPlugin] Total translation keys loaded: 82
  [INFO ] [KillQuestPlugin] KillQuestPlugin enabled with 23 available quests.
  [INFO ] [KillQuestPlugin] EconomyAPI found. Rewards enabled.
  [INFO ] [KillQuestPlugin] Loading saved puzzles...
  [INFO ] [KillQuestPlugin] Loaded puzzle: test
๐Ÿ’ก Future Improvements
- โœ… More Quest Types: Crafting, Shooting
- โœ… More Customization Options
- โœ… SQL Database support

๐Ÿš€ Want to contribute? Fork the project and submit a pull request! ๐ŸŽฏ


๐Ÿ“„ License
KillQuest is an open-source Nukkit plugin, developed by digitalwm.
Feel free to modify and distribute it! ๐ŸŽฎ๐Ÿ”ฅ

๐ŸŽ‰ Enjoy Your Nukkit Quest System!๐Ÿ†
Author
hvm24
Downloads
62
Views
203
First release
Last update
Rating
0.00 star(s) 0 ratings

Latest updates

  1. 1.0.3

    Added quest tracking for distance traveled (in height, depth or any direction) see example...
  2. 1.0.2

    Added regenaration of puzzle when a user finishes it Added regeneration of puzzle, using a reset...
  3. v1.0.1

    Added: โœ” onPlayerFish: Handling fishing events so fishing quests can be created โœ” Jumping...
Top