badpackets icon indicating copy to clipboard operation
badpackets copied to clipboard

multiplatform packet api

bad packets 3

Bad packets allows packet messaging between multiple modding platforms.

This means a Fabric client version of a mod that uses Bad Packets can send a packet to a server that uses the Forge version and vice versa.

This mod DOES NOT magically make all mods that have versions for different platforms to be compatible with each other, the developer needs to use BP's API to send its packet. Even then there are more complicated things like game object id sync that this mod doesn't handle which makes it unrealistic to support in the first place.

Project Setup

repositories {
    maven {
        url "https://maven2.bai.lol"
        content {
            includeGroup "lol.bai"
        }
    }
}

Fabric

dependencies {
    modImplementation "lol.bai:badpackets:fabric-${badpackets_version}"
}

Forge

buildscript {
    dependencies {
        classpath "org.spongepowered:mixingradle:0.7.+"
    }
}

apply plugin: "org.spongepowered.mixin"

dependencies {
    implementation fg.deobf("lol.bai:badpackets:forge-${badpackets_version}")
}

Architectury

Common

dependencies {
    modCompileOnly "lol.bai:badpackets:fabric-${badpackets_version}"
}

Fabric

dependencies {
    modRuntimeOnly "lol.bai:badpackets:fabric-${badpackets_version}"
}

Forge

dependencies {
    modRuntimeOnly "lol.bai:badpackets:forge-${badpackets_version}"
}

Sponge VanillaGradle based multiplatform

Common

dependencies {
    compileOnly "lol.bai:badpackets:mojmap-${badpackets_version}"
}

Fabric

dependencies {
    modRuntimeOnly "lol.bai:badpackets:fabric-${badpackets_version}"
}

Forge

buildscript {
    dependencies {
        classpath "org.spongepowered:mixingradle:0.7.+"
    }
}

apply plugin: "org.spongepowered.mixin"

dependencies {
    runtimeOnly fg.deobf("lol.bai:badpackets:forge-${badpackets_version}")
}