Phase 0: scaffold Gradle multi-project mod skeleton

common/ (shared source) plus three leaf modules: forge-1_12_2 (primary,
Enigmatica 2 target) and forge-1_7_10 both build via anatawa12's
Gradle-7-compatible ForgeGradle 1.2/2.3 forks (verified: both leaves build
clean on Gradle 7.6 / JDK 8). neoforge-26_1 is structurally scaffolded but
excluded from the default build pending its own toolchain in Phase 10.
This commit is contained in:
2026-08-08 14:10:01 +02:00
commit 621ea7c10d
26 changed files with 925 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
buildscript {
repositories {
mavenCentral()
maven { url = 'https://maven.minecraftforge.net/' }
}
dependencies {
classpath('com.anatawa12.forge:ForgeGradle:2.3-1.0.+') {
changing = true
}
}
}
// Legacy ForgeGradle 2.3, via anatawa12's modern-Gradle-compatible fork of the official
// FG_2.3 branch (net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT doesn't resolve anymore
// and the official plugin never supported Gradle 7+ anyway). See THIRD_PARTY_NOTICES.md.
apply plugin: 'net.minecraftforge.gradle.forge'
sourceCompatibility = targetCompatibility = '1.8'
compileJava.options.encoding = 'UTF-8'
// Pull in the shared common/ source directly — see common/README.md for why it's not a
// compiled dependency.
sourceSets {
main {
java {
srcDir '../common/src/main/java'
}
}
}
minecraft {
version = "${project.minecraft_1_12_2_version}-${project.forge_1_12_2_version}"
runDir = "run"
mappings = project.mcp_1_12_2_mappings
}
dependencies {
}
@@ -0,0 +1,25 @@
package com.octoturge.mcmapper.forge1122;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* Entry point for the 1.12.2 leaf — the primary/first-implemented target (Enigmatica 2).
* Phase 0 scaffolding only: connection, delta capture, chat bridge and link-command wiring
* land in Phase 1, built on the {@code common} interfaces via a 1.12.2 {@code ChunkAdapter}
* and {@code ChatBridge} implementation (not yet present in this package).
*/
@Mod(modid = MCMapperMod.MOD_ID, name = "MCMapper", version = MCMapperMod.VERSION)
public class MCMapperMod {
public static final String MOD_ID = "mcmapper";
public static final String VERSION = "0.1.0-SNAPSHOT";
private static final Logger LOGGER = LogManager.getLogger(MOD_ID);
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
LOGGER.info("MCMapper (1.12.2 leaf) scaffolding loaded — no-op until Phase 1");
}
}
@@ -0,0 +1,15 @@
[
{
"modid": "mcmapper",
"name": "MCMapper",
"description": "Thin delta-streaming client for the MCMapper web map backend.",
"version": "${version}",
"mcversion": "1.12.2",
"url": "https://git.octoturge.com/octoturge/MCMapper-Mod",
"authorList": ["Octoturge"],
"credits": "",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]