Name of article[]
I'm not sure if this ("Namespaced ID") is the right name. I don't know if there is a right name, though. ResourceLocation
is the name used by most mappings (unless you're being all spigot in which case you get MinecraftKey
). I used "Identifier" on wiki.vg (but that's easy enough to change at some point). But there's just generally a large variety of names. I kinda like "Namespaced ID" but I don't think it's perfect... do you have any thoughts? (I figure it's best to have this conversation before adding links in a bunch of places). --Pokechu22 (talk) 06:03, 12 April 2019 (UTC)
- I chose the name because this is used in Villager/ED for the profession in VillagerData tag. This does not really map to a resource location, as in vanilla code, the initial given id in methods is later transformed again to have prefix (advancement, textures, etc.) and suffix (.png, .json, etc.) "Identifier" is what I like as well, but this might conflict with bedrock. liach (talk) 06:08, 12 April 2019 (UTC)
- The
ResourceLocation
class is used for all of those; the villager profession and type both come from registries (minecraft:villager_type
andminecraft:villager_profession
) which are accessed using the same type as advancements and all that. It is silly to use the word "resource", but that is what is used. (Speaking of which, it's important to note that those are from registries, just like with blocks and such, and are exposed in the registries report. It's probably out of scope for this article/the wiki in general, though, since registries don't matter without mod stuff for the most part.) --Pokechu22 (talk) 06:21, 12 April 2019 (UTC)- In vanilla data fixers, this is called "NamespacedString", I believe. Resource location is coined by the Mod Coder Pack, which is not always accurate. I do deobfuscate the game in projects like fabric yarn, and I believe "Namespaced ID" is definitely better than "Resource Location". liach (talk) 07:07, 12 April 2019 (UTC)
- I'm pretty sure that at some point in the past, mojang also used ResourceLocation within their code (and MCP used that name as such); however, I have no idea where I heard that and it would have been 3 or 4 years ago. The use of NamespacedStringType in datafixerupper convinces me that they've since renamed it. So I'm mostly convinced, though it still might make sense to add
{{conjecture}}
though. --Pokechu22 (talk) 16:02, 12 April 2019 (UTC)
- I'm pretty sure that at some point in the past, mojang also used ResourceLocation within their code (and MCP used that name as such); however, I have no idea where I heard that and it would have been 3 or 4 years ago. The use of NamespacedStringType in datafixerupper convinces me that they've since renamed it. So I'm mostly convinced, though it still might make sense to add
- In vanilla data fixers, this is called "NamespacedString", I believe. Resource location is coined by the Mod Coder Pack, which is not always accurate. I do deobfuscate the game in projects like fabric yarn, and I believe "Namespaced ID" is definitely better than "Resource Location". liach (talk) 07:07, 12 April 2019 (UTC)
- The
- "Namespace" is also used in "Minecraft Snapshot 17w43a" – Minecraft.net. – Nixinova 06:10, 12 April 2019 (UTC)
- The word "namespace" is definitely correct for the first part... but that article also has "Names of... things..." to describe the second part and also doesn't give a term for the whole structure. So it's a bit more complicated. --Pokechu22 (talk) 06:21, 12 April 2019 (UTC)
- I guess I just have to rename "path" to "name", and things should be fine. liach (talk) 07:07, 12 April 2019 (UTC)-----
- Thanks for this edit listing additional names. Your pointer to that gist is very helpful and reminds me of where I saw it more recently: the parser ID is still
minecraft:resource_location
. This can be seen even in 1.14.2-pre2 using the commands report data generator. So that at least explains some things. (As a side note, I'd call that file something like "Minecraft 1.13 command dump" or "Minecraft 17w45a command dump" since it doesn't specifically show changes). --Pokechu22 (talk) 17:35, 17 May 2019 (UTC)- Pokechu22: Do you have any alternative names ever used in mind? Should I put
MinecraftKey
used by spigot up as well, or not really? liach (talk) 00:25, 18 May 2019 (UTC)- Nah, I wouldn't include that one since I don't think anyone else uses it and it's an awkward name anyways. I think the list is more or less sufficient; there are other possible variations ("namespaced key", and of course "namespaced ID" is technically not the same word as "namespaced identifier" :D) but I don't think it's necessary to list every possible permutation of the words. --Pokechu22 (talk) 00:32, 18 May 2019 (UTC)
- Pokechu22: Do you have any alternative names ever used in mind? Should I put
- Official mappings were made available since this discussion and "resource location" is the term used by Mojang (see
net.minecraft.resources.ResourceLocation
andnet.minecraft.commands.arguments.ResourceLocationArgument
). The part before the colon is called "namespace" (net.minecraft.resources.ResourceLocation#namespace
) and the part after the colon is called "path" (net.minecraft.resources.ResourceLocation#path
). Since we now know that this is the way Mojang refers to what we call here "namespaced IDs", I think we should rename this article to "Resource location" and use "path" instead of "name" (while keeping "Namespaced ID" as a redirect). --MDLC01 19:56, 1 August 2021 (UTC)
Possible names[]
Apparently capital letters are not allowed in names of functions, namespaces, etc. Can someone please find out what the rules are and document them in all relevant places? Fabian42 (talk) 21:50, 10 June 2019 (UTC)
- That's a generic part of namespaced IDs/resource locations; if the corresponding pages don't mention it, make them refer to that the files will be attempted to be resolved to a namespaced ID, and as such have the same character limitations. FVbico (talk) 21:53, 10 June 2019 (UTC)
History from Dinnerbone before joining mojang[]
Before Dinnerbone joined Mojang AB, he had already a prototype of namespaced ID. See this article on his blog; he mentions namespaced plugin channel ids like SuperSkin:Set. However, back then, he was not a part of Mojang; hence, I am curious if this piece of information can go into the History section of this article. liach (talk) 13:56, 8 July 2019 (UTC)