GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ShayBox/ExampleMod: Forge 1.12 + FG3/6 + Mixins 0.8

This repository was archived by the owner on Feb 27, 2026. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

2 Commits
2 Commits

Folders and files

NameName
Last commit message
Last commit date
gradle/wrapper
gradle/wrapper
 
 
logs
logs
 
 
src/main
src/main
 
 
.gitignore
.gitignore
 
 
CREDITS.txt
CREDITS.txt
 
 
LICENSE-Paulscode IBXM Library.txt
LICENSE-Paulscode IBXM Library.txt
 
 
LICENSE-Paulscode SoundSystem CodecIBXM.txt
LICENSE-Paulscode SoundSystem CodecIBXM.txt
 
 
LICENSE.txt
LICENSE.txt
 
 
README.md
README.md
 
 
build.gradle
build.gradle
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 

Repository files navigation

Forge 1.12 + FG3 + Mixins 0.8.2

Update: Forge 1.12 + FG6 + Mixins 0.8.5

build.gradle

buildscript {
    repositories {
        maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
    }
    dependencies {
        classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT'
    }
}

apply plugin: 'org.spongepowered.mixin'

minecraft {
    runs {
        client {
            jvmArg "-Dfml.coreMods.load=com.example.examplemod.LoadingPlugin"
        }

        server {
            jvmArg "-Dfml.coreMods.load=com.example.examplemod.LoadingPlugin"
        }
    }
}

repositories {
    maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
}

dependencies {
    compile "org.spongepowered:mixin:0.8.2"
}

jar {
    from {
        configurations.compile
                .filter { "mixin-0.8.2.jar" == it.name }
                .collect { it.isDirectory() ? it : zipTree(it) }
    } {
        exclude "LICENSE.txt", "META-INF/MANIFSET.MF", "META-INF/maven/**", "META-INF/*.RSA", "META-INF/*.SF"
    }

    manifest {
        attributes([
                "FMLCorePluginContainsFMLMod": true,
                "ForceLoadAsMod"             : true,
                "MixinConfigs"               : "mixin.examplemod.json",
                "TweakClass"                 : "org.spongepowered.asm.launch.MixinTweaker",
                "TweakOrder"                 : 0
        ])
    }
}

resources/mixin.examplemod.json

{
  "compatibilityLevel": "JAVA_8",
  "package": "com.example.examplemod.mixin",
  "mixins": [
    "GuiMainMenuMixin"
  ]
}

com.example.examplemod.LoadingPlugin

package com.example.examplemod;

import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;
import org.spongepowered.asm.launch.MixinBootstrap;
import org.spongepowered.asm.mixin.Mixins;

import javax.annotation.Nullable;
import java.util.Map;

public class LoadingPlugin implements IFMLLoadingPlugin {

    public LoadingPlugin() {
        MixinBootstrap.init();
        Mixins.addConfiguration("mixin.examplemod.json");
    }

    @Override
    public String[] getASMTransformerClass() {
        return new String[0];
    }

    @Override
    public String getModContainerClass() {
        return null;
    }

    @Nullable
    @Override
    public String getSetupClass() {
        return null;
    }

    @Override
    public void injectData(Map<String, Object> data) {

    }

    @Override
    public String getAccessTransformerClass() {
        return null;
    }

}

com.example.examplemod.mixin.GuiMainMenuMixin

package com.example.examplemod.mixin;

import net.minecraft.client.gui.GuiMainMenu;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(GuiMainMenu.class)
public class GuiMainMenuMixin {

    @Inject(at = @At("HEAD"), method = "initGui")
    public void initGui(CallbackInfo ci) {
        System.out.println("Hello from GuiMainMenu!");
    }

}

About

Forge 1.12 + FG3/6 + Mixins 0.8

Topics

forgegradlejavaminecraftmixinmixinsspongepowered

Resources

Readme
Activity

Stars

8 stars

Watchers

1 watching

Forks

2 forks
Report repository

Sponsor this project

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.