Trade Tables no longer support custom entity Spawn Eggs
In 1.19.80, spawn egg syntax was changed so that you reference the entity instead of using "set_actor_id" in loot tables and commands. However this change doesn't seem to have considered trade tables or the language files.
For my mini-blocks addon, I've updated the pack to provide the player with the correct mini-block spawn egg from the entity when it's picked up via loot tables which works fine. (Loot table).
However, to get the mini-blocks in survival, you buy them from the wandering trader.
The problem is, using "minecraft:spawn_egg" with "set_actor_id" in the wandering trader trade table gives a default spawn egg instead of the mini-block, but changing it to match the loot table's updated system just breaks the trade table.
e.g.
Pre 1.19.80 this worked:
{
"max_uses": 3,
"wants": [{
"item": "minecraft:emerald"
}, {
"item": "wool:9"
}
],
"gives": [{
"item": "minecraft:spawn_egg",
"functions": [{
"function": "set_actor_id",
"id": "fmb:cyan_wool"
}
],
"quantity": 8
}
]
}
But in 1.19.80/81 it just gives a default spawn egg.
Using the updated syntax:
{
"max_uses": 3,
"wants": [{
"item": "minecraft:emerald"
}, {
"item": "wool:9"
}
],
"gives": [{
"item": "fmb:cyan_wool_spawn_egg",
"quantity": 8
}
]
}
causes the error:
[Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | "item" not found [Entity][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | Trade [ { "choice" : null, "functions" : null, "item" : "fmb:cyan_wool_spawn_egg", "quantity" : 8 } ] doesn't have any recieves, at least one is required [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0]
As for the language files. They still reference "minecraft:spawn_egg:id" which works fine, but I assume this should also be changed to "namespace:actor_spawn_egg" to match the change.
Here are the packs to check.
7.3.0 uses the pre-1.19.80 wandering trader system and gives blank spawn eggs
7.3.1 has the updated syntax and throws errors
To replicate in version 7.3.0 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See blank spawn eggs instead of mini-blocks
Expected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader sells blank spawn eggs
To replicate in version 7.3.1 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See no trades at all
Expected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader has no trades
Linked Issues
is duplicated by1
Created Issue:
Trade Tables no longer support custom entity Spawn Eggs
In 1.19.80, spawn egg syntax was changed so that you reference the entity instead of using "set_actor_id" in loot tables and commands. However this change doesn't seem to have considered trade tables or the language files.
For my mini-blocks addon, I've updated the pack to provide the player with the correct mini-block spawn egg from the entity when it's picked up via loot tables which works fine. (Loot table).
However, to get the mini-blocks in survival, you buy them from the wandering trader.
The problem is, using "minecraft:spawn_egg" with "set_actor_id" in the wandering trader trade table gives a default spawn egg instead of the mini-block, but changing it to match the loot table's updated system just breaks the trade table.e.g.
Pre 1.19.80 this worked:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "minecraft:spawn_egg", "functions": [{ "function": "set_actor_id", "id": "fmb:cyan_wool" } ], "quantity": 8 } ] }But in 1.19.80/81 it just gives a default spawn egg.
Using the updated syntax:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "fmb:cyan_wool_spawn_egg", "quantity": 8 } ] }causes the error:
[Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0] [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | "item" not found [Entity][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | Trade [ { "choice" : null, "functions" : null, "item" : "fmb:cyan_wool_spawn_egg", "quantity" : 8 } ] doesn't have any recieves, at least one is required [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0]As for the language files. They still reference "minecraft:spawn_egg:id" which works fine, but I assume this should also be changd to "fmb:actor_spawn_egg" to match the change.
Here are the packs to check.7.3.0 uses the pre-1.19.80 wandering trader system and gives blank spawn eggs
7.3.1 has the updated syntax and throws errors
In 1.19.80, spawn egg syntax was changed so that you reference the entity instead of using "set_actor_id" in loot tables and commands. However this change doesn't seem to have considered trade tables or the language files.
For my mini-blocks addon, I've updated the pack to provide the player with the correct mini-block spawn egg from the entity when it's picked up via loot tables which works fine. (Loot table).
However, to get the mini-blocks in survival, you buy them from the wandering trader.
The problem is, using "minecraft:spawn_egg" with "set_actor_id" in the wandering trader trade table gives a default spawn egg instead of the mini-block, but changing it to match the loot table's updated system just breaks the trade table.e.g.
Pre 1.19.80 this worked:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "minecraft:spawn_egg", "functions": [{ "function": "set_actor_id", "id": "fmb:cyan_wool" } ], "quantity": 8 } ] }But in 1.19.80/81 it just gives a default spawn egg.
Using the updated syntax:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "fmb:cyan_wool_spawn_egg", "quantity": 8 } ] }causes the error:
[Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0] [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | "item" not found [Entity][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | Trade [ { "choice" : null, "functions" : null, "item" : "fmb:cyan_wool_spawn_egg", "quantity" : 8 } ] doesn't have any recieves, at least one is required [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0]As for the language files. They still reference "minecraft:spawn_egg:id" which works fine, but I assume this should also be changd to "fmb:actor_spawn_egg" to match the change.
Here are the packs to check.7.3.0 uses the pre-1.19.80 wandering trader system and gives blank spawn eggs
7.3.1 has the updated syntax and throws errorsTo replicate in version 7.3.0 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See blank spawn eggs instead of mini-blocksExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader sells blank spawn eggsTo replicate in version 7.3.1 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See no trades at allExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader has no trades
In 1.19.80, spawn egg syntax was changed so that you reference the entity instead of using "set_actor_id" in loot tables and commands. However this change doesn't seem to have considered trade tables or the language files.
For my mini-blocks addon, I've updated the pack to provide the player with the correct mini-block spawn egg from the entity when it's picked up via loot tables which works fine. (Loot table).
However, to get the mini-blocks in survival, you buy them from the wandering trader.
The problem is, using "minecraft:spawn_egg" with "set_actor_id" in the wandering trader trade table gives a default spawn egg instead of the mini-block, but changing it to match the loot table's updated system just breaks the trade table.e.g.
Pre 1.19.80 this worked:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "minecraft:spawn_egg", "functions": [{ "function": "set_actor_id", "id": "fmb:cyan_wool" } ], "quantity": 8 } ] }But in 1.19.80/81 it just gives a default spawn egg.
Using the updated syntax:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "fmb:cyan_wool_spawn_egg", "quantity": 8 } ] }causes the error:
[Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json |num_to_select[1] must not be greater than the number of trades[0] [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json |"item" not found [Entity][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | Trade [ { "choice" : null, "functions" : null, "item" : "fmb:cyan_wool_spawn_egg", "quantity" : 8 } ] doesn't have any recieves, at least one is required [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0]As for the language files. They still reference "minecraft:spawn_egg:id" which works fine, but I assume this should also be changd to "fmb:actor_spawn_egg" to match the change.
Here are the packs to check.7.3.0 uses the pre-1.19.80 wandering trader system and gives blank spawn eggs
7.3.1 has the updated syntax and throws errorsTo replicate in version 7.3.0 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See blank spawn eggs instead of mini-blocksExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader sells blank spawn eggsTo replicate in version 7.3.1 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See no trades at allExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader has no tradesIn 1.19.80, spawn egg syntax was changed so that you reference the entity instead of using "set_actor_id" in loot tables and commands. However this change doesn't seem to have considered trade tables or the language files.
For my mini-blocks addon, I've updated the pack to provide the player with the correct mini-block spawn egg from the entity when it's picked up via loot tables which works fine. (Loot table).
However, to get the mini-blocks in survival, you buy them from the wandering trader.
The problem is, using "minecraft:spawn_egg" with "set_actor_id" in the wandering trader trade table gives a default spawn egg instead of the mini-block, but changing it to match the loot table's updated system just breaks the trade table.e.g.
Pre 1.19.80 this worked:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "minecraft:spawn_egg", "functions": [{ "function": "set_actor_id", "id": "fmb:cyan_wool" } ], "quantity": 8 } ] }But in 1.19.80/81 it just gives a default spawn egg.
Using the updated syntax:
{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "fmb:cyan_wool_spawn_egg", "quantity": 8 } ] }causes the error:
[Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | "item" not found [Entity][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | Trade [ { "choice" : null, "functions" : null, "item" : "fmb:cyan_wool_spawn_egg", "quantity" : 8 } ] doesn't have any recieves, at least one is required [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0]As for the language files. They still reference "minecraft:spawn_egg:id" which works fine, but I assume this should also be changd to "fmb:actor_spawn_egg" to match the change.
Here are the packs to check.7.3.0 uses the pre-1.19.80 wandering trader system and gives blank spawn eggs
7.3.1 has the updated syntax and throws errorsTo replicate in version 7.3.0 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See blank spawn eggs instead of mini-blocksExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader sells blank spawn eggsTo replicate in version 7.3.1 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See no trades at allExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader has no trades
In 1.19.80, spawn egg syntax was changed so that you reference the entity instead of using "set_actor_id" in loot tables and commands. However this change doesn't seem to have considered trade tables or the language files.
For my mini-blocks addon, I've updated the pack to provide the player with the correct mini-block spawn egg from the entity when it's picked up via loot tables which works fine. (Loot table).
However, to get the mini-blocks in survival, you buy them from the wandering trader.
The problem is, using "minecraft:spawn_egg" with "set_actor_id" in the wandering trader trade table gives a default spawn egg instead of the mini-block, but changing it to match the loot table's updated system just breaks the trade table.e.g.
Pre 1.19.80 this worked:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "minecraft:spawn_egg", "functions": [{ "function": "set_actor_id", "id": "fmb:cyan_wool" } ], "quantity": 8 } ] }But in 1.19.80/81 it just gives a default spawn egg.
Using the updated syntax:
{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "fmb:cyan_wool_spawn_egg", "quantity": 8 } ] }causes the error:
[Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | "item" not found [Entity][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | Trade [ { "choice" : null, "functions" : null, "item" : "fmb:cyan_wool_spawn_egg", "quantity" : 8 } ] doesn't have any recieves, at least one is required [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0]As for the language files. They still reference "minecraft:spawn_egg:id" which works fine, but I assume this should also be changd to "
fmb:actor_spawn_egg" to match the change.
Here are the packs to check.7.3.0 uses the pre-1.19.80 wandering trader system and gives blank spawn eggs
7.3.1 has the updated syntax and throws errorsTo replicate in version 7.3.0 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See blank spawn eggs instead of mini-blocksExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader sells blank spawn eggsTo replicate in version 7.3.1 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See no trades at allExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader has no tradesIn 1.19.80, spawn egg syntax was changed so that you reference the entity instead of using "set_actor_id" in loot tables and commands. However this change doesn't seem to have considered trade tables or the language files.
For my mini-blocks addon, I've updated the pack to provide the player with the correct mini-block spawn egg from the entity when it's picked up via loot tables which works fine. (Loot table).
However, to get the mini-blocks in survival, you buy them from the wandering trader.
The problem is, using "minecraft:spawn_egg" with "set_actor_id" in the wandering trader trade table gives a default spawn egg instead of the mini-block, but changing it to match the loot table's updated system just breaks the trade table.e.g.
Pre 1.19.80 this worked:{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "minecraft:spawn_egg", "functions": [{ "function": "set_actor_id", "id": "fmb:cyan_wool" } ], "quantity": 8 } ] }But in 1.19.80/81 it just gives a default spawn egg.
Using the updated syntax:
{ "max_uses": 3, "wants": [{ "item": "minecraft:emerald" }, { "item": "wool:9" } ], "gives": [{ "item": "fmb:cyan_wool_spawn_egg", "quantity": 8 } ] }causes the error:
[Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | "item" not found [Entity][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | Trade [ { "choice" : null, "functions" : null, "item" : "fmb:cyan_wool_spawn_egg", "quantity" : 8 } ] doesn't have any recieves, at least one is required [Json][error]-In trade file: trading/economy_trades/wandering_trader_trades.json | num_to_select[1] must not be greater than the number of trades[0]As for the language files. They still reference "minecraft:spawn_egg:id" which works fine, but I assume this should also be changed to "namespace:actor_spawn_egg" to match the change.
Here are the packs to check.7.3.0 uses the pre-1.19.80 wandering trader system and gives blank spawn eggs
7.3.1 has the updated syntax and throws errorsTo replicate in version 7.3.0 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See blank spawn eggs instead of mini-blocksExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader sells blank spawn eggsTo replicate in version 7.3.1 (1.19.80+):
1. Spawn a wandering trader (or find one in survival)
2. Open their trades by interacting with them
3. See no trades at allExpected results:
Wandering trader has mini-blocks for sale
Actual Results:
Wandering trader has no trades
is duplicated by
Thank you for your report!
We're tracking this issue in MCPE-170184, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
– I am a bot. This action was performed automatically! The ticket was resolved by one of our moderators, and I left this message to give more information to you.


BUG PARTLY FIXED (1.20.0.24). See this image:
