MythicDrops - #1 Plugin for MythicMobs drops Confguration! icon

MythicDrops - #1 Plugin for MythicMobs drops Confguration! -----

Easily manage MythicMobs drops based on LuckPerms ranks, top damage contributors, and more!




Improved Debug Logging – Added clearer messages when no threat data is recorded, including a reminder to set ThreatTable: true and PersistentThreatTable: true in MythicMobs YAML.

Optimized Reward Processing – Prevented duplicate event handling and ensured proper cleanup of processed mobs.

Better Compatibility Handling – Validated configuration files (top3damage.yml, top5damage.yml, and announcement.yml) more thoroughly to avoid missing keys or incorrect formatting issues.
----------, Mar 3, 2025

️ Bug Fixes:
Fixed NullPointerException in MythicMobDeathEvent

  • Resolved an issue where the plugin crashed when trying to process an invalid or null entity in the ThreatTable.
  • Now, the plugin properly checks for null values before accessing entity data.
  • Improved error handling prevents similar crashes in the future.
Improved Threat Table Processing
  • Added a null-check for AbstractEntity entries in the threat table to prevent crashes.
  • Debug logs now clearly indicate which entities are contributing damage.
Enhanced Duplicate Event Prevention
  • Ensured that mobs are only processed once per death event to prevent duplicate rewards.
Fixed Incorrect Mob Reward Processing
  • Fixed cases where some mobs did not receive rewards correctly due to configuration priority issues.
----------, Feb 28, 2025

Update Summary:
This update fixes a critical issue where the guaranteed-rewards setting in top3damage.yml was not working correctly. Now, players will receive the correct number of guaranteed rewards based on the configuration.

️ Fixes & Changes:
Fixed: guaranteed-rewards now correctly gives multiple rewards instead of just one.
Improved: Debug logging for better reward tracking.
Updated: Chance-based rewards now properly roll after guaranteed ones are given.

⚡ How to Update:
1️⃣ Replace your old .jar with the latest version.
2️⃣ Modify your top3damage.yml if you want guaranteed rewards to always drop.
3️⃣ Restart your server and enjoy!

If you run into any issues, let me know ! Happy hunting!
----------, Feb 18, 2025

### Summary of Fixes:

1. **Guaranteed Rewards Issue**: - Fixed an issue where the `guaranteed-rewards` setting in `config.yml` was not properly granting the specified number of guaranteed rewards. - Ensured that rewards up to `guaranteed-rewards` are always processed without relying on chance.

2. **Improved Reward Processing Logic**: - Chance-based rewards are now processed separately after guaranteed rewards are granted. - Invalid or missing reward commands are logged and skipped without breaking the process.

3. **Enhanced Debug Logging**: - Added detailed logs to track guaranteed and chance-based rewards. - Logs the exact commands executed and the results of chance rolls for transparency.
----------, Jan 17, 2025

Bug Fixes
  • Fixed Announcement Issues: Resolved a problem where announcements for specific mobs were not functioning as intended. Mob-specific announcements now work correctly as per the configuration.
  • Memory Leak Resolved: Addressed a memory leak related to processed mob events, ensuring better performance and stability.
  • Config.yml Drop Issues: Fixed an issue where some mobs configured in config.yml were not providing drops under certain conditions.
New Features
Guaranteed Drop System
  • Description: Players can now receive a guaranteed number of rewards from the configured drop list for mobs, ranks, and contributors.
  • Configuration Option: guaranteed-rewards
    • Limits the number of rewards guaranteed from the drop list.
    • Fully customizable per mob, rank, and contributor category.
  • Example Usage:
Code (YAML):
yaml
SkeletonKing
:
  guaranteed-rewards
: 1 # Limit rewards to 1 from the list
  drops
:
   default
:
     drop1
:
       command
: "give %player% diamond 3"
       chance
: 0.5
       message
: "&bYou got 3 diamonds!"
Improved Top 3 and Top 5 Reward Systems
  • Enhancements:
    • Improved reward distribution for Top 3 and Top 5 configurations.
    • Rewards adhere to the guaranteed-rewards setting for each rank and contributors.
    • Added support for customizable thresholds (min-damage) to qualify for rewards.
    • Integrated mob-specific announcements with placeholder support for dynamic messaging.
  • Example Configuration for Top 5:
Code (YAML):

rewardtop5
:
  SkeletonKing
:
   guaranteed-rewards
: 1
   first-place
:
     default
:
       drop1
:
         command
: "give %player% diamond 5"
         chance
: 1.0
         message
: "&aYou are the top damager! Enjoy your diamonds!"
   everyone-else-who-contributed
:
     min-damage
: 50.0
     default
