1.18.2 compat
This commit is contained in:
parent
a5dee00b14
commit
4e2be69013
12
build.gradle
12
build.gradle
|
@ -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}"))
|
||||
}
|
||||
|
|
|
@ -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
|
|
@ -1 +0,0 @@
|
|||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -19,6 +19,6 @@
|
|||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=0.12.12",
|
||||
"minecraft": "1.18.1"
|
||||
"minecraft": "*"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue