diff options
author | 2024-04-18 22:22:33 -0400 | |
---|---|---|
committer | 2024-04-18 22:22:33 -0400 | |
commit | 31aa0a803069513d32e242a65c4d7ad1daf99355 (patch) | |
tree | c8989c36d08abb44f8ae56fa842cfdeaf857b7ed | |
parent | dc611d41c2a9b3a9f59dba601296a4f08f2f8d51 (diff) | |
download | meteor-trashy-addon-31aa0a803069513d32e242a65c4d7ad1daf99355.tar.xz |
Add the ml command (temporary, will be replaced).
-rw-r--r-- | src/main/java/org/chrisoft/trashyaddon/Addon.java | 6 | ||||
-rw-r--r-- | src/main/java/org/chrisoft/trashyaddon/commands/MapLocateCommand.java | 43 |
2 files changed, 45 insertions, 4 deletions
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<CommandSource> 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; + })); + } +} |