mirror of
https://github.com/Pridecraft-Studios/joy.git
synced 2025-08-03 06:26:00 -04:00
Setup Gradle
This commit is contained in:
parent
9fb992f7af
commit
aa372ee303
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -1 +1,3 @@
|
||||
/gradlew text eol=lf
|
||||
*.bat text eol=crlf
|
||||
* text=auto
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -41,5 +41,5 @@ replay_*.log
|
||||
|
||||
# custom
|
||||
|
||||
src/main/generated/.cache
|
||||
src/main/generated
|
||||
.local/
|
||||
|
13
README.md
13
README.md
@ -1,10 +1,19 @@
|
||||
# Joy
|
||||
|
||||
Joy is a work in progress mod for Minecraft: Java Edition made by Pridecraft Studios.
|
||||
|
||||
## What's in it?
|
||||
Currently, nothing, but we plan to add everything from PridePack, as their own things to go *with* the vanilla game instead of replacing them, along wtih a few exclusive features.
|
||||
|
||||
Currently, nothing, but we plan to add everything from PridePack, as their own things to go *with* the vanilla game
|
||||
instead of replacing them, along wtih a few exclusive features.
|
||||
|
||||
## How do I get it?
|
||||
You either compile it from source, like you would compile any other Fabric/Quilt mod, or you check on the releases tab for pre-releases.
|
||||
|
||||
You either compile it from source, like you would compile any other Fabric/Quilt mod, or you check on the releases tab
|
||||
for pre-releases.
|
||||
|
||||
## When are you making this?
|
||||
|
||||
Sometime between ``December 31, 1969 9:00 PM`` and ``November 16, 5138 6:46 AM``
|
||||
|
||||
## Licensing
|
||||
|
146
build.gradle.kts
146
build.gradle.kts
@ -1,88 +1,22 @@
|
||||
plugins {
|
||||
java
|
||||
id("fabric-loom") version "1.7-SNAPSHOT"
|
||||
alias(libs.plugins.loom)
|
||||
alias(libs.plugins.minotaur)
|
||||
}
|
||||
|
||||
class ModInfo {
|
||||
val id = property("mod.id").toString()
|
||||
val group = property("mod.group").toString()
|
||||
val version = property("mod.version").toString()
|
||||
}
|
||||
|
||||
class Dependencies {
|
||||
val minecraft = property("deps.minecraft").toString()
|
||||
val loader = property("deps.loader").toString()
|
||||
val yarn = property("deps.yarn").toString()
|
||||
|
||||
val fabricApi = property("deps.fabricapi").toString()
|
||||
val mavApi = property("deps.mavapi").toString()
|
||||
val midnightLib = property("deps.midnightlib").toString()
|
||||
val badgesLib = property("deps.badgeslib").toString()
|
||||
}
|
||||
|
||||
val mod = ModInfo()
|
||||
val deps = Dependencies()
|
||||
|
||||
version = mod.version
|
||||
group = mod.group
|
||||
|
||||
base.archivesName = "${mod.id}-${mod.version}"
|
||||
val id: String by project
|
||||
|
||||
loom {
|
||||
splitEnvironmentSourceSets()
|
||||
mods.create(mod.id) {
|
||||
sourceSet(sourceSets.getByName("main"))
|
||||
sourceSet(sourceSets.getByName("client"))
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://maven.terraformersmc.com/")
|
||||
maven("https://api.modrinth.com/maven")
|
||||
maven("https://maven.bawnorton.com/releases")
|
||||
}
|
||||
|
||||
fabricApi {
|
||||
configureDataGeneration()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
minecraft("com.mojang:minecraft:${deps.minecraft}")
|
||||
mappings("net.fabricmc:yarn:${deps.yarn}:v2")
|
||||
modImplementation("net.fabricmc:fabric-loader:${deps.loader}")
|
||||
|
||||
modImplementation("net.fabricmc.fabric-api:fabric-api:${deps.fabricApi}")
|
||||
modImplementation("maven.modrinth:mavapi:${deps.mavApi}")
|
||||
modImplementation("maven.modrinth:midnightlib:${deps.midnightLib}")
|
||||
|
||||
annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-fabric:0.2.0")
|
||||
include("com.github.bawnorton.mixinsquared:mixinsquared-fabric:0.2.0")
|
||||
implementation("com.github.bawnorton.mixinsquared:mixinsquared-fabric:0.2.0")
|
||||
|
||||
include("maven.modrinth:modmenu-badges-lib:${deps.badgesLib}")
|
||||
modImplementation("maven.modrinth:modmenu-badges-lib:${deps.badgesLib}")
|
||||
}
|
||||
|
||||
tasks.processResources {
|
||||
inputs.property("id", mod.id)
|
||||
inputs.property("version", mod.version)
|
||||
inputs.property("loader_version", deps.loader)
|
||||
inputs.property("minecraft_version", deps.minecraft)
|
||||
|
||||
val map = mapOf(
|
||||
"id" to mod.id,
|
||||
"version" to mod.version,
|
||||
"loader_version" to deps.loader,
|
||||
"minecraft_version" to deps.minecraft
|
||||
)
|
||||
|
||||
filesMatching("fabric.mod.json") { expand(map) }
|
||||
}
|
||||
|
||||
tasks.withType<JavaCompile> {
|
||||
options.encoding = "UTF-8"
|
||||
options.release = 21
|
||||
configureDataGeneration {
|
||||
createSourceSet = true
|
||||
strictValidation = true
|
||||
modId = id
|
||||
client = true
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
@ -92,6 +26,62 @@ java {
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
|
||||
tasks.withType<Jar> {
|
||||
from("LICENSE") { rename { "${it}_${project.base.archivesName.get()}" } }
|
||||
}
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://maven.neoforged.net/releases") { name = "Neoforged" }
|
||||
maven("https://files.minecraftforge.net/maven/") { name = "Forge" }
|
||||
maven("https://maven.quiltmc.org/repository/release") { name = "Quilt" }
|
||||
maven("https://api.modrinth.com/maven") { name = "Modrinth" }
|
||||
maven("https://maven.terraformersmc.com") { name = "TerraformersMC" }
|
||||
maven("https://maven.ladysnake.org/releases") { name = "Ladysnake Libs" }
|
||||
maven("https://maven.theillusivec4.top/") { name = "TheIllusiveC4" }
|
||||
maven("https://maven.bawnorton.com/releases") { name = "Bawnorton" }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
minecraft(libs.minecraft)
|
||||
mappings(variantOf(libs.yarn) { classifier("v2") })
|
||||
modImplementation(libs.bundles.fabric)
|
||||
|
||||
annotationProcessor(libs.mixin.squared)
|
||||
|
||||
include(libs.bundles.fabric.bundle)
|
||||
modImplementation(libs.bundles.fabric.bundle)
|
||||
|
||||
modRuntimeOnly(libs.bundles.fabric.runtime)
|
||||
}
|
||||
|
||||
tasks {
|
||||
processResources {
|
||||
val map = mapOf(
|
||||
"id" to id,
|
||||
"version" to version,
|
||||
"java" to java.targetCompatibility.majorVersion,
|
||||
"loader" to libs.versions.fabric.loader.get(),
|
||||
"minecraftRequired" to libs.versions.minecraft.required.get(),
|
||||
)
|
||||
|
||||
inputs.properties(map)
|
||||
|
||||
filesMatching(listOf("fabric.mod.json", "quilt.mod.json", "META-INF/mods.toml")) {
|
||||
expand(map)
|
||||
}
|
||||
|
||||
exclude("*/.editorconfig")
|
||||
}
|
||||
|
||||
withType<JavaCompile> {
|
||||
options.encoding = "UTF-8"
|
||||
options.release = 21
|
||||
}
|
||||
|
||||
withType<Jar> {
|
||||
from("LICENSE*") {
|
||||
rename { "${project.name}-${it}" }
|
||||
}
|
||||
}
|
||||
|
||||
"sourcesJar" {
|
||||
dependsOn("runDatagen")
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,8 @@
|
||||
org.gradle.jvmargs=-Xmx2G
|
||||
org.gradle.parallel=true
|
||||
|
||||
mod.version = 1.0.0
|
||||
mod.group = gay.pridecraft
|
||||
mod.id = joy
|
||||
version = 1.0.0-alpha.1
|
||||
group = gay.pridecraft
|
||||
id = joy
|
||||
|
||||
deps.minecraft=1.21
|
||||
deps.loader=0.16.5
|
||||
deps.yarn=1.21+build.9
|
||||
|
||||
deps.fabricapi=0.104.0+1.21.1
|
||||
deps.midnightlib=1.5.7-fabric
|
||||
deps.mavapi=1.2.1
|
||||
deps.badgeslib=2023.6.1
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
5
gradlew
vendored
5
gradlew
vendored
@ -86,8 +86,7 @@ done
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
|
||||
' "$PWD" ) || exit
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@ -206,7 +205,7 @@ fi
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
94
libs.versions.toml
Normal file
94
libs.versions.toml
Normal file
@ -0,0 +1,94 @@
|
||||
[versions]
|
||||
# Minecraft
|
||||
minecraft-version = "1.21.1"
|
||||
minecraft-required = "1.21.1"
|
||||
minecraft-forge-compatible = "1.21.1"
|
||||
minecraft-fabric-compatible = "1.21.1"
|
||||
minecraft-neoforge-compatible = "1.21.1"
|
||||
|
||||
yarn = "1.21.1+build.3"
|
||||
quilt-mappings = "1.21.1+build.9"
|
||||
|
||||
# Fabric
|
||||
fabric-loader = "0.16.+"
|
||||
fabric-api = "0.115.0+1.21.1"
|
||||
|
||||
# Forge
|
||||
forge-loader = "1.21.1-52.1.0"
|
||||
|
||||
# Neoforged
|
||||
neoforge-loader = "21.1.121"
|
||||
|
||||
# Mods
|
||||
trinkets = "3.10.0"
|
||||
curios = "5.9.1+1.20.1"
|
||||
emi = "1.1.10+1.21"
|
||||
mavapi = "1.2.1"
|
||||
|
||||
modmenu = "11.0.3"
|
||||
modmenu-badges = "2023.6.1"
|
||||
|
||||
midnight-fabric = "1.6.9+1.21-fabric"
|
||||
midnight-neoforge = "1.6.9+1.21-neoforge"
|
||||
|
||||
# Libraries
|
||||
annotations = "23.+"
|
||||
mixin = "0.15.0+mixin.0.8.7"
|
||||
mixin-squared = "0.2.0"
|
||||
|
||||
testng = "7.5.1"
|
||||
|
||||
# Plugins
|
||||
loom = "1.+"
|
||||
minotaur = "2.+"
|
||||
|
||||
[libraries]
|
||||
minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft-version" }
|
||||
yarn = { module = "net.fabricmc:yarn", version.ref = "yarn" }
|
||||
quilt-mappings = { module = "org.quiltmc:quilt-mappings", version.ref = "quilt-mappings" }
|
||||
|
||||
fabric-loader = { module = "net.fabricmc:fabric-loader", version.ref = "fabric-loader" }
|
||||
fabric-api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fabric-api" }
|
||||
|
||||
forge-loader = { module = "net.minecraftforge:forge", version.ref = "forge-loader" }
|
||||
neoforge-loader = { module = "net.neoforged:neoforge", version.ref = "neoforge-loader" }
|
||||
|
||||
trinkets = { module = "dev.emi:trinkets", version.ref = "trinkets" }
|
||||
|
||||
curios = { module = "top.theillusivec4.curios:curios-forge", version.ref = "curios" }
|
||||
|
||||
emi = { module = "dev.emi:emi-xplat-intermediary", version.ref = "emi" }
|
||||
emi-fabric = { module = "dev.emi:emi-fabric", version.ref = "emi" }
|
||||
emi-forge = { module = "dev.emi:emi-forge", version.ref = "emi" }
|
||||
emi-neoforge = { module = "dev.emi:emi-neoforge", version.ref = "emi" }
|
||||
|
||||
mavapi = { module = "maven.modrinth:mavapi", version.ref = "mavapi"}
|
||||
|
||||
modmenu = { module = "maven.modrinth:modmenu", version.ref = "modmenu" }
|
||||
modmenu-badges = { module = "maven.modrinth:modmenu-badges-lib", version.ref = "modmenu-badges" }
|
||||
|
||||
midnight-fabric = { module = "maven.modrinth:midnightlib", version.ref = "midnight-fabric" }
|
||||
midnight-neoforge = { module = "maven.modrinth:midnightlib", version.ref = "midnight-neoforge" }
|
||||
|
||||
annotations = { module = "org.jetbrains:annotations", version.ref = "annotations" }
|
||||
mixin = { module = "net.fabricmc:sponge-mixin", version.ref = "mixin" }
|
||||
mixin-squared = { module = "com.github.bawnorton.mixinsquared:mixinsquared-fabric", version.ref = "mixin-squared" }
|
||||
|
||||
testng = { module = "org.testng:testng", version.ref = "testng" }
|
||||
|
||||
[bundles]
|
||||
fabric = ["fabric-loader", "fabric-api", "trinkets", "mavapi", "midnight-fabric"]
|
||||
fabric-bundle = ["mixin-squared", "modmenu-badges"]
|
||||
fabric-runtime = ["emi-fabric", "modmenu"]
|
||||
|
||||
forge = ["curios"]
|
||||
forge-runtime = []
|
||||
|
||||
neoforge = []
|
||||
neoforge-runtime = ["emi-neoforge"]
|
||||
|
||||
compile-only = ["annotations"]
|
||||
|
||||
[plugins]
|
||||
loom = { id = "dev.architectury.loom", version.ref = "loom" }
|
||||
minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" }
|
@ -1,7 +1,20 @@
|
||||
dependencyResolutionManagement {
|
||||
versionCatalogs {
|
||||
create("libs") {
|
||||
from(files("libs.versions.toml"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven("https://maven.fabricmc.net/")
|
||||
maven("https://maven.fabricmc.net/") { name = "Fabric" }
|
||||
maven("https://maven.architectury.dev/") { name = "Architectury" }
|
||||
maven("https://maven.neoforged.net/releases") { name = "Neoforged" }
|
||||
maven("https://files.minecraftforge.net/maven/") { name = "Forge" }
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "joy"
|
27
src/datagen/java/gay/pridecraft/joy/JoyData.java
Normal file
27
src/datagen/java/gay/pridecraft/joy/JoyData.java
Normal file
@ -0,0 +1,27 @@
|
||||
package gay.pridecraft.joy;
|
||||
|
||||
import com.mojang.logging.LogUtils;
|
||||
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
|
||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
|
||||
import net.minecraft.Bootstrap;
|
||||
import net.minecraft.SharedConstants;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
/**
|
||||
* @author Ampflower
|
||||
* @since 1.0.0
|
||||
**/
|
||||
public class JoyData implements DataGeneratorEntrypoint {
|
||||
private static final Logger logger = LogUtils.getLogger();
|
||||
|
||||
@Override
|
||||
public void onInitializeDataGenerator(final FabricDataGenerator fabricDataGenerator) {
|
||||
SharedConstants.isDevelopment = true;
|
||||
|
||||
final var pack = fabricDataGenerator.createPack();
|
||||
|
||||
for (final var translation : Bootstrap.getMissingTranslations()) {
|
||||
logger.warn("Missing translation: {}", translation);
|
||||
}
|
||||
}
|
||||
}
|
20
src/datagen/resources/fabric.mod.json
Normal file
20
src/datagen/resources/fabric.mod.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "${id}",
|
||||
"name": "Joy Datagen",
|
||||
"version": "${version}",
|
||||
"entrypoints": {
|
||||
"main": [
|
||||
"gay.pridecraft.joy.Joy"
|
||||
],
|
||||
"client": [
|
||||
"gay.pridecraft.joy.JoyClient"
|
||||
],
|
||||
"fabric-datagen": [
|
||||
"gay.pridecraft.joy.JoyData"
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
"joy-data.mixin.json"
|
||||
]
|
||||
}
|
15
src/datagen/resources/joy-data.mixin.json
Normal file
15
src/datagen/resources/joy-data.mixin.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "gay.pridecraft.joy.data.mixin",
|
||||
"refmap": "joy.refmap.json",
|
||||
"compatibilityLevel": "JAVA_21",
|
||||
"mixins": [
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
},
|
||||
"overwrites": {
|
||||
"conformVisibility": true
|
||||
}
|
||||
}
|
@ -50,11 +50,11 @@
|
||||
}
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=${loader_version}",
|
||||
"minecraft": "~${minecraft_version}",
|
||||
"java": ">=21",
|
||||
"fabricloader": "*",
|
||||
"minecraft": "${minecraftRequired}",
|
||||
"java": "${java}",
|
||||
"fabric-api": "*",
|
||||
"midnightlib": ">=1.5.3-fabric",
|
||||
"mavapi": ">=1.2.1"
|
||||
"midnightlib": "*",
|
||||
"mavapi": "*"
|
||||
}
|
||||
}
|
||||
|
@ -10,5 +10,8 @@
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
},
|
||||
"overwrites": {
|
||||
"conformVisibility": true
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user