1.18.2 compat

This commit is contained in:
Johannes Frohnmeyer 2022-02-28 19:39:13 +01:00
parent a5dee00b14
commit 4e2be69013
Signed by: Johannes
GPG Key ID: E76429612C2929F4
7 changed files with 34 additions and 35 deletions

View File

@ -1,15 +1,17 @@
apply from: "https://jfmods.gitlab.io/scripts/jfmod.gradle" apply from: "https://jfmods.gitlab.io/scripts/jfmod.gradle"
repositories {
}
dependencies { dependencies {
include modImplementation("io.gitlab.jfronny.libjf:libjf-config-v0:${project.jfapi_version}") include modImplementation("io.gitlab.jfronny.libjf:libjf-config-v0:${project.jfapi_version}")
include modImplementation("io.gitlab.jfronny.libjf:libjf-translate-v0:${project.jfapi_version}") include modImplementation("io.gitlab.jfronny.libjf:libjf-translate-v1:${project.jfapi_version}")
include("io.gitlab.jfronny.libjf:libjf-unsafe-v0:${project.jfapi_version}") include("io.gitlab.jfronny.libjf:libjf-unsafe-v0:${project.jfapi_version}")
include("io.gitlab.jfronny.libjf:libjf-base:${project.jfapi_version}") include("io.gitlab.jfronny.libjf:libjf-base:${project.jfapi_version}")
modRuntimeOnly("io.gitlab.jfronny.libjf:libjf-devutil-v0:${project.jfapi_version}") modRuntimeOnly("io.gitlab.jfronny.libjf:libjf-devutil-v0:${project.jfapi_version}")
// https://maven.terraformersmc.com/releases/com/terraformersmc/modmenu
modImplementation "com.terraformersmc:modmenu:3.0.1" modImplementation "com.terraformersmc:modmenu:3.0.1"
// Compat fix
modRuntimeOnly(fabricApi.module("fabric-api-base", "${project.fabric_version}"))
modRuntimeOnly(fabricApi.module("fabric-resource-loader-v0", "${project.fabric_version}"))
modRuntimeOnly(fabricApi.module("fabric-screen-api-v1", "${project.fabric_version}"))
modRuntimeOnly(fabricApi.module("fabric-command-api-v1", "${project.fabric_version}"))
} }

View File

@ -1,14 +1,12 @@
# https://fabricmc.net/versions.html # https://fabricmc.net/develop/
minecraft_version=1.18.1 minecraft_version=1.18.2
yarn_mappings=build.12 yarn_mappings=build.1
loader_version=0.12.12 loader_version=0.13.3
maven_group=io.gitlab.jfronny maven_group=io.gitlab.jfronny
archives_base_name=GoogleChat archives_base_name=GoogleChat
jfapi_version=2.4.0 jfapi_version=2.5.0
fabric_version=0.47.8+1.18.2
modrinth_id=Hd7ZLKRk modrinth_id=Hd7ZLKRk
# modrinth_required_dependencies= curseforge_id=574331
# modrinth_optional_dependencies=
curseforge_id=574331
# curseforge_required_dependencies=
# curseforge_optional_dependencies=

View File

@ -1 +0,0 @@
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip

View File

