Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-151282

Villager trade GUI doesn't show the correct price on servers if trade demand is high

    • Icon: Bug Bug
    • Resolution: Fixed
    • Minecraft 1.14.1 Pre-Release 1, Minecraft 1.14.1 Pre-Release 2, Minecraft 1.14.2, Minecraft 1.14.3 Pre-Release 3
    • None
    • Confirmed
    • Survival
    • Trading, UI
    • Important

      To reproduce

      1. Start a server (or use a LAN world and follow the following steps with a second account)
      2. Join the server
      3. Spawn a villager zombie
      4. Cure it
      5. Give it a profession
      6. Trade with it until it is completely locked
      7. Let it restock
      8. The prices should now be slightly increased
        When trading with the villager, it will take more items from you than displayed in the GUI

      Original description

      I had a one emerald villager now he still shows that trade but glitches out when i try to trade with him. I was able to get ~6 books out of him and after that i can grab the book out of the menu and then it disappears. Soon after I leave the GUI my emerald/book comes back in my inventory. Same with the same villager's paper trade. Some times he takes my paper, sometimes they just come back to my inv. after i leave gui. 

      I think the GUI is just Not updating correctly to what trade the villager has available.

      UPDATE: I found that the villager actually knows how much emerald it wants for each item. when i put 19 paper in like the GUI suggested, the emerald shows up on the right, but it disappears if you try to grab it. However if I put around 40 paper in, he will actually give you the emerald. Same with the mending book situation, where he actually wants 2 emerald instead of the 1 listed on GUI.

        1. 2019-05-09_00.53.21.png
          2019-05-09_00.53.21.png
          122 kB
        2. 2019-05-09_00.53.23.png
          2019-05-09_00.53.23.png
          125 kB
        3. 2019-05-09_00.53.30.png
          2019-05-09_00.53.30.png
          121 kB
        4. 2019-05-09_00.53.37.png
          2019-05-09_00.53.37.png
          126 kB

          [MC-151282] Villager trade GUI doesn't show the correct price on servers if trade demand is high

          @slicedlime, easiest repro is to use this on server and trade as non-host:

          /data modify entity @e[type=minecraft:villager,limit=1,distance=..5] Offers.Recipes[0].demand set value 20

          Thank you for taking care of those bugs.

          [Helper] Michał added a comment - @slicedlime, easiest repro is to use this on server and trade as non-host: /data modify entity @e [type=minecraft:villager,limit=1,distance=..5] Offers.Recipes [0] .demand set value 20 Thank you for taking care of those bugs.

          Never mind, got a repro.

          [Mojang] slicedlime added a comment - Never mind, got a repro.

          Is this still an issue on 1.14.4-pre3 or later?

          [Mojang] slicedlime added a comment - Is this still an issue on 1.14.4-pre3 or later?

          1.14.3 affected as Laurens mentioned.

          [Helper] Michał added a comment - 1.14.3 affected as Laurens mentioned.

          Laurens added a comment -

          I (think I) see this too on the lastest available verson at the time of my comment ( 1.14.3). We have no dedi-server, but a player who is acting as server, started as single, opened to lan. When I join as a second player, I see wrong/default prices, but need to pay the prices that the 1st / 'server' player sees.

          These are all 'normal' villagers, no cured zombies. (Well, we abducted 2 villagers and started a new village far, far away, and all the villagers are offspring of these 2 orginal ones.) We have very frequently traded with the villagers we observe the problem with, before we realized that something was, indeed, wrong. (not extensively tested with other villagers). Savegame can be provided if that is helpful, or debugged through other means if helpful.

          If this is a different bug, let me know and I'll create a new one or append my comment elsewhere.

          Laurens added a comment - I (think I) see this too on the lastest available verson at the time of my comment ( 1.14.3). We have no dedi-server, but a player who is acting as server, started as single, opened to lan. When I join as a second player, I see wrong/default prices, but need to pay the prices that the 1st / 'server' player sees. These are all 'normal' villagers, no cured zombies. (Well, we abducted 2 villagers and started a new village far, far away, and all the villagers are offspring of these 2 orginal ones.) We have very frequently traded with the villagers we observe the problem with, before we realized that something was, indeed, wrong. (not extensively tested with other villagers). Savegame can be provided if that is helpful, or debugged through other means if helpful. If this is a different bug, let me know and I'll create a new one or append my comment elsewhere.

          Ok. Tested this bug and found out that demand entitydata is not counted in price while playing online.

          Easy way to notice it is making a villager with job. Then opening game to lan and setting high demand of first trade:

          /data modify entity @e[type=minecraft:villager,limit=1,distance=..5] Offers.Recipes[0].demand set value 20

          For main account price will be rised, for entering second account price will be default. When you trade with any of both accounts, it will take higher amount of items.

          [Helper] Michał added a comment - Ok. Tested this bug and found out that demand entitydata is not counted in price while playing online. Easy way to notice it is making a villager with job. Then opening game to lan and setting high demand of first trade: /data modify entity @e [type=minecraft:villager,limit=1,distance=..5] Offers.Recipes [0] .demand set value 20 For main account price will be rised, for entering second account price will be default. When you trade with any of both accounts, it will take higher amount of items.

          I've heard in duplicates of this ticket that this does not only happen with villagers that are cured zombie villagers. However, that seems to be one consistent way to reproduce it. There probably are other ways as well! Further testing is definitely needed here and would be appreciated a lot!

          [Mod] violine1101 added a comment - I've heard in duplicates of this ticket that this does not only happen with villagers that are cured zombie villagers. However, that seems to be one consistent way to reproduce it. There probably are other ways as well! Further testing is definitely needed here and would be appreciated a lot!

          Synex Wolf added a comment -

          I have encountered this issue in 1.14.2

          Synex Wolf added a comment - I have encountered this issue in 1.14.2

          Indeed. That issue still seems to exist, but only if you have cured the villager and traded enough with it so that it increases its prices again

          [Mod] violine1101 added a comment - Indeed. That issue still seems to exist, but only if you have cured the villager and traded enough with it so that it increases its prices again

          Anqing Chen added a comment -

          I don't think this is this resolved. Seem to be server only since i cannot replicate in single player.
          Steps to replicate:
          1. Find an igloo with a basement
          2. Cure the zombie villager in there
          3. give him a profession
          4. Trade with him and lock his trade for the day
          5. Keep trading until he raises prices.
          6. There are no changes on the GUI about the change, but if you give him say a stack paper, he will take more paper than displayed for the emerald.

          Anqing Chen added a comment - I don't think this is this resolved. Seem to be server only since i cannot replicate in single player. Steps to replicate: 1. Find an igloo with a basement 2. Cure the zombie villager in there 3. give him a profession 4. Trade with him and lock his trade for the day 5. Keep trading until he raises prices. 6. There are no changes on the GUI about the change, but if you give him say a stack paper, he will take more paper than displayed for the emerald.

            slicedlime [Mojang] slicedlime
            Samaritans Anqing Chen
            Votes:
            12 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: