From bd637143967b58a2adaec315c787e281ee4a3dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Ryb=C3=A1rsky?= Date: Thu, 4 Apr 2024 23:05:43 +0200 Subject: [PATCH] Init --- .gitignore | 118 ++++++++++++++++++ LICENSE | 21 ++++ build.gradle | 85 +++++++++++++ gradle.properties | 17 +++ gradle/wrapper/gradle-wrapper.properties | 1 + settings.gradle | 9 ++ .../chatencryptor/ChatDecryptorClient.java | 34 +++++ .../chatencryptor/ChatEncryptorClient.java | 21 ++++ src/main/resources/chatencryptor.mixins.json | 13 ++ src/main/resources/fabric.mod.json | 31 +++++ src/main/resources/icon.png | Bin 0 -> 38813 bytes 11 files changed, 350 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 settings.gradle create mode 100644 src/main/java/systems/brn/chatencryptor/ChatDecryptorClient.java create mode 100644 src/main/java/systems/brn/chatencryptor/ChatEncryptorClient.java create mode 100644 src/main/resources/chatencryptor.mixins.json create mode 100644 src/main/resources/fabric.mod.json create mode 100644 src/main/resources/icon.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c37caf --- /dev/null +++ b/.gitignore @@ -0,0 +1,118 @@ +# User-specific stuff +.idea/ + +*.iml +*.ipr +*.iws + +# IntelliJ +out/ +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +.gradle +build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Cache of project +.gradletasknamecache + +**/build/ + +# Common working directory +run/ + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f49035e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2024 BRNSystems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..128f9da --- /dev/null +++ b/build.gradle @@ -0,0 +1,85 @@ +plugins { + id 'fabric-loom' version '1.6-SNAPSHOT' + id 'maven-publish' +} + +version = project.mod_version +group = project.maven_group + +repositories { + // Add repositories to retrieve artifacts from in here. + // You should only use this when depending on other mods because + // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. + // See https://docs.gradle.org/current/userguide/declaring_repositories.html + // for more information about repositories. +} + +dependencies { + // 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. This is technically optional, but you probably want it anyway. + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" +} + +processResources { + inputs.property "version", project.version + inputs.property "minecraft_version", project.minecraft_version + inputs.property "loader_version", project.loader_version + filteringCharset "UTF-8" + + filesMatching("fabric.mod.json") { + expand "version": project.version, + "minecraft_version": project.minecraft_version, + "loader_version": project.loader_version + } +} + +def targetJavaVersion = 17 +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" + if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) { + it.options.release.set(targetJavaVersion) + } +} + +java { + def javaVersion = JavaVersion.toVersion(targetJavaVersion) + if (JavaVersion.current() < javaVersion) { + toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) + } + archivesBaseName = project.archives_base_name + // 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") { + rename { "${it}_${project.archivesBaseName}"} + } +} + +// configure the maven publication +publishing { + publications { + mavenJava(MavenPublication) { + from components.java + } + } + + // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. + repositories { + // Add repositories to publish to here. + // Notice: This block does NOT have the same function as the block in the top level. + // The repositories here will be used for publishing your artifact, not for + // retrieving dependencies. + } +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..2f94dca --- /dev/null +++ b/gradle.properties @@ -0,0 +1,17 @@ +# Done to increase the memory available to gradle. +org.gradle.jvmargs=-Xmx1G + +# Fabric Properties + # check these on https://modmuss50.me/fabric.html + minecraft_version=1.20.4 + yarn_mappings=1.20.4+build.3 + loader_version=0.15.9 + +# Mod Properties + mod_version = 1.0 + maven_group = systems.brn + archives_base_name = chatencryptor + +# Dependencies + # check this on https://modmuss50.me/fabric.html + fabric_version=0.96.11+1.20.4 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e096528 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1 @@ +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..f91a4fe --- /dev/null +++ b/settings.gradle @@ -0,0 +1,9 @@ +pluginManagement { + repositories { + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + gradlePluginPortal() + } +} diff --git a/src/main/java/systems/brn/chatencryptor/ChatDecryptorClient.java b/src/main/java/systems/brn/chatencryptor/ChatDecryptorClient.java new file mode 100644 index 0000000..ef1808f --- /dev/null +++ b/src/main/java/systems/brn/chatencryptor/ChatDecryptorClient.java @@ -0,0 +1,34 @@ +package systems.brn.chatencryptor; + +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; +import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; +import net.minecraft.client.MinecraftClient; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableTextContent; +import java.util.Base64; + +public class ChatDecryptorClient implements ClientModInitializer { + @Override + public void onInitializeClient() { + ClientLifecycleEvents.CLIENT_STARTED.register(client -> { + // Register event listener for ClientTickEvents.END_CLIENT_TICK + ClientReceiveMessageEvents.ALLOW_CHAT.register((message, signedMessage, sender, params, receptionTimestamp) -> { + TranslatableTextContent content = (TranslatableTextContent) message.getContent(); + String message_content = content.getArg(1).getString(); + if(message_content.startsWith("BRNCrypt:")){ + String strippedMessage = message_content.replace("BRNCrypt:", ""); + String decodedMessage = new String(Base64.getDecoder().decode(strippedMessage)); + String outputMessage = "Decoded:" + decodedMessage; + MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.of(outputMessage)); + return false; + } + else { + MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.of("S:" + message_content + ":E")); + return false; + } + //return true; + }); + }); + } +} diff --git a/src/main/java/systems/brn/chatencryptor/ChatEncryptorClient.java b/src/main/java/systems/brn/chatencryptor/ChatEncryptorClient.java new file mode 100644 index 0000000..cd405e6 --- /dev/null +++ b/src/main/java/systems/brn/chatencryptor/ChatEncryptorClient.java @@ -0,0 +1,21 @@ +package systems.brn.chatencryptor; + +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; +import net.fabricmc.fabric.api.client.message.v1.ClientSendMessageEvents; + +import java.nio.charset.StandardCharsets; +import java.util.Base64; + +public class ChatEncryptorClient implements ClientModInitializer { + @Override + public void onInitializeClient() { + ClientLifecycleEvents.CLIENT_STARTED.register(client -> { + // Register event listener for ClientTickEvents.END_CLIENT_TICK + ClientSendMessageEvents.MODIFY_CHAT.register(message -> { + String encodedMessage = Base64.getEncoder().withoutPadding().encodeToString(message.getBytes(StandardCharsets.UTF_8)); + return "BRNCrypt:" + encodedMessage; + }); + }); + } +} diff --git a/src/main/resources/chatencryptor.mixins.json b/src/main/resources/chatencryptor.mixins.json new file mode 100644 index 0000000..282944e --- /dev/null +++ b/src/main/resources/chatencryptor.mixins.json @@ -0,0 +1,13 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "systems.brn.chatencryptor", + "compatibilityLevel": "JAVA_17", + "mixins": [ + ], + "client": [ + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..e39694b --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,31 @@ +{ + "schemaVersion": 1, + "id": "chatencryptor", + "version": "${version}", + "name": "chatencryptor", + "description": "", + "authors": [ + "BRNSystems" + ], + "contact": { + "website": "https://git.brn.systems/BRNSystems/chatencryptor", + "repo": "https://git.brn.systems/BRNSystems/chatencryptoratencryptor" + }, + "license": "MIT", + "icon": "icon.png", + "environment": "client", + "entrypoints": { + "client": [ + "systems.brn.chatencryptor.ChatEncryptorClient", + "systems.brn.chatencryptor.ChatDecryptorClient" + ] + }, + "mixins": [ + "chatencryptor.mixins.json" + ], + "depends": { + "fabricloader": ">=${loader_version}", + "fabric": "*", + "minecraft": "${minecraft_version}" + } +} diff --git a/src/main/resources/icon.png b/src/main/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b676f58f3d6e8ce1b1cd79ace5017934c7ff2001 GIT binary patch literal 38813 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

%(M;QbmDD?KU_z+D9&p1vmM4T! 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 Z{C}q{jghUMF?#?2002ovPDHLkV1ftQ96kU5 literal 0 HcmV?d00001