Skip to content

Commit 4812118

Browse files
committed
Fixed PlayerESP Tracer
1 parent 75288be commit 4812118

File tree

3 files changed

+60
-24
lines changed

3 files changed

+60
-24
lines changed

75288be12

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
commit 5270f60284effc2093f136f25077795fef02766d
2+
Author: cev-api <[email protected]>
3+
Date: Sat Dec 20 23:32:05 2025 +1000
4+
5+
Added Outreach Hack
6+
7+
M README.md
8+
M src/main/java/net/wurstclient/hack/HackList.java
9+
A src/main/java/net/wurstclient/hacks/OutreachHack.java
10+
M src/main/resources/assets/wurst/translations/en_us.json

README.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ I’m pleased to note that many of the features and improvements below are compl
7272
- Anti-Fingerprint
7373
- TridentESP
7474
- MobSearch
75+
- Outreach
7576
- Redstone, Bed, Sign & Workstation ESP
7677
- SignFramePassThrough (I didn't know something like this existed as a mod already)
7778
- Custom Waypoint System (Not a new idea, but unique in design and functionality)
@@ -332,7 +333,7 @@ I did not, nor could I copy their code directly as most are Meteor based mods. S
332333
- Pick: reject (drop) everything except the selected types (only selected types will be picked up).
333334
- Reject: reject the selected types and drop them.
334335
- Trace Selected Items: toggles tracing for selected types (uses ItemESP world render pass to draw rainbow tracer lines and ESP boxes).
335-
- Works independantly of ItemESP
336+
- Works independently of ItemESP
336337
- Adjustable distance for item detection.
337338
- Adjustable font scale setting (scales text and popup icon size).
338339
- Adjustable Popup HUD display offset X/Y
@@ -376,17 +377,17 @@ I did not, nor could I copy their code directly as most are Meteor based mods. S
376377

377378
![Loot](https://i.imgur.com/7pkTPxW.png)
378379

379-
### SpearAssist
380-
- Boost Modes:
381-
- Dash - While charging with your right click you can boost yourself forward a specific distance with your left click creating a velocity based attack.
382-
- Hold - While charging you are constantly boosting forward whenever you press the left click.
383-
- Your player can optionally stay grounded when boosting as to avoid flying off into the distance on each attack.
384-
- Allow reverse toggle lets you hold S/back while attacking to flip boosts so they launch you backward instead.
385-
- Highlighting: You can highlight near and far entities within your attack range. Near meaning the distance you can jab at them and far the distance you can charge at them. Default set to 7 for near and 8.5 blocks for far.
386-
- Your charge is automatically and constantly resumed (no cooldown) so you can forever hold right click. It will be noisy but even if the spear is pointed down you will still be able to attack.
387-
- You can optionally allow aim assist to work whilst holding right click.
388-
- Auto Attack, your jab attack will continue to auto hit once the cooldown has expired so long as you're hitting an entity.
389-
- Designed for elytra-free ground PvP/PvE, though may be even more interesting with one.
380+
### SpearAssist
381+
- Boost Modes:
382+
- Dash - While charging with your right click you can boost yourself forward a specific distance with your left click creating a velocity based attack.
383+
- Hold - While charging you are constantly boosting forward whenever you press the left click.
384+
- Your player can optionally stay grounded when boosting as to avoid flying off into the distance on each attack.
385+
- Allow reverse toggle lets you hold S/back while attacking to flip boosts so they launch you backward instead.
386+
- Highlighting: You can highlight near and far entities within your attack range. Near meaning the distance you can jab at them and far the distance you can charge at them. Default set to 7 for near and 8.5 blocks for far.
387+
- Your charge is automatically and constantly resumed (no cooldown) so you can forever hold right click. It will be noisy but even if the spear is pointed down you will still be able to attack.
388+
- You can optionally allow aim assist to work whilst holding right click.
389+
- Auto Attack, your jab attack will continue to auto hit once the cooldown has expired so long as you're hitting an entity.
390+
- Designed for elytra-free ground PvP/PvE, though may be even more interesting with one.
390391

391392
### Custom Command Prefixes
392393
- In the Wurst Options menu you can now change your command prefix

src/main/java/net/wurstclient/util/RenderUtils.java

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ public enum RenderUtils
3838
{
3939
;
4040

41+
private static final float DEFAULT_LINE_WIDTH = 2F;
42+
private static final double MIN_LINE_WIDTH = 0.5;
43+
private static final double MAX_LINE_WIDTH = 20;
44+
4145
public static void applyRegionalRenderOffset(PoseStack matrixStack)
4246
{
4347
applyRegionalRenderOffset(matrixStack, getCameraRegion());
@@ -153,7 +157,8 @@ public static void drawLine(PoseStack matrices, Vec3 start, Vec3 end,
153157
VertexConsumer buffer = vcp.getBuffer(layer);
154158

155159
Vec3 offset = getCameraPos().reverse();
156-
drawLine(matrices, buffer, start.add(offset), end.add(offset), color);
160+
drawLine(matrices, buffer, start.add(offset), end.add(offset), color,
161+
DEFAULT_LINE_WIDTH);
157162

158163
vcp.endBatch(layer);
159164
}
@@ -184,7 +189,8 @@ public static void drawTracer(PoseStack matrices, float partialTicks,
184189

185190
Vec3 start = getTracerOrigin(partialTicks);
186191
Vec3 offset = getCameraPos().reverse();
187-
drawLine(matrices, buffer, start, end.add(offset), color);
192+
drawLine(matrices, buffer, start, end.add(offset), color,
193+
DEFAULT_LINE_WIDTH);
188194

189195
vcp.endBatch(layer);
190196
}
@@ -209,7 +215,8 @@ public static void drawTracers(PoseStack matrices, float partialTicks,
209215
{
210216
if(enforceVisibility && !NiceWurstModule.shouldRenderTarget(end))
211217
continue;
212-
drawLine(matrices, buffer, start, end.add(offset), color);
218+
drawLine(matrices, buffer, start, end.add(offset), color,
219+
DEFAULT_LINE_WIDTH);
213220
rendered = true;
214221
}
215222

@@ -237,7 +244,8 @@ public static void drawTracers(PoseStack matrices, float partialTicks,
237244
Vec3 point = end.point();
238245
if(enforceVisibility && !NiceWurstModule.shouldRenderTarget(point))
239246
continue;
240-
drawLine(matrices, buffer, start, point.add(offset), end.color());
247+
drawLine(matrices, buffer, start, point.add(offset), end.color(),
248+
DEFAULT_LINE_WIDTH);
241249
rendered = true;
242250
}
243251

@@ -263,12 +271,15 @@ public static void drawTracers(PoseStack matrices, float partialTicks,
263271
Vec3 start = getTracerOrigin(partialTicks);
264272
Vec3 offset = getCameraPos().reverse();
265273
boolean rendered = false;
274+
float appliedWidth =
275+
(float)Mth.clamp(lineWidth, MIN_LINE_WIDTH, MAX_LINE_WIDTH);
266276
for(ColoredPoint end : ends)
267277
{
268278
Vec3 point = end.point();
269279
if(enforceVisibility && !NiceWurstModule.shouldRenderTarget(point))
270280
continue;
271-
drawLine(matrices, buffer, start, point.add(offset), end.color());
281+
drawLine(matrices, buffer, start, point.add(offset), end.color(),
282+
appliedWidth);
272283
rendered = true;
273284
}
274285

@@ -278,6 +289,12 @@ public static void drawTracers(PoseStack matrices, float partialTicks,
278289

279290
public static void drawLine(PoseStack matrices, VertexConsumer buffer,
280291
Vec3 start, Vec3 end, int color)
292+
{
293+
drawLine(matrices, buffer, start, end, color, DEFAULT_LINE_WIDTH);
294+
}
295+
296+
private static void drawLine(PoseStack matrices, VertexConsumer buffer,
297+
Vec3 start, Vec3 end, int color, float lineWidth)
281298
{
282299
Pose entry = matrices.last();
283300
float x1 = (float)start.x;
@@ -286,15 +303,23 @@ public static void drawLine(PoseStack matrices, VertexConsumer buffer,
286303
float x2 = (float)end.x;
287304
float y2 = (float)end.y;
288305
float z2 = (float)end.z;
289-
drawLine(entry, buffer, x1, y1, z1, x2, y2, z2, color);
306+
drawLine(entry, buffer, x1, y1, z1, x2, y2, z2, color, lineWidth);
290307
}
291308

292309
public static void drawLine(PoseStack.Pose entry, VertexConsumer buffer,
293310
float x1, float y1, float z1, float x2, float y2, float z2, int color)
311+
{
312+
drawLine(entry, buffer, x1, y1, z1, x2, y2, z2, color,
313+
DEFAULT_LINE_WIDTH);
314+
}
315+
316+
private static void drawLine(PoseStack.Pose entry, VertexConsumer buffer,
317+
float x1, float y1, float z1, float x2, float y2, float z2, int color,
318+
float lineWidth)
294319
{
295320
Vector3f normal = new Vector3f(x2, y2, z2).sub(x1, y1, z1).normalize();
296321
buffer.addVertex(entry, x1, y1, z1).setColor(color)
297-
.setNormal(entry, normal).setLineWidth(2);
322+
.setNormal(entry, normal).setLineWidth(lineWidth);
298323

299324
// If the line goes through the screen, add another vertex there. This
300325
// works around a bug in Minecraft's line shader.
@@ -304,23 +329,23 @@ public static void drawLine(PoseStack.Pose entry, VertexConsumer buffer,
304329
{
305330
Vector3f closeToCam = new Vector3f(normal).mul(t).add(x1, y1, z1);
306331
buffer.addVertex(entry, closeToCam).setColor(color)
307-
.setNormal(entry, normal).setLineWidth(2);
332+
.setNormal(entry, normal).setLineWidth(lineWidth);
308333
buffer.addVertex(entry, closeToCam).setColor(color)
309-
.setNormal(entry, normal).setLineWidth(2);
334+
.setNormal(entry, normal).setLineWidth(lineWidth);
310335
}
311336

312337
buffer.addVertex(entry, x2, y2, z2).setColor(color)
313-
.setNormal(entry, normal).setLineWidth(2);
338+
.setNormal(entry, normal).setLineWidth(lineWidth);
314339
}
315340

316341
public static void drawLine(VertexConsumer buffer, float x1, float y1,
317342
float z1, float x2, float y2, float z2, int color)
318343
{
319344
Vector3f n = new Vector3f(x2, y2, z2).sub(x1, y1, z1).normalize();
320345
buffer.addVertex(x1, y1, z1).setColor(color).setNormal(n.x, n.y, n.z)
321-
.setLineWidth(2);
346+
.setLineWidth(DEFAULT_LINE_WIDTH);
322347
buffer.addVertex(x2, y2, z2).setColor(color).setNormal(n.x, n.y, n.z)
323-
.setLineWidth(2);
348+
.setLineWidth(DEFAULT_LINE_WIDTH);
324349
}
325350

326351
public static void drawCurvedLine(PoseStack matrices, List<Vec3> points,

0 commit comments

Comments
 (0)