Compare commits

...

2 Commits

Author SHA1 Message Date
Jason Penilla
81927092f1 Bump resource-factory 2025-05-14 09:08:26 -07:00
Jason Penilla
0f0da2998a Generate mod metadata files with resource factory instead of using processResources 2025-05-10 15:34:00 -07:00
5 changed files with 139 additions and 185 deletions

View File

@@ -4,6 +4,7 @@ plugins {
id("java-library") id("java-library")
id("net.neoforged.moddev") id("net.neoforged.moddev")
id("me.modmuss50.mod-publish-plugin") version "0.8.4" apply false id("me.modmuss50.mod-publish-plugin") version "0.8.4" apply false
id("xyz.jpenilla.resource-factory") version "1.3.0" apply false
} }
extensions.create("runConfigCommon", RunConfigCommon.class) extensions.create("runConfigCommon", RunConfigCommon.class)

View File

@@ -1,9 +1,11 @@
import java.util.stream.Collectors import java.util.stream.Collectors
import net.fabricmc.loom.util.gradle.SourceSetHelper import net.fabricmc.loom.util.gradle.SourceSetHelper
import xyz.jpenilla.resourcefactory.fabric.Environment
plugins { plugins {
id("quiet-fabric-loom") id("quiet-fabric-loom")
id 'maven-publish' id 'maven-publish'
id 'xyz.jpenilla.resource-factory-fabric-convention'
} }
dependencies { dependencies {
@@ -31,19 +33,6 @@ dependencies {
include fabricApiLibs.base include fabricApiLibs.base
} }
tasks.processResources {
def properties = [
"version": project.version,
"minecraft_version": minecraft_version,
"loader_version": loader_version,
"mod_version": mod_version
]
inputs.properties(properties)
filesMatching("fabric.mod.json") {
expand properties
}
}
tasks.shadowJar { tasks.shadowJar {
archiveClassifier = "dev-all" archiveClassifier = "dev-all"
destinationDirectory = layout.buildDirectory.dir("libs") destinationDirectory = layout.buildDirectory.dir("libs")
@@ -53,6 +42,72 @@ tasks.shadowJar {
relocate 'org.yaml.snakeyaml', 'ca.spottedleaf.moonrise.libs.org.yaml.snakeyaml' relocate 'org.yaml.snakeyaml', 'ca.spottedleaf.moonrise.libs.org.yaml.snakeyaml'
} }
fabricModJson {
id = "moonrise"
name = "Moonrise"
description = "Optimisation mod for the dedicated and integrated server."
author("Spottedleaf")
contact {
issues = "https://github.com/Tuinity/Moonrise/issues"
sources = "https://github.com/Tuinity/Moonrise"
extra.put("discord", "https://discord.gg/tuinity")
homepage = "https://www.curseforge.com/minecraft/mc-mods/moonrise"
}
breaks("notenoughcrashes")
breaks("starlight")
breaks("c2me")
license("GPL-3.0-only")
icon("assets/moonrise/icon.png")
environment = Environment.ANY
clientEntrypoint("ca.spottedleaf.moonrise.fabric.MoonriseFabricClient")
entrypoint("modmenu", "ca.spottedleaf.moonrise.fabric.MoonriseModMenuHook")
mixin("moonrise.mixins.json")
mixin("moonrise-fabric.mixins.json")
accessWidener = "moonrise.accesswidener"
depends("fabricloader", ">=${loader_version}")
depends("minecraft", ">1.21.4 <1.21.6")
depends("fabric-command-api-v2", "*")
custom.put(
"ferritecore:disabled_options",
simpleCustomValueList(String, ["replaceNeighborLookup", "replacePropertyMap"])
)
custom.put(
"lithium:options",
simpleCustomValueMap(
String,
Boolean,
[
"mixin.ai.poi": false,
"mixin.alloc.deep_passengers": false,
"mixin.alloc.entity_tracker": false,
"mixin.block.flatten_states": false,
"mixin.chunk.entity_class_groups": false,
"mixin.chunk.no_validation": false,
"mixin.collections.chunk_tickets": false,
"mixin.collections.entity_ticking": false,
"mixin.entity.collisions.intersection": false,
"mixin.entity.collisions.movement": false,
"mixin.entity.collisions.unpushable_cramming": false,
"mixin.entity.replace_entitytype_predicates": false,
"mixin.math.fast_blockpos": false,
"mixin.math.fast_util": false,
"mixin.minimal_nonvanilla.collisions.empty_space": false,
"mixin.minimal_nonvanilla.world.expiring_chunk_tickets": false,
"mixin.shapes.blockstate_cache": false,
"mixin.shapes.optimized_matching": false,
"mixin.shapes.specialized_shapes": false,
"mixin.util.block_tracking": false,
"mixin.util.entity_movement_tracking": false,
"mixin.world.block_entity_ticking": false,
"mixin.world.chunk_access": false,
"mixin.world.explosions.block_raycast": false,
"mixin.world.temperature_cache": false,
"mixin.world.tick_scheduler": false,
]
)
)
}
publishMods { publishMods {
file = remapJar.archiveFile file = remapJar.archiveFile
modLoaders = ["fabric"] modLoaders = ["fabric"]

View File

@@ -1,76 +0,0 @@
{
"schemaVersion": 1,
"id": "moonrise",
"version": "${version}",
"name": "Moonrise",
"description": "Optimisation mod for the dedicated and integrated server.",
"authors": [
"Spottedleaf"
],
"contact": {
"issues": "https://github.com/Tuinity/Moonrise/issues",
"sources": "https://github.com/Tuinity/Moonrise",
"discord": "https://discord.gg/tuinity",
"homepage": "https://www.curseforge.com/minecraft/mc-mods/moonrise"
},
"breaks": {
"notenoughcrashes": "*",
"starlight": "*",
"c2me": "*"
},
"license": "GPL-3.0-only",
"icon": "assets/moonrise/icon.png",
"environment": "*",
"entrypoints": {
"modmenu": [
"ca.spottedleaf.moonrise.fabric.MoonriseModMenuHook"
],
"client": [
"ca.spottedleaf.moonrise.fabric.MoonriseFabricClient"
]
},
"mixins": [
"moonrise.mixins.json",
"moonrise-fabric.mixins.json"
],
"accessWidener": "moonrise.accesswidener",
"depends": {
"fabricloader": ">=${loader_version}",
"minecraft": ">1.21.4 <1.21.6",
"fabric-command-api-v2": "*"
},
"custom": {
"lithium:options": {
"mixin.ai.poi": false,
"mixin.alloc.deep_passengers": false,
"mixin.alloc.entity_tracker": false,
"mixin.block.flatten_states": false,
"mixin.chunk.entity_class_groups": false,
"mixin.chunk.no_validation": false,
"mixin.collections.chunk_tickets": false,
"mixin.collections.entity_ticking": false,
"mixin.entity.collisions.intersection": false,
"mixin.entity.collisions.movement": false,
"mixin.entity.collisions.unpushable_cramming": false,
"mixin.entity.replace_entitytype_predicates": false,
"mixin.math.fast_blockpos": false,
"mixin.math.fast_util": false,
"mixin.minimal_nonvanilla.collisions.empty_space": false,
"mixin.minimal_nonvanilla.world.expiring_chunk_tickets": false,
"mixin.shapes.blockstate_cache": false,
"mixin.shapes.optimized_matching": false,
"mixin.shapes.specialized_shapes": false,
"mixin.util.block_tracking": false,
"mixin.util.entity_movement_tracking": false,
"mixin.world.block_entity_ticking": false,
"mixin.world.chunk_access": false,
"mixin.world.explosions.block_raycast": false,
"mixin.world.temperature_cache": false,
"mixin.world.tick_scheduler": false
},
"ferritecore:disabled_options": [
"replaceNeighborLookup",
"replacePropertyMap"
]
}
}

View File

@@ -5,6 +5,7 @@ import net.neoforged.moddevgradle.internal.RunGameTask
plugins { plugins {
id("net.neoforged.moddev") id("net.neoforged.moddev")
id 'maven-publish' id 'maven-publish'
id 'xyz.jpenilla.resource-factory-neoforge-convention'
} }
repositories { repositories {
@@ -57,18 +58,6 @@ dependencies {
jarJar "me.shedaniel.cloth:cloth-config-neoforge:${rootProject.cloth_version}" jarJar "me.shedaniel.cloth:cloth-config-neoforge:${rootProject.cloth_version}"
} }
tasks.processResources {
def properties = [
"version": project.version,
"minecraft_version": minecraft_version,
"mod_version": mod_version
]
inputs.properties(properties)
filesMatching("META-INF/neoforge.mods.toml") {
expand properties
}
}
tasks.jar { tasks.jar {
archiveClassifier = "dev" archiveClassifier = "dev"
} }
@@ -94,6 +83,75 @@ tasks.assemble {
dependsOn tasks.productionJar dependsOn tasks.productionJar
} }
neoForgeModsToml {
license = "GPLv3"
issueTrackerUrl = "https://github.com/Tuinity/Moonrise"
showAsResourcePack = false
mods.register("moonrise") {
setConventionsFromProjectMeta(project)
displayName = "Moonrise"
displayUrl = "https://github.com/Tuinity/Moonrise"
authors = "Spottedleaf"
description = "Optimisation mod for the dedicated and integrated server."
logoFile = "assets/moonrise/icon.png"
custom.put(
"ferritecore:disabled_options",
simpleCustomValueList(String, ["replaceNeighborLookup", "replacePropertyMap"])
)
dependencies {
required("neoforge", "[21.5,)")
required("minecraft", "1.21.5")
incompatible("notenoughcrashes")
incompatible("starlight")
incompatible("c2me")
}
}
mixins(
"moonrise.mixins.json",
"moonrise-neoforge.mixins.json"
)
custom.put(
"lithium:options",
simpleCustomValueMap(
String,
Boolean,
[
"mixin.ai.poi": false,
"mixin.alloc.deep_passengers": false,
"mixin.alloc.entity_tracker": false,
"mixin.block.flatten_states": false,
"mixin.chunk.entity_class_groups": false,
"mixin.chunk.no_validation": false,
"mixin.collections.chunk_tickets": false,
"mixin.collections.entity_ticking": false,
"mixin.entity.collisions.intersection": false,
"mixin.entity.collisions.movement": false,
"mixin.entity.collisions.unpushable_cramming": false,
"mixin.entity.replace_entitytype_predicates": false,
"mixin.math.fast_blockpos": false,
"mixin.math.fast_util": false,
"mixin.minimal_nonvanilla.collisions.empty_space": false,
"mixin.minimal_nonvanilla.world.expiring_chunk_tickets": false,
"mixin.shapes.blockstate_cache": false,
"mixin.shapes.optimized_matching": false,
"mixin.shapes.specialized_shapes": false,
"mixin.util.block_tracking": false,
"mixin.util.entity_movement_tracking": false,
"mixin.world.block_entity_ticking": false,
"mixin.world.chunk_access": false,
"mixin.world.explosions.block_raycast": false,
"mixin.world.temperature_cache": false,
"mixin.world.tick_scheduler": false,
]
)
)
}
publishMods { publishMods {
file = productionJar.archiveFile file = productionJar.archiveFile
modLoaders = ["neoforge"] modLoaders = ["neoforge"]

View File

@@ -1,84 +0,0 @@
modLoader = "javafml"
loaderVersion = "[1,)"
license = "GPLv3"
issueTrackerURL = "https://github.com/Tuinity/Moonrise"
showAsResourcePack = false
logoFile = "assets/moonrise/icon.png"
[[mods]]
modId = "moonrise"
version = "${version}"
displayName = "Moonrise"
displayURL = "https://github.com/Tuinity/Moonrise"
authors = "Spottedleaf"
description = "Optimisation mod for the dedicated and integrated server."
displayTest = "IGNORE_ALL_VERSION"
"ferritecore:disabled_options" = [
"replaceNeighborLookup",
"replacePropertyMap"
]
[[dependencies.moonrise]]
modId = "neoforge"
type = "required"
versionRange = "[21.0,)"
ordering = "NONE"
side = "BOTH"
[[dependencies.moonrise]]
modId = "minecraft"
type = "required"
versionRange = "(1.21.4,1.21.6)"
ordering = "NONE"
side = "BOTH"
[[dependencies.moonrise]]
modId = "notenoughcrashes"
type = "incompatible"
[[dependencies.moonrise]]
modId = "starlight"
type = "incompatible"
[[dependencies.moonrise]]
# unofficial lithium port
modId = "canary"
type = "incompatible"
[[dependencies.moonrise]]
modId = "c2me"
type = "incompatible"
[[mixins]]
config = "moonrise.mixins.json"
[[mixins]]
config = "moonrise-neoforge.mixins.json"
["lithium:options"]
"mixin.ai.poi" = false
"mixin.alloc.deep_passengers" = false
"mixin.alloc.entity_tracker" = false
"mixin.block.flatten_states" = false
"mixin.chunk.entity_class_groups" = false
"mixin.chunk.no_validation" = false
"mixin.collections.chunk_tickets" = false
"mixin.collections.entity_ticking" = false
"mixin.entity.collisions.intersection" = false
"mixin.entity.collisions.movement" = false
"mixin.entity.collisions.unpushable_cramming" = false
"mixin.entity.replace_entitytype_predicates" = false
"mixin.math.fast_blockpos" = false
"mixin.math.fast_util" = false
"mixin.minimal_nonvanilla.collisions.empty_space" = false
"mixin.minimal_nonvanilla.world.expiring_chunk_tickets" = false
"mixin.shapes.blockstate_cache" = false
"mixin.shapes.optimized_matching" = false
"mixin.shapes.specialized_shapes" = false
"mixin.util.block_tracking" = false
"mixin.util.entity_movement_tracking" = false
"mixin.world.block_entity_ticking" = false
"mixin.world.chunk_access" = false
"mixin.world.explosions.block_raycast" = false
"mixin.world.temperature_cache" = false
"mixin.world.tick_scheduler" = false