Skip to content
EMI - Port Forward

Quick rating

Community listing page, reviews may not be monitored by the author.

EMI - Port Forward

By kasOwner , imkas

No reviews yet

A fork of EMI for newer versions, 1.21.2+

Mod Loaders
Minecraft
26.3 26.2

About

Description

EMI - Port Forward

PF-EMI or EMI - Port Forward started as a standalone port forward for 1.21.11 for my mod, ProjectFlint, and has now become a widely used port for 1.21.2+, featuring NeoForge, Forge, and Fabric versions. Port Forward exists to not only port forward the last features from the prev. version of EMI, but also so it can add new features for the newest versions, improving EMI overall. Below is EMI's direct description.

EMI's Main Changes

EMI is a featureful and accessible item and recipe viewer for Minecraft.

EMI Interface

Recipe Tree

Developers

To add EMI to your project as a dependency you need to add the following to your build.gradle:

repositories {
    maven {
        name = "TerraformersMC"
        url = "https://maven.terraformersmc.com/"
    }
}

How EMI gets added to your dependencies varies based on modloader and setup. The Gradle property emi_version should be something like 1.0.0+1.19.4 with EMI's version and Minecraft's version. Here are common dependency setups for different loaders and build systems.

dependencies {
    // Fabric
    modCompileOnly "dev.emi:emi-fabric:${emi_version}:api"
    modLocalRuntime "dev.emi:emi-fabric:${emi_version}"

    // Forge (see below block as well if you use Forge Gradle)
    compileOnly fg.deobf("dev.emi:emi-forge:${emi_version}:api")
    runtimeOnly fg.deobf("dev.emi:emi-forge:${emi_version}") 

    // NeoForge
    compileOnly "dev.emi:emi-neoforge:${emi_version}:api"
    runtimeOnly "dev.emi:emi-neoforge:${emi_version}" 

    // Architectury
    modCompileOnly "dev.emi:emi-xplat-intermediary:${emi_version}:api"

    // MultiLoader Template/VanillaGradle
    compileOnly "dev.emi:emi-xplat-mojmap:${emi_version}:api"
}

For Forge Gradle users, you will need to enable Mixin refmaps in your client sourceset. This can be done by adding 2 lines inside of your client runs, to look like below.

runs {
    client {
        // Add these two lines
        property 'mixin.env.remapRefMap', 'true'
        property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

        // The rest of the code that was already here
        // ...
    }
}

EMI - Port Forward

PF-EMI or EMI - Port Forward started as a standalone port forward for 1.21.11 for my mod, ProjectFlint, and has now become a widely used port for 1.21.2+, featuring NeoForge, Forge, and Fabric versions. Port Forward exists to not only port forward the last features from the prev. version of EMI, but also so it can add new features for the newest versions, improving EMI overall. Below is EMI's direct description.

EMI's Main Changes

EMI is a featureful and accessible item and recipe viewer for Minecraft.

EMI Interface

Recipe Tree

Developers

To add EMI to your project as a dependency you need to add the following to your build.gradle:

repositories {
	maven {
		name = "TerraformersMC"
		url = "https://maven.terraformersmc.com/"
	}
}

How EMI gets added to your dependencies varies based on modloader and setup. The Gradle property emi_version should be something like 1.0.0+1.19.4 with EMI's version and Minecraft's version. Here are common dependency setups for different loaders and build systems.

dependencies {
	// Fabric
	modCompileOnly "dev.emi:emi-fabric:${emi_version}:api"
	modLocalRuntime "dev.emi:emi-fabric:${emi_version}"

	// Forge (see below block as well if you use Forge Gradle)
	compileOnly fg.deobf("dev.emi:emi-forge:${emi_version}:api")
	runtimeOnly fg.deobf("dev.emi:emi-forge:${emi_version}") 

	// NeoForge
	compileOnly "dev.emi:emi-neoforge:${emi_version}:api"
	runtimeOnly "dev.emi:emi-neoforge:${emi_version}" 

	// Architectury
	modCompileOnly "dev.emi:emi-xplat-intermediary:${emi_version}:api"

	// MultiLoader Template/VanillaGradle
	compileOnly "dev.emi:emi-xplat-mojmap:${emi_version}:api"
}

For Forge Gradle users, you will need to enable Mixin refmaps in your client sourceset. This can be done by adding 2 lines inside of your client runs, to look like below.

runs {
	client {
		// Add these two lines
		property 'mixin.env.remapRefMap', 'true'
		property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

		// The rest of the code that was already here
		// ...
	}
}