├── .gitattributes ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── src └── main │ ├── resources │ ├── assets │ │ └── clarity │ │ │ └── textures │ │ │ ├── icon.png │ │ │ └── clarity-chan.png │ ├── clarity.mixins.json │ └── fabric.mod.json │ └── java │ └── com │ └── x310 │ └── clarity │ ├── modules │ ├── BungeeGuard.java │ ├── ChannelFetch.java │ ├── PacketCharge.java │ ├── PacketLogger.java │ ├── crashers │ │ ├── PositionCrash.java │ │ ├── RecipeCrash.java │ │ ├── SkillCrash.java │ │ ├── VelocityCrash.java │ │ ├── OhioCrash.java │ │ ├── PaperOOMCrash.java │ │ └── SkillCrash2.java │ ├── BoatPlace.java │ ├── ChatBypass.java │ ├── PacketDelay.java │ ├── BetterBoatFly.java │ ├── ClarityNametags.java │ └── BoatUAV.java │ ├── mixin │ ├── ClientPlayerEntityMixin.java │ ├── ClientConnectionMixin.java │ ├── EntityRendererMixin.java │ └── LoginHandlerMixin.java │ ├── commands │ ├── SafeDisconnect.java │ ├── GetAccessToken.java │ ├── ClickSlot.java │ └── ChangeUsername.java │ ├── utils │ └── payload │ │ └── PaperCustomPayload.java │ ├── hud │ ├── ClarityChan.java │ ├── Logo.java │ ├── Watermark.java │ └── Arraylist.java │ ├── netty │ └── ClientPayloadPacketDecoder.java │ └── Main.java ├── settings.gradle.kts ├── .editorconfig ├── gradle.properties ├── .gitignore ├── .github └── workflows │ ├── pull_request.yml │ └── dev_build.yml ├── README.md ├── gradlew.bat ├── LICENSE └── gradlew /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ck-clarity/addon/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/assets/clarity/textures/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ck-clarity/addon/HEAD/src/main/resources/assets/clarity/textures/icon.png -------------------------------------------------------------------------------- /src/main/resources/assets/clarity/textures/clarity-chan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ck-clarity/addon/HEAD/src/main/resources/assets/clarity/textures/clarity-chan.png -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = "Fabric" 5 | url = uri("https://maven.fabricmc.net/") 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset = utf-8 3 | indent_style = space 4 | insert_final_newline = true 5 | trim_trailing_whitespace = true 6 | indent_size = 4 7 | ij_continuation_indent_size = 4 8 | 9 | [*.{json, yml}] 10 | indent_size = 2 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx2G 2 | 3 | # Fabric Properties (https://fabricmc.net/develop) 4 | minecraft_version=1.21.4 5 | yarn_mappings=1.21.4+build.7 6 | loader_version=0.16.9 7 | 8 | # Mod Properties 9 | mod_version=0.3.5 10 | maven_group=com.x310 11 | archives_base_name=clarity 12 | 13 | # Dependencies 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | -------------------------------------------------------------------------------- /src/main/java/com/x310/clarity/modules/BungeeGuard.java: -------------------------------------------------------------------------------- 1 | package com.x310.clarity.modules; 2 | 3 | import com.x310.clarity.Main; 4 | import meteordevelopment.meteorclient.systems.modules.Module; 5 | 6 | public class BungeeGuard extends Module { 7 | 8 | public BungeeGuard() { 9 | super(Main.CATEGORY, "BungeeGuard", "Gets the BungeeGuard Token from a server"); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/clarity.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "com.x310.clarity.mixin", 4 | "compatibilityLevel": "JAVA_21", 5 | "client": [ 6 | "ClientPlayerEntityMixin", 7 | "EntityRendererMixin" 8 | ], 9 | "injectors": { 10 | "defaultRequire": 1 11 | }, 12 | "mixins": [ 13 | "ClientConnectionMixin", 14 | "LoginHandlerMixin" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/x310/clarity/modules/ChannelFetch.java: -------------------------------------------------------------------------------- 1 | package com.x310.clarity.modules; 2 | 3 | import com.x310.clarity.Main; 4 | import meteordevelopment.meteorclient.systems.modules.Module; 5 | 6 | public class ChannelFetch extends Module { 7 | 8 | public ChannelFetch() { 9 | super(Main.CATEGORY, "Channel Fetcher", "gets the current open channels in the minecraft server"); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "clarity", 4 | "version": "${version}", 5 | "name": "clarity", 6 | "description": "clarity addon for Meteor Client.", 7 | "authors": [ 8 | "x310" 9 | ], 10 | "contact": { 11 | "repo": "https://github.com/Renovsk" 12 | }, 13 | "icon": "assets/clarity/textures/icon.png", 14 | "environment": "client", 15 | "entrypoints": { 16 | "meteor": [ 17 | "com.x310.clarity.Main" 18 | ] 19 | }, 20 | "mixins": [ 21 | "clarity.mixins.json" 22 | ], 23 | "custom": { 24 | "meteor-client:color": "177,205,255" 25 | }, 26 | "depends": { 27 | "java": ">=21", 28 | "minecraft": ["${mc_version}"], 29 | "meteor-client": "*" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/x310/clarity/mixin/ClientPlayerEntityMixin.java: -------------------------------------------------------------------------------- 1 | package com.x310.clarity.mixin; 2 | 3 | import com.x310.clarity.Main; 4 | import meteordevelopment.meteorclient.utils.player.ChatUtils; 5 | import net.minecraft.client.network.ClientPlayerEntity; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(ClientPlayerEntity.class) 12 | public abstract class ClientPlayerEntityMixin { 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo ci) { 15 | Main.delayedMessages.forEach(ChatUtils::info); 16 | Main.delayedMessages.clear(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- 1 | name: Build Pull Request Artifacts 2 | on: pull_request 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout Repository 10 | uses: actions/checkout@v4 11 | with: 12 | persist-credentials: false 13 | 14 | - name: Wrapper Validation 15 | uses: gradle/actions/wrapper-validation@v4 16 | 17 | - name: Set up Gradle 18 | uses: gradle/actions/setup-gradle@v4 19 | 20 | - name: Set up Java 21 | uses: actions/setup-java@v4 22 | with: 23 | distribution: 'temurin' 24 | java-version: 21 25 | 26 | - name: Build with Gradle 27 | run: ./gradlew build 28 | 29 | - name: Release 30 | uses: actions/upload-artifact@v4 31 | with: 32 | name: Artifacts 33 | path: build/libs/ 34 | -------------------------------------------------------------------------------- /src/main/java/com/x310/clarity/commands/SafeDisconnect.java: -------------------------------------------------------------------------------- 1 | package com.x310.clarity.commands; 2 | 3 | import com.mojang.brigadier.builder.LiteralArgumentBuilder; 4 | import meteordevelopment.meteorclient.commands.Command; 5 | import net.minecraft.client.network.ClientPlayNetworkHandler; 6 | import net.minecraft.command.CommandSource; 7 | import net.minecraft.network.packet.c2s.common.KeepAliveC2SPacket; 8 | 9 | public class SafeDisconnect extends Command { 10 | public SafeDisconnect() { 11 | super("safedisconnect", "Disconnect by sending a keepalive packet with -1 value"); 12 | } 13 | 14 | @Override 15 | public void build(LiteralArgumentBuilder builder) { 16 | builder.executes(context -> { 17 | ClientPlayNetworkHandler handler = mc.getNetworkHandler(); 18 | assert handler != null; 19 | handler.sendPacket(new KeepAliveC2SPacket(-1)); 20 | return SINGLE_SUCCESS; 21 | 22 | }); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/x310/clarity/modules/PacketCharge.java: -------------------------------------------------------------------------------- 1 | package com.x310.clarity.modules; 2 | 3 | import com.x310.clarity.Main; 4 | import meteordevelopment.meteorclient.events.packets.PacketEvent; 5 | import meteordevelopment.meteorclient.systems.modules.Module; 6 | import meteordevelopment.orbit.EventHandler; 7 | import meteordevelopment.orbit.EventPriority; 8 | import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; 9 | 10 | public class PacketCharge extends Module { 11 | 12 | public PacketCharge() { 13 | super(Main.CATEGORY, "Packet Charge", "Charges your packets as long as you\'re not moving"); 14 | } 15 | 16 | @EventHandler(priority = EventPriority.HIGHEST + 1) 17 | public static void onSendPacket(PacketEvent.Send event) { 18 | if (event.packet instanceof PlayerMoveC2SPacket.OnGroundOnly 19 | || event.packet instanceof PlayerMoveC2SPacket.PositionAndOnGround) { 20 | event.cancel(); 21 | } 22 | } 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /.github/workflows/dev_build.yml: -------------------------------------------------------------------------------- 1 | name: Publish Development Build 2 | on: push 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout Repository 10 | uses: actions/checkout@v4 11 | with: 12 | persist-credentials: false 13 | 14 | - name: Set up Gradle 15 | uses: gradle/actions/setup-gradle@v4 16 | 17 | - name: Set up Java 18 | uses: actions/setup-java@v4 19 | with: 20 | distribution: 'temurin' 21 | java-version: 21 22 | 23 | - name: Grant execute permission for gradlew 24 | run: chmod +x ./gradlew 25 | 26 | - name: Build with Gradle 27 | run: ./gradlew build 28 | 29 | - name: Release 30 | uses: marvinpinto/action-automatic-releases@latest 31 | with: 32 | repo_token: '${{ secrets.GITHUB_TOKEN }}' 33 | automatic_release_tag: snapshot 34 | prerelease: true 35 | title: Dev Build 36 | files: | 37 | ./build/libs/*.jar 38 | -------------------------------------------------------------------------------- /src/main/java/com/x310/clarity/utils/payload/PaperCustomPayload.java: -------------------------------------------------------------------------------- 1 | package com.x310.clarity.utils.payload; 2 | 3 | import net.minecraft.network.PacketByteBuf; 4 | import net.minecraft.network.codec.PacketCodec; 5 | import net.minecraft.network.packet.CustomPayload; 6 | import net.minecraft.util.Identifier; 7 | 8 | public record PaperCustomPayload(byte[] data) implements CustomPayload { 9 | 10 | public static final PacketCodec CODEC = CustomPayload.codecOf(PaperCustomPayload::write, PaperCustomPayload::new); 11 | public static final CustomPayload.Id ID = new Id<>(Identifier.of("paper", "issue")); 12 | 13 | public PaperCustomPayload(byte[] data) { 14 | this.data = data; 15 | } 16 | 17 | public PaperCustomPayload(PacketByteBuf buf) { 18 | this(buf.readByteArray()); 19 | } 20 | 21 | private void write(PacketByteBuf buf) { 22 | buf.writeBytes(data); 23 | } 24 | 25 | @Override 26 | public CustomPayload.Id getId() { 27 | return ID; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | Header Image 3 |

4 | 5 | 6 | # Clarity Addon 7 | This is an addon for meteor 1.21.4 8 |

9 | Header Image 10 |

11 | 12 | # Features 13 | ## Modules 14 | - Minehut Crash 15 | - Recipe Crash 16 | - Skill Crash 17 | - Velocity Crash 18 | - Position Spam 19 | - PaperOOM Crash 20 | - BetterBoatFly 21 | - BoatPlace 22 | - BoatUAV 23 | - BungeeGuard 24 | - Channel Fetcher 25 | - Chat Bypass 26 | - Claritytags 27 | - Packet Charge 28 | - Packet Delay 29 | - Packet Logger 30 | 31 | 32 | ## Commands 33 | - `clickslot