AbyssalFishing [1.16+] | 155 Fish, Sizes & Records, Minigame
1.5.0✅ Everything the paid one does. No license key, no "Pro" edition.
1.5.0latestAbyssalFishing 1.5.0 - Option to make the fishing minigame mandatory3 days ago Improved · Players who had already turned the minigame off get it back as soon as they lose the choice. Their saved setting is ignored, not erased, so it returns if you allow it again. · /fish help and tab completion no longer offer /fish minigame to players who cannot use it. · The minigame placeholder (%abyssalfishing_minigame%) now shows whether the minigame is really on for that player, not just their saved setting. New · minigame.player-toggle in config.yml. Set it to false and nobody can turn the fishing minigame off: the menu button is hidden and /fish minigame refuses. · Permission abyssalfishing.minigame.toggle (everyone has it by default). Take it away from a group to hide the button and the command only for them, e.g. keep it just for staff. Upgrading · Just replace the jar. player-toggle (true) and the new message are added to your config and language files automatically, so nothing changes until you set it to false.1.4.1AbyssalFishing 1.4.1- Selling pays real money again when the economy plugin loads after usSep 20, 2026 AbyssalFishing 1.4.1 - Selling pays real money again when the economy plugin loads after us Fixed · The economy could end up unhooked for the whole session and selling silently paid in entropy: AbyssalFishing now waits for the economy to register instead of asking once at startup. · tournaments.yml and migrations.yml shipped with a config line stranded inside the header comment, which printed a duplicate key warning in console on every boot. Upgrading · Just replace the jar. If you installed 1.4.0 from scratch you can delete tournaments.yml and migrations.yml to get the tidy comments back; your settings are read the same either way.1.4.0AbyssalFishing 1.4.0 - Daily selling limit, sane fish weights and a reachable level curveSep 19, 2026 AbyssalFishing 1.4.0 - Daily selling limit and saner default config Improved · With a limit set, the fish that crosses it is paid in full; after that the shop refuses politely, says when it resets and keeps the unsold fish. · Default config only (no plugin bug): the biggest fish now have realistic weights. The First Catch topped out at 290,000 kg; now about 14 t. · Default config only (no plugin bug): The First Catch sold for 250,000. It is now 40,000, in line with the other abyssal fish. · Default config only (no plugin bug): gentler level curve, level 50 in ~24 h and level 100 in ~110 h. Its comment also gave the wrong XP. New · shop.daily-limit - the most money a player can make selling fish per day (resets at midnight). 0 = no limit, the default. · The shop's sell button shows how much you have sold today against the limit. The counter survives relogs and restarts. Upgrading · Just replace the jar. daily-limit and its messages are added automatically. The default config changes only apply to new installs: existing servers keep their values.1.3.01.3.0 — Lava fishing: the Nether fish can finally be caughtSep 14, 2026 AbyssalFishing 1.3.0 Cast into the lava. Something down there bites. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Lava fishing Someone on Discord asked the obvious question: how does Nether fishing work, if the rod just sinks in lava? Honest answer: it didn't. Vanilla can only fish in water, and water evaporates in the Nether. That left 18 fish — including the only abyssal in the catalogue, the Heart of the Nether — impossible to catch in survival. Now the bobber floats on the lava: · Something bites after a while: sparks fly and a notice appears on the action bar — lava glows too much to rely on particles alone. · You get a short window to reel in. Too early, or too late, and it just waits again, like in water. · The catch then goes through exactly the same path as a water catch: rarity roll, minigame, baits, augments, records, tournaments. Lure shortens the wait here too. It sounds like lava, not like the sea Not one water sound while you fish in lava. Every moment has its own: · The bobber lands — a lava pop and the gloop of a strider stepping in. · Something bites — a pop and a burst of fire. · You pull it out — the thick scoop of a lava bucket and a hiss. · The fish is yours — it sizzles as it cools, together with its rarity sound. · It gets away — a fire going out. All of them are in lava-fishing.sounds in config.yml ( sound volume pitch, several per moment), and an empty list silences that moment. Per fish, in fish.yml Which fish come out of lava is a field on each fish: Code (YAML): crimson_nether_carp: biomes : [crimson_forest, nether_wastes, basalt_deltas ] fluid : lava # water (default) | lava | any The 18 Nether fish ship with fluid: lava. Anything without the field is a water fish, so nothing in your catalogue starts coming out of lava on its own. The Codex tells players too — "Fished in lava" — so nobody has to guess. Make it progression, if you want By default any rod can fish in lava: reaching the Nether is the challenge. If you would rather gate it, config.yml can require an augment on the rod or a bait loaded on it: Code (YAML): lava-fishing: enabled : true environments : [NETHER ] # NETHER, NORMAL, THE_END requires: augment : '' # an id from augments.yml bait : '' # an id from baits.yml wait-seconds : { min : 8, max : 30 } lure-seconds-per-level : 5 bite-window-seconds : 1.5 A rod that does not meet it sinks like in vanilla, and the player is told what is missing. If you type an id that does not exist, the console warns you and lava stays closed until it is fixed — better than opening it to everyone over a typo. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Fixed · Tournaments of the species-hunt type could pick a fish nobody could catch — a Nether fish, or one that only appears during an event that was not running. That was roughly 1 in 8 of those tournaments: a whole hour for the server where no one could score. They now only pick fish that can actually be caught. · Deliveries had the same problem for newer players, who could be asked for fish they had no way to get. Same fix. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. The lava-fishing section is added to your config.yml, and fluid: lava to the 18 Nether fish in your files, without touching anything you changed. One thing to check: if you moved one of the Nether fish to the overworld, or built water ponds in the Nether for them with commands, set that fish to fluid: water or fluid: any — otherwise it will now only bite in lava. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Thanks to the player who asked — sometimes the best bug report is a simple question. Discord: discord.gg/sBw99njvTU1.2.41.2.4 — Totems survive explosions, and lost ones no longer block the limitSep 13, 2026 AbyssalFishing 1.2.4 A totem that is gone no longer counts as placed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Fixed Reported on Discord: a creeper blew up a player's Scholar's lantern. The block was gone, but the plugin still had it on record, so when they bought a new one it said "You already have 1 Scholar's lantern placed" and would not let them put it down. The cause: a totem was only taken off the record when someone broke it with a pickaxe. Anything else that removed the block went unnoticed, and the lost totem kept counting towards the limit forever. It also kept giving its buff to anyone fishing next to the empty spot. Totems are now protected Only the owner can remove a totem, but until now that only held against pickaxes. These now leave totems alone, just as another player cannot break them: · Explosions — creepers, TNT, beds, respawn anchors, withers · Fire · Pistons · Mobs that change blocks — endermen, withers Lanterns and what holds them up A lantern falls when you take away the block it stands on or hangs from — and that went round every rule: anyone could mine the block underneath and destroy someone else's lantern totem, and the owner lost the item they paid for. · The supporting block is now protected like the totem itself — from explosions, and from players who are not the owner. · If the owner mines it, they get the totem back, the same as breaking the totem directly. Totems that already went missing Servers that already have "ghost" totems do not need to edit anything. When a player places a totem, the plugin first checks whether their earlier ones are still really there, and frees the slot for any that are not. A totem whose block is gone also stops giving its buff. This also covers what no event can catch — WorldEdit, /fill, other plugins. The console says when it frees one, and where. Also fixed on the way · Placing and breaking a totem were recorded before other plugins had their say. If a region protection cancelled the action afterwards, breaking gave you a copy of the totem while the block stayed put, and placing registered a totem that was never there. Both are now recorded only once the action has really happened. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. No config changes needed. Totems already placed keep working and are checked the next time their owner places one. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Thanks for the report and the screenshot — it pointed straight at the problem. Discord: discord.gg/sBw99njvTU1.2.31.2.3 — Precision cutting, Merchant and Bait master now actually workSep 12, 2026 AbyssalFishing 1.2.3 Three bonuses you could buy that were doing nothing. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Fixed A player on Discord tested Precision cutting VIII properly: caught a fish, handed an identical one to a friend with no augment, and both gutted it for exactly the same entropy. They were right, and pulling that thread turned up two more. · Precision cutting (gut on augments) — gutting added your skills and boosters, but never looked at the augments on your rod. · Bait master (bait-save on augments) — same thing: only the skill tree was counted when deciding whether to spend the bait. · Every money bonus — the worst of the three. The sell multiplier was being calculated and then never used: every sale in the plugin passed a flat ×1. That means the Merchant augment, the Market eye skill and the Market day booster have never raised a single price. To be clear about how long: I checked the jar from launch, 1.0.0 already had all three. This is not something a recent update broke. Also fixed on the way · The gutting table's preview did its own maths and ignored each fish's gut.entropy and gut.size-bonus, so it could show one number and pay another. The preview and the payout now share one calculation. · The gutting info showed only your skill bonus. It now shows the full bonus you will actually get. · The sell-all totals in the shop and in the bag now include your money bonus, so the number on the button is the number you are paid. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Which rod counts Gutting and selling happen in a menu, not on a catch, so there is a question of which rod's augments apply. The answer: the rod in your hand, main or off hand. Hold your Precision cutting rod when you gut, and your Merchant rod when you sell. The main hand wins: an off-hand rod only counts when your main hand is not holding one. Conditional augments ( requires: time / weather) are checked where you are standing. Bait master works on the catch itself, so it is simply the rod you are fishing with. A heads-up for server owners If your economy was balanced around these bonuses not existing, prices will go up after this update — by up to +50% during Market day, and more with Merchant and Market eye stacked. The values live in augments.yml, skills.yml and boosters.yml if you want to tune them down. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. No config changes needed. Augments already on rods start working as they are. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Huge thanks to the player who reported this with an actual controlled test — same fish, same size, one with the augment and one without. That is what made it easy to track down. Discord: discord.gg/sBw99njvTU1.2.21.2.2 — The Codex now tells you the depth and the moonSep 9, 2026 AbyssalFishing 1.2.2 Two conditions the Codex was keeping to itself. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Depth and moon phase in the Codex The Codex exists to answer one question: where do I go to find this thing? It was already listing biome, time, weather, level, bait and event — but not the two conditions a player cannot deduce by standing there and looking around. Fish that only bite at a certain height, or under a certain moon, now say so: Code (Text): » Where to find it - Biome: Lush caves, Dripstone caves - Depth: Y 40 or below - Moon: Full moon This was not a cosmetic gap. In the shipped catalogue 29 of the 155 fish carry one of these two conditions — 23 with a depth limit and 6 tied to a moon phase. The cave blindfish only bites below Y 40, and until now there was no way to learn that in game short of reading the config. Details · Depth reads as a range, a floor or a ceiling depending on what the fish actually defines — no half-empty Y 40 - lines. · Moon phases are shown by name, not by number: "Full moon", not 0. All eight are translated in the four languages. · A fish that lists all eight phases has no real restriction, so the line is left out instead of filling the lore. · Both lines show on undiscovered fish too — hints are the point of the Codex. Nothing to configure It reads the min-y, max-y and moon-phases your fish already have. Twelve new language keys are added to your lang/ files on start, and anything you have rewritten is kept. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Thanks to the player who asked whether they were just failing to find it. They were not — it genuinely was not there. Discord: discord.gg/sBw99njvTU1.2.11.2.1 — item_model support: Nexo, Oraxen and ItemsAdder friendlySep 6, 2026 AbyssalFishing 1.2.1 Point items at a model by name instead of by number. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ item-model Asked for by someone running Nexo, who does not use custom model data any more — and they are right that it is the direction everything is moving. Modern pack generators do not hand out custom_model_data numbers. Every item gets its own model id instead. Asking one of those servers to invent numbers for 155 fish means keeping two sets of books, and one of them will drift. So anywhere you can write model-data, you can now write item-model: Code (YAML): frost_marlin: display : '&9Frost marlin' material : COD item-model : 'nexo:frost_marlin' # instead of model-data: 1042 It sets the vanilla item_model component, so it is not tied to any one plugin: it works with Nexo, Oraxen, ItemsAdder or a resource pack you wrote by hand. A bare name is assumed to be minecraft:. Available on fish, baits, augments, skills and totems — every place that took model-data. Nothing changes if you do not use it model-data keeps working exactly as before, and the two can live side by side: use ids for the fish your pack generator owns and numbers for the rest. The component only exists from 1.21.4 onwards. On anything older the field is simply ignored, so one config file still serves the whole 1.16–26.2 range — the plugin reaches for the method by name and carries on if it is not there. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. No config changes needed. The new field is documented at the top of the files it applies to. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Requests like this one are welcome — it took an afternoon and it makes the plugin fit a whole category of server it did not fit before. Discord: discord.gg/sBw99njvTU1.2.01.2.0 — mcMMO integration: your Treasure Hunter drops were vanishingSep 5, 2026 AbyssalFishing 1.2.0 mcMMO integration. If you run both plugins, you have been losing treasure. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ mcMMO Somebody asked whether the two work together. Checking it properly turned up a bug that has been costing loot on every server running both. mcMMO hands you a Treasure Hunter drop by replacing the item you caught. AbyssalFishing takes that item away first — so mcMMO ends up building the treasure onto something that no longer exists. You never receive it, and mcMMO counts it as delivered. Silently, every time. Your Fishing XP was never affected: mcMMO awards that regardless, outside the code path that fails. Only the treasure item was lost. Now the treasure reaches you. AbyssalFishing reads it before it can be lost, hands it over directly, and returns the treasure XP as well — you end up with exactly what mcMMO intended, plus your fish. Both plugins pay out, nothing is doubled, nothing disappears. And the other direction Your mcMMO Fishing level now adds luck to the AbyssalFishing roll. Capped low on purpose: at the cap an abyssal fish goes from roughly 1 in 1666 catches to 1 in 1474. Enough to feel, not enough to trivialise the rarity a whole catalogue is built around. That is the half these integrations usually skip. Without it mcMMO gains from us and we gain nothing from mcMMO. All of it configurable A new mcmmo.yml, which does nothing at all unless mcMMO is installed: Code (YAML): treasure : give # give · cancel · ignore extra-xp: enabled : false # XP by rarity, ON TOP of what mcMMO already gives level-bonus: enabled : true luck-per-10-levels : 0.01 max : 0.15 · give — you keep the fish and the treasure. The default. · cancel — the treasure is dropped, you only get the fish. Pick this if both at once is too generous for your economy. · ignore — the old behaviour, treasure lost. There so you can compare. extra-xp ships off. mcMMO computes its XP from the vanilla material, so a 280 cm abyssal and a sardine both look like a plain COD and pay the same; turn this on if you want rarity to count for the skill too. It adds to mcMMO's award, it does not replace it. No dependency, no risk if you do not use it The jar contains no mcMMO classes at all — the hook is pure reflection, and without mcMMO nothing is even registered. If anything about mcMMO's API is not what it expects, the hook disables itself, says so in the console, and fishing carries on exactly as before. /fish info reports whether it attached and to which version. Tested on a live server by the person who asked for it. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Also fixed Both reported by BobbyTowers, and both older than they looked — I checked the 1.0.0 jar rather than guess, and they have been there since the first release. The tournament boss bar stayed on screen after the tournament ended. The bar was being emptied of viewers but the object was kept, so anyone joining afterwards was added straight back onto it and saw a frozen countdown for a tournament that had finished hours earlier. The bar is now released, not just emptied, and joining between two tournaments no longer puts you on one. Console spam. Two sources, both now quiet by default: · Every tournament announcement was repeated in the console — start, four countdowns, end and podium, for every tournament of the day. Players see all of it in chat already. log-to-console: true in tournaments.yml brings it back. · Migrations printed a line every world period, forever. log-changes: true in migrations.yml. Startup output is untouched: what loaded, how many fish, which storage, which integrations. One thing this does not silence: if your tournament rewards run commands, those commands print their own output. A line like Gave 3x Golden bait to Steve comes from the command, not from AbyssalFishing. Muting it would mean handing commands a fake console sender, and plugins that inspect who is running a command can break on that — a tidy log is not worth broken rewards. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ The tournament boss bar can now be turned off Asked for by someone who wanted the tournament on their scoreboard instead. show-bar: false in tournaments.yml hides it — and you lose nothing, because every piece of that bar already exists as a placeholder: Code (Text): %abyssalfishing_tournament_active% true / false %abyssalfishing_tournament_name% the tournament's display name %abyssalfishing_tournament_type% MOST_FISH, BIGGEST_FISH... %abyssalfishing_tournament_time% time left, as a clock %abyssalfishing_tournament_time_long% time left, spelled out %abyssalfishing_tournament_players% how many are taking part %abyssalfishing_tournament_position% the viewer's own position %abyssalfishing_tournament_score% the viewer's own score %abyssalfishing_tournament_next% time until the next one %abyssalfishing_tournament_first_name% the leader (also second_ / third_) %abyssalfishing_tournament_first_score% the leader's score Those were already there — the only thing missing was the switch to hide the bar, so you were not stuck showing the same thing twice. /fish placeholders prints the full list of 112 in game. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. mcmmo.yml appears, and two new options land in files you already have, already set to the quiet default. Everything you changed stays exactly as it was. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Bug reports and integration requests are welcome — this whole version came from two of them. Discord: discord.gg/sBw99njvTU1.1.01.1.0 — Bait station, bounty board and aquariumsSep 2, 2026 AbyssalFishing 1.1.0 Three new systems. No config changes needed — drop the jar in and restart. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Bait station Gutting a fish gave you loot, and that loot did nothing but sell. Now it leads somewhere: you fish, you gut, you craft the bait, you fish better. Place the station, right-click it, and you get a recipe list that shows what each bait needs and whether you have it, line by line. Left-click crafts one, shift-click crafts as many as you can. Recipes take three kinds of ingredient, and the last two are the interesting ones: Code (YAML): recipe: amount : 6 entropy : 400 ingredients : - 'PRISMARINE_SHARD:3' # a plain material - 'tier:uncommon:2' # two fish of that rarity, any species - 'fish:sardine:1' # or one specific species That is what finally gives a small fish a use. A 12 cm cod breaks no record, nobody bids on it and selling it gives you loose change — but as raw material it is worth exactly as much as the big one. And a plugin fish never counts as its vanilla material, so a recipe asking for a plain COD will not eat the 90 cm one you were keeping for the display case. There are no input slots on purpose: ingredients come out of your inventory when you click. A menu that holds nobody's items is a menu that cannot lose anybody's items. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Bounty board The auction house is the selling side: I have a fish, I put it up, someone may walk past. This is the buying side. Code (Text): /fish bounty post tier:legendary 150 25000 /fish bounty post salmon 0 500 /fish bounty post any 100 1000 Ask by species, by rarity, by minimum length, or any combination — "any legendary over 150 cm" is how people actually ask. If you are carrying a fish that fits, the bounty lights up and one click hands it in. The reward is held the moment the bounty is posted, not when it is claimed. Otherwise the poster could spend the money while a hunter spends half an hour looking for the fish, and that only has to happen once for nobody to trust the board again. A bounty that expires returns its reward through the mailbox — it is never lost. Hand-ins go through the mailbox too, so a bounty works whether the player who posted it is online or not. Which is the normal case: it has been up for days. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Aquariums A display case shows one fish, your best. An aquarium is the opposite: it holds several and takes turns showing them on the sign above it, and it trickles entropy. The income is configured per rarity, using the ids from tiers.yml: Code (YAML): income: minutes : 10 entropy-per-fish: common : 1.0 rare : 4.0 legendary : 16.0 abyssal : 30.0 species-bonus : 1.5 # extra per DIFFERENT species inside Per rarity because otherwise it would not matter what you put in, and every tank on the server would end up full of sardines. Rename a rarity in tiers.yml and you write it here the same way; a single flat number works too. Only an owner who is online gets paid. That is deliberate: this is an ornament that pays a little, not a passive farm that fills itself while nobody plays. Break an aquarium and you get the tank and every fish inside it back, sizes intact. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Also in this version · The bait station and the aquarium are sold in /fish shop next to the baits and totems, not just by command. If it costs entropy, the shop is where a player goes looking for it. · /fish info now prints the state of the rod you are holding — line and reel, how many lore lines the plugin owns, and what is actually on the item. It is there so a bug report takes one paste instead of three rounds of questions. · New commands: /fish baitstation, /fish aquarium, /fish bounty (with post and mine). All with Tab completion — bounty post completes species and tier: names. · New permissions: abyssalfishing.baitstation, .aquarium, .bounty, plus .break.other for the two new blocks. · All of it in the four languages, of course. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. Nothing to migrate. Two new files appear, bounties.yml and aquariums.yml, and baits.yml gains a station section with three ready-made recipes — everything you had already changed stays exactly as you left it, as always. Every new system ships enabled. If you would rather not have one, set enabled: false in its file. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ If you hit anything, the fastest way to reach me is Discord: discord.gg/sBw99njvTU
1.0.11.0.1 — The rod no longer shows its bars twiceSep 2, 2026 AbyssalFishing 1.0.1 Four fixes, no config changes. Drop the jar in and restart. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Fixed The rod stacked copies of its Line and Reel bars. Reported a few hours after release, and worth explaining because the cause is one worth knowing about. The rod carries three lore blocks written by three different parts of the plugin — condition, augments and bait. Each one used to wrap its own block in an invisible marker line: formatting codes and not a single letter. Before repainting, it would find its marker and clear what sat between the two. Since 1.20.5 lore travels as components, and a line that is nothing but formatting has no content to represent — so it comes back from getLore() empty. The marker was gone, the old block was never found, and every repaint stacked another one on top. One more copy per cast. There are no markers any more. The three blocks are always written at the end of the lore, and the rod stores how many lines they take up in its own NBT. Repainting means dropping those lines and writing them again. A number the plugin owns comes back exactly as it was left, which is the one thing the marker could never promise. · Rods that already show the duplicates repair themselves. The next repaint — a cast, an augment, a repair — sweeps out every stale copy, in any of the four languages. Nothing to throw away and nothing to run. · The three blocks are now rebuilt together, so putting on an augment can no longer leave the condition block out of step. A brand-new rod never picked up its line and reel at all. Every write to an item started by checking hasItemMeta() — and that is false on an item with nothing stored on it yet, which is exactly what a rod fresh off the crafting table is. So the write returned early and did nothing, silently. A rod only started working once it had picked up enough vanilla durability damage to have meta of its own, which is why the bars seemed to show up after three or four casts and sometimes not at all. Writes no longer ask whether an item already has meta. Fishing with the rod in your off hand now counts. Only the main hand was checked, so an off-hand rod took no wear and never showed its bars. The bars also reach the client immediately, instead of waiting for something else to make the inventory resync. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrading · Stop the server. · Replace the jar. · Start it again. Nothing else to do. No config changes, no new options, no permission changes, and nothing to reset. Your fish, records, levels, guilds and auctions are untouched — and the player-facing text did not change either, so any language file you edited stays exactly as you left it. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Thanks to everyone who tried it on day one and wrote in — every fix here came from that. If you hit anything, the fastest way to reach me is Discord: discord.gg/sBw99njvTU1.0.0Sep 2, 2026
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta