Currently, for server-sided mods it’s impossible to get this packet from clients unless the item has both bundle_contents item component and the item id is present in #bundles. This is an issue, because the #bundles tag is also used for recipes in vanilla game (changing bundle color recipe) and can possibly be used in recipes added by datapacks.
This basically forces a situation where non-bundle items are added to #bundles for the sole purpose of catching and acting on that packet on items other than default bundles. I believe that the check in BundleMouseActions should check for the existence of bundle_contents component instead of checking if item is tagged with #bundles. It simply doesn’t make much sense for the tag to be required for this behavior if the item already has the bundle_contents component and is expected to work as a bundle based on that. I believe this is an oversight.
Reproduction steps:
pick your favorite modding platform and listen to
ServerboundSelectBundleItemPacketon the server side.give player a non #bundles tagged item with bundle_contents item component
put some items into the item’s bundle contents
hover over the item and scroll
observe as no packet is being sent
Expected result:
Packet being sent regardless if the item is tagged with #bundles, as it already has bundle_contents component and should be assumed to act like a bundle
Actual result:
No packet is being sent since the item is not tagged with #bundles
Comments 2
Thank you for your report!
After consideration, the issue is being closed as Invalid.
This report does not describe a bug.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
The issue is in
net.minecraft.client.gui.BundleMouseActions::matchesand can easily be fixed by checking for thebundle_contentscomponent instead of thebundlestag.