:
       drop1
:
         command
: "give %player% emerald 1"
         chance
: 0.5
         message
: "&aThanks for contributing!"
----------, Jan 10, 2025

  • Bug Fix: Resolved issues with Top 3 rewards not working properly for certain mobs.
  • Bug Fix: Reload command not reloading top3damage.yml and some other configs
  • Performance Enhancements: Optimized reward processing for large-scale fights to ensure smooth gameplay.
  • Debugging: Enhanced debug logs for easier troubleshooting.
  • New Features:
    1. Top 5 Damage Rewards System
    • Mobs now support Top 5 Damage Rewards! Players who deal the most damage to specific mobs will be rewarded based on their ranking:
      • 1st Place: Special rewards for the top damage dealer.
      • 2nd to 5th Place: Additional rewards based on their rank.
      • Contributors: Players who meet a minimum damage threshold will also receive a reward.
    2. Improved Announcements
    • Upon defeating a mob configured for Top 5 rewards:
      • A damage ranking list is announced, showcasing the top players and their damage contribution.
      • Customizable messages for each rank and overall participation.
    3. Configurable Rewards
    • Rewards for Top 5 players are now fully customizable in top5damage.yml:
      • Define unique rewards for each rank.
      • Add group-specific rewards for players (e.g., LuckPerms groups like default, VIP, or admin).
      • Configure minimum damage thresholds for additional contributors.
    Updated Configurations
    New File: top5damage.yml
    This new configuration file allows you to define mobs eligible for Top 5 rewards. Here’s a quick example:
    Code (YAML):
    SkeletonKing:
      first-place
    :
        default
    :
          drop1
    :
            chance
    : 1.0
            command
    : "give %player% diamond 5"
            message
    : "&aCongratulations, you are the top damager!"
        admin
    :
          drop1
    :
            chance
    : 1.0
            command
    : "give %player% netherite_ingot 2"
            message
    : "&6As an admin, you get extra rewards!"
      everyone-else-who-contributed
    :
        min-damage
    : 50.0
        default
    :
          drop1
    :
            chance
    : 0.5
            command
    : "give %player% emerald 2"
            message
    : "&aThanks for contributing!"
     
----------, Jan 7, 2025

What's New?
  • Damage Threshold for "Everyone Reward":
    Players who deal damage above a configurable threshold (e.g., min-damage) can now receive rewards under the "everyone-else-who-contributed" section.
Key Features:
  • Customizable Threshold:
    Set a min-damage value in the configuration to ensure only significant contributors qualify for rewards.
  • Group-Specific Drops:
    Supports LuckPerms integration for group-based rewards (default, vip, etc.).
  • Improved Announcement Logic:
    Consolidated damage ranking announcements to prevent duplicates and ensure cleaner logs.
Example Configuration:
Code (YAML):
SkeletalKnight:
  everyone-else-who-contributed
:
   min-damage
: 50.0 # Minimum damage required to qualify for rewards
   default
:
     drop1
:
       command
: "give %player% emerald 1"
       chance
: 0.8
       message
: "&aThanks for contributing! Here's 1 emerald."
   vip
:
     drop1
:
       command
: "give %player% emerald 3"
       chance
: 1.0
       message
: "&bVIP Contributor! Here's 3 emeralds for your effort."
Why This Matters:
This addition ensures fairer rewards by recognizing players who genuinely contribute to the fight, while still providing flexible options for customizing loot based on group roles and damage dealt.
----------, Dec 29, 2024

New Features
  • Top-3 Reward System:
    • Mobs now have configurable top-3 reward structures. Players dealing the most damage to specific mobs (like SkeletalKnight) can receive unique rewards based on their ranking.
    • Each rank (First, Second, Third) is customizable for different player groups (e.g., default, vip).
  • Reward Diversity:
    • Custom commands and messages tied to rewards, allowing players to feel more rewarded based on their contribution.
    • Support for randomized rewards with configurable chances for added excitement.
Announcements
  • Mob Kill Announcements:
    • Added broadcast messages showing players who dealt the most damage to a defeated mob.
    • Configurable messages for top contributors and fallback messages when no players participated in the fight.
Bug Fixes
  • Fixed issues where some rewards weren't being processed correctly due to missing configurations.
  • Addressed problems where mobs with empty or missing ThreatTable caused errors in reward logic.
  • Ensured consistent reward distribution across all player groups and rankings.
Performance Improvements
  • Optimized logic for sorting and processing ThreatTable data for mobs with multiple attackers.
  • Enhanced debugging outputs to help track configuration issues and ensure smoother gameplay.
