Skip to content

Commit af1124a

Browse files
committed
fix: register View events properly
Also cleans up logging and makes ActionInventoryOpen work with order of execution
1 parent 5ee578d commit af1124a

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

type.generic/src/main/java/net/swofty/type/generic/HypixelGenericLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ public void initialize(MinecraftServer server) {
108108
loader.getTraditionalEvents().forEach(HypixelEventHandler::registerEventMethods);
109109
loader.getCustomEvents().forEach(HypixelEventHandler::registerEventMethods);
110110
loopThroughPackage("net.swofty.type.generic.event.actions", HypixelEventClass.class).forEach(HypixelEventHandler::registerEventMethods);
111+
loopThroughPackage("net.swofty.type.generic.gui.v2.event", HypixelEventClass.class).forEach(HypixelEventHandler::registerEventMethods);
111112
// SkyBlockGenericLoader always runs after the generic loader, so if we are a SkyBlock server,
112113
// we will let that loader register the events
113114
if (!loader.getType().isSkyBlock()) {

type.generic/src/main/java/net/swofty/type/generic/gui/v2/event/ActionInventoryOpen.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.swofty.type.generic.gui.v2.event;
22

3+
import net.minestom.server.MinecraftServer;
34
import net.minestom.server.event.inventory.InventoryOpenEvent;
45
import net.swofty.type.generic.event.EventNodes;
56
import net.swofty.type.generic.event.HypixelEvent;
@@ -11,8 +12,11 @@ public class ActionInventoryOpen implements HypixelEventClass {
1112

1213
@HypixelEvent(node = EventNodes.INVENTORY, requireDataLoaded = false)
1314
public void onPlayerInventoryOpen(InventoryOpenEvent event) {
14-
HypixelPlayer player = (HypixelPlayer) event.getPlayer();
15-
ViewNavigator.find(player).ifPresent(navigator -> navigator.getCurrentSession().onOpenEvent(event));
15+
MinecraftServer.getSchedulerManager().scheduleNextTick(() -> {
16+
HypixelPlayer player = (HypixelPlayer) event.getPlayer();
17+
ViewNavigator.find(player).ifPresent(navigator -> navigator.getCurrentSession().onOpenEvent(event));
18+
});
19+
1620
}
1721

1822
}

type.skyblockgeneric/src/main/java/net/swofty/type/skyblockgeneric/gui/inventories/sbmenu/GUICrafting.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,7 @@ public void layout(ViewLayout<CraftingState> layout, CraftingState state, ViewCo
6262
Components.containerGrid(
6363
layout,
6464
10,
65-
30, (slot, oldItem, newItem, state1) -> {
66-
Logger.info("Container grid changed at slot " + slot);
67-
Logger.info("Old Item: " + oldItem);
68-
Logger.info("New Item: " + newItem);
65+
30, (_, _, _, state1) -> {
6966
int newHash = computeGridHash(ctx);
7067
SkyBlockRecipe<?> newRecipe = SkyBlockRecipe.parseRecipe(getCurrentRecipeStacks(ctx));
7168
if (state1.lastGridHash() == newHash && Objects.equals(state1.lastParsedRecipe(), newRecipe)) {
@@ -83,11 +80,9 @@ public void layout(ViewLayout<CraftingState> layout, CraftingState state, ViewCo
8380
Arrays.copyOfRange(result.errorMessage(), 1, result.errorMessage().length)));
8481
} else {
8582
int amount = recipe.getAmount();
86-
SkyBlockRecipe<?> finalRecipe = recipe;
87-
8883
layout.slot(RESULT_SLOT, (s, c) -> {
8984
SkyBlockPlayer p = (SkyBlockPlayer) c.player();
90-
ItemStack.Builder builder = PlayerItemUpdater.playerUpdate(p, finalRecipe.getResult().getItemStack()).amount(amount);
85+
ItemStack.Builder builder = PlayerItemUpdater.playerUpdate(p, recipe.getResult().getItemStack()).amount(amount);
9186

9287
ArrayList<String> lore = new ArrayList<>();
9388
var existingLore = builder.build().get(DataComponents.LORE);
@@ -100,7 +95,7 @@ public void layout(ViewLayout<CraftingState> layout, CraftingState state, ViewCo
10095
.collect(Collectors.toList()));
10196

10297
return builder;
103-
}, (click, c) -> handleCraft(click, c, finalRecipe, amount));
98+
}, (click, c) -> handleCraft(click, c, recipe, amount));
10499
}
105100
}
106101

0 commit comments

Comments
 (0)