Skip to content

Commit e3ecc26

Browse files
committed
Refresh creative search order on gamemode change
1 parent 5365af0 commit e3ecc26

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

common/src/main/java/dev/terminalmc/clientsort/client/order/CreativeSearchOrder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public static int getPosition(ItemStack stack) {
7171
public static void tryRefreshStackPositionMap() {
7272
if (Config.options().optimizeCreativeSorting) {
7373
if (ClientSort.emiReloading) {
74-
dev.terminalmc.clientsort.client.ClientSort.updateBlockedByEmi = true;
74+
ClientSort.updateBlockedByEmi = true;
7575
ClientSort.LOG.info("Search order update blocked by EMI reload, waiting...");
7676
} else {
7777
refreshStackPositionMap();

common/src/main/java/dev/terminalmc/clientsort/mixin/client/LocalPlayerMixin.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import dev.terminalmc.clientsort.client.interaction.InteractionManager;
2222
import dev.terminalmc.clientsort.client.order.CreativeSearchOrder;
2323
import net.minecraft.client.player.LocalPlayer;
24+
import net.minecraft.world.level.GameType;
2425
import org.spongepowered.asm.mixin.Mixin;
2526
import org.spongepowered.asm.mixin.injection.At;
2627
import org.spongepowered.asm.mixin.injection.Inject;
@@ -36,7 +37,7 @@ public abstract class LocalPlayerMixin {
3637
method = "clientSideCloseContainer",
3738
at = @At("HEAD")
3839
)
39-
public void beforeContainerClose(CallbackInfo callbackInfo) {
40+
private void beforeContainerClose(CallbackInfo callbackInfo) {
4041
InteractionManager.clear();
4142
ClientSort.operatingClient = false;
4243
}
@@ -45,10 +46,18 @@ public void beforeContainerClose(CallbackInfo callbackInfo) {
4546
method = "setPermissionLevel",
4647
at = @At("RETURN")
4748
)
48-
public void afterPermissionLevelChange(int level, CallbackInfo ci) {
49+
private void afterPermissionLevelChange(int level, CallbackInfo ci) {
4950
if (!ClientSort.searchOrderUpdated) {
5051
ClientSort.searchOrderUpdated = true;
5152
CreativeSearchOrder.tryRefreshStackPositionMap();
5253
}
5354
}
55+
56+
@Inject(
57+
method = "onGameModeChanged",
58+
at = @At("RETURN")
59+
)
60+
private void afterGameModeChange(GameType gameMode, CallbackInfo ci) {
61+
CreativeSearchOrder.tryRefreshStackPositionMap();
62+
}
5463
}

0 commit comments

Comments
 (0)