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
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id "fabric-loom" version "1.8-SNAPSHOT"
id "fabric-loom" version "1.10-SNAPSHOT"
}

base {
Expand Down
10 changes: 5 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ org.gradle.jvmargs=-Xmx2G

# Fabric Properties (https://fabricmc.net/develop)
minecraft_version=1.21.4
yarn_mappings=1.21.4+build.7
loader_version=0.16.9
yarn_mappings=1.21.4+build.8
loader_version=0.16.14

# Mod Properties
mod_version=0.1.0
maven_group=com.example
archives_base_name=addon-template
mod_version=0.6.9
maven_group=com.genyo
archives_base_name=genyo-addon

# Dependencies
9 changes: 8 additions & 1 deletion src/main/java/com/genyo/addon/GenyoAddon.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package com.genyo.addon;

import com.genyo.addon.gui.EnemiesTab;
import com.genyo.addon.hud.PvPNeccessaryHud;
import com.genyo.addon.modules.GenyoAutoEZ;
import com.genyo.addon.systems.enemies.Enemies;
import com.mojang.logging.LogUtils;
import meteordevelopment.meteorclient.addons.GithubRepo;
import meteordevelopment.meteorclient.addons.MeteorAddon;
import meteordevelopment.meteorclient.gui.tabs.Tabs;
import meteordevelopment.meteorclient.systems.Systems;
import meteordevelopment.meteorclient.systems.hud.Hud;
import meteordevelopment.meteorclient.systems.hud.HudGroup;
import meteordevelopment.meteorclient.systems.modules.Category;
import meteordevelopment.meteorclient.systems.modules.Module;
import meteordevelopment.meteorclient.systems.modules.Modules;
import org.slf4j.Logger;

Expand All @@ -21,8 +24,12 @@ public class GenyoAddon extends MeteorAddon {
public void onInitialize() {
LOG.info("Genyo fasz indul genyo");

Systems.add(new Enemies());

Modules.get().add(new GenyoAutoEZ());

Tabs.add(new EnemiesTab());

// HUD
Hud.get().register(PvPNeccessaryHud.INFO);
}
Expand Down
123 changes: 123 additions & 0 deletions src/main/java/com/genyo/addon/gui/EnemiesTab.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
package com.genyo.addon.gui;

import com.genyo.addon.systems.enemies.Enemies;
import com.genyo.addon.systems.enemies.Enemy;
import meteordevelopment.meteorclient.gui.GuiTheme;
import meteordevelopment.meteorclient.gui.tabs.Tab;
import meteordevelopment.meteorclient.gui.tabs.TabScreen;
import meteordevelopment.meteorclient.gui.tabs.WindowTabScreen;
import meteordevelopment.meteorclient.gui.widgets.containers.WHorizontalList;
import meteordevelopment.meteorclient.gui.widgets.containers.WTable;
import meteordevelopment.meteorclient.gui.widgets.input.WTextBox;
import meteordevelopment.meteorclient.gui.widgets.pressable.WMinus;
import meteordevelopment.meteorclient.gui.widgets.pressable.WPlus;
import meteordevelopment.meteorclient.settings.Settings;
import meteordevelopment.meteorclient.utils.misc.NbtUtils;
import meteordevelopment.meteorclient.utils.network.MeteorExecutor;
import net.minecraft.client.gui.screen.Screen;

public class EnemiesTab extends Tab {

public EnemiesTab() {
super("Enemies");
}

@Override
public TabScreen createScreen(GuiTheme theme) {
return new EnemiesScreen(theme, this);
}

@Override
public boolean isScreen(Screen screen) {
return screen instanceof EnemiesScreen;
}

private static class EnemiesScreen extends WindowTabScreen {
private final Settings settings;

public EnemiesScreen(GuiTheme theme, Tab tab) {
super(theme, tab);

settings = Enemies.get().settings;
}

@Override
public void initWidgets() {
WTable table = add(theme.table()).expandX().minWidth(400).widget();

add(theme.settings(settings)).expandX();

add(theme.horizontalSeparator()).expandX();

initTable(table);

// New
WHorizontalList list = add(theme.horizontalList()).expandX().widget();

WTextBox nameW = list.add(theme.textBox("", (text, c) -> c != ' ')).expandX().widget();
nameW.setFocused(true);

WPlus add = list.add(theme.plus()).widget();
add.action = () -> {
String name = nameW.get().trim();
Enemy enemy = new Enemy(name);

if (Enemies.get().add(enemy)) {
nameW.set("");
reload();

MeteorExecutor.execute(() -> {
enemy.updateInfo();
reload();
});
}
};

enterAction = add.action;
}

private void initTable(WTable table) {
table.clear();
if (Enemies.get().isEmpty()) return;

Enemies.get().forEach(enemy ->
MeteorExecutor.execute(() -> {
if (enemy.headTextureNeedsUpdate()) {
enemy.updateInfo();
reload();
}
})
);

for (Enemy enemy : Enemies.get()) {
table.add(theme.texture(32, 32, enemy.getHead().needsRotate() ? 90 : 0, enemy.getHead()));
table.add(theme.label(enemy.getName()));

WMinus remove = table.add(theme.minus()).expandCellX().right().widget();
remove.action = () -> {
Enemies.get().remove(enemy);
reload();
};

table.row();
}
}

@Override
public void tick() {
super.tick();

settings.tick(window, theme);
}

@Override
public boolean toClipboard() {
return NbtUtils.toClipboard(Enemies.get());
}

@Override
public boolean fromClipboard() {
return NbtUtils.fromClipboard(Enemies.get());
}
}
}
21 changes: 21 additions & 0 deletions src/main/java/com/genyo/addon/mixin/FriendsInjector.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.genyo.addon.mixin;

import com.genyo.addon.systems.enemies.Enemies;
import meteordevelopment.meteorclient.systems.friends.Friend;
import meteordevelopment.meteorclient.systems.friends.Friends;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(value = Friends.class, remap = false)
public class FriendsInjector {

@Inject(at = @At("RETURN"), method = "add*")
private void injected(Friend friend, CallbackInfoReturnable<Boolean> cir) {
if (Enemies.get().get(friend.getName()) != null) {
Enemies.get().remove(Enemies.get().get(friend.getName()));
}
}

}
23 changes: 23 additions & 0 deletions src/main/java/com/genyo/addon/mixin/PlayerUtilsMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.genyo.addon.mixin;

import com.genyo.addon.systems.enemies.Enemies;
import meteordevelopment.meteorclient.utils.player.PlayerUtils;
import meteordevelopment.meteorclient.utils.render.color.Color;
import net.minecraft.entity.player.PlayerEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(value = PlayerUtils.class, remap = false)
public class PlayerUtilsMixin {

@Inject(at = @At("TAIL"), method = "getPlayerColor*", cancellable = true)
private static void injectGetPlayerColor(PlayerEntity entity, Color defaultColor, CallbackInfoReturnable<Color> cir) {
if (Enemies.get().isEnemy(entity)) {
//cir.setReturnValue(new Color(245, 133, 125, 255));
cir.setReturnValue(Enemies.get().getEnemyColor());
}
}

}
3 changes: 1 addition & 2 deletions src/main/java/com/genyo/addon/modules/GenyoAutoEZ.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import meteordevelopment.meteorclient.systems.friends.Friends;
import meteordevelopment.meteorclient.systems.modules.Module;
import meteordevelopment.meteorclient.utils.player.ChatUtils;
import meteordevelopment.meteorclient.utils.player.PlayerUtils;
import meteordevelopment.orbit.EventHandler;
import meteordevelopment.orbit.EventPriority;
import net.minecraft.client.network.AbstractClientPlayerEntity;
Expand Down Expand Up @@ -77,8 +78,6 @@ public GenyoAutoEZ() {
private float renderHealth;
private float renderPing;

private final Map<AbstractClientPlayerEntity, Integer> tog = new HashMap<>();

@Override
public void onActivate() {
super.onActivate();
Expand Down
Loading
Loading