Skip to content

Commit c128b13

Browse files
Merge pull request #579 from ArikSquad/feat/npc-refactor
Unified HypixelNPC
2 parents 7eddeef + 6a31426 commit c128b13

164 files changed

Lines changed: 1626 additions & 2008 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

type.deepcaverns/src/main/java/net/swofty/type/deepcaverns/TypeDeepCavernsLoader.java

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
import net.swofty.proxyapi.redis.ServiceToClient;
1010
import net.swofty.type.deepcaverns.tab.DeepCavernsServerModule;
1111
import net.swofty.type.generic.SkyBlockTypeLoader;
12-
import net.swofty.type.generic.entity.animalnpc.HypixelAnimalNPC;
12+
1313
import net.swofty.type.generic.entity.npc.HypixelNPC;
14-
import net.swofty.type.generic.entity.villager.HypixelVillagerNPC;
14+
1515
import net.swofty.type.generic.event.HypixelEventClass;
1616
import net.swofty.type.generic.tab.TablistManager;
1717
import net.swofty.type.generic.tab.TablistModule;
@@ -80,14 +80,10 @@ public List<HypixelEventClass> getCustomEvents() {
8080

8181
@Override
8282
public List<HypixelNPC> getNPCs() {
83-
List<HypixelNPC> npcs = new ArrayList<>();
84-
85-
npcs.addAll(SkyBlockGenericLoader.loopThroughPackage(
86-
"net.swofty.type.deepcaverns.npcs",
87-
HypixelNPC.class
88-
).toList());
89-
90-
return npcs;
83+
return new ArrayList<>(SkyBlockGenericLoader.loopThroughPackage(
84+
"net.swofty.type.deepcaverns.npcs",
85+
HypixelNPC.class
86+
).toList());
9187
}
9288

9389
@Override
@@ -100,19 +96,6 @@ public List<ProxyToClient> getProxyRedisListeners() {
10096
return List.of();
10197
}
10298

103-
@Override
104-
public List<HypixelVillagerNPC> getVillagerNPCs() {
105-
return new ArrayList<>(SkyBlockGenericLoader.loopThroughPackage(
106-
"net.swofty.type.deepcaverns.villagers",
107-
HypixelVillagerNPC.class
108-
).toList());
109-
}
110-
111-
@Override
112-
public List<HypixelAnimalNPC> getAnimalNPCs() {
113-
return new ArrayList<>();
114-
}
115-
11699
@Override
117100
public List<ServiceType> getRequiredServices() {
118101
return new ArrayList<>(List.of(ServiceType.DATA_MUTEX));

type.deepcaverns/src/main/java/net/swofty/type/deepcaverns/npcs/NPCLapisMiner.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import net.kyori.adventure.text.Component;
44
import net.kyori.adventure.text.event.ClickEvent;
55
import net.minestom.server.coordinate.Pos;
6-
import net.swofty.type.generic.entity.npc.HypixelNPC;
7-
import net.swofty.type.generic.entity.npc.NPCParameters;
86
import net.swofty.type.generic.user.HypixelPlayer;
7+
import net.swofty.type.generic.entity.npc.HypixelNPC;
8+
import net.swofty.type.generic.entity.npc.configuration.HumanConfiguration;
99
import net.swofty.type.skyblockgeneric.user.SkyBlockPlayer;
1010

1111
public class NPCLapisMiner extends HypixelNPC {
1212

1313
public NPCLapisMiner() {
14-
super(new NPCParameters() {
14+
super(new HumanConfiguration() {
1515
@Override
1616
public String[] holograms(HypixelPlayer player) {
1717
return new String[]{"Lapis Miner", "§e§lCLICK"};
@@ -40,7 +40,7 @@ public boolean looking() {
4040
}
4141

4242
@Override
43-
public void onClick(PlayerClickNPCEvent event) {
43+
public void onClick(NPCInteractEvent event) {
4444
SkyBlockPlayer player = (SkyBlockPlayer) event.player();
4545
player.sendMessage(Component.text("§cThis Feature is not there yet. §aOpen a Pull request HERE to get it added quickly!")
4646
.clickEvent(ClickEvent.openUrl("https://github.com/Swofty-Developments/HypixelSkyBlock")));

type.deepcaverns/src/main/java/net/swofty/type/deepcaverns/npcs/NPCLiftOperator.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@
33
import net.minestom.server.coordinate.Pos;
44
import net.swofty.type.deepcaverns.gui.GUILiftOperator;
55
import net.swofty.type.generic.data.datapoints.DatapointToggles;
6-
import net.swofty.type.generic.entity.npc.NPCDialogue;
7-
import net.swofty.type.generic.entity.npc.NPCParameters;
6+
import net.swofty.type.generic.entity.npc.HypixelNPC;
7+
import net.swofty.type.generic.entity.npc.configuration.HumanConfiguration;
88
import net.swofty.type.generic.user.HypixelPlayer;
9-
import net.swofty.type.skyblockgeneric.mission.MissionData;
10-
import net.swofty.type.skyblockgeneric.mission.missions.MissionTalkToLiftOperator;
119
import net.swofty.type.skyblockgeneric.user.SkyBlockPlayer;
1210

1311
import java.util.stream.Stream;
1412

15-
public class NPCLiftOperator extends NPCDialogue {
13+
public class NPCLiftOperator extends HypixelNPC {
1614

1715
public NPCLiftOperator() {
18-
super(new NPCParameters() {
16+
super(new HumanConfiguration() {
1917
@Override
2018
public String[] holograms(HypixelPlayer player) {
2119
return new String[]{"Lift Operator", "§e§lCLICK"};
@@ -71,7 +69,7 @@ public boolean looking() {
7169
}
7270

7371
@Override
74-
public void onClick(PlayerClickNPCEvent e) {
72+
public void onClick(NPCInteractEvent e) {
7573
SkyBlockPlayer player = (SkyBlockPlayer) e.player();
7674
if (isInDialogue(player)) return;
7775
boolean hasSpokenBefore = player.getToggles().get(DatapointToggles.Toggles.ToggleType.HAS_SPOKEN_TO_LIFT_OPERATOR);
@@ -87,7 +85,7 @@ public void onClick(PlayerClickNPCEvent e) {
8785
}
8886

8987
@Override
90-
public NPCDialogue.DialogueSet[] getDialogueSets(HypixelPlayer player) {
88+
public DialogueSet[] dialogues(HypixelPlayer player) {
9189
return Stream.of(
9290
DialogueSet.builder()
9391
.key("hello").lines(new String[]{
@@ -97,6 +95,6 @@ public NPCDialogue.DialogueSet[] getDialogueSets(HypixelPlayer player) {
9795
"Be careful not to fall down the shaft though, it's a long fall!",
9896
"Good luck on your adventures."
9997
}).build()
100-
).toArray(NPCDialogue.DialogueSet[]::new);
98+
).toArray(DialogueSet[]::new);
10199
}
102100
}

type.deepcaverns/src/main/java/net/swofty/type/deepcaverns/npcs/NPCRedstoneMiner.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import net.kyori.adventure.text.Component;
44
import net.kyori.adventure.text.event.ClickEvent;
55
import net.minestom.server.coordinate.Pos;
6-
import net.swofty.type.generic.entity.npc.HypixelNPC;
7-
import net.swofty.type.generic.entity.npc.NPCParameters;
86
import net.swofty.type.generic.user.HypixelPlayer;
7+
import net.swofty.type.generic.entity.npc.HypixelNPC;
8+
import net.swofty.type.generic.entity.npc.configuration.HumanConfiguration;
99
import net.swofty.type.skyblockgeneric.user.SkyBlockPlayer;
1010

1111
public class NPCRedstoneMiner extends HypixelNPC {
1212

1313
public NPCRedstoneMiner() {
14-
super(new NPCParameters() {
14+
super(new HumanConfiguration() {
1515
@Override
1616
public String[] holograms(HypixelPlayer player) {
1717
return new String[]{"Redstone Miner", "§e§lCLICK"};
@@ -40,7 +40,7 @@ public boolean looking() {
4040
}
4141

4242
@Override
43-
public void onClick(PlayerClickNPCEvent event) {
43+
public void onClick(NPCInteractEvent event) {
4444
SkyBlockPlayer player = (SkyBlockPlayer) event.player();
4545
player.sendMessage(Component.text("§cThis Feature is not there yet. §aOpen a Pull request HERE to get it added quickly!")
4646
.clickEvent(ClickEvent.openUrl("https://github.com/Swofty-Developments/HypixelSkyBlock")));

type.deepcaverns/src/main/java/net/swofty/type/deepcaverns/npcs/NPCRhys.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import net.kyori.adventure.text.Component;
44
import net.kyori.adventure.text.event.ClickEvent;
55
import net.minestom.server.coordinate.Pos;
6-
import net.swofty.type.generic.entity.npc.HypixelNPC;
7-
import net.swofty.type.generic.entity.npc.NPCParameters;
86
import net.swofty.type.generic.user.HypixelPlayer;
7+
import net.swofty.type.generic.entity.npc.HypixelNPC;
8+
import net.swofty.type.generic.entity.npc.configuration.HumanConfiguration;
99
import net.swofty.type.skyblockgeneric.user.SkyBlockPlayer;
1010

1111
public class NPCRhys extends HypixelNPC {
1212

1313
public NPCRhys() {
14-
super(new NPCParameters() {
14+
super(new HumanConfiguration() {
1515
@Override
1616
public String[] holograms(HypixelPlayer player) {
1717
return new String[]{"Rhys", "§e§lCLICK"};
@@ -40,7 +40,7 @@ public boolean looking() {
4040
}
4141

4242
@Override
43-
public void onClick(PlayerClickNPCEvent event) {
43+
public void onClick(NPCInteractEvent event) {
4444
SkyBlockPlayer player = (SkyBlockPlayer) event.player();
4545
player.sendMessage(Component.text("§cThis Feature is not there yet. §aOpen a Pull request HERE to get it added quickly!")
4646
.clickEvent(ClickEvent.openUrl("https://github.com/Swofty-Developments/HypixelSkyBlock")));

type.deepcaverns/src/main/java/net/swofty/type/deepcaverns/npcs/NPCWalter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
import net.minestom.server.coordinate.Pos;
55
import net.minestom.server.item.ItemStack;
66
import net.swofty.type.deepcaverns.gui.GUIShopWalter;
7-
import net.swofty.type.generic.entity.npc.NPCDialogue;
7+
import net.swofty.type.generic.entity.npc.HypixelNPC;
88
import net.swofty.type.generic.entity.npc.NPCOption;
9-
import net.swofty.type.generic.entity.npc.NPCParameters;
9+
import net.swofty.type.generic.entity.npc.configuration.HumanConfiguration;
1010
import net.swofty.type.generic.user.HypixelPlayer;
1111
import net.swofty.type.generic.utility.MathUtility;
1212
import net.swofty.type.skyblockgeneric.item.SkyBlockItem;
@@ -16,10 +16,10 @@
1616
import java.util.Collections;
1717
import java.util.stream.Stream;
1818

19-
public class NPCWalter extends NPCDialogue {
19+
public class NPCWalter extends HypixelNPC {
2020

2121
public NPCWalter() {
22-
super(new NPCParameters() {
22+
super(new HumanConfiguration() {
2323
@Override
2424
public String[] holograms(HypixelPlayer player) {
2525
return new String[]{"Walter", "§e§lCLICK"};
@@ -48,7 +48,7 @@ public boolean looking() {
4848
}
4949

5050
@Override
51-
public void onClick(PlayerClickNPCEvent event) {
51+
public void onClick(NPCInteractEvent event) {
5252
SkyBlockPlayer player = (SkyBlockPlayer) event.player();
5353
if (isInDialogue(player)) return;
5454

@@ -75,7 +75,7 @@ public void onClick(PlayerClickNPCEvent event) {
7575
}
7676

7777
@Override
78-
public NPCDialogue.DialogueSet[] getDialogueSets(HypixelPlayer player) {
78+
public DialogueSet[] dialogues(HypixelPlayer player) {
7979
return Stream.of(
8080
DialogueSet.builder()
8181
.key("none").lines(new String[]{
@@ -97,6 +97,6 @@ public NPCDialogue.DialogueSet[] getDialogueSets(HypixelPlayer player) {
9797
.key("donate_cube_no_requirements").lines(new String[]{ // when donating the cube without requirements met
9898
"Mmh... you're missing something to become a Platinum-level donor...",
9999
}).abiPhone(true).build()
100-
).toArray(NPCDialogue.DialogueSet[]::new);
100+
).toArray(DialogueSet[]::new);
101101
}
102102
}

type.dungeonhub/src/main/java/net/swofty/type/dungeonhub/TypeDungeonHubLoader.java

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
import net.swofty.proxyapi.redis.ServiceToClient;
1010
import net.swofty.type.dungeonhub.tab.DungeonServerModule;
1111
import net.swofty.type.generic.SkyBlockTypeLoader;
12-
import net.swofty.type.generic.entity.animalnpc.HypixelAnimalNPC;
1312
import net.swofty.type.generic.entity.npc.HypixelNPC;
14-
import net.swofty.type.generic.entity.villager.HypixelVillagerNPC;
1513
import net.swofty.type.generic.event.HypixelEventClass;
1614
import net.swofty.type.generic.tab.TablistManager;
1715
import net.swofty.type.generic.tab.TablistModule;
@@ -82,14 +80,10 @@ public List<HypixelEventClass> getCustomEvents() {
8280

8381
@Override
8482
public List<HypixelNPC> getNPCs() {
85-
List<HypixelNPC> npcs = new ArrayList<>();
86-
87-
npcs.addAll(SkyBlockGenericLoader.loopThroughPackage(
83+
return new ArrayList<>(SkyBlockGenericLoader.loopThroughPackage(
8884
"net.swofty.type.dungeonhub.npcs",
8985
HypixelNPC.class
9086
).toList());
91-
92-
return npcs;
9387
}
9488

9589
@Override
@@ -107,22 +101,6 @@ public List<ServiceType> getRequiredServices() {
107101
return List.of(ServiceType.ITEM_TRACKER, ServiceType.DATA_MUTEX);
108102
}
109103

110-
@Override
111-
public List<HypixelVillagerNPC> getVillagerNPCs() {
112-
return new ArrayList<>(SkyBlockGenericLoader.loopThroughPackage(
113-
"net.swofty.type.dungeonhub.villagers",
114-
HypixelVillagerNPC.class
115-
).toList());
116-
}
117-
118-
@Override
119-
public List<HypixelAnimalNPC> getAnimalNPCs() {
120-
return new ArrayList<>(SkyBlockGenericLoader.loopThroughPackage(
121-
"net.swofty.type.dungeonhub.animalnpcs",
122-
HypixelAnimalNPC.class
123-
).toList());
124-
}
125-
126104
@Override
127105
public @Nullable CustomWorlds getMainInstance() {
128106
return CustomWorlds.SKYBLOCK_DUNGEON_HUB;

0 commit comments

Comments
 (0)