A minecraft mod that allows additional windows to be opened alongside the game

Overview

Breakout API

BreakoutAPI is a Minecraft mod which allows developers to create new windows that run alongside Minecraft. All the windows run on the same OpenGL context, so all the game assets and data is shared between them. With this library, you can create external GUIs, maps, inventory reports and much more - you could even render a portion of your Minecraft world from a different perspective, or split in-game GUIs between physical screens.

Using BreakoutAPI in your mod

To get started using BreaakoutAPI, add the following to your build.gradle file:

def lwjgl_version="3.2.2"
def breakoutapi_version="0a8061b"

repositories {
	mavenCentral()
	maven { url 'https://jitpack.io' }
}

dependencies {
	modCompile "com.github.raphydaphy:breakoutapi:$breakoutapi_version"

	implementation "org.lwjgl:lwjgl-nanovg:$lwjgl_version"
	runtimeOnly "org.lwjgl:lwjgl-nanovg:$lwjgl_version:natives-windows"
	runtimeOnly "org.lwjgl:lwjgl-nanovg:$lwjgl_version:natives-linux"
	runtimeOnly "org.lwjgl:lwjgl-nanovg:$lwjgl_version:natives-macos"

	implementation "org.lwjgl:lwjgl-yoga:$lwjgl_version"
	runtimeOnly "org.lwjgl:lwjgl-yoga:$lwjgl_version:natives-windows"
	runtimeOnly "org.lwjgl:lwjgl-yoga:$lwjgl_version:natives-linux"
	runtimeOnly "org.lwjgl:lwjgl-yoga:$lwjgl_version:natives-macos"
}

Once you have added the required dependencies to your project, you will need to create aa class which extends AbstractBreakout:

public class ExampleBreakout extends Breakout {

  public ExampleBreakout(Identifier identifier) {
    super(identifier, new BreakoutWindow("Example Breakout", 480, 720));
  }

  @Override
  public void render() {
    super.render();

    MinecraftClient client = MinecraftClient.getInstance();
    MatrixStack stack = new MatrixStack();

    client.getTextureManager().bindTexture(new Identifier("textures/block/azalea_leaves.png"));
    DrawableHelper.drawTexture(stack, 50, 250, 0, 0, 0, 180, 300, 32, 32);

    client.textRenderer.draw(stack, "Hello world!", 100 / 3f, 200 / 3f, 0);
  }
}

Once you have created the class, you can open and close the breakout using the methods provided in BreakoutAPIClient. The identifier is only used to keep track of an instance of a breakout, and it can be used to close or track it after creation.

