Skip to content

Minecraft 1.7.10 mappings that attempt to continue where MCP left off.

License

CC0-1.0, Unknown licenses found

Licenses found

CC0-1.0
LICENSE.CC0
Unknown
LICENSE.MCP
Notifications You must be signed in to change notification settings

LegacyModdingMC/LegacyMappings

Repository files navigation

NOTE: This repo is a work in progress, the following readme is a draft.

LegacyMappings

A set of mappings for Minecraft 1.7.10 that attempt to continue where MCP left off.

The repo was initialized by layering MCP on top of Feather on top of Yarn. Names from each mapping set are preserved in the comments next to mappings, allowing them to be easily compared and referenced.

Details

The full set of mappings that were layered are the following (names on the right take priority over names on the left):

  • Legacy Yarn < Feather < MCP stable-39-1.12 < MCP stable-32-1.11 < MCP stable-29-1.10.2 < MCP stable-26.1.9.4 < MCP stable-22-1.8.9 < MCP stable-12-1.7.10 < MCP 1.7.10 (Forge userdev)

The mappings are in the Tiny V2 format, split into a separate file for each class. A second destination namespace is used for comments.

The comments show the name of each element in the following four mappings:

  • MCP↓ (layered, older preferred), MCP↑ (layered, newer preferred), Legacy Yarn, Feather

A ~ symbol means no mapping is present, and a : symbol means the previous name is repeated. For example:

#textureName, :, ~, spriteName

This means the field is called textureName in MCP↓, also textureName in MCP↑, nothing in Legacy Yarn, and spriteName in Feather.

Usage

RetroFuturaGradle's support for custom mappings is still a work in progress, so using these mappings is not yet recommended for the general public, but it can already be done.

Usage

Migration

First of all, unless you are starting a new project, you will want to migrate your existing source code to the new mappings. The PR for this has not been merged yet, so you will need to compile and install it yourself.

Switching to the mappings

Add this snippet to your buildscript:

repositories {
    exclusiveContent {
        forRepository {
            ivy {
                name = "LegacyMappings releases"
                url = uri("https://github.com/LegacyModdingMC/LegacyMappings/releases/download/")
                patternLayout {
                    artifact("[revision]/[module]-[revision](-[classifier])(.[ext])")
                }
                metadataSources {
                    artifact()
                }
            }
        }
        filter {
            includeModule("io.github.legacymoddingmc", "legacymappings")
        }
    }
}

minecraft {
    mcpMappingChannel = "legacymappings"
    mcpMappingVersion = "1.7.10+build.1-pre1"
    useForgeEmbeddedMappings = false
}

project.dependencies.add("mcpMappingData", "io.github.legacymoddingmc:legacymappings:" + minecraft.mcpMappingVersion.get() + ":csv@zip")

project.configurations.named("mcpMappingData").configure {
    exclude(group: "de.oceanlabs.mcp")
}

Contributing

Don't do it yet.

Gradle tasks

enigma

Opens Enigma for editing the mappings, using a custom fork that can display comments. This is the preferred way to edit the mappings, but sometimes editing the files manually may still be necessary.

build

Builds the mappings in tiny-v2 and csv formats, and attempts to build the example mod using the mappings.

packageMappings

Builds the mapping archives without testing.

generateMappings

Generates a new set of mappings in the directory format. This will overwrite any changes! You will probably never want to run this, it's only supposed to be used to intitialize a branch.

generateDebugMappings

Generates a new set of mappings in a single-file format which does not have the MCP layers flattened. This can be useful as reference. The mappings get written to a separate file so the source directory doesn't get modified.

Credits

This project uses data from the following projects:

Additionally, some of the buildscript code was taken from Yarn's. (CC0-1.0)

License

This project maintains MCP's license for the data (the contents of the mappings directory, and any exported mappings). Everything else (the buildscript code) is under CC0-1.0.

About

Minecraft 1.7.10 mappings that attempt to continue where MCP left off.

Resources

License

CC0-1.0, Unknown licenses found

Licenses found

CC0-1.0
LICENSE.CC0
Unknown
LICENSE.MCP

Stars

Watchers

Forks

Packages

No packages published

Languages