Bug: Problems with the upcoming salts name overriding
AsseyGithub opened this issue ยท 2 comments
While playing the source code build to test the upcoming salts name overriding, I encountered some issues. Thank you for granting me permission to report these.
1. Some monatomic cations cannot use a generic key:
Calcium, Nickel, Potassium, and Zinc
Currently, these four cations cannot use their generic keys even though they are part of a salt. I will refer to them as the invalid elements.
It should be shown as "Potassium Chloride", but it isn't. (The reason 'Chloride' is displayed as 'Chloride Ion' will be explained next.)
All ions except for the four cations are valid elements, which can use their generic keys well.
Acetate, Ammonium, Chloride, Chloroaurate, Copper (I), Copper (II), Cyanide, Cyclopentadienide, Fluoride, Hydrogensulfate, Hydroxide, Hypochlorite, Iodide, Iron (II), Iron (III), Nitrate, Nitronium, Oxide, Proton, Sodium, Sulfate, and Sulfide
2. Valid element keys under an invalid element key become invalid:
An invalid key makes all valid keys placed below it invalid.
{
"destroy:acetate": {
"generic": "destroy.chemical.acetate.salt"
},
"destroy:calcium": {
"generic": "destroy.chemical.calcium.salt"
},
"destroy:chloride": {
"generic": "destroy.chemical.chloride.salt"
},
...
"destroy:oxide": {
"generic": "destroy.chemical.oxide.salt"
}
}
In this case, "destroy:calcium" is an invalid key.
Acetate is displayed normally because its key is not under the calcium key.
Calcium isn't. And Chloride isn't either because, although it is a valid element key, it is located below "destroy:calcium."
You can replicate these issues with the resouce packs below. All of them are written in English. Use only one at a time.
Download | |
---|---|
All Valid keys | Only Valid.zip |
All Invalid keys | Only Invalid.zip |
All keys | All.zip |
- 'Only Valid.zip' includes only the valid element keys, and 'Only Invalid.zip' does the opposite. You will notice the latter doesn't work.
- 'All.zip' include the keys of all ions, displaying only acetate and ammonium corretly because all the other keys are below the invalid calcium key.
I can't wait to see this awesome feature in 0.4. Cheers!
The salt names are defined by the Molecule's ID, not their translation key. destroy:calcium
breaks because there is no such Molecule as destroy:calcium
- while its translation key is destroy.chemical.calcium
its ID is destroy:calcium_ion
. The same is true for all four broken examples you've given. You can check the IDs of Molecules here. I'll probably change the translation key of these four ions - the only reason they are calcium
, for example, and not calcium_ion
, is because there doesn't currently exist any neutral calcium species.