Identifier id = new Identifier("your_mod_id", "your_first_breakout");
BreakoutAPIClient.openBreakout(id, new ExampleBreakout(id));
Comments
  • Im currently trying to port this to 1.17, and I get the following error. (Everything is ported, windows open and everything)

    Im currently trying to port this to 1.17, and I get the following error. (Everything is ported, windows open and everything)

    [17:03:46] [Render thread/INFO] (Minecraft) [STDOUT]: GL Error at stage before rendering breakouts: 1282
    [17:03:46] [Render thread/INFO] (Minecraft) [STDOUT]: GL Error at stage after rendering breakouts: 1282
    ... then logspam with ^
    

    My repo is temporadev/breakoutapi

    opened by ghost 2
  • Does not work in a production environment

    Does not work in a production environment

    Unfortunately, all the added libs would have to be added manually to the launcher. That's not really a good solution. Would it be possible to bundle them with BreakoutAPI? EDIT: This was tested with 1.0.0, I just saw that 1.0.1 has some changes related to this. Might already be fixed, but leaving this open until I have verified that

    opened by kb-1000 1
  • 1.16.4/5 Support

    1.16.4/5 Support

    Since 1.17 is still awhile away, it'd be nice to be able to make the mods available for 1.16. From my limited testing, it looks like it works fine. I had an issue with a native-backed texture not registering or binding, but I can't tell if that's from this, or from some change I need to make from going to the 1.17 snapshots to 1.16.4. And it's hard to test, because while I have successfully been able to compile this mod for 1.16.4 (only changing the fabric.mod.json), I'm having a hell of a time using the custom build in the dev environment for the mod that uses the api.

    opened by Minenash 1
  • Build failing when not being able to find repository

    Build failing when not being able to find repository

    I know, this seems to be a me problem, but I kind of need help in here

    Some info:

    • OS: Arch
    • Gradle V6.3

    build.gradle:

    plugins {
    	id 'fabric-loom' version '0.5-SNAPSHOT'
    	id 'maven-publish'
    }
    
    def joml_version="1.9.25"
    def cbchain_version="1.0.0"
    def commons_collections_version="4.1"
    def lwjgl_version="3.2.2"
    def breakoutapi_version="1.0.0"
    
    repositories {
    	mavenCentral()
    	maven { url "https://oss.sonatype.org/content/repositories/releases/" }
    	maven { url "https://raw.github.com/SpinyOwl/repo/releases" }
    	maven { url "https://minecraft.curseforge.com/api/maven"}
    }
    
    
    
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
    
    archivesBaseName = project.archives_base_name
    version = project.mod_version
    group = project.maven_group
    
    minecraft {
    }
    
    dependencies {
    	//to change the versions see the gradle.properties file
    	minecraft "com.mojang:minecraft:${project.minecraft_version}"
    	mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
    	modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
    
    	modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
    
    	compile "org.joml:joml:$joml_version"
    	compile "org.liquidengine:cbchain:$cbchain_version"
    	compile "org.apache.commons:commons-collections4:$commons_collections_version"
    
    	implementation "org.lwjgl:lwjgl-nanovg:$lwjgl_version"
    	runtimeOnly "org.lwjgl:lwjgl-nanovg:$lwjgl_version:natives-windows"
    	runtimeOnly "org.lwjgl:lwjgl-nanovg:$lwjgl_version:natives-linux"
    	runtimeOnly "org.lwjgl:lwjgl-nanovg:$lwjgl_version:natives-macos"
    
    	implementation "org.lwjgl:lwjgl-yoga:$lwjgl_version"
    	runtimeOnly "org.lwjgl:lwjgl-yoga:$lwjgl_version:natives-windows"
    	runtimeOnly "org.lwjgl:lwjgl-yoga:$lwjgl_version:natives-linux"
    	runtimeOnly "org.lwjgl:lwjgl-yoga:$lwjgl_version:natives-macos"
    
    	modCompile "breakoutapi:breakoutapi:$breakoutapi_version"
    }
    
    processResources {
    	inputs.property "version", project.version
    
    	from(sourceSets.main.resources.srcDirs) {
    		include "fabric.mod.json"
    		expand "version": project.version
    	}
    
    	from(sourceSets.main.resources.srcDirs) {
    		exclude "fabric.mod.json"
    	}
    }
    
    // ensure that the encoding is set to UTF-8, no matter what the system default is
    // this fixes some edge cases with special characters not displaying correctly
    // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
    tasks.withType(JavaCompile) {
    	options.encoding = "UTF-8"
    }
    
    // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
    // if it is present.
    // If you remove this task, sources will not be generated.
    task sourcesJar(type: Jar, dependsOn: classes) {
    	classifier = "sources"
    	from sourceSets.main.allSource
    }
    
    jar {
    	from "LICENSE"
    }
    
    // configure the maven publication
    publishing {
    	publications {
    		mavenJava(MavenPublication) {
    			// add all the jars that should be included when publishing to maven
    			artifact(jar) {
    				builtBy remapJar
    			}
    			artifact("${project.buildDir.absolutePath}/libs/${archivesBaseName}-${project.version}.jar"){
    				builtBy remapJar
    			}
    			artifact(sourcesJar) {
    				builtBy remapSourcesJar
    			}
    		}
    	}
    
    	// select the repositories you want to publish to
    	repositories {
    		// uncomment to publish to the local maven
    		// mavenLocal()
    	}
    }
    

    Error when trying to build:

    A problem occurred configuring root project 'TestMod'.
    > Could not resolve all dependencies for configuration ':modCompile'.
       > Could not find breakoutapi:breakoutapi-1.0.0:.
         Searched in the following locations:
           - file:/home/constantin/Desktop/Dev/JAVA/TestMod/build/loom-cache/breakoutapi-1.0.0.jar
           - file:/home/constantin/Desktop/Dev/JAVA/TestMod/.gradle/loom-cache/remapped_mods/breakoutapi-1.0.0.jar
           - file:/home/constantin/.gradle/caches/fabric-loom/1.16.5-mapped-net.fabricmc.yarn-1.16.5+build.3-v2/breakoutapi-1.0.0.jar
         Required by:
             project :
    
    Possible solution:
     - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
    

    I wasn't able to look into what IDEA sees when requesting the github packages, so I dont know what to import really.

    opened by ghost 1
  • Any chance of a 1.18 Update?

    Any chance of a 1.18 Update?

    I'm in the process of trying to update it myself, but my lack of knowledge of... well everything rendering, is making it something I'm not sure I can do

    opened by Minenash 0
  • Make a mod

    Make a mod

    I can see that the goal of this is to be a library for other mods, but how about making a mod out of this that detaches vanilla HUD to a window? So one could use a second screen just for the HUD for example.

    opened by Madis0 0
  • Error when trying to start client after import

    Error when trying to start client after import

    [21:54:10] [main/FATAL] (mixin) Mixin apply failed fabric-tool-attribute-api-v1.mixins.json:LivingEntityMixin -> net.minecraft.entity.LivingEntity: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @Inject annotation on storeRemoveStackContext could not find any targets matching 'Lnet/minecraft/entity/LivingEntity;method_30129()Ljava/util/Map;' in net.minecraft.entity.LivingEntity. Using refmap fabric-tool-attribute-api-v1-refmap.json [PREINJECT Applicator Phase -> fabric-tool-attribute-api-v1.mixins.json:LivingEntityMixin -> Prepare Injections ->  -> handler$zgc000$storeRemoveStackContext(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;Ljava/util/Map;[Lnet/minecraft/entity/EquipmentSlot;IILnet/minecraft/entity/EquipmentSlot;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V -> Parse]
    org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on storeRemoveStackContext could not find any targets matching 'Lnet/minecraft/entity/LivingEntity;method_30129()Ljava/util/Map;' in net.minecraft.entity.LivingEntity. Using refmap fabric-tool-attribute-api-v1-refmap.json [PREINJECT Applicator Phase -> fabric-tool-attribute-api-v1.mixins.json:LivingEntityMixin -> Prepare Injections ->  -> handler$zgc000$storeRemoveStackContext(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;Ljava/util/Map;[Lnet/minecraft/entity/EquipmentSlot;IILnet/minecraft/entity/EquipmentSlot;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V -> Parse]
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findMethods(InjectionInfo.java:572) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:288) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:275) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:267) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.injection.struct.CallbackInjectionInfo.<init>(CallbackInjectionInfo.java:46) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
    	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:78) ~[?:?]
    	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
    	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:140) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:624) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1247) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1033) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:388) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:320) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345) ~[sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:569) [sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351) [sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208) [sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178) [sponge-mixin-0.9.4+mixin.0.8.2.jar:0.9.4+mixin.0.8.2]
    	at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23) [fabric-loader-0.11.6.jar:0.9.4+mixin.0.8.2]
    	at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:162) [fabric-loader-0.11.6.jar:?]
    	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:154) [fabric-loader-0.11.6.jar:?]
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
    	at java.lang.ClassLoader.defineClass1(Native Method) [?:?]
    	at java.lang.ClassLoader.defineClass(ClassLoader.java:1010) [?:?]
    	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) [?:?]
    	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:170) [fabric-loader-0.11.6.jar:?]
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:519) [?:?]
    	at net.minecraft.client.main.Main.main(Main.java:122) [minecraft-1.17.1-mapped-net.fabricmc.yarn-1.17.1+build.32-v2.jar:?]
    	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
    	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    	at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
    	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234) [fabric-loader-0.11.6.jar:?]
    	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153) [fabric-loader-0.11.6.jar:?]
    	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.11.6.jar:?]
    	at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
    Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:236)
    	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
    	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
    	at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
    Caused by: java.lang.reflect.InvocationTargetException
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
    	... 3 more
    Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
    	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208)
    	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
    	at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
    	at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:162)
    	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:154)
    	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
    	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
    	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
    	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:170)
    	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
    	at net.minecraft.client.main.Main.main(Main.java:122)
    	... 8 more
    Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [fabric-tool-attribute-api-v1.mixins.json:LivingEntityMixin] from phase [DEFAULT] in config [fabric-tool-attribute-api-v1.mixins.json] FAILED during APPLY
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:642)
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:594)
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:356)
    	... 20 more
    Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on storeRemoveStackContext could not find any targets matching 'Lnet/minecraft/entity/LivingEntity;method_30129()Ljava/util/Map;' in net.minecraft.entity.LivingEntity. Using refmap fabric-tool-attribute-api-v1-refmap.json [PREINJECT Applicator Phase -> fabric-tool-attribute-api-v1.mixins.json:LivingEntityMixin -> Prepare Injections ->  -> handler$zgc000$storeRemoveStackContext(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;Ljava/util/Map;[Lnet/minecraft/entity/EquipmentSlot;IILnet/minecraft/entity/EquipmentSlot;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V -> Parse]
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findMethods(InjectionInfo.java:572)
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:288)
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:275)
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:267)
    	at org.spongepowered.asm.mixin.injection.struct.CallbackInjectionInfo.<init>(CallbackInjectionInfo.java:46)
    	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:78)
    	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
    	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:140)
    	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:624)
    	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1247)
    	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1033)
    	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:388)
    	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:320)
    	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345)
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:569)
    	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351)
    	... 20 more
    
    
    opened by LaxoLP 1
