Skip to content

Commit 670be2b

Browse files
committed
Update NiceWurst, Mapa, Waypoints and Other Fixes
1 parent 713f7d1 commit 670be2b

File tree

6 files changed

+91
-52
lines changed

6 files changed

+91
-52
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,6 +1329,9 @@ Examples:
13291329
### Unsafe Chat Toast
13301330
- Optional; toggle via NoChatReports or Wurst Options.
13311331

1332+
### NoChatReports
1333+
- Defaults to off
1334+
13321335
### Removed Wurst Logo
13331336
- Removed from UI and Options.
13341337

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

Lines changed: 78 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import net.wurstclient.settings.SettingGroup;
6060
import net.wurstclient.settings.SliderSetting;
6161
import net.wurstclient.settings.SliderSetting.ValueDisplay;
62+
import net.wurstclient.nicewurst.NiceWurstModule;
6263

6364
@SearchTags({"map", "minimap", "world map", "mapa"})
6465
public final class MapaHack extends Hack
@@ -79,7 +80,7 @@ public final class MapaHack extends Hack
7980
private final CheckboxSetting noMap = new CheckboxSetting("No map",
8081
"Disables terrain rendering and cache writes while keeping ESP icons positioned inside the map box.",
8182
false);
82-
private final SettingGroup espGroup = new SettingGroup("ESP icons",
83+
private final SettingGroup mapEspGroup = new SettingGroup("ESP icons",
8384
net.wurstclient.util.text.WText.literal(
8485
"Controls which enabled ESP hacks are mirrored onto the map."),
8586
false, true);
@@ -177,9 +178,17 @@ public MapaHack()
177178
setCategory(Category.RENDER);
178179
addSetting(openWorldMapButton);
179180
addSetting(noMap);
180-
espGroup.addChildren(chestEspOnMap, workstationEspOnMap, signEspOnMap,
181-
portalEspOnMap, playerEspOnMap, logoutSpotsOnMap, bedEspOnMap);
182-
addSetting(espGroup);
181+
if(NiceWurstModule.isActive())
182+
{
183+
mapEspGroup.addChildren(portalEspOnMap, playerEspOnMap,
184+
logoutSpotsOnMap);
185+
}else
186+
{
187+
mapEspGroup.addChildren(chestEspOnMap, workstationEspOnMap,
188+
signEspOnMap, portalEspOnMap, playerEspOnMap, logoutSpotsOnMap,
189+
bedEspOnMap);
190+
}
191+
addSetting(mapEspGroup);
183192
addSetting(minimapIconSize);
184193
addSetting(worldMapIconSize);
185194
addSetting(iconOutline);
@@ -248,7 +257,16 @@ public void onRenderGUI(GuiGraphicsExtractor context, float partialTicks)
248257
if(MC.player == null || MC.level == null)
249258
return;
250259

251-
renderMapEsp(context, partialTicks, cfg);
260+
context.enableScissor(cfg.minimapPosX, cfg.minimapPosY,
261+
cfg.minimapPosX + cfg.minimapSize,
262+
cfg.minimapPosY + cfg.minimapSize);
263+
try
264+
{
265+
renderMapEsp(context, partialTicks, cfg);
266+
}finally
267+
{
268+
context.disableScissor();
269+
}
252270
renderMinimapOverlay(context, cfg);
253271

254272
if(!isEditorScreen(MC.screen))
@@ -850,6 +868,7 @@ public XMapConfig createConfig()
850868
private void updateMapSettingVisibility()
851869
{
852870
boolean mapVisible = !noMap.isChecked();
871+
boolean niceWurst = NiceWurstModule.isActive();
853872
minimapSamples.setVisibleInGui(mapVisible);
854873
rotateWithPlayer.setVisibleInGui(mapVisible);
855874
undergroundMode.setVisibleInGui(mapVisible);
@@ -878,6 +897,13 @@ private void updateMapSettingVisibility()
878897
waterDetail.setVisibleInGui(mapVisible);
879898
waterOpacity.setVisibleInGui(mapVisible);
880899
chunkRefreshAggression.setVisibleInGui(mapVisible);
900+
chestEspOnMap.setVisibleInGui(mapVisible && !niceWurst);
901+
workstationEspOnMap.setVisibleInGui(mapVisible && !niceWurst);
902+
signEspOnMap.setVisibleInGui(mapVisible && !niceWurst);
903+
portalEspOnMap.setVisibleInGui(mapVisible);
904+
playerEspOnMap.setVisibleInGui(mapVisible);
905+
logoutSpotsOnMap.setVisibleInGui(mapVisible);
906+
bedEspOnMap.setVisibleInGui(mapVisible && !niceWurst);
881907
}
882908

883909
private static boolean isEditorScreen(Screen screen)
@@ -912,46 +938,55 @@ public void renderFullscreenMapEsp(GuiGraphicsExtractor context, int mapX,
912938
if(MC.player == null || MC.level == null)
913939
return;
914940

915-
if(chestEspOnMap.isChecked() && WURST.getHax().chestEspHack.isEnabled())
916-
renderFullscreenChestMarkers(context, mapX, mapY, drawWidth,
917-
drawHeight, centerX, centerZ, blocksPerPixel);
918-
if(workstationEspOnMap.isChecked()
919-
&& WURST.getHax().workstationEspHack.isEnabled())
920-
renderFullscreenBlockGroups(context, mapX, mapY, drawWidth,
921-
drawHeight, centerX, centerZ, blocksPerPixel,
922-
WURST.getHax().workstationEspHack.getMapaGroups());
923-
if(signEspOnMap.isChecked() && WURST.getHax().signEspHack.isEnabled())
941+
context.enableScissor(mapX, mapY, mapX + drawWidth, mapY + drawHeight);
942+
try
924943
{
925-
renderFullscreenAabbs(context, mapX, mapY, drawWidth, drawHeight,
926-
centerX, centerZ, blocksPerPixel,
927-
WURST.getHax().signEspHack.getMapaSignBoxes(),
928-
iconForItem(Items.OAK_SIGN),
929-
WURST.getHax().signEspHack.getMapaSignColor());
930-
renderFullscreenAabbs(context, mapX, mapY, drawWidth, drawHeight,
931-
centerX, centerZ, blocksPerPixel,
932-
WURST.getHax().signEspHack.getMapaFrameBoxes(1.0f),
933-
iconForItem(Items.ITEM_FRAME),
934-
WURST.getHax().signEspHack.getMapaFrameColor());
944+
if(chestEspOnMap.isChecked()
945+
&& WURST.getHax().chestEspHack.isEnabled())
946+
renderFullscreenChestMarkers(context, mapX, mapY, drawWidth,
947+
drawHeight, centerX, centerZ, blocksPerPixel);
948+
if(workstationEspOnMap.isChecked()
949+
&& WURST.getHax().workstationEspHack.isEnabled())
950+
renderFullscreenBlockGroups(context, mapX, mapY, drawWidth,
951+
drawHeight, centerX, centerZ, blocksPerPixel,
952+
WURST.getHax().workstationEspHack.getMapaGroups());
953+
if(signEspOnMap.isChecked()
954+
&& WURST.getHax().signEspHack.isEnabled())
955+
{
956+
renderFullscreenAabbs(context, mapX, mapY, drawWidth,
957+
drawHeight, centerX, centerZ, blocksPerPixel,
958+
WURST.getHax().signEspHack.getMapaSignBoxes(),
959+
iconForItem(Items.OAK_SIGN),
960+
WURST.getHax().signEspHack.getMapaSignColor());
961+
renderFullscreenAabbs(context, mapX, mapY, drawWidth,
962+
drawHeight, centerX, centerZ, blocksPerPixel,
963+
WURST.getHax().signEspHack.getMapaFrameBoxes(1.0f),
964+
iconForItem(Items.ITEM_FRAME),
965+
WURST.getHax().signEspHack.getMapaFrameColor());
966+
}
967+
if(portalEspOnMap.isChecked()
968+
&& WURST.getHax().portalEspHack.isEnabled())
969+
renderFullscreenBlockGroups(context, mapX, mapY, drawWidth,
970+
drawHeight, centerX, centerZ, blocksPerPixel,
971+
WURST.getHax().portalEspHack.getMapaGroups());
972+
if(playerEspOnMap.isChecked()
973+
&& WURST.getHax().playerEspHack.isEnabled())
974+
renderFullscreenPlayers(context, mapX, mapY, drawWidth,
975+
drawHeight, centerX, centerZ, blocksPerPixel);
976+
if(logoutSpotsOnMap.isChecked()
977+
&& WURST.getHax().logoutSpotsHack.isEnabled())
978+
renderFullscreenLogoutSpots(context, mapX, mapY, drawWidth,
979+
drawHeight, centerX, centerZ, blocksPerPixel);
980+
if(bedEspOnMap.isChecked() && WURST.getHax().bedEspHack.isEnabled())
981+
renderFullscreenAabbs(context, mapX, mapY, drawWidth,
982+
drawHeight, centerX, centerZ, blocksPerPixel,
983+
WURST.getHax().bedEspHack.getMapaBoxes(),
984+
iconForItem(Items.RED_BED),
985+
WURST.getHax().bedEspHack.getMapaColor());
986+
}finally
987+
{
988+
context.disableScissor();
935989
}
936-
if(portalEspOnMap.isChecked()
937-
&& WURST.getHax().portalEspHack.isEnabled())
938-
renderFullscreenBlockGroups(context, mapX, mapY, drawWidth,
939-
drawHeight, centerX, centerZ, blocksPerPixel,
940-
WURST.getHax().portalEspHack.getMapaGroups());
941-
if(playerEspOnMap.isChecked()
942-
&& WURST.getHax().playerEspHack.isEnabled())
943-
renderFullscreenPlayers(context, mapX, mapY, drawWidth, drawHeight,
944-
centerX, centerZ, blocksPerPixel);
945-
if(logoutSpotsOnMap.isChecked()
946-
&& WURST.getHax().logoutSpotsHack.isEnabled())
947-
renderFullscreenLogoutSpots(context, mapX, mapY, drawWidth,
948-
drawHeight, centerX, centerZ, blocksPerPixel);
949-
if(bedEspOnMap.isChecked() && WURST.getHax().bedEspHack.isEnabled())
950-
renderFullscreenAabbs(context, mapX, mapY, drawWidth, drawHeight,
951-
centerX, centerZ, blocksPerPixel,
952-
WURST.getHax().bedEspHack.getMapaBoxes(),
953-
iconForItem(Items.RED_BED),
954-
WURST.getHax().bedEspHack.getMapaColor());
955990
}
956991

957992
private void renderFullscreenChestMarkers(GuiGraphicsExtractor context,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1669,7 +1669,7 @@ private boolean isWaypointObscured(BlockPos waypointPos)
16691669

16701670
// If the waypoint's chunk isn't loaded, LOS is unknown. Treat it as
16711671
// obscured to avoid far waypoints popping back to full text.
1672-
if(!MC.level.hasChunkAt(waypointPos))
1672+
if(!MC.level.isLoaded(waypointPos))
16731673
return true;
16741674

16751675
Vec3 eyes = MC.player.getEyePosition(1.0F);

src/main/java/net/wurstclient/nicewurst/NiceWurstModule.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,9 @@ public final class NiceWurstModule
9595

9696
ALLOWED_HACKS.put(Category.RENDER,
9797
Set.of("Breadcrumbs", "DurabilityHUD", "Fullbright", "HealthTags",
98-
"ItemESP", "LavaWaterESP", "LogoutSpots", "MobESP", "MobHealth",
99-
"MobSearch", "MobSpawnESP", "NameTags", "NewChunks",
100-
"NewerNewChunks", "NoBackground", "NoFireOverlay", "NoVignette",
101-
"NoWeather", "Freecam", "OpenWaterESP", "PearlESP", "PlayerESP",
102-
"PortalESP", "Radar", "Search", "TrialSpawnerESP", "TridentESP",
103-
"Waypoints", "WardenESP", "HideWurst", "ElytraInfo"));
98+
"MobHealth", "NameTags", "NewChunks", "NewerNewChunks",
99+
"NoBackground", "NoFireOverlay", "NoVignette", "NoWeather",
100+
"Freecam", "Waypoints", "HideWurst", "ElytraInfo", "Mapa"));
104101

