Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 40 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,18 +1,30 @@
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.guardsquare:proguard-gradle:7.4.2"
}
}

plugins {
id 'base'
id "fabric-loom" version "1.10-SNAPSHOT"
}

version = project.mod_version
group = project.maven_group

base {
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
archivesName.set(project.archives_base_name)
}

loom {
accessWidenerPath = file("src/main/resources/genyo.accesswidener")
}

repositories {
mavenCentral()
maven {
name = "Meteor Dev Releases"
url = "https://maven.meteordev.org/releases"
Expand Down Expand Up @@ -46,11 +58,16 @@ tasks {
}

jar {
archiveClassifier.set('dev')
from("LICENSE") {
rename { "${it}_${project.base.archivesBaseName}" }
rename { "${it}_${archiveBaseName.get()}" }
}
}

remapJar {
archiveClassifier.set('reobf') // my-mod-1.0.0-reobf.jar
}

java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
Expand All @@ -61,3 +78,22 @@ tasks {
it.options.release = 21
}
}

import net.fabricmc.loom.task.RemapJarTask
import proguard.gradle.ProGuardTask

tasks.register("proguardObf", ProGuardTask) { ProGuardTask t ->
description = "Obfuscate and shrink the reobf JAR"

dependsOn "remapJar"
def reobfJar = file("$buildDir/libs/${archivesBaseName}-${version}-reobf.jar")
inputs.file reobfJar
injars reobfJar
outjars file("$buildDir/libs/${archivesBaseName}-${version}-obf.jar")
libraryjars files(configurations.modImplementation) // only your Meteor Client + other libs
configuration "proguard-rules.pro"
}

tasks.build {
dependsOn "proguardObf"
}
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ yarn_mappings=1.21.4+build.8
loader_version=0.16.14

# Mod Properties
mod_version=0.8.0
mod_version=0.8.1
maven_group=com.genyo
archives_base_name=genyo-addon

Expand Down
32 changes: 32 additions & 0 deletions proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 0) Don’t fail on missing library classes
-ignorewarnings
-dontwarn net.minecraft.**
-dontwarn net.fabricmc.**
-dontwarn meteordevelopment.**

# 1) Preserve ALL annotation metadata
-keepattributes *Annotation*,InnerClasses,EnclosingMethod,Signature

# 2) Keep Mixin annotation & your mixins
-keep @interface org.spongepowered.asm.mixin.Mixin
-keep class com.genyo.addon.mixin.** { *; }

# 3) Keep **all** of your addon’s code (so Meteor’s reflection can see your Settings, Commands, etc.)
-keep class com.genyo.addon.** { *; }

# 4) Keep your addon’s main entrypoint (by name)
-keep class com.genyo.addon.GenyoAddon {
public <init>();
}

# 5) Keep Fabric & Meteor APIs you use reflectively
-dontwarn net.fabricmc.**
-keep class net.fabricmc.** { *; }

-dontwarn meteordevelopment.**
-keep class meteordevelopment.** { *; }

# 6) Shrink/optimize flags
-dontshrink
-dontoptimize
-allowaccessmodification
2 changes: 2 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ pluginManagement {
gradlePluginPortal()
}
}

include 'untitled'
47 changes: 35 additions & 12 deletions src/main/java/com/genyo/addon/GenyoAddon.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package com.genyo.addon;