Releases(v1.0.4-21w08b)
Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cross-chatting between Minecraft and Discord.

DiscordSync Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cros

AeonLucid 4 Dec 20, 2022
A minecraft mod that allows using minecrafts structure block based test system

MC Tester Mod This mod allows using the automated structure based test system Mojang created for minecraft. The test system is only partially included

2No2Name 21 Nov 11, 2022
A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2_01 to Beta 1.7.3.

multiversion-fabric A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2

0n1 2 Mar 13, 2022
BetterBlockOutline - A client sided Minecraft mod that allows for ample customization of the block outline. Everything from color customization to debug information.

BetterBlockOutline BetterBlockOutline is a client sided Minecraft mod that allows for ample customization of the block outline. Everything from color

null 19 Nov 19, 2022
Minecraft mod which allows displaying your items to other players in chat.

Show Me What You Got Show Me What You Got is a Minecraft mod for Fabric. When added to the server, it allows players to display their items in chat by

null 5 Oct 24, 2022
A Fabric mod that allows using RakNet as Minecraft networking backend.

RaknetFabric A Fabric mod that allows using RakNet as Minecraft networking backend. Features Higher reliability and lower latency under unreliable and

null 75 Jan 3, 2023
Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server

Essentials Development Readme The official repository is at: https://github.com/essentials/Essentials We use NetBeans 7.3 for development. Recommended