Customizability
  • Added YAML-based configuration files:
    • top3damage.yml: Configure mobs eligible for top-3 rewards and their specific reward structures.
    • announcement.yml: Manage global and mob-specific announcement settings, including customizable messages and headers.
----------, Dec 29, 2024

  • Global Limit: The max-announcements key sets a global limit on the number of players (5 by default).
  • Per-Mob Limits: For mobs like SkeletonKing and SkeletonLord, you can specify individual limits (e.g., 3 for SkeletonKing and 5 for SkeletonLord).

Code (YAML):
announce-on-death : true # Set to true to announce the most damage dealt to all MythicMobs on death

# One thing to know about placeholders this plugin supports both PlacheolderAPI and our own custom placeholders
# Here is a list of our custom placeholders:
# %BOSSNAME%, %position%, %player%, and %damage%
# %BOSSNAME% - The name of the mob
# %position% - The player's rank in the damage leaderboard
# %player% - The player's name
# %damage% - The damage dealt by the player
# This allows you to use PlaceholderAPI placeholders (e.g., %server_time%, %player_ping%) alongside your custom placeholders.

max-announcements
: 5 # Set a limit for the number of top players to announce (e.g., 3-5)

messages
: # Default messages for the most damage dealt to any mob, fully customizable with color codes
  header
: "&aLIST OF PLAYERS WHO HAVE INFLICTED THE MOST DAMAGE ON %BOSSNAME%:" # Use %BOSSNAME% to display the name of the mob
  entry
: "&e%position%. %player% - %damage% DAMAGE" # Use %position% to display the player's rank, %player% to display the player's name, and %damage% to display the damage dealt
  no-players
: "&cNo players contributed damage to the mob." # Message displayed when no player contributed damage to the mob

announce-specific-mob
: # In this section, specify which mobs you want to announce the most damage for, with optional dedicated messages
  SkeletonKing
:
    announce
: true # Set to true to announce the most damage dealt to this mob on death
    dedicated-message
: true   # Set to true to use a dedicated message for this mob
    max-announcements
: 3 # Limit the announcement to the top 3 players
    messages
: # If dedicated-message is set to true, specify a dedicated message for this mob here
      header
: "&6Players who fought the mighty %BOSSNAME%:" # Custom message just for SkeletonKing
      entry
: "&b%position%. %player% did %damage% DAMAGE to %BOSSNAME%!" # Custom format for SkeletonKing
      no-players
: "&cNo one dared to challenge the Skeleton King."

  SkeletonKnight
:
    announce
: false # Set to false to not announce the most damage dealt to this mob on death
    dedicated-message
: false # This section will be ignored because announce is false

  SkeletonLord
:
    announce
: true
    dedicated-message
: true   # Set to true to use a dedicated message for this mob
    max-announcements
: 5 # Custom limit for this mob
    messages
:
      header
: "&aLIST OF PLAYERS WHO HAVE INFLICTED THE MOST DAMAGE ON %BOSSNAME% at %server_time%:" # Custom %BOSSNAME% + PlaceholderAPI %server_time%
      entry
: "&e%position%. %player% - %damage% DAMAGE (Ping: %player_ping%)" # Custom placeholders + PlaceholderAPI %player_ping%
      no-players
: "&cNo players contributed damage to %BOSSNAME%."

  SkeletonWarrior
:
    announce
: false # Will not announce anything for SkeletonWarrior on death
    dedicated-message
: false # This section will be ignored

  Giant
:
    announce
: true # Use default message as dedicated-message is not set
    dedicated-message
: false   # No custom messages, use global messages
 
----------, Oct 6, 2024

Added Null Checks for Threat Holder in MythicMob Death Event
----------, Sep 29, 2024

Key Changes for version 2.6.1
!! Delete the old config of announcement.yml !!

Implemented Tab Completion for /mythicdrop Command
  • Added tab completion for the /mythicdrop command, suggesting reload when players press Tab.
  • Improves user experience by guiding players through available subcommands.
New Method: onTabComplete()
  • Implemented the onTabComplete() method to suggest the reload subcommand.
  • Filters suggestions based on what the player has typed so far.
    • Example: Typing /mythicdrop rel and pressing Tab suggests reload.
Enhanced Announcement Config (announcement.yml)
  • Mobs can now have individual announcement settings.
    • Added a new section announce-specific-mob that allows for per-mob announcements.
    • Allows admins to override global announcements (announce-on-death) for specific mobs. Mobs can now have individual announcement settings.
    • Example Config is now :
      Code (YAML):
      announce-on-death : true # Global setting to announce the most damage dealt on death

      messages
      : # Messages for the most damage dealt to a mob
        header
      : "&aLIST OF PLAYERS WHO HAVE INFLICTED THE MOST DAMAGE ON %BOSSNAME%:"
        entry
      : "&e%position%. %player% - %damage% DAMAGE"
        no-players
      : "&cNo players contributed damage to the mob."

      announce-specific-mob
      :
        SkeletonKing
      : true   # Announce for this mob
        SkeletonKnight
      : false   # No announcement for this mob
        Giant
      : true
       
