The bug
There is no translation for "Air" when used in the /replaceitem
command. Using it in other commands like /give @p air
will translate it correctly.
How to reproduce
Set the language to a non-English one
Use the following command
/replaceitem entity @p slot.armor.head minecraft:air
Code analysis
Based on 1.11.2 decompiled using MCP 9.35 rc1
The method net.minecraft.command.CommandReplaceItem.execute(MinecraftServer, ICommandSender, String[])
uses the String "Air"
if an item is empty. This method also tests after it could not get an item for the id if the id matches the air block id.
Both special cases can probably be removed because some versions ago air became a valid item that's instantly removed.
Linked issues
Attachments
Comments 3
Issue has been fixed for 1.13.1. See
[media]
Confirmed that this issue is fixed.
Confirmed for 17w47b.