Essentials 811 Jan 7, 2023
A Minecraft Mod i have been creating during and for my Facharbeit about Game-Modifications

TitanoMod-1.18.1 A Minecraft Mod i have been creating during and for my Facharbeit about Game-Modifications About The Project Built With FabricMC Mixi

null 1 Mar 30, 2022
Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2.

MinecraftSnake Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2. Installation: Create a paperm

null 1 Sep 30, 2022
An elegant Minecraft mod template for the Fabric mod loader

Fabric Example Mod Lorem ipsum dolor sit amet Example is a Minecraft mod that lorem ipsum dolor sit amet. Ut mi lectus, egestas a justo nec, hendrerit

Axieum 24 Dec 25, 2022
Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

David M. 3 Oct 21, 2022
A Fabric mod that allows for efficient connected textures

Continuity Continuity is a Fabric mod built around modern APIs to allow for the most efficient connected textures experience possible. It is designed

null 192 Jan 9, 2023
A simple forge mod which allows deepslate to be instamined

InstantDeepslate An extremely simple mod that allows you to instantly mine deepslate. This works by changing the blast resistance and break time value

null 2 Jan 26, 2022
A simple Serverside Fabric mod that allows you to assign commands to Item(Stacks)

Item Commander Shiny item do stuff A simple Serverside Fabric mod that allows you to assign commands to Item(Stacks). It works by adding NBT data to t

null 2 Feb 25, 2022
CustomHandGUI - This mod allows you to change hands position on screen

CustomHandGUI This mod allows you to change hands position on screen And you can change your main hand to be left hand! Keybindings: F - Swaps hands.

AqUpd 2 Apr 11, 2022
Minecraft Utility Mod for the latest release of Minecraft developed by Cypphi.

Minecraft Utility Mod for the latest release of Minecraft developed by Cypphi.

Haze 18 Jan 1, 2023
My Game Engine tested via my Cubecraft Game

My Game Engine tested via my Cubecraft Game Install: mvn -P {your OS name} clean install mvn -P mac clean install mvn -P linux clean install mvn -P wi

null 30 Oct 3, 2022
BattleShip-Game - This repository contains the code of the BattleShip (Bataille Navale) game programmed in Java.

Bataille Navale Auteur : SABIL Mohamed Amine Comment générer la documentation ? Placez vous dans le sous-dossier src : pour générer la documentation d

Mohamed Amine SABIL 1 Jan 4, 2022
Snake-Game - A simple snake game written in java.

What's this? A simple snake game written in java. How to play Download the latest release. Ensure that a compatible java runtime is installed (optimal

Patrick260 4 Oct 31, 2022