A set of deobfuscated mappings for Minecraft Beta 1.7.3's game code.
Please use Fabric or Quilt Enigma to contribute. Copy and pasting names from projects like MCP, Yarn and official Mojang mappings is not allowed. Using similar naming conventions is fine.
-
American English is always used for names.
-
If there are multiple common spellings of a word, check to see if one is already used in the mappings.
-
Use
PascalCasefor class names,camelCasefor methods, fields, and arguments. UseSCREAMING_SNAKE_CASEfor static final fields. -
Do not use arbitrary prefixes such as
IorEnumfor naming classes. -
Names should be in logical order, for example, use
ObsidianBlockinstead ofBlockObsidian. -
Names should be concise and should not contain any redundant words.
-
Use plural forms of words rather than adding a "list" or "array" suffix. (e.g.
playersinstead ofplayerList) -
Try to avoid uncommon abbreviations, and stick to abbreviating terms like "id", "nbt", "min"/"max", etc.
-
Abbreviations should always be capitalized. (e.g.
writeToNBTinstead ofwriteToNbt) Names such as "inventory slot" and "item stack" should not be shortened to "slot" to "item". -
Method names should usually be verbs, or starting with a prefix like
get,set,is,has,can, orshould. -
Boolean fields should always start with a prefix such as the above.
-
Use overload methods whenever it makes sense.
-
Place classes in packages that make sense and don't nest too many packages together.
-
Use "newer" terminology for things, e.g. "world" instead of level, and "block" instead of tile.
-
Ensure client and server mappings are mergeable. (use similar names, place shared classes in similar packages)
-
Write Javadocs for anything that could be confusing or to clear things up about the codebase.
-
If you are not sure what to name something, try to be consistent with the rest of the codebase and follow general Java conventions when possible.
If you see any name not following this convention, please open an issue.