Skip to content

Commit 5ee578d

Browse files
Merge pull request #646 from ArikSquad/feat/inventory-v2
Inventory View System
2 parents 5139cc3 + 0cb1271 commit 5ee578d

203 files changed

Lines changed: 8260 additions & 7707 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.

commons/src/main/java/net/swofty/commons/StringUtility.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,10 @@ public static String getAsRomanNumeral(int num) {
167167
}
168168

169169
public static String getTextFromComponent(Component component) {
170+
if (component == null)
171+
throw new IllegalArgumentException("Component cannot be null");
170172
if (!(component instanceof TextComponent))
171-
throw new IllegalArgumentException("Component must be a TextComponent");
173+
throw new IllegalArgumentException("Component must be a TextComponent, but got: " + component.getClass().getSimpleName());
172174
return PlainTextComponentSerializer.plainText().serialize(component);
173175
}
174176

type.deepcaverns/src/main/java/net/swofty/type/deepcaverns/gui/GUIShopWalter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package net.swofty.type.deepcaverns.gui;
22

33
import net.swofty.commons.skyblock.item.ItemType;
4-
import net.swofty.type.skyblockgeneric.gui.SkyBlockShopGUI;
4+
import net.swofty.type.skyblockgeneric.gui.ShopView;
55
import net.swofty.type.skyblockgeneric.item.SkyBlockItem;
66
import net.swofty.type.skyblockgeneric.shop.type.CoinShopPrice;
77

