From ff08c6ee77928c5863da442e2f390da5b73a287f Mon Sep 17 00:00:00 2001 From: Lucas Petrino Date: Mon, 29 Apr 2024 19:10:49 +1200 Subject: [PATCH 1/6] feat: make text translatable + bump to version 1.0.1 --- README.md | 1 + .../me/lucaslah/weatherchanger/WeatherChanger.java | 4 ++-- .../weatherchanger/commands/WeatherChangerCommand.java | 10 ++++++---- .../lucaslah/weatherchanger/keys/ToggleClearKey.java | 3 ++- .../me/lucaslah/weatherchanger/keys/ToggleOffKey.java | 3 ++- .../me/lucaslah/weatherchanger/keys/ToggleRainKey.java | 3 ++- .../lucaslah/weatherchanger/keys/ToggleThunderKey.java | 3 ++- .../resources/assets/weatherchanger/lang/en_us.json | 10 ++++++++++ gradle.properties | 2 +- 9 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 common/src/main/resources/assets/weatherchanger/lang/en_us.json diff --git a/README.md b/README.md index b4c02df..bdb6dee 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ You can download the mod from any of the platforms below. ## Minecraft Versions | Version | Status | |---------|---------------------------------| +| 1.20.5 | Supported | | 1.20.4 | Supported | | 1.20.3 | Supported | | 1.20.2 | Supported | diff --git a/common/src/main/java/me/lucaslah/weatherchanger/WeatherChanger.java b/common/src/main/java/me/lucaslah/weatherchanger/WeatherChanger.java index c965dad..d037672 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/WeatherChanger.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/WeatherChanger.java @@ -148,7 +148,7 @@ public class WeatherChanger { return commandManager; } - public static void sendClientMessage(String message) { - MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.literal(message)); + public static void sendClientMessage(Text message) { + MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(message); } } \ No newline at end of file diff --git a/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java b/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java index 59d330f..205ce98 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java @@ -7,6 +7,8 @@ import com.mojang.brigadier.tree.LiteralCommandNode; import me.lucaslah.weatherchanger.WeatherChanger; import me.lucaslah.weatherchanger.command.Command; import me.lucaslah.weatherchanger.config.WcMode; +import net.minecraft.client.resource.language.I18n; +import net.minecraft.text.Text; import net.minecraft.util.Identifier; import static me.lucaslah.weatherchanger.WeatherChanger.sendClientMessage; @@ -19,7 +21,7 @@ public class WeatherChangerCommand extends Command { command.then(LiteralArgumentBuilder.literal("off") .executes(context -> { WeatherChanger.setMode(WcMode.OFF); - sendClientMessage("Set client weather to: Off"); + sendClientMessage(Text.translatable("commands.weatherchanger.set.off")); return 1; }) ); @@ -27,7 +29,7 @@ public class WeatherChangerCommand extends Command { command.then(LiteralArgumentBuilder.literal("clear") .executes(context -> { WeatherChanger.setMode(WcMode.CLEAR); - sendClientMessage("Set client weather to: Clear"); + sendClientMessage(Text.translatable("commands.weatherchanger.set.clear")); return 1; }) ); @@ -35,7 +37,7 @@ public class WeatherChangerCommand extends Command { command.then(LiteralArgumentBuilder.literal("rain") .executes(context -> { WeatherChanger.setMode(WcMode.RAIN); - sendClientMessage("Set client weather to: Rain"); + sendClientMessage(Text.translatable("commands.weatherchanger.set.rain")); return 1; }) ); @@ -43,7 +45,7 @@ public class WeatherChangerCommand extends Command { command.then(LiteralArgumentBuilder.literal("thunder") .executes(context -> { WeatherChanger.setMode(WcMode.THUNDER); - sendClientMessage("Set client weather to: Thunder"); + sendClientMessage(Text.translatable("commands.weatherchanger.set.thunder")); return 1; }) ); diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java index 32cfcdd..9015315 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java @@ -5,6 +5,7 @@ import me.lucaslah.weatherchanger.config.WcMode; import me.lucaslah.weatherchanger.keybinding.Key; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.InputUtil; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -39,7 +40,7 @@ public class ToggleClearKey extends Key { @Override public String getDisplayName() { - return "Toggle Weather Clear"; + return I18n.translate("keys.weatherchanger.clear.name"); } @Override diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java index 4bef7d6..5a8e01e 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java @@ -5,6 +5,7 @@ import me.lucaslah.weatherchanger.config.WcMode; import me.lucaslah.weatherchanger.keybinding.Key; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.InputUtil; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -39,7 +40,7 @@ public class ToggleOffKey extends Key { @Override public String getDisplayName() { - return "Toggle Weather Off"; + return I18n.translate("keys.weatherchanger.off.name"); } @Override diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java index 289437a..11044f4 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java @@ -5,6 +5,7 @@ import me.lucaslah.weatherchanger.config.WcMode; import me.lucaslah.weatherchanger.keybinding.Key; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.InputUtil; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -39,7 +40,7 @@ public class ToggleRainKey extends Key { @Override public String getDisplayName() { - return "Toggle Weather Rain"; + return I18n.translate("keys.weatherchanger.rain.name"); } @Override diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java index 52ef112..9244c6b 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java @@ -5,6 +5,7 @@ import me.lucaslah.weatherchanger.config.WcMode; import me.lucaslah.weatherchanger.keybinding.Key; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.InputUtil; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -39,7 +40,7 @@ public class ToggleThunderKey extends Key { @Override public String getDisplayName() { - return "Toggle Weather Thunder"; + return I18n.translate("keys.weatherchanger.thunder.name"); } @Override diff --git a/common/src/main/resources/assets/weatherchanger/lang/en_us.json b/common/src/main/resources/assets/weatherchanger/lang/en_us.json new file mode 100644 index 0000000..aac0be1 --- /dev/null +++ b/common/src/main/resources/assets/weatherchanger/lang/en_us.json @@ -0,0 +1,10 @@ +{ + "commands.weatherchanger.set.off": "Set client weather to: Off", + "commands.weatherchanger.set.clear": "Set client weather to: Clear", + "commands.weatherchanger.set.rain": "Set client weather to: Rain", + "commands.weatherchanger.set.thunder": "Set client weather to: Thunder", + "keys.weatherchanger.off.name": "Toggle Weather Off", + "keys.weatherchanger.clear.name": "Toggle Weather Clear", + "keys.weatherchanger.rain.name": "Toggle Weather Rain", + "keys.weatherchanger.thunder.name": "Toggle Weather Thunder" +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7c1c24b..8c87ad2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ yarn_mappings=1.20.1+build.8 enabled_platforms=fabric,forge # Mod Properties -mod_version = 1.0.0 +mod_version = 1.0.1 mod_id = weatherchanger maven_group = me.lucaslah.weatherchanger archives_base_name = weather-changer From 4c046a38288c91dec7147a2a0fb48d186f668993 Mon Sep 17 00:00:00 2001 From: Lucas Petrino Date: Tue, 30 Apr 2024 11:00:27 +1200 Subject: [PATCH 2/6] fix: make keys press text translatable --- .../java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java | 2 +- .../main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java | 2 +- .../java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java | 2 +- .../java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java index 9015315..038b19a 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleClearKey.java @@ -20,7 +20,7 @@ public class ToggleClearKey extends Key { public void onPress(@NotNull MinecraftClient client) { WeatherChanger.setMode(WcMode.CLEAR); assert mc.player != null; - mc.player.sendMessage(Text.of("Set client weather to: Clear"), true); + mc.player.sendMessage(Text.translatable("commands.weatherchanger.set.clear"), true); } @Override diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java index 5a8e01e..6576055 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleOffKey.java @@ -20,7 +20,7 @@ public class ToggleOffKey extends Key { public void onPress(@NotNull MinecraftClient client) { WeatherChanger.setMode(WcMode.OFF); assert mc.player != null; - mc.player.sendMessage(Text.of("Set client weather to: Off"), true); + mc.player.sendMessage(Text.translatable("commands.weatherchanger.set.off"), true); } @Override diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java index 11044f4..63b46d5 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleRainKey.java @@ -20,7 +20,7 @@ public class ToggleRainKey extends Key { public void onPress(@NotNull MinecraftClient client) { WeatherChanger.setMode(WcMode.RAIN); assert mc.player != null; - mc.player.sendMessage(Text.of("Set client weather to: Rain"), true); + mc.player.sendMessage(Text.translatable("commands.weatherchanger.set.rain"), true); } @Override diff --git a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java index 9244c6b..7beeaf4 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/keys/ToggleThunderKey.java @@ -20,7 +20,7 @@ public class ToggleThunderKey extends Key { public void onPress(@NotNull MinecraftClient client) { WeatherChanger.setMode(WcMode.THUNDER); assert mc.player != null; - mc.player.sendMessage(Text.of("Set client weather to: Thunder"), true); + mc.player.sendMessage(Text.translatable("commands.weatherchanger.set.thunder"), true); } @Override From 604d98ac1343303068d77246e1e656559684f375 Mon Sep 17 00:00:00 2001 From: Lucas Petrino Date: Tue, 30 Apr 2024 12:01:12 +1200 Subject: [PATCH 3/6] fix: update architectury + add base archive name to build - [bug] add base archive name to build artifacts - [deps] update architectury loom from 1.4-SNAPSHOT -> 1.5 - [deps] update architectury plugin to non snapshot build - [bug] fixes an unchecked cast warning during the build --- build.gradle.kts | 36 ++++++++++++------- .../commands/WeatherChangerCommand.java | 6 ++-- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b696fc4..ab5f871 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,12 @@ import io.github.themrmilchmann.gradle.publish.curseforge.ChangelogFormat import io.github.themrmilchmann.gradle.publish.curseforge.GameVersion import io.github.themrmilchmann.gradle.publish.curseforge.ReleaseType +import net.fabricmc.loom.task.RemapJarTask +import net.fabricmc.loom.task.RemapSourcesJarTask plugins { - id("architectury-plugin") version "3.4-SNAPSHOT" - id ("dev.architectury.loom") version "1.4-SNAPSHOT" apply false + id("architectury-plugin") version "3.4.+" + id ("dev.architectury.loom") version "1.5.+" apply false id("com.modrinth.minotaur") version "2.+" id("io.github.themrmilchmann.curseforge-publish") version "0.6.1" } @@ -15,18 +17,35 @@ architectury { } subprojects { + apply(plugin = "java") + apply(plugin = "architectury-plugin") apply(plugin = "dev.architectury.loom") dependencies { "minecraft"("com.mojang:minecraft:${properties["minecraft_version"]}") "mappings"("net.fabricmc:yarn:${rootProject.properties["yarn_mappings"]}:v2") } + + tasks.withType { + options.encoding = "UTF-8" + options.release.set(17) + } + + tasks.withType { + archiveBaseName.set(properties["archives_base_name"].toString() + "-${project.name}") + } + + tasks.withType { + archiveBaseName.set(properties["archives_base_name"].toString() + "-${project.name}") + } + + tasks.withType { + archiveBaseName.set(properties["archives_base_name"].toString() + "-${project.name}") + } } allprojects { - apply(plugin = "java") apply(plugin = "maven-publish") - apply(plugin = "architectury-plugin") version = if (System.getenv("CI_DEV_BUILD")?.toBoolean() == true) { System.getenv("BUILD_NUMBER") ?: properties["mod_version"].toString() @@ -35,15 +54,6 @@ allprojects { } group = properties["maven_group"].toString() - - tasks.withType { - options.encoding = "UTF-8" - options.release.set(17) - } - - tasks.withType { - archiveBaseName.set(properties["archives_base_name"].toString()) - } } modrinth { diff --git a/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java b/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java index 205ce98..1362bd8 100644 --- a/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java +++ b/common/src/main/java/me/lucaslah/weatherchanger/commands/WeatherChangerCommand.java @@ -2,12 +2,10 @@ package me.lucaslah.weatherchanger.commands; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import com.mojang.brigadier.tree.CommandNode; import com.mojang.brigadier.tree.LiteralCommandNode; import me.lucaslah.weatherchanger.WeatherChanger; import me.lucaslah.weatherchanger.command.Command; import me.lucaslah.weatherchanger.config.WcMode; -import net.minecraft.client.resource.language.I18n; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -16,7 +14,7 @@ import static me.lucaslah.weatherchanger.WeatherChanger.sendClientMessage; public class WeatherChangerCommand extends Command { @Override public void register(CommandDispatcher dispatcher) { - LiteralArgumentBuilder command = LiteralArgumentBuilder.literal("clientweather"); + LiteralArgumentBuilder command = LiteralArgumentBuilder.literal("clientweather"); command.then(LiteralArgumentBuilder.literal("off") .executes(context -> { @@ -51,7 +49,7 @@ public class WeatherChangerCommand extends Command { ); LiteralCommandNode node = dispatcher.register(command); - dispatcher.register((LiteralArgumentBuilder) LiteralArgumentBuilder.literal("cweather").redirect((CommandNode) node)); + dispatcher.register(LiteralArgumentBuilder.literal("cweather").redirect(node)); } @Override From 22372cdd63d0d2c838592dae1c2cec7c448a0437 Mon Sep 17 00:00:00 2001 From: Amirhan-Taipovjan-Greatest-I <51203385+Amirhan-Taipovjan-Greatest-I@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:49:26 +0300 Subject: [PATCH 4/6] Vanilla-ish Tatar Translation. --- .../resources/assets/weatherchanger/lang/tt_ru.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/src/main/resources/assets/weatherchanger/lang/tt_ru.json diff --git a/common/src/main/resources/assets/weatherchanger/lang/tt_ru.json b/common/src/main/resources/assets/weatherchanger/lang/tt_ru.json new file mode 100644 index 0000000..f96d7f3 --- /dev/null +++ b/common/src/main/resources/assets/weatherchanger/lang/tt_ru.json @@ -0,0 +1,11 @@ +{ + "modmenu.descriptionTranslation.weatherchanger": "Клиент тарафыннан Minecraft һава торышын үзгәртү", + "commands.weatherchanger.set.off": "Клиентлы һава торышы урнаштырылды: Сүнек", + "commands.weatherchanger.set.clear": "Клиентлы һава торышы урнаштырылды: Аяз", + "commands.weatherchanger.set.rain": "Клиентлы һава торышы урнаштырылды: Яңгырлы", + "commands.weatherchanger.set.thunder": "Клиентлы һава торышы урнаштырылды: Яшенле һәм яңгырлы", + "keys.weatherchanger.off.name": "Клиентлы һава торышын сүндерү", + "keys.weatherchanger.clear.name": "Аяз һава торышын күчерү", + "keys.weatherchanger.rain.name": "Яңгырлы һава торышын күчерү", + "keys.weatherchanger.thunder.name": "Яшенле һәм яңгырлы һава торышын күчерү" +} From 145c638746ccf5dcb18053f4ae134610d2935027 Mon Sep 17 00:00:00 2001 From: Amirhan-Taipovjan-Greatest-I <51203385+Amirhan-Taipovjan-Greatest-I@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:53:04 +0300 Subject: [PATCH 5/6] Russian Translation. It is not quite Vanilla-ish, but I tried to do My best. --- .../resources/assets/weatherchanger/lang/ru_ru.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/src/main/resources/assets/weatherchanger/lang/ru_ru.json diff --git a/common/src/main/resources/assets/weatherchanger/lang/ru_ru.json b/common/src/main/resources/assets/weatherchanger/lang/ru_ru.json new file mode 100644 index 0000000..9008142 --- /dev/null +++ b/common/src/main/resources/assets/weatherchanger/lang/ru_ru.json @@ -0,0 +1,11 @@ +{ + "modmenu.descriptionTranslation.weatherchanger": "Позволяет изменять погоду в клиенте, не изменяя погоду сервера.", + "commands.weatherchanger.set.off": "Установлена клиентская погода: Выкл.", + "commands.weatherchanger.set.clear": "Установлена клиентская погода: Ясная", + "commands.weatherchanger.set.rain": "Установлена клиентская погода: Дождливая", + "commands.weatherchanger.set.thunder": "Установлена клиентская погода: Гроза и дождь", + "keys.weatherchanger.off.name": "Выключить клиентскую погоду", + "keys.weatherchanger.clear.name": "Переключить ясную погоду", + "keys.weatherchanger.rain.name": "Переключить дождливую погоду", + "keys.weatherchanger.thunder.name": "Переключить дождливую и грозовую погоду" +} From 4dbfe76b45a9f2da8ffdf3da704bec5a0e6d79e1 Mon Sep 17 00:00:00 2001 From: Amirhan-Taipovjan-Greatest-I <51203385+Amirhan-Taipovjan-Greatest-I@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:55:55 +0300 Subject: [PATCH 6/6] Updated ModMenu Metadata Translation. --- .../src/main/resources/assets/weatherchanger/lang/tt_ru.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/src/main/resources/assets/weatherchanger/lang/tt_ru.json b/common/src/main/resources/assets/weatherchanger/lang/tt_ru.json index f96d7f3..8b47e0e 100644 --- a/common/src/main/resources/assets/weatherchanger/lang/tt_ru.json +++ b/common/src/main/resources/assets/weatherchanger/lang/tt_ru.json @@ -1,5 +1,6 @@ { - "modmenu.descriptionTranslation.weatherchanger": "Клиент тарафыннан Minecraft һава торышын үзгәртү", + "modmenu.summaryTranslation.weatherchanger": "Клиент тарафыннан Minecraft һава торышын үзгәртү", + "modmenu.descriptionTranslation.weatherchanger": "Сервер тарафыннан һава торышын үзгәртмичә, клиент тарафыннан Minecraft һава торышын үзгәртү", "commands.weatherchanger.set.off": "Клиентлы һава торышы урнаштырылды: Сүнек", "commands.weatherchanger.set.clear": "Клиентлы һава торышы урнаштырылды: Аяз", "commands.weatherchanger.set.rain": "Клиентлы һава торышы урнаштырылды: Яңгырлы",