----------, Sep 29, 2024

- Added announcement.yml ( which) so you can officially be set to true or false
and can also be edited to your own needs !
Code (YAML):
announce-on-death : true

messages
:
  header
: "&aLIST OF PLAYERS WHO HAVE INFLICTED THE MOST DAMAGE ON %BOSSNAME%:"
  entry
: "&e%position%. %player% - %damage% DAMAGE"
  no-players
: "&cNo players contributed damage to the mob."
 
- Added a debug.yml in case you have issues !
----------, Sep 28, 2024

- Added a Damage Processing feature on config
Code (YAML):
# Reward processing options
reward-processing
:
  most-damage
: true   # If true, the player who dealt the most damage will receive the reward
  # If false, the player who delivers the last hit will receive the reward
If set to true don't forget to add ThreatTable option on mythicmobs mob config as follows:
Code (YAML):
BigScaryBoss:
  Type
: zombie
  Display
: '&6Zombie'
  Health
: 20000
  Modules
:
    ThreatTable
: true
 
!!If You wish to use that version pls Either delete your old config OR just copy and paste the reward processing part of the config on top of the actual main config !!
- Added a Reload Command
----------, Sep 28, 2024

You can now configure drops based on luckperms groups!

!!DELETE YOUR OLD CONFIG IF YOU WISH TO USE V2.0!!

Updated Config:

Code (Java):
alienspider -black :
  drops :
    default :
      drop1 :
        command : "give %player% diamond 1"
        chance : 0.5
        message : "&b&lYou got a diamond" # Custom message supporting color codes
      drop2 :
        command : "give %player% iron_sword 1"
        chance : 0.3
        message : "&e&lYou got an iron sword" # Custom message supporting color codes
      drop3 :
        command : "money give %player% 100"
        chance : 0.2
        message : "&a&lYou got 100 money" # Custom message supporting color codes
    vip :
      drop1 :
        command : "give %player% diamond 2"
        chance : 0.6
        message : "&b&lVIP! You got 2 diamonds" # Increased rewards for VIP
      drop2 :
        command : "give %player% iron_sword 1"
        chance : 0.4
        message : "&e&lVIP! You got an iron sword" # Custom message for VIP
      drop3 :
        command : "money give %player% 200"
        chance : 0.3
        message : "&a&lVIP! You got 200 money" # Custom message for VIP

custom_zombie :
  drops :
    default :
      drop1 :
        command : "give %player% gold_ingot 1"
        chance : 0.3
        message : "&6&lYou got a gold ingot" # Custom message supporting color codes
      drop2 :
        command : "give %player% iron_sword 1"
        chance : 0.2
        message : "&7&lYou got an iron sword" # Custom message supporting color codes
      drop3 :
        command : "give %player% diamond_sword 1"
        chance : 0.1
        message : "&b&lYou got a diamond sword" # Custom message supporting color codes
    vip :
      drop1 :
        command : "give %player% gold_ingot 2"
        chance : 0.5
        message : "&6&lVIP! You got 2 gold ingots" # Better rewards for VIP
      drop2 :
        command : "give %player% diamond_sword 1"
        chance : 0.4
        message : "&b&lVIP! You got a diamond sword" # Custom message for VIP
      drop3 :
        command : "money give %player% 1000"
        chance : 0.2
        message : "&a&lVIP! You got 1000 money" # Custom message for VIP

another_custom_mob :
  drops :
    default :
      drop1 :
        command : "give %player% potion_of_regeneration 1"
        chance : 0.2
        message : "&d&lYou got a potion of regeneration" # Custom message supporting color codes
      drop2 :
        command : "money give %player% 500"
        chance : 0.4
        message : "&a&lYou got 500 money" # Custom message supporting color codes
    vip :
      drop1 :
        command : "give %player% potion_of_regeneration 2"
        chance : 0.3
        message : "&d&lVIP! You got 2 potions of regeneration" # Increased rewards for VIP
      drop2 :
        command : "money give %player% 1000"
        chance : 0.5
        message : "&a&lVIP! You got 1000 money" # Increased money for VIP
 
----------, Sep 11, 2024


Resource Information
Author:
----------
Total Downloads: 908
First Release: Apr 6, 2024
Last Update: Mar 3, 2025
Category: ---------------
All-Time Rating:
9 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings