Improvable Skills 3

Improvable Skills 3

4M Downloads

"Luck of the Sea" scroll overrides fishing drops somehow

EngineOfDarkness opened this issue ยท 5 comments

commented

I have not yet made the Skillbook and started fishing - I did not have "Luck of the Sea" and got normal fishing drops.

Got a "Luck of the Sea" Scroll and used it.

I am not sure if I got anything else after that except luck of the Sea (because I chalked it up to luck after getting it two more times directly after).

So when I started fishing again (after having gotten and used three Luck of the Sea Scrolls beforehand) all I now get is "Luck of the Sea" as drop - I probably had the scroll 10 times now - all in a row.

It seems that the skill is bugged in someway.

Edit: I used all the Scrolls I had and presumably reached max level in "Luck of the Sea" - now other items drop again (I suppose because once max level is reached, the scroll is removed from the loot pool?)

commented

i have same issue buddy

commented

I have the same issue, now I'm only catching more luck of the sea skill upgrades and nothing else ):

commented

Here are steps to demonstrate the bug:

  • Minecraft: 1.21.1
  • NeoForge: 21.1.133
  • Improvable Skills: 21.0.2
  • HammerLib: 21.0.14

Start a new game and give your character two fishing rods:

/give @p minecraft:fishing_rod
/give @p minecraft:fishing_rod[enchantments={levels:{"minecraft:luck_of_the_sea":1}}]
  1. Use the unenchanted fishing rod and notice the loot table works as expected.
  2. Switch to the enchanted fishing rod and notice that every cast will result in a Luck of the Sea skill page. Collect two skill pages, but don't activate them yet.
  3. Switch back to the unenchanted fishing rod and notice the loot table is still working as expected.
  4. Now active the two luck of the sea skill pages
  5. Now, using either fishing rod, notice that every cast results in Luck of the Sea skill page.
  6. Collect and active enough skill pages so that you max out the Luck of the Sea skill.
  7. Notice that the fishing loot table no longer returns the Luck of the Sea skill page.

A workaround for this issue is to set the following in the improvableskills.cfg config file:

B "Drop Scrolls After Unlock"=false

This way, once you've activated the skill you'll no longer receive a skill page on every cast.

commented

There is probably bug somewhere in the Code that determines dropchances of scrolls.

I'm not sure if this is some sort of weird mod interaction shenanigans, but I noticed that Skeletons keep dropping their Bow scrolls what feels like every time (or close to every time) - I didn't try to do any reproduction but I wonder if this has something to do with Looting enchantment (perhaps "Luck of the Sea" and "Looting" are implemented similarly in Minecraft?).

This leads to being extremely exploitable - while I'm not playing multiplayer, the workaround mentioned before by @WOPRLabs seems to be necessary to prevent XP exploits on servers:

  • Have something that gives you "Luck"
  • having a skill 1 point below their max level (which leads to scrolls dropping), e.g. for Sharp Arrow
  • amassing some scrolls for that skill (e,g, by killing Skeletons, who drop Sharp Arrow)
  • then use one scroll and reach max level
  • downgrade one level to get XP
  • rinse and repeat, easy xp

This very bug has been alluded to in #34 but it was probably not picked up / understood as such.

Case in point - I would not expected any "Looting" or other Enchantments that boost droprates to boost the droprates of scrolls by that much.

Perhaps additionally dividing the base dropchance by the current level (of the player who killed an entity) could somewhat alleviate the exploitable nature (in addition to fixing the Bug, if what I described is a bug).

E.g. something like

actualDropChance = baseDropChange / max(1, currentSkillLevel)

Edit: Well scratch that additional idea, it would probably just lead to people keeping one skill at 1 to "get" maximum dropchances, would probably have to keep track how often a scroll has been dropped for a player instead (and clamp it to the maxSkill level of said scroll, so you won't get an infinitesimally small dropchances)

commented

And you can decrease level of skill, then catch another scroll, then decrease level of skill again. With skill decreasing you gaining 225 exp each time, which effectively breaks balance