Minecraft Fishing Plugin LiteFish wiki
Before buying, you can test this plugin on your server. To do this, visit the plugin's discord (https://discord.gg/PgDfrQx22f), there you will find a free version for testing with accompanying documentation
This plugin allows you to set custom loot for each biome. It also allows you to diversify fishing with a new mini-game.
New Fishing System
You can disable this mini-game in the config, leaving vanilla fishing, just setting custom loot for each biome category and its drop rate!
You can only add a mini game to your server. (Tested with PyroFishPro)
Also, at the end of fishing, there is a chance to move to the next level of rarity. A total of 5 rarity levels have been implemented. All parameters, including custom loot, drop chance and rarity increase chance are configured in the GUI.
The GUI allows you to create categories where you can add a list of vanilla minecraft biomes to specify what loot will drop in these biomes

You can add items directly from the inventory, adjust their drop rate, health and experience


Fishing Catalog

Players will now be interested in fishing because now everyone has their own personal fish catalog. It records all the fish caught, the maximum and minimum weight that the player caught, as well as additional information about the studied fish.






You can create customized bait with given characteristics. You can attach 10 baits to the fishing rod at the same time (changes in the config). At the beginning of fishing, one bait is spent and its effect is applied. To attach it to a fishing rod, click LMB on the fishing rod while selecting the bait. To remove the bait, right-click on the fishing rod with an empty cursor.



When you start fishing, the bait will activate and decrease



Allows you to customize both vanilla and custom enchantments. Enchantments can stack


Allows you to create a group of items that can appear in a box with a certain chance for each item


Allows you to set the chance at which a monster will eat prey in a given biome category
Custom fish/weight
You can add custom random magnitude values ​​to rare drops.
You can individually set the range for each drop. 
Chances are increased at lower values. Accordingly, values ​​close to maxValue will be extremely rare.

Also if you click on the RMB frame (even being in someone else's private). Additional information about the caught fish will be displayed for 3 seconds
In the LiteFish.json file, you can set a dynamic chance based on data from various plugins using the PlaceholderAPI.
"expressions": {
    "chanceRare": "10 + 15 * (%ecoskills_fishing% / 50)",
    "chanceEpic": "10 + 10 * (%ecoskills_fishing% / 50)",
    "chanceLegendary": "10 + 10 * (%ecoskills_fishing% / 50)",
    "chanceImmortal": "10 - 5 * (%ecoskills_fishing% / 50)"
"chanceMonster": "50 - 25 * (%ecoskills_fishing% / 50)"
(lvl0=50%, lvl50=0%)
Catch entity
The plugin allows you to enable catch of any entity, along with NBT data
Enable in config "dropEntityFromEgg": true
Give yourself a summon egg with the right NBT tags and just move it to the GUI
/give @p cat_spawn_egg{HandDropChances:[2F,2F],HandItems:[{id:"minecraft:diamond",Count:64},{}]}}
You can disable this feature if you want the eggs to drop as an item.
The plugin supports its own scripts that allow you to add interactive fishing.
Example: a player is hooked on a very rare drop that contains a script:
 "script": [
            "before:effect DARKNESS 10 1",
            "before:effect SLOW 10 5",
            "before:playsound ENTITY_EVOKER_PREPARE_ATTACK 1 0.5",
            "before:msg\u003d{#830FBD}A monster rises from the depths",
            "hit:particle BOBBER GLOW_SQUID_INK",
            "hit:playsound ENTITY_EVOKER_AMBIENT 1 0.01",
            "hit:playsound ENTITY_LIGHTNING_BOLT_THUNDER 1 1",
            "miss:effect WITHER 5 3",
            "miss:playsound ENTITY_EVOKER_HURT 1 0.01"  ]

Here is the behavior of this script in the game:
You can add your own database, where all the items caught by the players will be logged. To do this, look at the mysql.json file. The database structure looks simple to use. If you are the owner of a server where thousands of players are fishing at the same time, then let me know and I will add a normalized table for your needs with batch requests!
id uuid date item_type item_custom_name item_weight item_count
int varchar timestamp varchar varchar float int
It is not necessary to create a table, it is created automatically if it does not exist.
item_custom_name is needed to differentiate the type of fish if you are using CutomFish and similar plugins
WorldGuard support
You can now add regions to categories from the WorldGuard plugin.
(For example, you can make a fountain at the spawn, from where coins will be caught)