更新项目结构
This commit is contained in:
parent
2b922647ab
commit
2334a12f19
110
build.gradle
110
build.gradle
@ -1,89 +1,49 @@
|
||||
plugins {
|
||||
id 'fabric-loom' version '1.9.2'
|
||||
id 'maven-publish'
|
||||
id 'fabric-loom' version '1.10.5' apply false
|
||||
// id 'maven-publish' apply false
|
||||
|
||||
id 'com.replaymod.preprocess' version '9d21b334a7'
|
||||
|
||||
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
|
||||
}
|
||||
|
||||
version = project.mod_version
|
||||
group = project.maven_group
|
||||
|
||||
repositories {
|
||||
maven { url "https://maven.shedaniel.me/" }
|
||||
maven {url "https://maven.terraformersmc.com/"}
|
||||
preprocess {
|
||||
strictExtraMappings.set(false)
|
||||
|
||||
def mc12104 = createNode("1.21.4", 1_21_04, "")
|
||||
def mc12105 = createNode("1.21.5", 1_21_05, "")
|
||||
def mc12106 = createNode("1.21.6", 1_21_06, "")
|
||||
def mc12107 = createNode("1.21.7", 1_21_07, "")
|
||||
|
||||
mc12107.link(mc12106, file("versions/mapping_12107_12106.txt"))
|
||||
mc12106.link(mc12105, file("versions/mapping_12106_12105.txt"))
|
||||
mc12105.link(mc12104, file("versions/mapping_12105_12104.txt"))
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// To change the versions see the gradle.properties file
|
||||
// implementation files("libs/modmenu-13.0.3.jar")
|
||||
// implementation files("libs/modmenu-13.0.3.pom")
|
||||
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
||||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
||||
|
||||
// Fabric API. This is technically optional, but you probably want it anyway.
|
||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
||||
|
||||
include modApi("me.shedaniel.cloth:cloth-config-fabric:17.0.142") {
|
||||
exclude(group: "net.fabricmc.fabric-api")
|
||||
tasks.register('buildAndGather') {
|
||||
subprojects {
|
||||
dependsOn project.tasks.named('build').get()
|
||||
}
|
||||
modImplementation "me.shedaniel.cloth:cloth-config-fabric:17.0.142"
|
||||
|
||||
// modCompileOnly("com.terraformersmc:modmenu:13.0.3")、
|
||||
modCompileOnly files("libs/modmenu-13.0.3.jar")
|
||||
modImplementation files("libs/LibGui-12.0.1+1.21.2.jar")
|
||||
doFirst {
|
||||
println 'Gathering builds'
|
||||
def buildLibs = {
|
||||
p -> p.buildDir.toPath().resolve('libs')
|
||||
}
|
||||
|
||||
processResources {
|
||||
inputs.property "version", project.version
|
||||
filteringCharset "UTF-8"
|
||||
|
||||
filesMatching("fabric.mod.json") {
|
||||
expand "version": project.version
|
||||
delete fileTree(buildLibs(rootProject)) {
|
||||
include '*'
|
||||
}
|
||||
subprojects {
|
||||
copy {
|
||||
from(buildLibs(project)) {
|
||||
include '*.jar'
|
||||
exclude '*-dev.jar', '*-sources.jar', '*-shadow.jar'
|
||||
}
|
||||
into buildLibs(rootProject)
|
||||
duplicatesStrategy DuplicatesStrategy.INCLUDE
|
||||
}
|
||||
}
|
||||
|
||||
def targetJavaVersion = 21
|
||||
tasks.withType(JavaCompile).configureEach {
|
||||
// ensure that the encoding is set to UTF-8, no matter what the system default is
|
||||
// this fixes some edge cases with special characters not displaying correctly
|
||||
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
|
||||
// If Javadoc is generated, this must be specified in that task too.
|
||||
it.options.encoding = "UTF-8"
|
||||
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
|
||||
it.options.release = targetJavaVersion
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
|
||||
if (JavaVersion.current() < javaVersion) {
|
||||
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
|
||||
}
|
||||
archivesBaseName = project.archives_base_name
|
||||
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
||||
// if it is present.
|
||||
// If you remove this line, sources will not be generated.
|
||||
withSourcesJar()
|
||||
}
|
||||
|
||||
jar {
|
||||
from("LICENSE") {
|
||||
rename { "${it}_${project.archivesBaseName}" }
|
||||
}
|
||||
}
|
||||
|
||||
// configure the maven publication
|
||||
publishing {
|
||||
publications {
|
||||
mavenJava(MavenPublication) {
|
||||
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.
|
||||
// Notice: This block does NOT have the same function as the block in the top level.
|
||||
// The repositories here will be used for publishing your artifact, not for
|
||||
// retrieving dependencies.
|
||||
}
|
||||
}
|
||||
|
174
common.gradle
Normal file
174
common.gradle
Normal file
@ -0,0 +1,174 @@
|
||||
apply plugin: 'maven-publish'
|
||||
apply plugin: 'com.github.johnrengelman.shadow'
|
||||
apply plugin: 'fabric-loom'
|
||||
apply plugin: 'com.replaymod.preprocess'
|
||||
|
||||
int mcVersion = project.mcVersion
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
url 'https://maven.fabricmc.net/' // loom
|
||||
}
|
||||
maven {
|
||||
url 'https://masa.dy.fi/maven' // mama(随便加的)
|
||||
}
|
||||
maven {
|
||||
url 'https://maven.fallenbreath.me/releases' // preprocessor
|
||||
}
|
||||
maven {
|
||||
url 'https://jitpack.io' // preprocessor
|
||||
}
|
||||
maven {
|
||||
url 'https://www.cursemaven.com' // curseforge(随便加的)
|
||||
}
|
||||
maven {
|
||||
url "https://maven.shedaniel.me/" // cloth config
|
||||
}
|
||||
maven {
|
||||
url "https://maven.terraformersmc.com/" // modmenu
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
minecraft "com.mojang:minecraft:${project.minecraft_version}" // 从子项目
|
||||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" // 从子项目
|
||||
modImplementation "net.fabricmc:fabric-loader:${rootProject.loader_version}" // 从根项目
|
||||
|
||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
|
||||
|
||||
include modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") {
|
||||
exclude(group: "net.fabricmc.fabric-api")
|
||||
}
|
||||
modImplementation "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}"
|
||||
|
||||
// modCompileOnly files("${rootProject.projectDir}/libs/modmenu-13.0.3.jar")
|
||||
modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}")
|
||||
// modImplementation files("${rootProject.projectDir}/libs/LibGui-12.0.1+1.21.2.jar")
|
||||
}
|
||||
|
||||
String MIXIN_CONFIG_PATH = 'disc_jockey.mixins.json' // mixin
|
||||
|
||||
JavaVersion JAVA_COMPATIBILITY // java自动
|
||||
if (mcVersion >= 12100) {
|
||||
JAVA_COMPATIBILITY = JavaVersion.VERSION_21
|
||||
} else if (mcVersion >= 11800) {
|
||||
JAVA_COMPATIBILITY = JavaVersion.VERSION_17
|
||||
} else if (mcVersion >= 11700) {
|
||||
JAVA_COMPATIBILITY = JavaVersion.VERSION_16
|
||||
} else {
|
||||
JAVA_COMPATIBILITY = JavaVersion.VERSION_1_8
|
||||
}
|
||||
JavaVersion MIXIN_COMPATIBILITY_LEVEL = JAVA_COMPATIBILITY
|
||||
|
||||
loom {
|
||||
def commonVmArgs = ['-Dmixin.debug.export=true']
|
||||
runConfigs.configureEach {
|
||||
runDir '../../run'
|
||||
vmArgs commonVmArgs
|
||||
ideConfigGenerated true
|
||||
}
|
||||
|
||||
runs {
|
||||
def auditVmArgs = [*commonVmArgs, '-Ddisc_jockey_revive.mixin_audit=true']
|
||||
serverMixinAudit {
|
||||
server()
|
||||
vmArgs auditVmArgs
|
||||
ideConfigGenerated false
|
||||
}
|
||||
clientMixinAudit {
|
||||
client()
|
||||
vmArgs auditVmArgs
|
||||
ideConfigGenerated false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 打包胖子
|
||||
shadowJar {
|
||||
configurations = [project.configurations.shadow]
|
||||
exclude("META-INF")
|
||||
archiveClassifier.set('shadow')
|
||||
}
|
||||
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
|
||||
tasks.withType(ShadowJar).configureEach {
|
||||
enableRelocation true
|
||||
relocationPrefix 'semmiedev.disc_jockey_revive.libs'
|
||||
}
|
||||
|
||||
remapJar {
|
||||
dependsOn(shadowJar)
|
||||
mustRunAfter(shadowJar)
|
||||
inputFile = shadowJar.archiveFile
|
||||
}
|
||||
|
||||
String modVersionSuffix = ''
|
||||
if (System.getenv("BUILD_RELEASE") != "true") {
|
||||
String buildNumber = System.getenv("BUILD_ID")
|
||||
modVersionSuffix += buildNumber != null ? ('+build.' + buildNumber) : '' // 文件名前
|
||||
}
|
||||
String fullModVersion = rootProject.mod_version + modVersionSuffix
|
||||
|
||||
String fullProjectVersion
|
||||
|
||||
group = rootProject.maven_group
|
||||
if (System.getenv("JITPACK") == "true") {
|
||||
base.archivesName = rootProject.archives_base_name + '-' + project.minecraft_version
|
||||
fullProjectVersion = 'v' + rootProject.mod_version + modVersionSuffix
|
||||
} else {
|
||||
base.archivesName = rootProject.archives_base_name
|
||||
fullProjectVersion = 'v' + rootProject.mod_version + '-' + project.minecraft_version + modVersionSuffix
|
||||
}
|
||||
version = fullProjectVersion
|
||||
|
||||
processResources {
|
||||
inputs.property "id", rootProject.mod_id // 从根项目
|
||||
inputs.property "name", rootProject.mod_name // 从根项目
|
||||
inputs.property "version", fullModVersion
|
||||
|
||||
filesMatching("fabric.mod.json") {
|
||||
def valueMap = [
|
||||
"id" : rootProject.mod_id,
|
||||
"name" : rootProject.mod_name,
|
||||
"version" : fullModVersion,
|
||||
"minecraft_version": project.minecraft_dependency, // 从子项目
|
||||
"loader_version" : rootProject.loader_version // 从根项目
|
||||
]
|
||||
expand valueMap
|
||||
}
|
||||
|
||||
filesMatching(MIXIN_CONFIG_PATH) {
|
||||
filter { s -> s.replace('{{COMPATIBILITY_LEVEL}}', "JAVA_${MIXIN_COMPATIBILITY_LEVEL.ordinal() + 1}") }
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile).configureEach {
|
||||
options.encoding = "UTF-8"
|
||||
options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
|
||||
if (JAVA_COMPATIBILITY <= JavaVersion.VERSION_1_8) {
|
||||
options.compilerArgs << '-Xlint:-options'
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JAVA_COMPATIBILITY
|
||||
targetCompatibility = JAVA_COMPATIBILITY
|
||||
withSourcesJar()
|
||||
}
|
||||
|
||||
jar {
|
||||
from(rootProject.file('LICENSE')) {
|
||||
rename { "${it}_${rootProject.archives_base_name}" }
|
||||
}
|
||||
}
|
||||
|
||||
//publishing {
|
||||
// publications {
|
||||
// mavenJava(MavenPublication) {
|
||||
// from components.java
|
||||
// }
|
||||
// }
|
||||
// repositories {
|
||||
// }
|
||||
//}
|
@ -5,8 +5,10 @@ org.gradle.jvmargs=-Xmx1G
|
||||
minecraft_version=1.21.4
|
||||
yarn_mappings=1.21.4+build.8
|
||||
loader_version=0.16.10
|
||||
mod_name=Disc Jockey Revive
|
||||
mod_id=disc_jockey_revive
|
||||
# Mod Properties
|
||||
mod_version=1.14.514.045
|
||||
mod_version=1.14.514.046
|
||||
maven_group=semmiedev
|
||||
archives_base_name=disc_jockey_revive
|
||||
# Dependencies
|
||||
|
@ -1,9 +1,35 @@
|
||||
import groovy.json.JsonSlurper
|
||||
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven {
|
||||
name = 'Fabric'
|
||||
url = 'https://maven.fabricmc.net/'
|
||||
}
|
||||
maven {
|
||||
name = 'Jitpack'
|
||||
url = 'https://jitpack.io' // preprocessor
|
||||
}
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
resolutionStrategy {
|
||||
eachPlugin {
|
||||
switch (requested.id.id) {
|
||||
case "com.replaymod.preprocess": {
|
||||
useModule("com.github.Fallen-Breath:preprocessor:${requested.version}")
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def settings = new JsonSlurper().parseText(file('settings.json').text)
|
||||
for (String version : settings.versions) {
|
||||
include(":$version")
|
||||
|
||||
def proj = project(":$version")
|
||||
proj.projectDir = file("versions/$version")
|
||||
proj.buildFileName = "../../common.gradle"
|
||||
}
|
||||
|
8
settings.json
Normal file
8
settings.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"versions": [
|
||||
"1.21.4",
|
||||
"1.21.5",
|
||||
"1.21.6",
|
||||
"1.21.7"
|
||||
]
|
||||
}
|
@ -32,8 +32,11 @@ public class DebugLogger {
|
||||
}
|
||||
|
||||
public static void sendMessage(String message) {
|
||||
if (Main.config != null && Main.config.debugModeChatMessages) {
|
||||
MinecraftClient client = MinecraftClient.getInstance();
|
||||
if (client != null && client.inGameHud != null && client.inGameHud.getChatHud() != null) {
|
||||
MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.of("[DiscJockeyRevive-调试]"+message.formatted(Formatting.GRAY)));
|
||||
} else {
|
||||
Main.LOGGER.error("[DiscJockeyRevive-调试] 聊天窗口未初始化,{}",message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -152,7 +152,7 @@ public class DiscJockeyScreen extends Screen {
|
||||
|
||||
// 配置按钮
|
||||
int configButtonSize = 20;
|
||||
int configButtonX = width - 120 - sliderWidth - configButtonSize - 10;
|
||||
int configButtonX = width - 120 - sliderWidth - configButtonSize - 10 - 10;
|
||||
int configButtonY = 10;
|
||||
if (!isLargeScreen) configButtonX = width - 120 - configButtonSize - 10;
|
||||
configButton = ButtonWidget.builder(Text.literal("⚙"), button -> {
|
||||
|
@ -2,7 +2,7 @@
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "semmiedev.disc_jockey_revive.mixin",
|
||||
"compatibilityLevel": "JAVA_21",
|
||||
"compatibilityLevel": "{{COMPATIBILITY_LEVEL}}",
|
||||
"mixins": [
|
||||
"ClientWorldMixin"
|
||||
],
|
||||
|
@ -2,7 +2,7 @@
|
||||
"schemaVersion": 1,
|
||||
"id": "disc_jockey_revive",
|
||||
"version": "${version}",
|
||||
"name": "Disc Jockey Revive",
|
||||
"name": "${name}",
|
||||
"description": "在游戏中播放音符盒(打碟机)",
|
||||
"authors": [
|
||||
"SemmieDev",
|
||||
@ -10,7 +10,7 @@
|
||||
"BRanulf(仅限该版本,请支持上面两个原作者)"
|
||||
],
|
||||
"contact": {
|
||||
"homepage": "https://git.branulf.top/Branulf/DIsc_Jockey_revive",
|
||||
"homepage": "https://git.branulf.top/Branulf",
|
||||
"sources": "https://git.branulf.top/Branulf/DIsc_Jockey_revive"
|
||||
},
|
||||
"license": "MIT",
|
||||
@ -28,8 +28,9 @@
|
||||
"disc_jockey.mixins.json"
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=${loader_version}",
|
||||
"fabric": "*",
|
||||
"minecraft": "~1.21.4",
|
||||
"minecraft": "${minecraft_version}",
|
||||
"java": ">=21",
|
||||
"cloth-config": "*"
|
||||
}
|
||||
|
11
versions/1.21.4/gradle.properties
Normal file
11
versions/1.21.4/gradle.properties
Normal file
@ -0,0 +1,11 @@
|
||||
minecraft_version=1.21.4
|
||||
yarn_mappings=1.21.4+build.8
|
||||
|
||||
minecraft_dependency=1.21.4
|
||||
|
||||
game_versions=1.21.4
|
||||
|
||||
fabric_api_version=0.119.2+1.21.4
|
||||
|
||||
modmenu_version=13.0.3
|
||||
cloth_config_version=17.0.144
|
11
versions/1.21.5/gradle.properties
Normal file
11
versions/1.21.5/gradle.properties
Normal file
@ -0,0 +1,11 @@
|
||||
minecraft_version=1.21.5
|
||||
yarn_mappings=1.21.5+build.1
|
||||
|
||||
minecraft_dependency=1.21.5
|
||||
|
||||
game_versions=1.21.5
|
||||
|
||||
fabric_api_version=0.119.5+1.21.5
|
||||
|
||||
modmenu_version=14.0.0-rc.2
|
||||
cloth_config_version=18.0.145
|
11
versions/1.21.6/gradle.properties
Normal file
11
versions/1.21.6/gradle.properties
Normal file
@ -0,0 +1,11 @@
|
||||
minecraft_version=1.21.6
|
||||
yarn_mappings=1.21.6+build.1
|
||||
|
||||
minecraft_dependency=1.21.6
|
||||
|
||||
game_versions=1.21.6
|
||||
|
||||
fabric_api_version=0.127.0+1.21.6
|
||||
|
||||
modmenu_version=15.0.0-beta.3
|
||||
cloth_config_version=19.0.147
|
11
versions/1.21.7/gradle.properties
Normal file
11
versions/1.21.7/gradle.properties
Normal file
@ -0,0 +1,11 @@
|
||||
minecraft_version=1.21.7
|
||||
yarn_mappings=1.21.7+build.7
|
||||
|
||||
minecraft_dependency=1.21.7
|
||||
|
||||
game_versions=1.21.7
|
||||
|
||||
fabric_api_version=0.128.1+1.21.7
|
||||
|
||||
modmenu_version=15.0.0-beta.3
|
||||
cloth_config_version=19.0.147
|
1
versions/mainProject
Normal file
1
versions/mainProject
Normal file
@ -0,0 +1 @@
|
||||
1.21.4
|
0
versions/mapping_12105_12104.txt
Normal file
0
versions/mapping_12105_12104.txt
Normal file
0
versions/mapping_12106_12105.txt
Normal file
0
versions/mapping_12106_12105.txt
Normal file
0
versions/mapping_12107_12106.txt
Normal file
0
versions/mapping_12107_12106.txt
Normal file
Loading…
x
Reference in New Issue
Block a user