Do you want to spice up your server's fishing experience? Then look no further: the all encompassing fishing plugin "EvenMoreFish" has arrived! Originally based off elsiff's "MoreFish" plugin, it's a feature rich plugin that aims to provide a unique experience to fishing, adding competitions, a fish shop, a journal, baits, and many, many more custom fish.
As a server admin, you're given a huge range of options to customise the fish for your server. No matter what type of fish you want to add to your server, it's possible with EvenMoreFish, with many options for customisation with more to come.
Out of the box you are given a set of over 70 fish for players to catch, it's possible to set where players can catch fish, if they should only be able to catch fish during competitions and who can catch fish.

- Its item, with most settings configurable
- Fish length
- Biome-specific or region-specific fish (WorldGuard / RedProtect)
- Send the player a message
- Give the player a potion effect
- Reward the player when caught, eaten, or sold
- And more
Competitions can either be started by an admin, or started as part of a schedule defined in their config files, each different scheduled competition can run for however long you like and once the timer runs out, the players on the leaderboard will win rewards of your choosing.
As of v2.0.0, there are 8 competition types! That's:
- Whoever catches the largest fish
- Whoever catches the most fish
- The first player to catch a specific rarity
- The first player to catch a specific fish
- Whoever catches the largest total length of all the fish they catch
- Whoever catches the smallest fish
- Whoever catches the least fish
- A type that chooses randomly from one of the above
- This variety in competition types means there's something for everyone, and the game doesn't become boring over time.
A bossbar with its own configurable colour shows the time remaining to all online players, and can be changed for each different competition you have set. In addition, as shown below, you can set different colours for different positions in the leaderboard - to make it as colourful as you like.

A way for your players to trade their fish in for money - the prices for fish can be modified to your liking. There's also item security in place that drops them at the player's feet in the event of them closing the inventory or a server shutdown.
)
The plugin also has baits, which boost the chance of catching fish - you can define which fish or rarities get affected and how likely they are to get affected in their config files. These can be obtained either by fishing or by running the command /emf admin bait

The plugin has placeholders for you to create holograms etc to display current competition standings using PlaceholderAPI. These can be found on our wiki.

