Skip to content

Commit 1f31bb2

Browse files
committed
ESP Fixes
1 parent a60693d commit 1f31bb2

File tree

5 files changed

+45
-9
lines changed

5 files changed

+45
-9
lines changed

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,15 @@ Build without the flag to get the full CevAPI experience; build with the flag fo
138138
- Trail can be applied to other players (toggleable unique colors for each player (shared with PlayerESP))
139139
- Settings: color, max sections, section length, thickness, targets, keep trails toggle, unique colors toggle.
140140

141-
![BreadCrumbs](https://i.imgur.com/OXzqDOz.png)
141+
![BreadCrumbs](https://i.imgur.com/XYWLWXY.png)
142142

143143
### LogoutSpots
144144
- Records where players log out.
145145
- Removes spots when they rejoin.
146146
- Rendering: solid box + outline, optional tracers, name labels with adjustable scale.
147147
- Settings: side color, line color, name scale, tracers toggle, spot lifetime, waypoint toggle.
148148

149-
![Logout](https://i.imgur.com/dPpTS5J.png)
149+
![Logout](https://i.imgur.com/4JKPkNL.png)
150150

151151
### AutoDisenchant
152152
- Feeds items from your inventory (and or hotbar) that can be disenchanted into the grindstone automatically.
@@ -286,15 +286,15 @@ Examples:
286286
- Highlight skulls → Item ID: `minecraft:player_head`, special color: magenta, outline-only ON.
287287
- Highlight talismans (non-standard item) → Query: `talisman`, special color: rainbow, highlight frames ON, lines-only-for-special ON.
288288

289-
![Item](https://i.imgur.com/nsWLDdJ.png)
289+
![Item](https://i.imgur.com/d0z2gTj.png)
290290

291291
### List UI (Search, MobSearch, ItemESP, Xray etc) Improvements
292292
- Able to specifically enter and save keywords into the list (Great for custom items on modded servers).
293293
- Able to clear the entire list with a single button
294294
- Can now multi-select items by holding CTRL or SHIFT
295295
- Deleting entries does not push you to the top of the list anymore
296296

297-
![ListUI](https://i.imgur.com/rjfk4em.png)
297+
![ListUI](https://i.imgur.com/elZoUaz.png)
298298

299299
### ClickGUI Improvements
300300
- Accidentally typing in ClickGUI just continues what you typed in the Navigator.
@@ -318,7 +318,7 @@ Examples:
318318
- Safer rescans and better crash handling.
319319
- Improved search speed.
320320

321-
![Search](https://i.imgur.com/zpITuWb.png)
321+
![Search](https://i.imgur.com/jxcn89u.png)
322322

323323
### X-Ray Improvements
324324
- Added ESP (Highlight Corners and or Fill Blocks)
@@ -328,7 +328,8 @@ Examples:
328328
- Opacity, block type changes and 'only show exposed' apply live without toggling.
329329
- New minimum search to 100 blocks.
330330

331-
![X](https://i.imgur.com/CXm2HzS.png)
331+
![X](https://i.imgur.com/21DE1Gt.png)
332+
![X2](https://i.imgur.com/K2MjX6w.png)
332333

333334
### PlayerESP Improvements
334335
- Added toggle for unique colors for each player (shared with Breadcrumbs)
@@ -342,7 +343,7 @@ Examples:
342343
- Able to ignore NPCs
343344
- Enter/Leave area notification option in chat with name, co-ordinates and block distance
344345

345-
![ESP](https://i.imgur.com/1F7zU31.png)
346+
![ESP](https://i.imgur.com/ydpYuOm.png)
346347

347348
### TriggerBot Improvements
348349
- Can now select the mob and the desired weapon/tool to use against them and it will quickly auto-switch when detected
@@ -363,7 +364,7 @@ Examples:
363364
- Added glow outlines as an option and set it as the new default.
364365
- Added box color fill option.
365366

366-
![Mob](https://i.imgur.com/VXHW4qe.png)
367+
![Mob](https://i.imgur.com/1LFR8ll.png)
367368

368369
### Portal ESP Improvement
369370
- Single centered line for Nether Portals, End Portal Frames, and active End Portals.

src/main/java/net/wurstclient/hacks/LavaWaterEspHack.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public final class LavaWaterEspHack extends Hack implements UpdateListener,
9191
private boolean groupsUpToDate;
9292
private ChunkAreaSetting.ChunkArea lastAreaSelection;
9393
private ChunkPos lastPlayerChunk;
94+
private int lastMatchesVersion;
9495

9596
public LavaWaterEspHack()
9697
{
@@ -121,6 +122,7 @@ protected void onEnable()
121122
groupsUpToDate = false;
122123
lastAreaSelection = area.getSelected();
123124
lastPlayerChunk = new ChunkPos(MC.player.getBlockPos());
125+
lastMatchesVersion = coordinator.getMatchesVersion();
124126
EVENTS.add(UpdateListener.class, this);
125127
EVENTS.add(CameraTransformViewBobbingListener.class, this);
126128
EVENTS.add(RenderListener.class, this);
@@ -137,6 +139,7 @@ protected void onDisable()
137139
EVENTS.remove(net.wurstclient.events.PacketInputListener.class,
138140
coordinator);
139141
coordinator.reset();
142+
lastMatchesVersion = coordinator.getMatchesVersion();
140143
groups.forEach(LiquidEspBlockGroup::clear);
141144
}
142145

@@ -161,6 +164,12 @@ public void onUpdate()
161164
boolean searchersChanged = coordinator.update();
162165
if(searchersChanged)
163166
groupsUpToDate = false;
167+
int matchesVersion = coordinator.getMatchesVersion();
168+
if(matchesVersion != lastMatchesVersion)
169+
{
170+
lastMatchesVersion = matchesVersion;
171+
groupsUpToDate = false;
172+
}
164173
if(!groupsUpToDate && coordinator.isDone())
165174
updateGroupBoxes();
166175
}

src/main/java/net/wurstclient/hacks/RedstoneEspHack.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ Blocks.BELL, new ColorSetting("Bell color", "", defaultColor),
197197
private ChunkAreaSetting.ChunkArea lastAreaSelection;
198198
private ChunkPos lastPlayerChunk;
199199
private int foundCount;
200+
private int lastMatchesVersion;
200201
private final CheckboxSetting showCountInHackList = new CheckboxSetting(
201202
"HackList count",
202203
"Appends the number of found redstone components to this hack's entry in the HackList.",
@@ -243,6 +244,7 @@ protected void onEnable()
243244
groupsUpToDate = false;
244245
lastAreaSelection = area.getSelected();
245246
lastPlayerChunk = new ChunkPos(MC.player.getBlockPos());
247+
lastMatchesVersion = coordinator.getMatchesVersion();
246248
EVENTS.add(UpdateListener.class, this);
247249
EVENTS.add(CameraTransformViewBobbingListener.class, this);
248250
EVENTS.add(RenderListener.class, this);
@@ -259,6 +261,7 @@ protected void onDisable()
259261
EVENTS.remove(net.wurstclient.events.PacketInputListener.class,
260262
coordinator);
261263
coordinator.reset();
264+
lastMatchesVersion = coordinator.getMatchesVersion();
262265
renderGroups.forEach(RenderGroup::clear);
263266
foundCount = 0;
264267
}
@@ -284,6 +287,12 @@ public void onUpdate()
284287
boolean searchersChanged = coordinator.update();
285288
if(searchersChanged)
286289
groupsUpToDate = false;
290+
int matchesVersion = coordinator.getMatchesVersion();
291+
if(matchesVersion != lastMatchesVersion)
292+
{
293+
lastMatchesVersion = matchesVersion;
294+
groupsUpToDate = false;
295+
}
287296
if(!groupsUpToDate && coordinator.isDone())
288297
updateGroupBoxes();
289298
}

src/main/java/net/wurstclient/hacks/WorkstationEspHack.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ public final class WorkstationEspHack extends Hack implements UpdateListener,
178178
private ChunkAreaSetting.ChunkArea lastAreaSelection;
179179
private ChunkPos lastPlayerChunk;
180180
private int foundCount;
181+
private int lastMatchesVersion;
181182
private final CheckboxSetting showCountInHackList = new CheckboxSetting(
182183
"HackList count",
183184
"Appends the number of found workstation blocks to this hack's entry in the HackList.",
@@ -218,6 +219,7 @@ protected void onEnable()
218219
groupsUpToDate = false;
219220
lastAreaSelection = area.getSelected();
220221
lastPlayerChunk = new ChunkPos(MC.player.getBlockPos());
222+
lastMatchesVersion = coordinator.getMatchesVersion();
221223
EVENTS.add(UpdateListener.class, this);
222224
EVENTS.add(CameraTransformViewBobbingListener.class, this);
223225
EVENTS.add(RenderListener.class, this);
@@ -234,6 +236,7 @@ protected void onDisable()
234236
EVENTS.remove(net.wurstclient.events.PacketInputListener.class,
235237
coordinator);
236238
coordinator.reset();
239+
lastMatchesVersion = coordinator.getMatchesVersion();
237240
groups.forEach(PortalEspBlockGroup::clear);
238241
foundCount = 0;
239242
}
@@ -259,6 +262,12 @@ public void onUpdate()
259262
boolean searchersChanged = coordinator.update();
260263
if(searchersChanged)
261264
groupsUpToDate = false;
265+
int matchesVersion = coordinator.getMatchesVersion();
266+
if(matchesVersion != lastMatchesVersion)
267+
{
268+
lastMatchesVersion = matchesVersion;
269+
groupsUpToDate = false;
270+
}
262271
if(!groupsUpToDate && coordinator.isDone())
263272
updateGroupBoxes();
264273
}

src/main/java/net/wurstclient/hacks/XRayHack.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ private static enum Mode
154154
new java.util.ArrayList<>();
155155
private boolean visibleBoxesUpToDate = false;
156156
private java.util.List<Box> visibleBoxes = new java.util.ArrayList<>();
157+
private int lastMatchesVersion;
157158

158159
// Debounce to avoid flashing when coordinator updates rapidly (e.g., on
159160
// right-click or fast movement). Measured in milliseconds.
@@ -247,8 +248,10 @@ protected void onEnable()
247248
lastOnlyExposed = onlyExposed.isChecked();
248249
// reset coordinator
249250
coordinator.reset();
251+
lastMatchesVersion = coordinator.getMatchesVersion();
250252
highlightPositionsUpToDate = false;
251253
visibleBoxesUpToDate = false;
254+
lastCoordinatorChangeMs = System.currentTimeMillis();
252255

253256
// add event listeners
254257
EVENTS.add(UpdateListener.class, this);
@@ -294,7 +297,11 @@ public void onUpdate()
294297
{
295298
// update chunk searchers (background search)
296299
boolean changed = coordinator.update();
297-
if(changed)
300+
int matchesVersion = coordinator.getMatchesVersion();
301+
boolean resultsChanged = matchesVersion != lastMatchesVersion;
302+
if(resultsChanged)
303+
lastMatchesVersion = matchesVersion;
304+
if(changed || resultsChanged)
298305
{
299306
highlightPositionsUpToDate = false;
300307
visibleBoxesUpToDate = false;
@@ -656,6 +663,7 @@ private void resetCoordinatorAndHighlights()
656663
// Cancel current searches and clear cached highlights to avoid stale
657664
// results persisting after mode/list/query changes.
658665
coordinator.reset();
666+
lastMatchesVersion = coordinator.getMatchesVersion();
659667
highlightPositions.clear();
660668
visibleBoxes.clear();
661669
highlightPositionsUpToDate = false;

0 commit comments

Comments
 (0)