GeyserMC / Geyser

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
https://geysermc.org
MIT License
4.75k stars 687 forks source link

Can't trade item that stack amounts exceeds vanilla limit since 3be9b8a update #5111

Open BUGTeas opened 3 weeks ago

BUGTeas commented 3 weeks ago

Describe the bug

In formerly version of Geyser, trading items that stack amounts exceeds vanilla limit (such as stacked potion and snowball over 16) will make some weird action, but at least I could trade it, just throw it and pick it up. but since 3be9b8a update, it is compeletely unavailable for trading. even with stacking plugins and custom mappings.

To Reproduce

  1. Summon a villager who sells stacked potions: /summon villager ~ ~1 ~ {VillagerData:{profession:farmer,level:1,type:plains},PersistenceRequired:1,Offers:{Recipes:[{buy:{id:emerald,Count:1},sell:{id:potion,Count:2},rewardExp:0b,maxUses:9999999}]}};
  2. Trade it with shift, touch screen and "trade" button haven't any react;
  3. Trade it with mouse saw the potion picked up and rebound in a flash;
  4. Add "PotionStacker" plugin and restart server (in fact, basically all stacking plugin can be used, just ensure the potion stacking enable in config);
  5. Has same problem;
  6. I think it‘s limited by bedrock client, so I try to make custom mappings to make it a non-vanilla items for client (look down);
  7. Re-summon a villager sells stacked potions with custom model data: /summon villager ~ ~1 ~ {VillagerData:{profession:farmer,level:1,type:plains},PersistenceRequired:1,Offers:{Recipes:[{buy:{id:emerald,Count:1},sell:{id:potion,Count:2,tag:{CustomModelData:6}},rewardExp:0b,maxUses:9999999}]}};
  8. Make a custom mappings JSON for Geyser: {"format_version":1,"items":{"minecraft:potion":[{"texture_size":26,"name":"map_a","custom_model_data":6}]}};
  9. Make RP for icons of mapped items;
  10. Restart server but still has same problem.

Expected behaviour

Allow to trade and fix action (such as make it into inventory directly after clicking without floating under cursor), or allow custom stack amounts for mapped items without vanilla limitations.

Screenshots / Videos

https://github.com/user-attachments/assets/309a835b-217e-4d52-8633-255b637b9291

Server Version and Plugins

This server is running Paper version git-Paper-497 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: d8d54d9 on ver/1.20.4) Server Plugins (3): Bukkit Plugins:

Geyser Dump

https://dump.geysermc.org/8KasC9ByEh6k3fQuyh20oprzpgYPPx90

Geyser Version

2.4.4-b699 (git-master-3f60db1)

Minecraft: Bedrock Edition Device/Version

1.20.81 - 1.21.41, both Android & Windows

Additional Context

No response