There's just one permission for the admin commands (like /emf admin reload, /emf admin competition) which is emf.admin and 3 permissions for /emf shop, /emf top and /emf toggle - emf.shop, emf.top and emf.toggle, and finally one that isn't required but if requires-fishing-permission is set to true in your config.yml, your users will need emf.use_rod.
The latest dev build can be found on the the jenkins build server.
Java 21 is required to be able to run this plugin.
This plugin has been tested on the latest Paper version and may have minor bugs on any other versions. Please report any critical bugs via private support ticket on the Discord server (linked on the right side of the page)
There is no longer a link to donate as the project is no longer run by me, but thank you very much to those who did donate whilst I was developing the plugin:
- MCVerse - mcverse.city (£30.00),
- Wupin - (£26.07),
- aze - mc.io.community - (£25.00),
- Myiume - mc.gamesofeducation.com - (£15.00),
- VinlandWolf - play.easthaven.me - (£12.14),
- Xiaoguard - play.dunmoore.net - (£10.49),
- Woodiie - play.townysdelight.net - (£10.35),
- SteeltonMC - play.steeltonmc.com - (£10.00)
- Nashlor - play.skysword.fr - (£8.28) and finally,
- Starnos - mc.lululand.de - (£4.14).
Logo by flaticon
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 |
- Added support for ExcellentEconomy.
- Fixed errors when selling fish with the database enabled.
- Fixed start message variables in specific fish/rarity competitions.
## Internal Changes
- Resolved Gradle deprecations.
- Dropped support for Minecraft 1.20.x.
- Added support for Minecraft 26.3.
- Fixed an issue causing some information to be left out of bait lore.
- Fish skulls no longer randomize their textures when broken.
- The
random-fishcommand no longer throws errors without a target player.
## API Changes
- PotionEffectSerializer now uses the MOB_EFFECT registry.
## Internal Changes
- MessageLib has been replaced with DaisyLib.
- DependencyManager's Vault hooks have been replaced with DaisyLib's VaultWrapper.
- FishUtils now uses modern registries for enchantments and biomes.
- All commands are now in the plugin module.
- Rewritten most Competition code in preparation for API.
- ItemFactory's "base item" is now reassigned when creating a copy.
## Plugin Changes
- Fixed an occasional dupe in SkullSaver caused by plugin conflicts.
- The duped skull was not able to be sold.
- Per-player catch limits can now be applied to fish and/or rarities.
- Added
track-in-databaseconfig for fish. - Added
/emf admin database resetto clear all saved data.
- Fixed an error thrown when an invalid reward is configured.
- Lengthless fish are no longer tracked in largest/smallest total competitions.
- (1.21.11) Fixed an error when clearing baits from a rod.
- Baits can now be applied to custom rods.
- You can now configure a range in the
set-worthconfig. - Example:
set-worth: 50-60 - You can now pass "none" to the
active-competitionrequirement.
## API Changes
- Added
IFish#isLengthless. - Added
ItemAddon#convertToString. ItemSerializer#serializeis now usable.
- Fixed various NBT errors.
- Fish rewards are now supported at the rarity level.
- Like usual, if rewards are configured for a specific fish, those will be used instead.
- (1.21+) The admin help message is now shown when no arguments are provided.
- Added
displayto the default Vault economy config. - The vault display config now supports
{raw-amount}. - This value is rounded based on the economy provider's settings.
- Gradients can now be used in a rarity's
formatconfig.
## API Changes
- Added
AbstractItemFactory. - This exposes the
get/setRandomIndexandcreateItemmethods for use in API. - Added
AbstractFishManager#setFishNbtto allow applying fish NBT to any item. - Deprecated
IFish#getNamein favor ofIFish#getId. - Added
SortableandSortTypefrom internals. - Added
IFish#getDisplayNameandIRarity#getDisplayName. - Deprecated
Reward#rewardPlayerin favor of#give. - Deprecated
Requirement#meetsRequirementsin favor of#check. - Added
RequirementContext#playerfactory.
## Internal Changes
- Replaced all uses of Fish and Rarity with their API alternatives.
- Cleaned up fish rewards.
- All version modules now use the
org.evenmorefishpackage. - RequirementContext now stores World Keys and Player UUIDs instead of their objects.
- Catch limits can now be applied to fish and/or rarities.
- Fixed fish NBT being applied to raw items.
- Fallback items can now be applied for GUI page buttons.
- Fixed a typo that broke the
nearby-playersrequirement. - The "world" requirement now accepts world keys.
## API Changes
- Added ItemSerializer.
- This allows you to easily serialize an Item Addon, Material, or both from a String.
## Internal Changes
- Replaced NBT-API with NMS for all versions except for 1.20.
- Removed
NBTVersionandNBTUtilsin favor of abstractNBTHolder. - The 1.21 support module has been split into two.
- 1.21.1 to 1.21.4
- 1.21.5 to 1.21.11
- ItemFactory now accepts a custom path for configs, to override the default "item".
- EMFTimer is now based on the GlobalRegionScheduler instead of a Timer.
- guis.yml has been split into multiple files to match the other configs.
- Added
/emf admin random-fishto give somebody a random fish. - Improved performance when using the database. (froquefy)
- Fixed the default dimension fishing permission.
- The fish sale message now counts the stack of each item.
- If you have 3 fish in one slot, it now says you have caught 3 instead of 1.
- Invalid time codes in a competition config now warn instead of throwing errors.
- Fixed update checker failing to read the plugin version. (YoshiroMaximus)
- Disabled Dimension Fishing on Folia servers.
- It was never written for Folia. This will be looked into, but may not be doable.
## API Changes
- Added fish sale API.
- Added weight boosting API. (MarcusSlover)
- See the [wiki](https://evenmorefish.github.io/EvenMoreFish/docs/developers/rarity-boosts) for more information.
## Internal Changes
- Rewritten all sale code and moved to the API module.
- All old code has been deprecated and will be removed in the future.
- Added an AFK Fishing system.
- This is disabled by default and can be enabled in
exploits.afk-fishingin config.yml. - This is mutually exclusive with mcMMO overfishing. If Overfishing is enabled, this will not function.
- Fixed a broadcast error when the fish's item is air.
- Single-winner competition entries are now saved to database.
- Dimension Fishing:
- Fixed a broken check for the type of fishing.
- Removed the fish hook glow left over from testing.
- Added support for requirements.
## API Changes
- Added API classes to replace some internal FishUtils methods.
- Added SoundSerializer.
- Added PotionEffectSerializer.
- Added BossBarOverlaySerializer.
## Internal Changes
- Marked FishUtils as internal.
- Deprecated a lot of FishUtils methods.
FishUtils#getEnumValuenow checks if the class is an enum.
- Fixed error when loading the plugin for the first time.
- The plugin no longer requires separate jar files for each supported version.
- Added the ability to fish in the lava and void.
- This is disabled by default.
- Because this is a new feature, you may encounter some bugs.
- For more information, see the [wiki](https://evenmorefish.github.io/EvenMoreFish/docs/features/dimensionfishing/setup).
## Plugin Changes
- Added
/emf toggle catchMessageto disable all "fish caught" messages for that player. - Added more permissions for the toggle command.
emf.toggle.fishingemf.toggle.bossbaremf.toggle.catchmessage- The base
emf.togglepermission allows all three. - Added "no permission" messages to all three toggles.
- Competition start sounds now support the same format as the reward type.
sound,volume,pitch- The addons folder is now removed on shutdown.
- Fixed mcmmo overfishing check with older mcmmo versions.
- Added ActiveCompetitionRequirementType to lock fish behind specific competitions.
## Internal Changes
- All version-dependent code is now loaded at runtime to avoid needing to distribute multiple jars.
## Plugin Changes
- Added support for 26.2.
- Added a warning for 1.20.x users about the message shown above.
- The warning message when generating fish size is no longer shown.
- PlaceholderAPI placeholders are now parsed in GUI titles.
- They should now be parsed in all messages.yml messages.
- A target can now be chosen in the sellall command.
- This requires the admin permission.
## Plugin Changes
- Added support for 26.2.
- Added a warning for 1.20.x users about the message shown above.
- The warning message when generating fish size is no longer shown.
- PlaceholderAPI placeholders are now parsed in GUI titles.
- They should now be parsed in all messages.yml messages.
- A target can now be chosen in the sellall command.
- This requires the admin permission.
## Plugin Changes
- Added support for 26.2.
- Added a warning for 1.20.x users about the message shown above.
- The warning message when generating fish size is no longer shown.
- PlaceholderAPI placeholders are now parsed in GUI titles.
- They should now be parsed in all messages.yml messages.
- A target can now be chosen in the sellall command.
- This requires the admin permission.
## Plugin Changes
- Added support for 26.2.
- Added a warning for 1.20.x users about the message shown above.
- The warning message when generating fish size is no longer shown.
- PlaceholderAPI placeholders are now parsed in GUI titles.
- They should now be parsed in all messages.yml messages.
- A target can now be chosen in the sellall command.
- This requires the admin permission.
- Added
max-stack-sizeitem config. - Fixed some potential bugs when resuming competitions.
- Placeholders can now be used to configure fish and rarity size for finer control.
## API Changes
- Added FishingType enum in preparation for the DimensionFishing addon.
- This can be used to construct custom Processors, which aren't a part of the API yet.
- Added
RequirementContext#emptyto construct with all null values.
## Internal Changes
- RequirementContext is now resolved as early as possible.
- Added
max-stack-sizeitem config. - Fixed some potential bugs when resuming competitions.
- Placeholders can now be used to configure fish and rarity size for finer control.
## API Changes
- Added FishingType enum in preparation for the DimensionFishing addon.
- This can be used to construct custom Processors, which aren't a part of the API yet.
- Added
RequirementContext#emptyto construct with all null values.
## Internal Changes
- RequirementContext is now resolved as early as possible.
- Added
max-stack-sizeitem config. - Fixed some potential bugs when resuming competitions.
- Placeholders can now be used to configure fish and rarity size for finer control.
## API Changes
- Added FishingType enum in preparation for the DimensionFishing addon.
- This can be used to construct custom Processors, which aren't a part of the API yet.
- Added
RequirementContext#emptyto construct with all null values.
## Internal Changes
- RequirementContext is now resolved as early as possible.
- Baits now support recipes.
- Bait configs now support
catch-event. - Added more placeholders for database data.
- All placeholders can be found on the [wiki](https://evenmorefish.github.io/EvenMoreFish/docs/configuration/Placeholders).
- Fixed various issues related to the database.
- Resolved a deprecation within mcMMO.
- You will need to update to mcMMO 2.2.050 or newer.
## API Changes
- The fish reward methods in
IFishhave been deprecated. - They were replaced with catch reward.
- Baits now support recipes.
- Bait configs now support
catch-event. - Added more placeholders for database data.
- All placeholders can be found on the [wiki](https://evenmorefish.github.io/EvenMoreFish/docs/configuration/Placeholders).
- Fixed various issues related to the database.
- Resolved a deprecation within mcMMO.
- You will need to update to mcMMO 2.2.050 or newer.
## API Changes
- The fish reward methods in
IFishhave been deprecated. - They were replaced with catch reward.
- Baits now support recipes.
- Bait configs now support
catch-event. - Added more placeholders for database data.
- All placeholders can be found on the [wiki](https://evenmorefish.github.io/EvenMoreFish/docs/configuration/Placeholders).
- Fixed various issues related to the database.
- Resolved a deprecation within mcMMO.
- You will need to update to mcMMO 2.2.050 or newer.
## API Changes
- The fish reward methods in
IFishhave been deprecated. - They were replaced with catch reward.
- Fixed error when catching a fish with no custom lore.
- Scheduled competitions are now held back if one is already active.
- If held back, it will start immediately after the active one ends.
- This behavior can be disabled in config.yml.
- Fixed purchasing a bait when economy types are not specified.
- Bait configs now support the
silentsetting to hide the catch message.
- Fixed error when catching a fish with no custom lore.
- Scheduled competitions are now held back if one is already active.
- If held back, it will start immediately after the active one ends.
- This behavior can be disabled in config.yml.
- Fixed purchasing a bait when economy types are not specified.
- Bait configs now support the
silentsetting to hide the catch message.
- Fixed error when catching a fish with no custom lore.
- Scheduled competitions are now held back if one is already active.
- If held back, it will start immediately after the active one ends.
- This behavior can be disabled in config.yml.
- Fixed purchasing a bait when economy types are not specified.
- Bait configs now support the
silentsetting to hide the catch message.
- Fixed %emf_competition_time_left% when there are no scheduled competitions.
- Removed
/emf admin bait debug. - Added
/emf admin debug. - Reverted the item addon changes introduced in 2.3.1.
- Added new configs to define item addon behavior.
- These are located under
items.addonsin config.yml. - The plugin's placeholders now work with offline players.
- There are two exceptions due to them being stored on the player:
custom_fishing_booleancustom_fishing_status- Added a new GUI sort type: index.
- This will allow more fine control over the order things are displayed in.
- Added
sort-indexto fish, rarity, and bait configs to work with this new type. - Fixed incorrect fish lore when custom lore is configured.
## Internal Changes
ItemConfig's override system has been replaced with transformer.- Transformer allows the configured value to optionally be manipulated instead of replaced.
LoreItemConfignow usesList<Component>instead ofList<String>.- Renamed
Fish#getFishLoretoFish#buildFishLore.
## Translations
- All new messages have been translated into Korean. (minejango2)
- Fixed %emf_competition_time_left% when there are no scheduled competitions.
- Removed
/emf admin bait debug. - Added
/emf admin debug. - Reverted the item addon changes introduced in 2.3.1.
- Added new configs to define item addon behavior.
- These are located under
items.addonsin config.yml. - The plugin's placeholders now work with offline players.
- There are two exceptions due to them being stored on the player:
custom_fishing_booleancustom_fishing_status- Added a new GUI sort type: index.
- This will allow more fine control over the order things are displayed in.
- Added
sort-indexto fish, rarity, and bait configs to work with this new type. - Fixed incorrect fish lore when custom lore is configured.
## Internal Changes
ItemConfig's override system has been replaced with transformer.- Transformer allows the configured value to optionally be manipulated instead of replaced.
LoreItemConfignow usesList<Component>instead ofList<String>.- Renamed
Fish#getFishLoretoFish#buildFishLore.
## Translations
- All new messages have been translated into Korean. (minejango2)
- Fixed %emf_competition_time_left% when there are no scheduled competitions.
- Removed
/emf admin bait debug. - Added
/emf admin debug. - Reverted the item addon changes introduced in 2.3.1.
- Added new configs to define item addon behavior.
- These are located under
items.addonsin config.yml. - The plugin's placeholders now work with offline players.
- There are two exceptions due to them being stored on the player:
custom_fishing_booleancustom_fishing_status- Added a new GUI sort type: index.
- This will allow more fine control over the order things are displayed in.
- Added
sort-indexto fish, rarity, and bait configs to work with this new type. - Fixed incorrect fish lore when custom lore is configured.
## Internal Changes
ItemConfig's override system has been replaced with transformer.- Transformer allows the configured value to optionally be manipulated instead of replaced.
LoreItemConfignow usesList<Component>instead ofList<String>.- Renamed
Fish#getFishLoretoFish#buildFishLore.
## Translations
- All new messages have been translated into Korean. (minejango2)
- Fixed new fish being unable to be sold.
- Added interval-based competition backups.
- Disabled by default, useful for resuming after crashes.
- Fixed new fish being unable to be sold.
- Added interval-based competition backups.
- Disabled by default, useful for resuming after crashes.
- Fixed new fish being unable to be sold.
- Added interval-based competition backups.
- Disabled by default, useful for resuming after crashes.
- Added
set-worthto rarity configs. - Added an easier way to set an exact size.
- Example:
size: 100 - Help Messages:
- Now only show if you have permission to use their command.
- Now correctly display the custom name for the admin command.
- The admin database command is now shown.
- Competition rewards will now be cached for offline players and awarded upon rejoin.
- Rewards will be forgotten about if the server is restarted.
- Fixed an issue with database timestamps.
- The
prevent-craftingconfig now also affects crafter blocks. - Custom Vault economy messages are now formatted correctly.
- Items using item addons now disable the
displaynameandloreconfigs. - It was previously being overwritten.
- Allowed separate display names for fish and fish items.
## API Changes
- Added size methods to
IFish. - Added
IFish#getSetSizeandIRarity#getSetSize.
## Internal Changes
- Renamed
HelpMessageBuildertoHelpMessageand renamed methods.