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

Trading doesn't seem to be working in the end only for geyser users. #4092

Open SaumyaKhobragade opened 1 year ago

SaumyaKhobragade commented 1 year ago

Describe the bug

So, I have this custom datapack on my server "Stellarity" and it adds villages to the end dimension. If someone gives job to the villagers in end, they don't even seem to accept or do the trades. Here is a video to help you figure out. Also, my geyser and floodgate both are updated. https://cdn.discordapp.com/attachments/1020968958607753247/1146379015041585273/VID-20230830-WA0004.mp4

To Reproduce

  1. Install Stellarity on your java server.
  2. Go to the outer end and find an end village.
  3. Trade with a villager present in the village or give a normal villager a job and trade with it.
  4. The trade will not be executed, you will get the item back and the emeralds will be just glitched but you will get the ems back when you close the window.

Expected behaviour

It was expected that the trade happens as those villagers are just normal villagers the same as those in overworld. Trading is fine in overworld but glitches in end dimension. Also had to mention that they just modify a few normal villager trades to give you the custom items tho for the normal items, it still doesn't work.

Screenshots / Videos

https://github.com/GeyserMC/Geyser/assets/78600365/e8974f7a-ed9d-4c89-8115-5b2a54b6a6db

Server Version and Plugins

Server Version image

Plugins image

Geyser Version image

Server Logs https://mclo.gs/Mm8Ak8U

Geyser Dump

https://dump.geysermc.org/Yh0VVevwIwSDp6GxkdeR0TW7bhxXXwPv

Geyser Version

2.2.0-SNAPSHOT (git-master-d4ae428) (Java: 1.20, Bedrock: 1.20.0 - 1.20.10)

Minecraft: Bedrock Edition Device/Version

Minecraft Version: 1.20.10 Device: Android Phone (Vivo)

Additional Context

No response

Kas-tle commented 8 months ago

Still happening as of 1.20.71. Can be reproduced with:

  1. Spawn villager via: /summon villager ~ ~ ~ {Willing:1b,VillagerData:{level:99,profession:"minecraft:armorer",type:"minecraft:desert"},Offers:{Recipes:[{rewardExp:0b,buy:{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:{Id:[I;-967193132,-466204297,-1498950319,-1900097605],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWFlMzg1NWY5NTJjZDRhMDNjMTQ4YTk0NmUzZjgxMmE1OTU1YWQzNWNiY2I1MjYyN2VhNGFjZDQ3ZDMwODEifX19"}]}}}},sell:{id:"minecraft:emerald",Count:1b}}]}}
  2. Give skull for trade via: /give @p minecraft:player_head{display:{Name:'{"text":"Skull"}'},SkullOwner:{Id:[I;-967193132,-466204297,-1498950319,-1900097605],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWFlMzg1NWY5NTJjZDRhMDNjMTQ4YTk0NmUzZjgxMmE1OTU1YWQzNWNiY2I1MjYyN2VhNGFjZDQ3ZDMwODEifX19"}]}}} 1
  3. Attempt trade on bedrock and Java
  4. Observe that on java trade completes and the player gets an emerald, while on Bedrock the trade success sound is played, but the trade is rejected and the player does not get the emerald.