8-
public class GUIShopWalter extends SkyBlockShopGUI {
8+
public class GUIShopWalter extends ShopView {
99
public GUIShopWalter() {
10-
super("Walter", 1, SINGLE_SLOT);
10+
super("Walter", SINGLE_SLOT);
1111
}
1212

1313
@Override

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public void onClick(NPCInteractEvent event) {
5050
if (isInDialogue(player)) return;
5151

5252
setDialogue(player, "none").thenRun(() -> {
53-
MathUtility.delay(() -> new GUIShopWalter().open(player), 20);
53+
MathUtility.delay(() -> player.openView(new GUIShopWalter()), 20);
5454
});
5555
}
5656

type.dwarvenmines/src/main/java/net/swofty/type/dwarvenmines/commission/CommissionMilestone.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import lombok.Getter;
44

5+
import java.util.ArrayList;
6+
import java.util.List;
7+
58
@Getter
69
public enum CommissionMilestone {
710
TIER_1(1, 5, 100_000, 20, true, false, false, false, false, false),
@@ -58,7 +61,7 @@ public static CommissionMilestone getNextMilestone(int totalCompleted) {
5861
}
5962

6063
public String[] getRewardDescriptions() {
61-
java.util.List<String> rewards = new java.util.ArrayList<>();
64+
List<String> rewards = new ArrayList<>();
6265

6366
if (unlocksEmissaries) {
6467
rewards.add("§7- §aEmissaries");

type.dwarvenmines/src/main/java/net/swofty/type/dwarvenmines/gui/GUIShopLumina.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package net.swofty.type.dwarvenmines.gui;
22

33
import net.swofty.commons.skyblock.item.ItemType;
4-
import net.swofty.type.skyblockgeneric.gui.SkyBlockShopGUI;
4+
import net.swofty.type.skyblockgeneric.gui.ShopView;
55
import net.swofty.type.skyblockgeneric.item.SkyBlockItem;
66
import net.swofty.type.skyblockgeneric.shop.type.CoinShopPrice;
77

8-
public class GUIShopLumina extends SkyBlockShopGUI {
8+
public class GUIShopLumina extends ShopView {
99
public GUIShopLumina() {
10-
super("Lumina", 1, DEFAULT);
10+
super("Lumina", DEFAULT);
1111
}
1212

1313
@Override

type.dwarvenmines/src/main/java/net/swofty/type/dwarvenmines/npcs/NPCLumina.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@ public boolean looking(HypixelPlayer player) {
4646
public void onClick(NPCInteractEvent event) {
4747
SkyBlockPlayer player = (SkyBlockPlayer) event.getPlayer();
4848

49-
new GUIShopLumina().open(player);
49+
player.openView(new GUIShopLumina());
5050
}
5151
}

type.generic/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ dependencies {
3535
}
3636
implementation("dev.hollowcube:polar:1.15.0")
3737
implementation("org.yaml:snakeyaml:2.2")
38+
implementation("it.unimi.dsi:fastutil:8.5.18")
3839
}
3940

4041
tasks.test {

type.generic/src/main/java/net/swofty/type/generic/achievement/PlayerAchievementHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ private void onAchievementUnlocked(AchievementDefinition def, AchievementData.Ac
157157
tierText = " " + toRoman(progress.getCurrentTier());
158158
}
159159

160+
// TODO: make this actually clickable to open the achievements menu
160161
Component tierHover = Component.text(def.getName() + tierText, NamedTextColor.GREEN).appendNewline()
161162
.append(Component.text(def.getDescription(), NamedTextColor.GRAY))
162163
.appendNewline().appendNewline()
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package net.swofty.type.generic.command.commands;
2+
3+
import net.minestom.server.command.builder.arguments.ArgumentLiteral;
4+
import net.swofty.type.generic.command.CommandParameters;
5+
import net.swofty.type.generic.command.HypixelCommand;
6+
import net.swofty.type.generic.gui.v2.test.*;
7+
import net.swofty.type.generic.user.HypixelPlayer;
8+
import net.swofty.type.generic.user.categories.Rank;
9+
10+
import java.util.List;
11+
import java.util.stream.IntStream;
12+
13+
@CommandParameters(aliases = "debugview", usage = "/debugview", description = "opens a debug view", permission = Rank.STAFF, allowsConsole = false)
14+
public class DebugViewCommand extends HypixelCommand {
15+
@Override
16+
public void registerUsage(MinestomCommand command) {
17+
command.setDefaultExecutor((commandSender, commands) -> {
18+
HypixelPlayer player = (HypixelPlayer) commandSender; // safe cast
19+
player.openView(new TestStateView());
20+
});
21+
22+
command.addSyntax(((sender, context) -> {
23+
HypixelPlayer player = (HypixelPlayer) sender; // safe cast
24+
player.openView(new TestContainerView());
25+
}), new ArgumentLiteral("container"));
26+
27+
command.addSyntax(((sender, context) -> {
28+
HypixelPlayer player = (HypixelPlayer) sender; // safe cast
29+
player.openView(new TestMixedView());
30+
}), new ArgumentLiteral("mixedView"));
31+
32+
// sharedView
33+
command.addSyntax(((sender, context) -> {
34+
HypixelPlayer player = (HypixelPlayer) sender; // safe cast
35+
TestSharedContainerView.open(player, "a", "a");
36+
}), new ArgumentLiteral("sharedView"));
37+
38+
// sharedState
39+
command.addSyntax(((sender, context) -> {
40+
HypixelPlayer player = (HypixelPlayer) sender; // safe cast
41+
TestSharedStateView.openNew(player, "b");
42+
}), new ArgumentLiteral("sharedState"));
43+
44+
// joinSharedState
45+
command.addSyntax(((sender, context) -> {
46+
HypixelPlayer player = (HypixelPlayer) sender; // safe cast
47+
TestSharedStateView.join(player, "b");
48+
}), new ArgumentLiteral("joinSharedState"));
49+
50+
// noState
51+
command.addSyntax(((sender, context) -> {
52+
HypixelPlayer player = (HypixelPlayer) sender; // safe cast
53+
player.openView(new TestNoStateView());
54+
}), new ArgumentLiteral("noState"));
55+
56+
// paginated
57+
command.addSyntax(((sender, context) -> {
58+
HypixelPlayer player = (HypixelPlayer) sender; // safe cast
59+
List<Integer> oneTo100 = IntStream.rangeClosed(1, 100).boxed().toList();
60+
player.openView(new TestPaginatedView(), new TestPaginatedView.State(oneTo100, 1, ""));
61+
}), new ArgumentLiteral("paginated"));
62+
}
63+
}

type.generic/src/main/java/net/swofty/type/generic/data/datapoints/DatapointToggles.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ public enum ToggleType {
7777
HAS_SPOKEN_TO_TIA(false),
7878
HAS_SPOKEN_TO_LIFT_OPERATOR(false),
7979
HAS_SPOKEN_TO_LAZY_MINER(false),
80-
HAS_SPOKEN_TO_BAKER(false),
8180
HAS_SPOKEN_TO_RUSTY(false),
8281
HAS_SPOKEN_TO_RUSTY_ABOUT_PICKAXE(false),
8382
HAS_SPOKEN_TO_RUSTY_ABOUT_ABIPHONE(false),

0 commit comments

Comments
 (0)