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"
repositories {
}
dependencies {
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-base:${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"
// 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
minecraft_version=1.18.1
yarn_mappings=build.12
loader_version=0.12.12
# https://fabricmc.net/develop/
minecraft_version=1.18.2
yarn_mappings=build.1
loader_version=0.13.3
maven_group=io.gitlab.jfronny
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_required_dependencies=
# modrinth_optional_dependencies=
curseforge_id=574331
# curseforge_required_dependencies=
# curseforge_optional_dependencies=
curseforge_id=574331

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;
import io.gitlab.jfronny.libjf.translate.api.TranslateService;
import net.minecraft.client.MinecraftClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -9,6 +10,7 @@ import java.util.UUID;
public class GoogleChat {
public static final String MOD_ID = "google-chat";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
public static final TranslateService<?> TRANSLATE_SERVICE = TranslateService.getConfigured();
public static boolean isSelf(UUID sender) {
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.GoogleChatConfig;
import io.gitlab.jfronny.libjf.translate.Language;
import io.gitlab.jfronny.libjf.translate.TranslateException;
import io.gitlab.jfronny.libjf.translate.TranslateService;
import io.gitlab.jfronny.libjf.translate.api.TranslateException;
import io.gitlab.jfronny.libjf.translate.api.TranslateService;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.network.packet.c2s.play.ChatMessageC2SPacket;
import org.spongepowered.asm.mixin.Final;
@ -24,20 +23,20 @@ public class ChatMessageC2SPacketMixin {
@Inject(at = @At("RETURN"), method = "<init>(Ljava/lang/String;)V")
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")
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;
Language server = Language.byId(GoogleChatConfig.serverLanguage);
if (server == Language.AUTO_DETECT || chatMessage.startsWith("/")) return;
T server = ts.parseLang(GoogleChatConfig.serverLanguage);
if (server == ts.parseLang("auto") || chatMessage.startsWith("/")) return;
try {
chatMessage = TranslateService.translate(chatMessage, Language.byId(GoogleChatConfig.clientLanguage), server);
chatMessage = ts.translate(chatMessage, ts.parseLang(GoogleChatConfig.clientLanguage), server);
} catch (TranslateException e) {
GoogleChat.LOGGER.error("Could not translate sent message", e);
return;

View File

@ -2,9 +2,8 @@ package io.gitlab.jfronny.googlechat.mixin;
import io.gitlab.jfronny.googlechat.GoogleChat;
import io.gitlab.jfronny.googlechat.GoogleChatConfig;
import io.gitlab.jfronny.libjf.translate.Language;
import io.gitlab.jfronny.libjf.translate.TranslateException;
import io.gitlab.jfronny.libjf.translate.TranslateService;
import io.gitlab.jfronny.libjf.translate.api.TranslateException;
import io.gitlab.jfronny.libjf.translate.api.TranslateService;
import net.fabricmc.api.EnvType;
import net.fabricmc.loader.api.FabricLoader;
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")
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")
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 (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT && GoogleChat.isSelf(sender)) {
return;
}
Language client = Language.byId(GoogleChatConfig.clientLanguage);
if (client == Language.AUTO_DETECT) return;
T client = ts.parseLang(GoogleChatConfig.clientLanguage);
if (client == ts.parseLang("auto")) return;
StringBuilder sb = new StringBuilder();
message.asOrderedText().accept((index, style, codePoint) -> {
sb.append((char)codePoint);
return true;
});
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)
message = googlechat$concat(message.getWithStyle(Style.EMPTY.withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new LiteralText("Translated: ").append(translatedText)))));
else

View File

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