105102
ALLOWED_HACKS.put(Category.CHAT,
106103
Set.of("AutoChat", "Mention", "NoPlayerChat"));

src/main/java/net/wurstclient/other_features/NoChatReportsOtf.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public final class NoChatReportsOtf extends OtherFeature
3838
implements UpdateListener, ChatInputListener
3939
{
4040
private final CheckboxSetting disableSignatures =
41-
new CheckboxSetting("Disable signatures", true)
41+
new CheckboxSetting("Disable signatures", false)
4242
{
4343
@Override
4444
public void update()
@@ -48,7 +48,7 @@ public void update()
4848
};
4949
// Controls whether to show the Wurst unsafe chat toast when joining servers
5050
private final CheckboxSetting unsafeChatToast =
51-
new CheckboxSetting("Unsafe Chat Toast", true);
51+
new CheckboxSetting("Unsafe Chat Toast", false);
5252

5353
public NoChatReportsOtf()
5454
{

src/main/resources/assets/wurst/translations/en_us.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,8 @@
549549
"toast.wurst.nochatreports.unsafe_server.title": "Chat messages can be reported",
550550
"message.wurst.anticheatdetect.detected": "Detected anti-cheat: %s",
551551
"message.wurst.anticheatdetect.not_ready": "Not enough data yet.",
552+
"hack.wurst.mapa": "Mapa",
553+
"description.wurst.hack.mapa": "Provides an integrated minimap and world map with optional ESP markers.",
552554
"description.wurst.hack.ui-utils": "Adds UI utilities like packet control, chat-in-GUI input, and resource pack bypass tools.",
553555
"hack.wurst.pearlesp": "PearlESP",
554556
"description.wurst.hack.pearlesp": "Highlights ender pearls thrown by other players, shows predicted landing with a purple box, draws a trajectory line, and highlights when players are holding an ender pearl.",
@@ -560,6 +562,8 @@
560562
"description.wurst.hack.mobhealth": "Shows health for the mob you're looking at, either as hearts or a colored number, with optional hostile-only and through-walls detection.",
561563
"hack.wurst.elytrainfo": "ElytraInfo",
562564
"description.wurst.hack.elytrainfo": "Shows an Elytra HUD (yaw, pitch, altitude, speed, direction, durability) and can auto-swap Elytra/chestplate on landing or low durability.",
565+
"hack.wurst.playersonar": "PlayerSonar",
566+
"description.wurst.hack.playersonar": "Tracks distant player activity using a sonar-like ping display and tracer markers outside the normal PlayerESP range.",
563567
"hack.wurst.noplayerchat": "NoPlayerChat",
564568
"description.wurst.hack.noplayerchat": "Filters player chat with optional join/leave, whisper, death-message, and keyword-rule controls.",
565569
"hack.wurst.coordlogger": "CoordLogger",

0 commit comments

Comments
 (0)