From 31aa0a803069513d32e242a65c4d7ad1daf99355 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Thu, 18 Apr 2024 22:22:33 -0400 Subject: Add the ml command (temporary, will be replaced). --- src/main/java/org/chrisoft/trashyaddon/Addon.java | 6 +-- .../trashyaddon/commands/MapLocateCommand.java | 43 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/chrisoft/trashyaddon/commands/MapLocateCommand.java (limited to 'src') diff --git a/src/main/java/org/chrisoft/trashyaddon/Addon.java b/src/main/java/org/chrisoft/trashyaddon/Addon.java index 2e4f504..a956b6c 100644 --- a/src/main/java/org/chrisoft/trashyaddon/Addon.java +++ b/src/main/java/org/chrisoft/trashyaddon/Addon.java @@ -1,12 +1,9 @@ package org.chrisoft.trashyaddon; -import org.chrisoft.trashyaddon.commands.BlockDataCommand; -import org.chrisoft.trashyaddon.commands.EntityDataCommand; +import org.chrisoft.trashyaddon.commands.*; import com.mojang.logging.LogUtils; import meteordevelopment.meteorclient.addons.MeteorAddon; import meteordevelopment.meteorclient.commands.Commands; -import org.chrisoft.trashyaddon.commands.MapDumpCommand; -import org.chrisoft.trashyaddon.commands.MapTallyCommand; import org.slf4j.Logger; public class Addon extends MeteorAddon { @@ -26,6 +23,7 @@ public class Addon extends MeteorAddon { Commands.add(new BlockDataCommand()); Commands.add(new MapDumpCommand()); Commands.add(new MapTallyCommand()); + Commands.add(new MapLocateCommand()); // HUD //Hud.get().register(HudExample.INFO); diff --git a/src/main/java/org/chrisoft/trashyaddon/commands/MapLocateCommand.java b/src/main/java/org/chrisoft/trashyaddon/commands/MapLocateCommand.java new file mode 100644 index 0000000..c965b1a --- /dev/null +++ b/src/main/java/org/chrisoft/trashyaddon/commands/MapLocateCommand.java @@ -0,0 +1,43 @@ +package org.chrisoft.trashyaddon.commands; + +import com.mojang.brigadier.arguments.IntegerArgumentType; +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import meteordevelopment.meteorclient.commands.Command; +import net.minecraft.command.CommandSource; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.decoration.ItemFrameEntity; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.Entity; + +import java.text.Format; +import java.util.Formatter; +import java.util.OptionalInt; + +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; + +public class MapLocateCommand extends Command { + private final MinecraftClient mc = MinecraftClient.getInstance(); + public MapLocateCommand() { + super("ml", "Find item frames with a certain map in them. Will eventually be replaced with an enhanced ESP module."); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.then(argument("id", IntegerArgumentType.integer()).executes(context -> { + int targetID = IntegerArgumentType.getInteger(context, "id"); + for (Entity e : mc.world.getEntities()) { + if (e.getType() != EntityType.ITEM_FRAME && e.getType() != EntityType.GLOW_ITEM_FRAME) + continue; + ItemFrameEntity ife = (ItemFrameEntity) e; + OptionalInt oid = ife.getMapId(); + if (oid.isEmpty()) + continue; + int id = oid.getAsInt(); + Formatter fmt = new Formatter(); + if (id == targetID) + info(fmt.format("Map frame found at %.2f %.2f %.2f", ife.getPos().x, ife.getPos().y, ife.getPos().z).toString()); + } + return SINGLE_SUCCESS; + })); + } +} -- cgit v1.2.3