Skip to content

Commit

Permalink
Initial 1.21 port
Browse files Browse the repository at this point in the history
TODO: Reconsider the current (dogshit) implementation for the ME Source Jar
  • Loading branch information
62832 committed Oct 14, 2024
1 parent 8500ee3 commit 5b4771c
Show file tree
Hide file tree
Showing 124 changed files with 1,887 additions and 1,514 deletions.
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,4 @@ build
# other
eclipse
run
src/generated

# Files from Forge MDK
forge*changelog.txt
.directory
131 changes: 37 additions & 94 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,58 +1,21 @@
plugins {
eclipse
idea
alias(libs.plugins.neogradle)
alias(libs.plugins.mixin)
alias(libs.plugins.parchment)
alias(libs.plugins.spotless)
id("net.neoforged.moddev")
id("com.diffplug.spotless")
}

val modId = "arseng"

base.archivesName = modId
version = System.getenv("ARSENG_VERSION") ?: "0.0.0"
group = "gripe.90"
base.archivesName.set(modId)

java.toolchain.languageVersion.set(JavaLanguageVersion.of(17))
java.toolchain.languageVersion = JavaLanguageVersion.of(21)

repositories {
mavenLocal()
mavenCentral()

maven {
name = "ModMaven (K4U-NL)"
url = uri("https://modmaven.dev/")
content {
includeGroup("appeng")
includeGroup("top.theillusivec4.curios")
includeGroup("mezz.jei")
}
}

maven {
name = "BlameJared"
url = uri("https://maven.blamejared.com")
content {
includeGroup("com.hollingsworth.ars_nouveau")
includeGroup("vazkii.patchouli")
}
}

maven {
name = "CurseMaven"
url = uri("https://cursemaven.com")
content {
includeGroup("curse.maven")
}
}

maven {
name = "GeckoLib"
url = uri("https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/")
content {
includeGroup("software.bernie.geckolib")
}
}
dependencies {
implementation(libs.ae2)
implementation(libs.ars)
}

sourceSets {
Expand All @@ -67,83 +30,63 @@ sourceSets {
}
}

minecraft {
mappings("parchment", "2023.09.03-1.20.1")
copyIdeResources.set(true)
neoForge {
version = libs.versions.neoforge.get()

parchment {
// minecraftVersion = libs.versions.minecraft.get()
minecraftVersion = "1.21"
mappingsVersion = libs.versions.parchment.get()
}

mods {
create(modId) {
sourceSet(sourceSets.main.get())
sourceSet(sourceSets.getByName("data"))
}
}

runs {
configureEach {
workingDirectory(project.file("run"))
property("forge.logging.markers", "REGISTRIES")
property("forge.logging.console.level", "debug")

mods {
create(modId) {
source(sourceSets.main.get())
}
}
gameDirectory = file("run")
}

create("client")
create("client") {
client()
}

create("server") {
workingDirectory(file("run/server"))
server()
gameDirectory = file("run/server")
}

create("data") {
args(
data()
programArguments.addAll(
"--mod", modId,
"--all",
"--output", file("src/generated/resources/"),
"--existing", file("src/main/resources/"))

mods {
getByName(modId) {
source(sourceSets.getByName("data"))
}
}
"--output", file("src/generated/resources/").absolutePath,
"--existing", file("src/main/resources/").absolutePath,
"--existing-mod", "ae2",
"--existing-mod", "ars_nouveau"
)
sourceSet = sourceSets.getByName("data")
}
}
}

dependencies {
minecraft(libs.forge)
annotationProcessor(variantOf(libs.mixin) { classifier("processor") })

implementation(fg.deobf(libs.ae2.get()))
implementation(fg.deobf(libs.ars.get()))

implementation(fg.deobf(libs.geckolib.get()))
runtimeOnly(fg.deobf(libs.mixin.extras.get()))
runtimeOnly(fg.deobf(libs.curios.get()))
runtimeOnly(fg.deobf(libs.patchouli.get()))
implementation(fg.deobf(libs.aecapfix.get()))

runtimeOnly(fg.deobf(libs.jei.get()))
runtimeOnly(fg.deobf(libs.jade.get()))
}

mixin {
add(sourceSets.main.get(), "$modId.refmap.json")
config("$modId.mixins.json")
}

tasks {
processResources {
exclude("**/.cache")

val props = mapOf("version" to version)
inputs.properties(props)

filesMatching("META-INF/mods.toml") {
filesMatching("META-INF/neoforge.mods.toml") {
expand(props)
}
}

jar {
finalizedBy("reobfJar")
}

withType<JavaCompile> {
options.encoding = "UTF-8"
}
Expand Down
111 changes: 86 additions & 25 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,38 +1,99 @@
pluginManagement {
repositories {
maven { url = uri("https://maven.neoforged.net/") }
maven { url = uri("https://maven.parchmentmc.org") }
gradlePluginPortal()
plugins {
id("net.neoforged.moddev") version "1.0.14"
id("net.neoforged.moddev.repositories") version "1.0.14"
id("com.diffplug.spotless") version "6.25.0"
}
}

dependencyResolutionManagement {
versionCatalogs {
create("libs") {
plugin("neogradle", "net.neoforged.gradle").version("6.0.21")
plugin("mixin", "org.spongepowered.mixin").version("0.7.+")
plugin("parchment", "org.parchmentmc.librarian.forgegradle").version("1.+")
plugin("spotless", "com.diffplug.spotless").version("6.22.0")
plugins {
id("net.neoforged.moddev.repositories")
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
}

run {
@Suppress("UnstableApiUsage")
dependencyResolutionManagement {
repositoriesMode = RepositoriesMode.PREFER_SETTINGS
rulesMode = RulesMode.PREFER_SETTINGS

repositories {
mavenCentral()

maven {
name = "ModMaven (K4U-NL)"
url = uri("https://modmaven.dev/")
content {
includeGroup("appeng")
includeGroup("mezz.jei")
}
}

maven {
name = "BlameJared"
url = uri("https://maven.blamejared.com")
content {
includeGroup("com.hollingsworth.ars_nouveau")
includeGroup("vazkii.patchouli")
}
}

val minecraftVersion = "1.20.1"
maven {
name = "CurseMaven"
url = uri("https://cursemaven.com")
content {
includeGroup("curse.maven")
}
}

library("forge", "net.neoforged", "forge").version("$minecraftVersion-47.1.54")
library("mixin", "org.spongepowered", "mixin").version("0.8.5")
maven {
name = "GeckoLib"
url = uri("https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/")
content {
includeGroup("software.bernie.geckolib")
}
}

maven {
name = "Illusive Soulworks"
url = uri("https://maven.theillusivec4.top/")
content {
includeGroup("com.illusivesoulworks.caelus")
}
}

maven {
name = "Minecraft Forge"
url = uri("https://maven.minecraftforge.net/")
content {
includeGroup("com.github.glitchfiend")
}
}

maven {
name = "OctoStudios"
url = uri("https://maven.octo-studios.com/releases")
content {
includeGroup("top.theillusivec4.curios")
}
}
}

version("ae2", "15.2.1")
library("ae2", "appeng", "appliedenergistics2-forge").versionRef("ae2")
library("aecapfix", "curse.maven", "aecapfix-914685").version("5017517")
versionCatalogs {
create("libs") {
val mc = "1.21.1"
version("minecraft", mc)

version("ars", "4.12.1.209")
library("ars", "com.hollingsworth.ars_nouveau", "ars_nouveau-$minecraftVersion").versionRef("ars")
val nf = mc.substringAfter('.')
version("neoforge", "${nf + (if (!nf.contains('.')) ".0" else "")}.62")
version("parchment", "2024.07.28")

library("geckolib", "software.bernie.geckolib", "geckolib-forge-$minecraftVersion").version("4.2.1")
library("mixin-extras", "io.github.llamalad7", "mixinextras-forge").version("0.3.6")
library("curios", "top.theillusivec4.curios", "curios-forge").version("5.2.0-beta.3+$minecraftVersion")
library("patchouli", "vazkii.patchouli", "Patchouli").version("$minecraftVersion-81-FORGE")
version("ae2", "19.0.23-beta")
library("ae2", "appeng", "appliedenergistics2").versionRef("ae2")

library("jei", "mezz.jei", "jei-$minecraftVersion-forge").version("15.2.0.25")
library("jade", "curse.maven", "jade-324717").version("4681833")
version("ars", "5.1.0.736")
library("ars", "com.hollingsworth.ars_nouveau", "ars_nouveau-1.21.0").versionRef("ars")
}
}
}
}
15 changes: 7 additions & 8 deletions src/data/java/gripe/_90/arseng/data/ArsEngDataGenerators.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
import net.minecraft.data.loot.LootTableProvider;
import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.data.event.GatherDataEvent;

import gripe._90.arseng.ArsEnergistique;

@SuppressWarnings("unused")
@Mod.EventBusSubscriber(modid = ArsEnergistique.MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
@EventBusSubscriber(modid = ArsEnergistique.MODID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public final class ArsEngDataGenerators {
@SubscribeEvent
public static void onGatherData(GatherDataEvent event) {
Expand All @@ -26,18 +26,17 @@ public static void onGatherData(GatherDataEvent event) {
pack.addProvider(output -> new ItemModelProvider(output, existing));
pack.addProvider(output -> new BlockStateModelProvider(output, existing));

pack.addProvider(RecipeProvider::new);
pack.addProvider(LocalisationProvider::new);

pack.addProvider(g -> new DocumentationProvider(event.getGenerator()));
pack.addProvider(g -> new EnchantingRecipeProvider(event.getGenerator()));
pack.addProvider(g -> new GolemRecipeProvider(event.getGenerator()));

var registries = CompletableFuture.supplyAsync(VanillaRegistries::createLookup, Util.backgroundExecutor());
var blockTags = pack.addProvider(output -> new TagsProvider.Blocks(output, registries));
pack.addProvider(output -> new TagsProvider.Items(output, registries, blockTags.contentsGetter()));
pack.addProvider(output -> new RecipeProvider(output, registries));

var blockDrops = new LootTableProvider.SubProviderEntry(BlockDropProvider::new, LootContextParamSets.BLOCK);
pack.addProvider(output -> new LootTableProvider(output, Set.of(), List.of(blockDrops)));
pack.addProvider(output -> new LootTableProvider(output, Set.of(), List.of(blockDrops), registries));
}
}
5 changes: 3 additions & 2 deletions src/data/java/gripe/_90/arseng/data/BlockDropProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import org.jetbrains.annotations.NotNull;

import net.minecraft.core.HolderLookup;
import net.minecraft.data.loot.BlockLootSubProvider;
import net.minecraft.world.flag.FeatureFlags;
import net.minecraft.world.level.block.Block;
Expand All @@ -18,8 +19,8 @@
import gripe._90.arseng.definition.ArsEngBlocks;

public class BlockDropProvider extends BlockLootSubProvider {
protected BlockDropProvider() {
super(Set.of(), FeatureFlags.DEFAULT_FLAGS);
protected BlockDropProvider(HolderLookup.Provider registries) {
super(Set.of(), FeatureFlags.DEFAULT_FLAGS, registries);
}

@Override
Expand Down
Loading

0 comments on commit 5b4771c

Please sign in to comment.