Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Changelog
Updated to support pack formats 88 -> 101 (MC 1.21.9 -> MC 26.1.2)
Rewrote most logic from scratch to mitigate more edge cases, remedy previous oversights, and improve general polish
Aquatic Mob Bucketing
Bucketing an aquatic mob with the infinite bucket now immediately pops the bucketed entity back out of the bucket at the player's position[1]
it plays a noise and gives the mob a bit of upwards momentum - I like it it's silly
General
- Pack reload message no longer prints to chat (now does this on first load only)
- Removed all other scenario/player specific automated messages / explanations
- Changed up the sfx for placing/using the infinite water bucket
- Added sfx for new interaction of bucketing aquatic mob
- Crafting recipe is now revealed upon picking up a water bucket for the first time
- Optimized certain branching logic by adding more termination gates
Fixes
- Added the custom enchantment to Minecraft's "curses" tag so it cannot be removed with a grindstone (whoops)
- Using an infinite bucket to refill a cauldron in one hand while holding an empty bucket in the other no longer causes both buckets to become infinite water buckets (bigger whoops)
- The system permitting the exploit detailed in previous version's patch notes no longer exists
[1] this mitigates prior system's jank and edge cases: previously looking at aquatic mobs would limit interaction range, but this could be trivially bypassed, the resulting failsafe was exploitable, it would send a message to the player's chat, etc. which is all crummy so now it is not like that - more immediately intuitive and self resolving
summary/reminder of current limitations
This should already by noted in the main description, but please note:
- The infinite water bucket can still be "broken" by dispensing it! (via dispenser)
- The infinite water bucket can still be used to craft an infinite water bucket! (wastes a nether star)
- Crafting the infinite water bucket still results in an empty bucket being given to the player! (personally upsetting)
- The infinite water bucket can still be traded away to the wandering trader!
(though that's still on you, honestly- consider it an exercise in managing free will)
I've got partial solutions to all of these, but nothing fully polished or comprehensive yet, though I hope to in the future :)
Thx for checking out my datapack!! -DRE
feel free to reach out with any issues/inquiries at: drecubed.contact@gmail.com
^seriously, I developed this version because someone emailed me asking about it (thx Bog!)
(it sometimes takes me a long time to reply (sry Bog! 😅) but I DO still like getting them lol)
Fun fact for knowledge enjoyers
Did you know that despite being stored as a series of strings in item component form, tropical fish variants are actually stored as an encoded four byte integer such that the nbt variant id is equal to the fish's pattern color · 2^24 + its body color · 2^16 + its pattern shape · 2^8 + its size where pattern color and body color are both equal to a value between 0 and 15 the pattern shape is equal to a value between 0 and 5 and the size is either 0 or 1 but is actually not its own value at all and is also encoded from the fish's pattern and must be derived from its particular pattern grouping and thus to summon a tropical fish identical to that of one stored within a bucket of tropical fish one must take the three string values and convert/encode them back into the specific integer ranging between 0 and 252642561 without knowing anything about its original value? I sure do now, and you do too! :)
this is actually a pretty fine and neat system (ignoring the somewhat frustrating nbt <-> item component discrepency (but that too makes sense timeline wise)) it just had me freaking out for a while lol