@ -1,5 +1,6 @@
package io.gitlab.jfronny.googlechat; package io.gitlab.jfronny.googlechat;
import io.gitlab.jfronny.libjf.translate.api.TranslateService;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -9,6 +10,7 @@ import java.util.UUID;
public class GoogleChat { public class GoogleChat {
public static final String MOD_ID = "google-chat"; public static final String MOD_ID = "google-chat";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
public static final TranslateService<?> TRANSLATE_SERVICE = TranslateService.getConfigured();
public static boolean isSelf(UUID sender) { public static boolean isSelf(UUID sender) {
MinecraftClient mc = MinecraftClient.getInstance(); MinecraftClient mc = MinecraftClient.getInstance();

View File

@ -2,9 +2,8 @@ package io.gitlab.jfronny.googlechat.mixin;
import io.gitlab.jfronny.googlechat.GoogleChat; import io.gitlab.jfronny.googlechat.GoogleChat;
import io.gitlab.jfronny.googlechat.GoogleChatConfig; import io.gitlab.jfronny.googlechat.GoogleChatConfig;
import io.gitlab.jfronny.libjf.translate.Language; import io.gitlab.jfronny.libjf.translate.api.TranslateException;
import io.gitlab.jfronny.libjf.translate.TranslateException; import io.gitlab.jfronny.libjf.translate.api.TranslateService;
import io.gitlab.jfronny.libjf.translate.TranslateService;
import net.minecraft.network.PacketByteBuf; import net.minecraft.network.PacketByteBuf;
import net.minecraft.network.packet.c2s.play.ChatMessageC2SPacket; import net.minecraft.network.packet.c2s.play.ChatMessageC2SPacket;
import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Final;
@ -24,20 +23,20 @@ public class ChatMessageC2SPacketMixin {
@Inject(at = @At("RETURN"), method = "<init>(Ljava/lang/String;)V") @Inject(at = @At("RETURN"), method = "<init>(Ljava/lang/String;)V")
public void init(String chatMessage, CallbackInfo info) { public void init(String chatMessage, CallbackInfo info) {
googlechat$translate(); googlechat$translate(GoogleChat.TRANSLATE_SERVICE);
} }
@Inject(at = @At("RETURN"), method = "<init>(Lnet/minecraft/network/PacketByteBuf;)V") @Inject(at = @At("RETURN"), method = "<init>(Lnet/minecraft/network/PacketByteBuf;)V")
public void init(PacketByteBuf buf, CallbackInfo ci) { public void init(PacketByteBuf buf, CallbackInfo ci) {
googlechat$translate(); googlechat$translate(GoogleChat.TRANSLATE_SERVICE);
} }
private void googlechat$translate() { private <T> void googlechat$translate(TranslateService<T> ts) {
if (!GoogleChatConfig.enabled) return; if (!GoogleChatConfig.enabled) return;
Language server = Language.byId(GoogleChatConfig.serverLanguage); T server = ts.parseLang(GoogleChatConfig.serverLanguage);
if (server == Language.AUTO_DETECT || chatMessage.startsWith("/")) return; if (server == ts.parseLang("auto") || chatMessage.startsWith("/")) return;
try { try {
chatMessage = TranslateService.translate(chatMessage, Language.byId(GoogleChatConfig.clientLanguage), server); chatMessage = ts.translate(chatMessage, ts.parseLang(GoogleChatConfig.clientLanguage), server);
} catch (TranslateException e) { } catch (TranslateException e) {
GoogleChat.LOGGER.error("Could not translate sent message", e); GoogleChat.LOGGER.error("Could not translate sent message", e);
return; return;

View File

@ -2,9 +2,8 @@ package io.gitlab.jfronny.googlechat.mixin;
import io.gitlab.jfronny.googlechat.GoogleChat; import io.gitlab.jfronny.googlechat.GoogleChat;
import io.gitlab.jfronny.googlechat.GoogleChatConfig; import io.gitlab.jfronny.googlechat.GoogleChatConfig;
import io.gitlab.jfronny.libjf.translate.Language; import io.gitlab.jfronny.libjf.translate.api.TranslateException;
import io.gitlab.jfronny.libjf.translate.TranslateException; import io.gitlab.jfronny.libjf.translate.api.TranslateService;
import io.gitlab.jfronny.libjf.translate.TranslateService;
import net.fabricmc.api.EnvType; import net.fabricmc.api.EnvType;
import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.network.MessageType; import net.minecraft.network.MessageType;
@ -29,28 +28,28 @@ public class GameMessageS2CPacketMixin {
@Inject(at = @At("RETURN"), method = "<init>(Lnet/minecraft/text/Text;Lnet/minecraft/network/MessageType;Ljava/util/UUID;)V") @Inject(at = @At("RETURN"), method = "<init>(Lnet/minecraft/text/Text;Lnet/minecraft/network/MessageType;Ljava/util/UUID;)V")
private void init(Text message, MessageType type, UUID sender, CallbackInfo ci) { private void init(Text message, MessageType type, UUID sender, CallbackInfo ci) {
googlechat$translate(); googlechat$translate(GoogleChat.TRANSLATE_SERVICE);
} }
@Inject(at = @At("RETURN"), method = "<init>(Lnet/minecraft/network/PacketByteBuf;)V") @Inject(at = @At("RETURN"), method = "<init>(Lnet/minecraft/network/PacketByteBuf;)V")
private void init(PacketByteBuf buf, CallbackInfo ci) { private void init(PacketByteBuf buf, CallbackInfo ci) {
googlechat$translate(); googlechat$translate(GoogleChat.TRANSLATE_SERVICE);
} }
private void googlechat$translate() { private <T> void googlechat$translate(TranslateService<T> ts) {
if (!GoogleChatConfig.enabled) return; if (!GoogleChatConfig.enabled) return;
if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT && GoogleChat.isSelf(sender)) { if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT && GoogleChat.isSelf(sender)) {
return; return;
} }
Language client = Language.byId(GoogleChatConfig.clientLanguage); T client = ts.parseLang(GoogleChatConfig.clientLanguage);
if (client == Language.AUTO_DETECT) return; if (client == ts.parseLang("auto")) return;
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
message.asOrderedText().accept((index, style, codePoint) -> { message.asOrderedText().accept((index, style, codePoint) -> {
sb.append((char)codePoint); sb.append((char)codePoint);
return true; return true;
}); });
try { try {
LiteralText translatedText = new LiteralText(TranslateService.translate(sb.toString(), Language.byId(GoogleChatConfig.serverLanguage), client)); LiteralText translatedText = new LiteralText(ts.translate(sb.toString(), ts.parseLang(GoogleChatConfig.serverLanguage), client));
if (GoogleChatConfig.translationTooltip) if (GoogleChatConfig.translationTooltip)
message = googlechat$concat(message.getWithStyle(Style.EMPTY.withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new LiteralText("Translated: ").append(translatedText))))); message = googlechat$concat(message.getWithStyle(Style.EMPTY.withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new LiteralText("Translated: ").append(translatedText)))));
else else

View File

@ -19,6 +19,6 @@
], ],
"depends": { "depends": {
"fabricloader": ">=0.12.12", "fabricloader": ">=0.12.12",
"minecraft": "1.18.1" "minecraft": "*"
} }
} }