Skip to content

Sinytra/Connector

Repository files navigation

Warning

Connector is currently in beta state, and many mods may not work as expected, or might be broken completely.
Please refer to our Mod Compatibility Thread and Issue Tracker for ongoing compatibility issues.
When reporting bugs, please make sure you are using the latest release of Connector and Forgified Fabric API, as well as Forge 47.1.3 on Minecraft 1.20.1

πŸ“– About

Sinytra Connector is a translation/compatibility layer that allows running Fabric mods on MinecraftForge. Its goal is to bring the two platforms closer together, saving developers time and effort maintaining their mods for multiple platforms at once, as well as allowing players to play all their favourite mods in one modpack.

πŸ“˜ The official documentation is available at sinytra.org.

πŸ”— Related Projects

  • Visit the Mod Compatibility Thread to can find information about known working / incompatible mods
  • To learn more about how Connector works, read our Introductory blog post
  • Developing cross-platform mods? Check out the Forgified Fabric API, a port of the Fabric API to Forge
  • Install Connector Extras for improved compatibility with third-party libraries and APIs
  • If you're using Embeddium with Fabric mods installed, also install Lazurite for proper FRAPI compatibility

πŸ’¬ Join the Community

We have an official Discord community for Connector. By joining, you can:

  • Get help and technical support from our team and community members
  • Keep in touch with the latest development updates and community events
  • Engage in the project's development and collaborate with our team
  • ... and just hang out with the rest of our community.

πŸ“‹ Usage Guide

To install Connector and its dependencies, follow the same installation steps as you would for any other mods:

  1. Install Minecraft Forge. For Minecraft 1.20.1, it is recommended to use version 47.1.3.
    [Minecraft Forge website]
  2. Install Connector. Get the latest release from one of our official distribution channels and drop the jar in your mods folder.
    [CurseForge] [Modrinth] [GitHub]
  3. Download the Forgified Fabric API. It is meant to be a direct replacement for the Fabric API and is not compatible with it. We'll try our best to avoid loading the Fabric API if it's installed automatically (e.g. by your modpack manager), but if you have the option to avoid installing it, please do so.
    [CurseForge] [Modrinth] [GitHub]
  4. You're good to go! With all dependencies installed, grab your favourite Fabric mods and just drop them in the mods folder like you would with any Forge mods. Connector will handle loading them for you with no additional steps required.

πŸ” Get help

If you're having trouble running a mod on Connector, join our community on Discord, ask us on GitHub Discussions or open an issue in this repository.

Here's a few tips to follow when reporting issues:

  1. Make sure you are using latest available version. Look for existing issues that might've already been answered / fixed. Think about whether the issue is caused by Connector itself and not another mod you've installed. To test this, try reproducing the same issue on Fabric.
  2. Navigate to the issues tab and open a new issue. Select one of the available templates depending on the topic. Fill in the required fields. In order to increase our chances of identifying and reproducing the issue, please make sure to include as many details as possible.
  3. Once you're done describing the problem, submit the issue. We'll get to you as soon as we can.

Please note that providing as many details as possible is crucial to help us find and resolve the issue faster, while also getting you a fixed version ASAP.

βš–οΈ License

Sinytra Connector is, and will always remain, licensed under the MIT License. All files in this repository should be treated as such unless otherwise explicitly stated.

🀝 Contributing

Before you decide to make major changes, you might want to discuss them with us beforehand, so that you're not wasting your time. To submit your changes to the project, you can contribute via Pull-Request.

Here's a few tips to help get your PR approved:

  • A PR should be focused on content, rather than syntax changes.
  • Use the file you are editing as a style guide.
  • Make sure your feature isn't already in the works, or hasn't been rejected previously.

πŸ› οΈ Developer guide

If you're a mod developer and you'd like to run Connector in your dev environment, it is possible in just a few steps.

  1. You need to have MixinGradle installed for mixins to be remapped properly.
  2. Fabric mods must be in intermediary mappings at runtime.

Gradle Usage

repositories {
    maven {
        name = "Sinytra"
        url = "https://maven.su5ed.dev/releases"
    }
}
dependencies {
    // Add Connector to the launch classpath
    minecraftLibrary fg.deobf("dev.su5ed.sinytra:Connector:<version>")
    // Add FFAPI dependency (if required)
    runtimeOnly fg.deobf("dev.su5ed.sinytra.fabric-api:fabric-api:<version>")
    // Install desired Fabric mods 
    implementation "some.fabric:mod:<version>"
}
// Attach clean minecraft artifact path to runs, necessary for Connector to work
afterEvaluate {
    def cleanArtifactJar = Objects.requireNonNull(net.minecraftforge.gradle.common.util.MavenArtifactDownloader.generate(project, "net.minecraft:joined:${project.MCP_VERSION}:srg", true), "Cannot find clean minecraft artifact")
    minecraft.runs.configureEach {
        property("connector.clean.path", cleanArtifactJar)
    }
}

βš™οΈ Configuration

All information regarding Connector's configuration options can be found here.