From 680d49d4b5e974031f2b4e3885e315d5522af2ae Mon Sep 17 00:00:00 2001 From: MrGeorgen Date: Thu, 28 Jan 2021 16:58:43 +0100 Subject: [PATCH] update yarn mappings --- build.gradle | 63 +++++++++++-------- gradle.properties | 18 +++--- .../java/de/mrgeorgen/wolfSignal/Main.java | 1 + .../mixin/MixinClientPlayNetworkHandler.java | 2 +- 4 files changed, 47 insertions(+), 37 deletions(-) diff --git a/build.gradle b/build.gradle index 44215e3..149185b 100644 --- a/build.gradle +++ b/build.gradle @@ -11,44 +11,53 @@ version = project.mod_version group = project.maven_group dependencies { - minecraft "com.mojang:minecraft:1.16" - mappings "net.fabricmc:yarn:1.16+build.4:v2" - modImplementation "net.fabricmc:fabric-loader:0.10.8" + // To change the versions see the gradle.properties file + 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 - modImplementation "net.fabricmc.fabric-api:fabric-api:0.29.2+1.16" + // Fabric API. This is technically optional, but you probably want it anyway. + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + + // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. + // You may need to force-disable transitiveness on them. } processResources { inputs.property "version", project.version - from(sourceSets.main.resources.srcDirs) { - include "fabric.mod.json" + filesMatching("fabric.mod.json") { expand "version": project.version } +} - from(sourceSets.main.resources.srcDirs) { - exclude "fabric.mod.json" +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" + + // The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too + // JDK 9 introduced a new way of specifying this that will make sure no newer classes or methods are used. + // We'll use that if it's available, but otherwise we'll use the older option. + def targetVersion = 8 + if (JavaVersion.current().isJava9Compatible()) { + it.options.release = targetVersion } } -// 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 -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" -} - -// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task -// if it is present. -// If you remove this task, sources will not be generated. -task sourcesJar(type: Jar, dependsOn: classes) { - classifier = "sources" - from sourceSets.main.allSource +java { + // 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" + from("LICENSE") { + rename { "${it}_${project.archivesBaseName}"} + } } // configure the maven publication @@ -65,9 +74,9 @@ publishing { } } - // select the repositories you want to publish to + // Select the repositories you want to publish to + // To publish to maven local, no extra repositories are necessary. Just use the task `publishToMavenLocal`. repositories { - // uncomment to publish to the local maven - // mavenLocal() + // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. } -} +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d4e93a7..eecc7b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties - # check these on https://fabricmc.net/use - minecraft_version=1.16 - yarn_mappings=1.16+build.4 - loader_version=0.10.8 +# check these on https://fabricmc.net/use +minecraft_version=1.16.5 +yarn_mappings=1.16.5+build.1 +loader_version=0.11.0 # Mod Properties - mod_version = 1.0 - maven_group = de.mrgeorgen.wolfSignal - archives_base_name = wolfSignal +mod_version = 1.0.0 +maven_group = de.mrgeorgen.wolfSignal +archives_base_name = wolf-signal # Dependencies - # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.29.2+1.16 +# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api +fabric_version=0.29.3+1.16 \ No newline at end of file diff --git a/src/main/java/de/mrgeorgen/wolfSignal/Main.java b/src/main/java/de/mrgeorgen/wolfSignal/Main.java index ac29fe3..2fff92b 100644 --- a/src/main/java/de/mrgeorgen/wolfSignal/Main.java +++ b/src/main/java/de/mrgeorgen/wolfSignal/Main.java @@ -38,6 +38,7 @@ public class Main implements ModInitializer { private static void disconnectTimeout() { if(disconnectTicks >= 0 && --disconnectTicks == 0) { + disconnectedCausedByWolfSignal = true; MinecraftClient.getInstance().world.disconnect(); setTick(); } diff --git a/src/main/java/de/mrgeorgen/wolfSignal/mixin/MixinClientPlayNetworkHandler.java b/src/main/java/de/mrgeorgen/wolfSignal/mixin/MixinClientPlayNetworkHandler.java index e9c43a5..d85001b 100644 --- a/src/main/java/de/mrgeorgen/wolfSignal/mixin/MixinClientPlayNetworkHandler.java +++ b/src/main/java/de/mrgeorgen/wolfSignal/mixin/MixinClientPlayNetworkHandler.java @@ -7,9 +7,9 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.ClientCommandSource; import net.minecraft.client.network.ClientPlayNetworkHandler; +import net.minecraft.command.CommandSource; import net.minecraft.network.ClientConnection; import net.minecraft.network.packet.s2c.play.CommandTreeS2CPacket; -import net.minecraft.server.command.CommandSource; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At;