Port to Architectury

Still need to figure out how to register built-in resource packs on forge
This commit is contained in:
Motschen
2022-11-02 18:21:21 +01:00
parent 9e5ff1cb94
commit 54e6d69456
36 changed files with 684 additions and 232 deletions

88
fabric/build.gradle Normal file
View File

@@ -0,0 +1,88 @@
plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
}
architectury {
injectInjectables = false
platformSetupLoomIde()
fabric()
}
loom {
}
repositories {
maven { url "https://api.modrinth.com/maven" }
}
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentFabric.extendsFrom common
}
dependencies {
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}"
// Remove the next line if you don't want to depend on the API
//modApi "dev.architectury:architectury-fabric:${rootProject.architectury_version}"
modImplementation "maven.modrinth:midnightlib:${rootProject.midnightlib_version}-fabric"
include "maven.modrinth:midnightlib:${rootProject.midnightlib_version}-fabric"
common(project(path: ":common", configuration: "namedElements")) { transitive false }
shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false }
common(project(path: ":fabric-like", configuration: "namedElements")) { transitive false }
shadowCommon(project(path: ":fabric-like", configuration: "transformProductionFabric")) { transitive false }
}
processResources {
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
shadowJar {
exclude "architectury.common.json"
configurations = [project.configurations.shadowCommon]
classifier "dev-shadow"
}
remapJar {
input.set shadowJar.archiveFile
dependsOn shadowJar
classifier null
}
jar {
classifier "dev"
}
sourcesJar {
def commonSources = project(":common").sourcesJar
dependsOn commonSources
from commonSources.archiveFile.map { zipTree(it) }
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
publishing {
publications {
mavenFabric(MavenPublication) {
artifactId = rootProject.archives_base_name + "-" + project.name
from components.java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
}
}

View File

@@ -0,0 +1,18 @@
package eu.midnightdust.cullleaves.fabric;
import eu.midnightdust.cullleaves.CullLeavesClient;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.util.Identifier;
public class CullLeavesClientFabric implements ClientModInitializer {
@Override
public void onInitializeClient() {
CullLeavesClient.onInitializeClient();
FabricLoader.getInstance().getModContainer("cullleaves").ifPresent(modContainer -> {
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("cullleaves:smartleaves"), modContainer, ResourcePackActivationType.NORMAL);
});
}
}

View File

@@ -0,0 +1,36 @@
{
"schemaVersion": 1,
"id": "cullleaves",
"version": "${version}",
"name": "Cull Leaves",
"description": "Adds culling to leaf blocks, providing a huge performance boost over vanilla.",
"authors": [
"Motschen",
"TeamMidnightDust"
],
"contact": {
"homepage": "https://www.midnightdust.eu/",
"sources": "https://github.com/TeamMidnightDust/CullLeaves",
"issues": "https://github.com/TeamMidnightDust/CullLeaves/issues"
},
"license": "MIT",
"icon": "assets/cullleaves/icon.png",
"environment": "client",
"entrypoints": {
"client": [
"eu.midnightdust.cullleaves.fabric.CullLeavesClientFabric"
]
},
"depends": {
"fabric-resource-loader-v0": "*",
"minecraft": ">=1.16"
},
"mixins": [
"cullleaves.mixins.json"
]
}