Skip to content

Commit dc8af50

Browse files
committed
Xray Bug Fix, Xray Improvements, Waypoints Improvements
1 parent dcadea7 commit dc8af50

File tree

5 files changed

+384
-39
lines changed

5 files changed

+384
-39
lines changed

README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ All credit for the original client goes to Wurst-Imperium and its contributors.
5959
### Waypoints
6060
- Create and save waypoints, with optional automatic death waypoints for all players.
6161
- Manager UI (`.waypoints` or apostrophe key).
62+
- Preset icons
6263
- Features: name, coords, dimension, icon, visibility, lines, color, copy button, opposite coords, death pruning.
6364
- Constant-size labels and optional tracers.
6465
- Stored per world/server under `wurst/waypoints/<worldId>.json`.
@@ -77,14 +78,14 @@ All credit for the original client goes to Wurst-Imperium and its contributors.
7778
Highlights dropped, equipped, and framed items with powerful filters and customization.
7879

7980
- Base highlighting: all dropped items with configurable base color.
80-
- Special filters: List, Item ID, or Query (keywords).
81+
- Special filters: List, Item ID, or Query (multi-term keywords).
8182
- Special colors & styles: fixed or rainbow, outline-only, lines-only-for-special.
8283
- Equipped specials: highlight items held or worn by players/mobs (not yourself).
8384
- Item frames: highlight frames if the contained item matches special criteria.
84-
- Keyword matching: supports base ID, translation key, and display name (works with renamed/NBT/plugin-modified items).
85+
- Keyword matching: supports base ID, translation key, and display name (works with renamed/NBT/plugin-modified items).
86+
- Multi-term queries: comma-separated (e.g., `head, axe`).
8587
- Rendering: boxes with fill + outline; tracers use special color (or base color).
8688
- Robust parsing: lists accept unknown entries as keywords (safe parsing via `Identifier.tryParse`).
87-
- Works across item, block, and entity lists (Search, MobSearch, X-Ray, BaseFinder, HandNoClip, Nuker).
8889

8990
Examples:
9091
- Highlight skulls → Item ID: `minecraft:player_head`, special color: magenta, outline-only ON.
@@ -93,13 +94,16 @@ Examples:
9394
### Search improvements
9495
- Keyword queries supported; falls back to picker when empty.
9596
- List mode with visual item list.
96-
- Multi-term queries supported.
97+
- Multi-term queries: comma-separated (e.g., `ore, ancient`).
9798
- Rendering: Boxes, Lines, or Both. Tracers cancel view-bobbing.
9899
- Fixed/rainbow line colors.
99100
- Safer rescans and better crash handling.
100101

101-
### Xray improvements
102-
- Opacity and block type changes apply live without toggling.
102+
### X-Ray improvements
103+
- Added ESP (Highlight Corners and or Fill Blocks)
104+
- Uses cached positions for speed
105+
- Multi-term queries: comma-separated (e.g., `diamond, ancient`).
106+
- Opacity, block type changes and 'only show exposed' apply live without toggling.
103107

104108
### BaseFinder improvements
105109
- Updated natural blocks list to latest versions.

src/main/java/net/wurstclient/clickgui/screens/WaypointEditScreen.java

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,16 @@ public final class WaypointEditScreen extends Screen
5757
private int dimIndex;
5858
private ButtonWidget dimButton;
5959

60-
private static final String[] ICONS = new String[]{"square", "circle",
61-
"triangle", "star", "diamond", "skull"};
60+
private static final String[] ICON_KEYS =
61+
new String[]{"square", "circle", "triangle", "star", "diamond", "skull",
62+
"heart", "check", "x", "arrow_down", "sun", "snowflake"};
63+
private static final String[] ICONS; // display labels (symbol + name)
64+
static
65+
{
66+
ICONS = new String[ICON_KEYS.length];
67+
for(int i = 0; i < ICON_KEYS.length; i++)
68+
ICONS[i] = iconChar(ICON_KEYS[i]) + " " + ICON_KEYS[i];
69+
}
6270
private int iconIndex;
6371
private ButtonWidget iconButton;
6472

@@ -189,8 +197,8 @@ protected void init()
189197
// removed yIcon tracking
190198
iconIndex = 0;
191199
String currentIcon = waypoint.getIcon();
192-
for(int i = 0; i < ICONS.length; i++)
193-
if(ICONS[i].equalsIgnoreCase(currentIcon))
200+
for(int i = 0; i < ICON_KEYS.length; i++)
201+
if(ICON_KEYS[i].equalsIgnoreCase(currentIcon))
194202
{
195203
iconIndex = i;
196204
break;
@@ -333,7 +341,7 @@ private void saveAndBack()
333341
waypoint.setDimension(WaypointDimension.values()[dimIndex]);
334342

335343
// Icon
336-
waypoint.setIcon(ICONS[iconIndex]);
344+
waypoint.setIcon(ICON_KEYS[iconIndex]);
337345

338346
// Color + transparency
339347
int saveAlpha = (int)Math
@@ -355,6 +363,43 @@ private String toHex6(int argb)
355363
return s;
356364
}
357365

366+
private static String iconChar(String icon)
367+
{
368+
if(icon == null)
369+
return "";
370+
switch(icon.toLowerCase())
371+
{
372+
case "square":
373+
return "■";
374+
case "circle":
375+
return "●";
376+
case "triangle":
377+
return "▲";
378+
case "triangle_down":
379+
return "▼";
380+
case "star":
381+
return "★";
382+
case "diamond":
383+
return "♦";
384+
case "skull":
385+
return "☠";
386+
case "heart":
387+
return "♥";
388+
case "check":
389+
return "✓";
390+
case "x":
391+
return "✗";
392+
case "arrow_down":
393+
return "↓";
394+
case "sun":
395+
return "☀";
396+
case "snowflake":
397+
return "❄";
398+
default:
399+
return "";
400+
}
401+
}
402+
358403
@Override
359404
public void render(DrawContext context, int mouseX, int mouseY, float delta)
360405
{

src/main/java/net/wurstclient/clickgui/screens/WaypointsScreen.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ protected void init()
4949
w.setPos(BlockPos.ORIGIN);
5050
w.setDimension(currentDim());
5151
w.setMaxVisible(5000);
52+
w.setLines(false); // default new waypoints without lines
5253
client
5354
.setScreen(new WaypointEditScreen(this, manager, w, true));
5455
}).dimensions(x, y, 300, 20).build());

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,12 +506,26 @@ private String iconChar(String icon)
506506
return "●";
507507
case "triangle":
508508
return "▲";
509+
case "triangle_down":
510+
return "▼";
509511
case "star":
510512
return "★";
511513
case "diamond":
512514
return "♦";
513515
case "skull":
514516
return "☠";
517+
case "heart":
518+
return "♥";
519+
case "check":
520+
return "✓";
521+
case "x":
522+
return "✗";
523+
case "arrow_down":
524+
return "↓";
525+
case "sun":
526+
return "☀";
527+
case "snowflake":
528+
return "❄";
515529
default:
516530
return "";
517531
}

0 commit comments

Comments
 (0)