/fill x1 y1 z1 x2 y2 z2 [tile entity] replace [block] gives parse error
The problem occurs if running via command block and normally via chat.
Steps to reproduce the problem:
1. Place a command block with fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 replace minecraft:diamond_block
2. Place a diamond block on top
3. Activate the command block
Expected behaviour:
The diamond block gets turned into comparator
Actual behaviour:
Error message
Data tag parsing failed: Invalid tag encountered, expected '{' as first char.
Additional information:
The command fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 works.
It also works with block other than unpowered_comparator.
According to the wiki the command expects fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue].
Environment
Single player
Linked Issues
is duplicated by41
Created Issue:
fill command parse error
The problem occurs if running via command block and normally via chat.
Steps to reproduce the problem:
1. Place a command block with fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 replace minecraft:diamond_block
2. Place a diamond block on top
3. Activate the command blockExpected behaviour:
The diamond block gets turned into comparatorActual behaviour:
Error message
Data tag parsing failed: Invalid tag encountered, expected '{' as first char.Additional information:
The command fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 works.
According to the wiki the command expects fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue].Environment
Single player
The problem occurs if running via command block and normally via chat.
Steps to reproduce the problem:
1. Place a command block with fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 replace minecraft:diamond_block
2. Place a diamond block on top
3. Activate the command blockExpected behaviour:
The diamond block gets turned into comparatorActual behaviour:
Error message
Data tag parsing failed: Invalid tag encountered, expected '{' as first char.Additional information:
The command fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 works.
According to the wiki the command expects fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue].The problem occurs if running via command block and normally via chat.
Steps to reproduce the problem:
1. Place a command block with fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 replace minecraft:diamond_block
2. Place a diamond block on top
3. Activate the command blockExpected behaviour:
The diamond block gets turned into comparatorActual behaviour:
Error message
Data tag parsing failed: Invalid tag encountered, expected '{' as first char.Additional information:
The command fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 works.
According to the wiki the command expects fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue].
The problem occurs if running via command block and normally via chat.
Steps to reproduce the problem:
1. Place a command block with fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 replace minecraft:diamond_block
2. Place a diamond block on top
3. Activate the command blockExpected behaviour:
The diamond block gets turned into comparatorActual behaviour:
Error message
Data tag parsing failed: Invalid tag encountered, expected '{' as first char.Additional information:
The command fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 works.
According to the wiki the command expects fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue].The problem occurs if running via command block and normally via chat.
Steps to reproduce the problem:
1. Place a command block with fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 replace minecraft:diamond_block
2. Place a diamond block on top
3. Activate the command blockExpected behaviour:
The diamond block gets turned into comparatorActual behaviour:
Error message
Data tag parsing failed: Invalid tag encountered, expected '{' as first char.Additional information:
The command fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_comparator 3 works.
It also works with block other than unpowered_comparator.
According to the wiki the command expects fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue].
duplicates
relates to
duplicates
fill command parse error/fill x1 y1 z1 x2 y2 z2 [tile entity] replace [block] gives parse error
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
relates to
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
Wait...scratch everything I said... Searge said in MC-61864 that "Replacing blocks with tile entities is not supported, this is due to a limitation in the parsing of commands. It may be changed in the future, but not until after 1.8. This issue should be considered a feature request, not a bug."
Sooo nevermind then ._.
Piston extensions are tile entities and maybe this bug is not really the underscore causing the problem but still tile entities like in MC-61864. Or they fixed the underscore problem and I don't know...
Filling tile entities is not supported, working as intended: MC-61864
Duplicate of MC-61864 - using that ticket as it covers the broader issue of all tile entities.
EDIT: and that ticket was addressed specifically by a Mojang developer.
Wrong duplicate link
It is MC-61864
seems like you made this mistake once ago
This has nothing to do with underscores, as lapis_ore, sea_lantern and redstone_block all work for example.
This is caused because tile entities or block entities are not support in the replace command.
Searge explains it at MC-61864
This report should linked to that one.
The currently suggested syntax is:
/fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> [dataValue] [oldBlockHandling] [dataTag]
However based on MC-61864, it should rather look like one of these:
/fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> [dataValue] [[oldBlockHandling] [dataTag]|[replace <TileName> [dataValue]]]
/fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> [dataValue] [oldBlockHandling] [dataTag] OR /fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> [dataValue] replace <TileName> [dataValue]
[Mojang] Searge (Michael Stoyke) in MC-61864:
Replacing blocks with tile entities is not supported, this is due to a limitation in the parsing of commands. It may be changed in the future, but not until after 1.8. This issue should be considered a feature request, not a bug.
WAI. Per MC-61864, you cannot fill tile entities.
(this is a duplicate of MC-61864 which states the following)
[Mojang] Searge (Michael Stoyke) added a comment - 16/Jul/14 11:16 PM
Replacing blocks with tile entities is not supported, this is due to a limitation in the parsing of commands. It may be changed in the future, but not until after 1.8. This issue should be considered a feature request, not a bug.
(no need to comment anymore)
duplicate of MC-61864, which is resolved as works as intended
Assuming you missed the "replace" in your comment (otherwise your syntax is wrong anyway), duplicate of MC-61864.
duplicate of MC-61864, if you have not, please use the search function in the future
Duplicate of MC-61864
Comparators are a block entity.
Dupe of MC-61864
From Searge: "Replacing blocks with tile entities is not supported, this is due to a limitation in the parsing of commands. It may be changed in the future, but not until after 1.8. This issue should be considered a feature request, not a bug."
Never mind, duplicate of MC-61864.
Duplicate of MC-61864.
Duplicate of MC-61864; beacons are tile entities.
Duplicate of MC-61864; beacons are tile entities.
Thank you for your report!
However, this issue has been closed as a Duplicate of MC-61864.
It has been linked to this report. If you have additional information, please add it to that report.
Please search before reporting, as it's likely that one exists already.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – 📖 Game Wiki
Thank you for your report!
However, this issue has been closed as a Duplicate of MC-61864.
It has been linked to this report. If you have additional information, please add it to that report.
Please search before reporting, as it's likely that one exists already.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – 📖 Game Wiki
Somebody attached a duplicate link to a different issue. I don't know how to remove the link.
The issue described there is affecting all blocks with underscore and it simply cannot find them.
This issue affects unpowered_comparator and not, for example, unpowered_repeater. The error message is completely different.
That someone was me.
You're describing exactly the behaviour of
MC-48114.MC-48114 clearly states that the command doesn't work for any block with an underscore within its name. It points out in an example that it doesn't work for lapis_ore. The error message clearly says that it began to parse lapis_ore as json and cannot find key-value separator (:).
This is different issue. I can confirm that this command works with lapis_ore or several other blocks with an underscore within its name. The issue occurs only with unpowered_comparator (out of tested blocks). The error message also says something different - it expects a json string but it doesn't start parsing it. It says that it expects { which is nowhere to be found.
Please, point me to a part that makes the issues similar apart from the command used and the fact that unpowered_comparator actually contains an underscore and this has nothing to do with it as, at least in 14w28b, the command fill ~ ~1 ~ ~ ~1 ~ minecraft:unpowered_repeater 3 replace minecraft:diamond_block works - the problem only occurs with unpowered_comparator.
Sounds plausible. Reopened.
Confirmed.
Still in 14w29b.
Replacing blocks with tile entities is not supported, this is due to a limitation in the parsing of commands. It may be changed in the future, but not until after 1.8. This issue should be considered a feature request, not a bug.
ah ok... good to know. Maybe add an "tile entities are not allowed" text instead of "Data tag parsing failed: Invalid tag encountered, expected '{' as first char." to make it more clear until it may get added. But thanks anyway for the information. Now i have to find a workaround to this
Wouldn't a resolution of "Won't Fix" be more accurate? as this does prevent usage of a feature in the game in certain circumstances. Otherwise a clear indication in game of it not being supported would be necessary.
I was bashing my head around for a while trying to figure out why it wasn't working right. Certainly would be nice to see in the future at some point.
The suggested syntax is at least wrong:
It should be:
Question: Can you revamp the command so that it is /fill <coordinates> <name> [dataValue|state] replace [<blockToReplace> [dataValue|-1|state|*]] [fillBlockDataTag]?
(It is easy to detect a <code>{</code> vs a different character for starting an item technical name in my opinion)
So, if you wanted to replace wood planks with chests (with a bow inside) between 0, 0, 0 and 1, 1, 1, you would do {{/fill 0 0 0 1 1 1 chest 0 replace planks * {Items:[0:
{Slot:0,Item:"minecraft:bow",Count:1b,Damage:0s}]} }}.
However, if you wanted to fill chests regardless of planks, you would remove the planks *.
Yeah, I'd have to agree that this is more of a "Won't Fix" rather than "Works as Intended".
I found a way around it, but only if you want to target a specific block, not a group of blocks. You could probably make it target different things though to have the same effect as an "AOE."