From 5bb4f392be5427af8866e7455ef9fc0c86b9e5bb Mon Sep 17 00:00:00 2001 From: subhammohanty-sys Date: Sat, 23 May 2026 02:50:22 +0530 Subject: [PATCH 1/3] Fix StashFinder pinging air by mapping true Y-coordinate --- .../systems/modules/world/StashFinder.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java index cb9f918ead..26f7fb9094 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java @@ -197,6 +197,7 @@ private void onChunkData(ChunkDataEvent event) { if (Math.sqrt(chunkXAbs * chunkXAbs + chunkZAbs * chunkZAbs) < minimumDistance.get()) return; Chunk chunk = new Chunk(event.chunk().getPos()); + boolean yCaptured = false; List blockBlacklist = blacklistedBlocks.get(); @@ -207,6 +208,10 @@ private void onChunkData(ChunkDataEvent event) { BlockPos below = blockEntity.getBlockPos().below(); if (blockBlacklist.contains(event.chunk().getBlockState(below).getBlock())) continue; } + if(!yCaptured){ + chunk.y = blockEntity.getBlockPos().getY(); + yCaptured = true; + } switch (blockEntity) { case ChestBlockEntity _ -> chunk.chests++; @@ -229,8 +234,7 @@ private void onChunkData(ChunkDataEvent event) { else prevChunk = chunks.set(i, chunk); if (renderTracer.get()) { - double y = mc.player != null ? mc.player.getEyeY() : 0.0; - tracerPositions.put(chunk.chunkPos, new Vec3(chunk.x, y, chunk.z)); + tracerPositions.put(chunk.chunkPos, new Vec3(chunk.x, chunk.y, chunk.z)); } saveJson(); @@ -296,8 +300,7 @@ private void fillTable(GuiTheme theme, WTable table) { WCheckbox visible = table.add(theme.checkbox(tracerPositions.containsKey(chunk.chunkPos))).widget(); visible.action = () -> { if (visible.checked) { - double y = mc.player != null ? mc.player.getEyeY() : 0.0; - tracerPositions.put(chunk.chunkPos, new Vec3(chunk.x, y, chunk.z)); + tracerPositions.put(chunk.chunkPos, new Vec3(chunk.x, chunk.y, chunk.z)); } else tracerPositions.remove(chunk.chunkPos); }; @@ -451,7 +454,7 @@ private void onRender3D(Render3DEvent event) { if (renderTracer.get()) { event.renderer.line( - RenderUtils.center.x, RenderUtils.center.y, RenderUtils.center.z, pos.x, mc.player.getEyeY(), pos.z, traceColor.get() + RenderUtils.center.x, RenderUtils.center.y, RenderUtils.center.z, pos.x, pos.y, pos.z, traceColor.get() ); } @@ -483,6 +486,7 @@ public static class Chunk { public ChunkPos chunkPos; public transient int x, z; + public int y; public int chests, barrels, shulkers, enderChests, furnaces, dispensersDroppers, hoppers; public Chunk(ChunkPos chunkPos) { From 7315c68dcfd499e474225ab7c0175acb89f13054 Mon Sep 17 00:00:00 2001 From: subhammohanty-sys Date: Sat, 23 May 2026 03:40:27 +0530 Subject: [PATCH 2/3] Fix StashFinder pinging air by mapping true Y-coordinate --- .../meteorclient/systems/modules/world/StashFinder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java index 26f7fb9094..2a8d9e4f72 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java @@ -308,7 +308,7 @@ private void fillTable(GuiTheme theme, WTable table) { open.action = () -> mc.setScreen(new ChunkScreen(theme, chunk)); WButton gotoBtn = table.add(theme.button("Goto")).widget(); - gotoBtn.action = () -> PathManagers.get().moveTo(new BlockPos(chunk.x, 0, chunk.z), true); + gotoBtn.action = () -> PathManagers.get().moveTo(new BlockPos(chunk.x, chunk.y, chunk.z), true); WMinus delete = table.add(theme.minus()).widget(); delete.action = () -> { @@ -421,7 +421,7 @@ private void sendChatNotification(Chunk chunk) { .withColor(ChatFormatting.WHITE) .applyFormat(ChatFormatting.UNDERLINE) .withHoverEvent(new HoverEvent.ShowText(Component.literal("Path to stash"))) - .withClickEvent(new RunnableClickEvent(() -> PathManagers.get().moveTo(new BlockPos(chunk.x, 0, chunk.z), true)))); + .withClickEvent(new RunnableClickEvent(() -> PathManagers.get().moveTo(new BlockPos(chunk.x, chunk.y, chunk.z), true)))); MutableComponent message = Component.literal("Found stash at ") .withStyle(ChatFormatting.GRAY) From 67125b8fba2e3aff4a8c2f93fd99f312199a7880 Mon Sep 17 00:00:00 2001 From: subhammohanty-sys Date: Sat, 23 May 2026 15:40:39 +0530 Subject: [PATCH 3/3] Other Fixes --- .../systems/modules/world/StashFinder.java | 41 +++++++++++++++---- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java index 2a8d9e4f72..121cf067c6 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/StashFinder.java @@ -5,9 +5,23 @@ package meteordevelopment.meteorclient.systems.modules.world; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.Writer; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.google.gson.GsonBuilder; + import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.events.render.Render3DEvent; import meteordevelopment.meteorclient.events.world.ChunkDataEvent; @@ -22,7 +36,15 @@ import meteordevelopment.meteorclient.gui.widgets.pressable.WCheckbox; import meteordevelopment.meteorclient.gui.widgets.pressable.WMinus; import meteordevelopment.meteorclient.pathing.PathManagers; -import meteordevelopment.meteorclient.settings.*; +import meteordevelopment.meteorclient.settings.BlockListSetting; +import meteordevelopment.meteorclient.settings.BoolSetting; +import meteordevelopment.meteorclient.settings.ColorSetting; +import meteordevelopment.meteorclient.settings.EnumSetting; +import meteordevelopment.meteorclient.settings.IntSetting; +import meteordevelopment.meteorclient.settings.KeybindSetting; +import meteordevelopment.meteorclient.settings.Setting; +import meteordevelopment.meteorclient.settings.SettingGroup; +import meteordevelopment.meteorclient.settings.StorageBlockListSetting; import meteordevelopment.meteorclient.systems.modules.Categories; import meteordevelopment.meteorclient.systems.modules.Module; import meteordevelopment.meteorclient.utils.Utils; @@ -43,12 +65,17 @@ import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.entity.*; +import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; +import net.minecraft.world.level.block.entity.BarrelBlockEntity; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.entity.ChestBlockEntity; +import net.minecraft.world.level.block.entity.DispenserBlockEntity; +import net.minecraft.world.level.block.entity.EnderChestBlockEntity; +import net.minecraft.world.level.block.entity.HopperBlockEntity; +import net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity; import net.minecraft.world.phys.Vec3; -import java.io.*; -import java.util.*; - public class StashFinder extends Module { private final SettingGroup sgGeneral = settings.getDefaultGroup(); private final SettingGroup sgRender = settings.createGroup("Render"); @@ -294,7 +321,7 @@ public WWidget getWidget(GuiTheme theme) { private void fillTable(GuiTheme theme, WTable table) { for (Chunk chunk : chunks) { - table.add(theme.label("Pos: " + chunk.x + ", " + chunk.z)).padRight(10); + table.add(theme.label("Pos: " + chunk.x + ", " + chunk.y + ", " + chunk.z)).padRight(10); table.add(theme.label("Total: " + chunk.getTotal())).padRight(10); WCheckbox visible = table.add(theme.checkbox(tracerPositions.containsKey(chunk.chunkPos))).widget(); @@ -416,7 +443,7 @@ public String getInfoString() { } private void sendChatNotification(Chunk chunk) { - MutableComponent coords = Component.literal(chunk.x + ", " + chunk.z) + MutableComponent coords = Component.literal(chunk.x + ", " + chunk.y + ", " + chunk.z) .setStyle(Style.EMPTY .withColor(ChatFormatting.WHITE) .applyFormat(ChatFormatting.UNDERLINE)