Port to 1.21 & Add NeoForge support

This commit is contained in:
Martin Prokoph
2024-06-17 14:55:41 +02:00
parent 6be616e91e
commit ecc50e77e2
102 changed files with 568 additions and 425 deletions

100
fabric/build.gradle Normal file
View File

@@ -0,0 +1,100 @@
plugins {
id 'com.github.johnrengelman.shadow'
id "me.shedaniel.unified-publishing"
}
repositories {
maven { url "https://maven.terraformersmc.com/releases" }
}
architectury {
platformSetupLoomIde()
fabric()
}
loom {
}
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin since it *excludes* files.
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentFabric.extendsFrom common
archivesBaseName = rootProject.archives_base_name + "-fabric"
}
dependencies {
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}"
common(project(path: ":common", configuration: "namedElements")) { transitive false }
shadowCommon(project(path: ":common", 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]
archiveClassifier = "dev-shadow"
}
remapJar {
input.set shadowJar.archiveFile
dependsOn shadowJar
}
sourcesJar {
def commonSources = project(":common").sourcesJar
dependsOn commonSources
from commonSources.archiveFile.map { zipTree(it) }
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
unifiedPublishing {
project {
displayName = "Better Beds $project.version - Fabric $project.minecraft_version"
releaseType = "$project.release_type"
changelog = releaseChangelog()
gameVersions = []
gameLoaders = ["fabric","quilt"]
mainPublication remapJar
relations {
depends {
curseforge = "fabric-api"
modrinth = "fabric-api"
}
}
var CURSEFORGE_TOKEN = project.findProperty("CURSEFORGE_TOKEN") ?: System.getenv("CURSEFORGE_TOKEN")
if (CURSEFORGE_TOKEN != null) {
curseforge {
token = CURSEFORGE_TOKEN
id = rootProject.curseforge_id
gameVersions.addAll "Java 21", project.minecraft_version
}
}
var MODRINTH_TOKEN = project.findProperty("MODRINTH_TOKEN") ?: System.getenv("MODRINTH_TOKEN")
if (MODRINTH_TOKEN != null) {
modrinth {
token = MODRINTH_TOKEN
id = rootProject.modrinth_id
version = "$project.version-$project.name"
gameVersions.addAll project.minecraft_version
}
}
}
}

View File

@@ -0,0 +1,15 @@
package eu.midnightdust.fabric.betterbeds;
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 BetterBedsFabric implements ClientModInitializer {
public void onInitializeClient() {
FabricLoader.getInstance().getModContainer("betterbeds").ifPresent(modContainer -> {
ResourceManagerHelper.registerBuiltinResourcePack(Identifier.of("betterbeds:fancyconnectedbeds"), modContainer, ResourcePackActivationType.NORMAL);
});
}
}

View File

@@ -0,0 +1,44 @@
{
"schemaVersion": 1,
"id": "betterbeds",
"version": "${version}",
"name": "Better Beds",
"description": "Changes the renderer of the bed to use block models instead of a block entity renderer!",
"authors": [
"Motschen",
"TeamMidnightDust"
],
"contact": {
"homepage": "https://www.midnightdust.eu/",
"sources": "https://github.com/TeamMidnightDust/BetterBeds",
"issues": "https://github.com/TeamMidnightDust/BetterBeds/issues"
},
"license": "MIT",
"icon": "assets/betterbeds/icon.png",
"environment": "client",
"entrypoints": {
"client": [
"eu.midnightdust.fabric.betterbeds.BetterBedsFabric"
]
},
"mixins": [
"betterbeds.mixins.json"
],
"depends": {
"fabric-api": "*",
"minecraft": ">=1.21"
},
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://discord.gg/jAGnWYHm3r"
}
}
}
}