import com.genyo.addon.hud.ActiveGenyoHud;
import com.genyo.addon.modules.combat.*;
import com.genyo.addon.modules.misc.*;
import com.genyo.addon.modules.movement.GenyoVelocity;
import com.genyo.addon.modules.visual.AngelSexHulkenberg;
import com.genyo.addon.modules.visual.GenyoPenisESP;
import com.genyo.addon.modules.world.*;
import com.genyo.addon.systems.hud.*;
import com.genyo.addon.systems.modules.combat.*;
import com.genyo.addon.systems.modules.misc.*;
import com.genyo.addon.systems.modules.movement.GenyoPhase;
import com.genyo.addon.systems.modules.movement.GenyoVelocity;
import com.genyo.addon.systems.modules.visual.AngelSexHulkenberg;
import com.genyo.addon.systems.modules.visual.GenyoCapes;
import com.genyo.addon.systems.modules.visual.GenyoPenisESP;
import com.genyo.addon.systems.enemies.EnemiesTab;
import com.genyo.addon.hud.InCombatHud;
import com.genyo.addon.hud.PvPNeccessaryHud;
import com.genyo.addon.managers.Managers;
import com.genyo.addon.systems.enemies.Enemies;
import com.genyo.addon.systems.incombat.InCombatSystem;
import com.genyo.addon.systems.incombat.InCombatTab;
import com.genyo.addon.systems.modules.world.*;
import com.mojang.logging.LogUtils;
import meteordevelopment.meteorclient.addons.GithubRepo;
import meteordevelopment.meteorclient.addons.MeteorAddon;
Expand All @@ -30,10 +30,19 @@
import net.minecraft.item.Items;
import org.slf4j.Logger;

import java.lang.annotation.Target;

