Skip to content

Commit e8bb06d

Browse files
Use ItemListSetting instead of TextFieldSetting for murderer and detective items describing (didn't know about that setting existence)
1 parent 692f29f commit e8bb06d

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

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

+20-18
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import net.minecraft.item.Item;
1313
import net.minecraft.item.ItemStack;
1414
import net.minecraft.network.packet.s2c.play.*;
15+
import net.minecraft.registry.Registries;
1516
import net.minecraft.util.Identifier;
1617
import net.minecraft.util.math.Vec3d;
1718
import net.wurstclient.Category;
@@ -22,14 +23,13 @@
2223
import net.wurstclient.events.UpdateListener;
2324
import net.wurstclient.hack.Hack;
2425
import net.wurstclient.settings.CheckboxSetting;
26+
import net.wurstclient.settings.ItemListSetting;
2527
import net.wurstclient.settings.SliderSetting;
26-
import net.wurstclient.settings.TextFieldSetting;
2728
import net.wurstclient.util.*;
2829
import org.joml.Matrix4f;
2930
import org.lwjgl.opengl.GL11;
3031

3132
import java.util.ArrayList;
32-
import java.util.Arrays;
3333
import java.util.concurrent.CopyOnWriteArrayList;
3434
import java.util.stream.Collectors;
3535
import java.util.stream.Stream;
@@ -43,15 +43,18 @@ public final class MurderMysteryHack extends Hack
4343
"How large the texture indicators above players heads should be.", 1,
4444
0.5, 2, 0.01, SliderSetting.ValueDisplay.PERCENTAGE);
4545

46-
private final TextFieldSetting murdererItems = new TextFieldSetting(
47-
"List of murderer's items",
48-
"A space-separated string of Minecraft item IDs (without specifying the 'minecraft:' namespace) which describes all possible items that murderer can use as a sword.",
49-
"wooden_sword stone_sword iron_sword diamond_sword golden_sword netherite_sword shears");
46+
private final ItemListSetting murdererItemsList =
47+
new ItemListSetting("List of murderer's items",
48+
"All possible items that murderer can use as a sword.",
49+
"minecraft:wooden_sword", "minecraft:stone_sword",
50+
"minecraft:iron_sword", "minecraft:diamond_sword",
51+
"minecraft:golden_sword", "minecraft:netherite_sword",
52+
"minecraft:shears");
5053

51-
private final TextFieldSetting detectiveItems = new TextFieldSetting(
52-
"List of detective's items",
53-
"A space-separated string of Minecraft item IDs (without specifying the 'minecraft:' namespace) which describes all possible items that detective can use as a bow.",
54-
"bow crossbow");
54+
private final ItemListSetting detectiveItemsList =
55+
new ItemListSetting("List of detective's items",
56+
"All possible items that detective can use as a bow.",
57+
"minecraft:bow", "minecraft:crossbow");
5558

5659
private final CheckboxSetting showSwordIndicators = new CheckboxSetting(
5760
"Show sword indicators",
@@ -124,8 +127,8 @@ public MurderMysteryHack()
124127
super("MurderMystery");
125128
setCategory(Category.RENDER);
126129
addSetting(scale);
127-
addSetting(murdererItems);
128-
addSetting(detectiveItems);
130+
addSetting(murdererItemsList);
131+
addSetting(detectiveItemsList);
129132
addSetting(showSwordIndicators);
130133
addSetting(showBowIndicators);
131134
addSetting(reportMurderers);
@@ -284,14 +287,15 @@ public void onReceivedPacket(PacketInputEvent event)
284287
if(pair.getFirst() != EquipmentSlot.MAINHAND)
285288
continue;
286289

287-
Item item = pair.getSecond().getItem();
288290
for(PlayerEntity pe : players)
289291
{
290292
if(pe.getId() != equip.getId())
291293
continue;
292294

293-
if(Arrays.asList(murdererItems.getValue().strip().split("\\s+"))
294-
.contains(item.toString()))
295+
Item item = pair.getSecond().getItem();
296+
String itemName = Registries.ITEM.getId(item).toString();
297+
298+
if(murdererItemsList.getItemNames().contains(itemName))
295299
{
296300
if(murderers.contains(pe))
297301
break;
@@ -302,9 +306,7 @@ public void onReceivedPacket(PacketInputEvent event)
302306
break;
303307
}
304308

305-
if(Arrays
306-
.asList(detectiveItems.getValue().strip().split("\\s+"))
307-
.contains(item.toString()))
309+
if(detectiveItemsList.getItemNames().contains(itemName))
308310
{
309311
if(detectives.contains(pe))
310312
break;

0 commit comments

Comments
 (0)