public class GenyoAddon extends MeteorAddon {

public static final Logger LOG = LogUtils.getLogger();
public static final Category GENYO = new Category("Genyo", Items.MILK_BUCKET.getDefaultStack());

// Categories
public static final Category COMBAT = new Category("G-COMBAT", Items.MILK_BUCKET.getDefaultStack());
public static final Category MISC = new Category("G-MISC", Items.MILK_BUCKET.getDefaultStack());
public static final Category MOVEMENT = new Category("G-MOVE", Items.MILK_BUCKET.getDefaultStack());
public static final Category VISUAL = new Category("G-VISUAL", Items.MILK_BUCKET.getDefaultStack());
public static final Category WORLD = new Category("G-WORLD", Items.MILK_BUCKET.getDefaultStack());

public static final HudGroup HUD_GROUP = new HudGroup("Genyo");

public static final String MOD_ID = "genyo";
Expand Down Expand Up @@ -96,7 +105,6 @@ private void initModules(Modules modules) {
modules.add(new GenyoWelcome());
modules.add(new GenyoSkinBlink());
modules.add(new GenyoGoodbye());
modules.add(new GenyoAutoMine());
modules.add(new GenyoSurroundV2());
modules.add(new GenyoAutoCrystal());
modules.add(new GenyoDiscord());
Expand All @@ -112,17 +120,32 @@ private void initModules(Modules modules) {
modules.add(new GenyoGhostBlocks());
modules.add(new GenyoSelfTrap());
modules.add(new CombatBrainrot());
modules.add(new PacketDebug());
modules.add(new GenyoAutoMine());
modules.add(new GenyoAutoXP());
modules.add(new GenyoAutoArmor());
modules.add(new GenyoAutoTrap());
modules.add(new GenyoCapes());
modules.add(new GenyoPhase());
modules.add(new GenyoMainMenu());
}

private void initHUD(Hud hud) {
hud.register(PvPNeccessaryHud.INFO);
hud.register(InCombatHud.INFO);
hud.register(ActiveGenyoHud.INFO);
hud.register(PacketsHud.INFO);
hud.register(WatermarkHud.INFO);
hud.register(BetterPlayerRadarHud.INFO);
}

@Override
public void onRegisterCategories() {
Modules.registerCategory(GENYO);
Modules.registerCategory(COMBAT);
Modules.registerCategory(MISC);
Modules.registerCategory(MOVEMENT);
Modules.registerCategory(VISUAL);
Modules.registerCategory(WORLD);
}

@Override
Expand Down

This file was deleted.

16 changes: 16 additions & 0 deletions src/main/java/com/genyo/addon/events/world/AddEntityEvent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.genyo.addon.events.world;

import net.minecraft.entity.Entity;

public class AddEntityEvent {

private static final AddEntityEvent INSTANCE = new AddEntityEvent();
public Entity entity;

public static AddEntityEvent get(Entity entity) {
INSTANCE.entity = entity;

return INSTANCE;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.genyo.addon.events.world;

import meteordevelopment.meteorclient.events.Cancellable;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.shape.VoxelShape;

public class BlockCollisionEvent extends Cancellable {

private static final BlockCollisionEvent INSTANCE = new BlockCollisionEvent();

public BlockPos pos;
public BlockState state;
public VoxelShape shape;

public static BlockCollisionEvent get(BlockPos pos, BlockState state, VoxelShape shape) {
INSTANCE.pos = pos;
INSTANCE.state = state;
INSTANCE.shape = shape;

return INSTANCE;
}

public Block getBlock() {
return state.getBlock();
}

public void setVoxelShape(VoxelShape shape) {
this.shape = shape;
}

}
32 changes: 0 additions & 32 deletions src/main/java/com/genyo/addon/events/world/CollisionEvent.java

This file was deleted.

5 changes: 5 additions & 0 deletions src/main/java/com/genyo/addon/managers/Managers.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.genyo.addon.managers.anticheat.AntiCheatManager;
import com.genyo.addon.managers.combat.CombatManager;
import com.genyo.addon.managers.combat.PearlManager;
import com.genyo.addon.managers.combat.TotemManager;
import com.genyo.addon.managers.network.GDTogglerManager;
import com.genyo.addon.managers.network.NetworkManager;
Expand All @@ -11,6 +12,7 @@
import com.genyo.addon.managers.player.PositionManager;
import com.genyo.addon.managers.player.rotation.RotationManager;
import com.genyo.addon.managers.world.BlockManager;
import com.genyo.addon.managers.world.SocialManager;
import com.genyo.addon.managers.world.tick.TickManager;
import com.genyo.addon.render.Render3DEngine;
import meteordevelopment.meteorclient.MeteorClient;
Expand All @@ -29,6 +31,8 @@ public class Managers {
public static final PositionManager POSITION = new PositionManager();
public static final AntiCheatManager ANTICHEAT = new AntiCheatManager();
public static final TickManager TICK = new TickManager();
public static final SocialManager SOCIAL = new SocialManager();
public static final PearlManager PEARL = new PearlManager();

public static void subscribe() {
MeteorClient.EVENT_BUS.subscribe(COMBAT);
Expand All @@ -44,6 +48,7 @@ public static void subscribe() {
MeteorClient.EVENT_BUS.subscribe(POSITION);
MeteorClient.EVENT_BUS.subscribe(ANTICHEAT);
MeteorClient.EVENT_BUS.subscribe(TICK);
MeteorClient.EVENT_BUS.subscribe(PEARL);
}

}
14 changes: 13 additions & 1 deletion src/main/java/com/genyo/addon/managers/combat/CombatManager.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package com.genyo.addon.managers.combat;

import com.genyo.addon.GenyoAddon;
import com.genyo.addon.events.TotemPopEvent;
import com.genyo.addon.events.UnderCombatEvent;
import com.genyo.addon.utils.GenyoChatUtils;
import meteordevelopment.meteorclient.MeteorClient;
import meteordevelopment.meteorclient.events.entity.player.AttackEntityEvent;
import meteordevelopment.meteorclient.events.packets.PacketEvent;
import meteordevelopment.meteorclient.utils.player.ChatUtils;
import meteordevelopment.orbit.EventHandler;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityStatuses;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.packet.s2c.play.EntityStatusS2CPacket;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;

import java.util.HashMap;

Expand Down Expand Up @@ -48,8 +53,15 @@ public void onPacketReceive(PacketEvent.Receive event) {
}

MeteorClient.EVENT_BUS.post(TotemPopEvent.get((PlayerEntity) ent, popList.get(entityName)));
} else if (pac.getStatus() == EntityStatuses.PLAY_DEATH_SOUND_OR_ADD_PROJECTILE_HIT_PARTICLES) {
Entity ent = pac.getEntity(mc.world);
if (!(ent instanceof PlayerEntity player)) return;
if (player != mc.player) return;

GenyoChatUtils.sendMessage(Formatting.GRAY + "You have very dead. Oh no." +
"\n\nReason: " + Formatting.GREEN + "ewrhjfkjerkjfhrejkgkregr" + Formatting.GRAY +
"\nConclusion: " + Formatting.GREEN + "Skill issue. :(");
}
}
}

}
Loading
Loading