Skip to content

Commit 8051518

Browse files
committed
fix(1.21.1): Fix OpenScreenEvent overwriting new screens from other mods #256
1 parent 434d1f7 commit 8051518

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

common/src/main/java/net/blay09/mods/balm/api/event/client/OpenScreenEvent.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ public OpenScreenEvent(Screen screen) {
1313
this.newScreen = screen;
1414
}
1515

16+
public OpenScreenEvent(Screen screen, @Nullable Screen newScreen) {
17+
this.screen = screen;
18+
this.newScreen = newScreen;
19+
}
20+
1621
public Screen getScreen() {
1722
return screen;
1823
}

forge/src/main/java/net/blay09/mods/balm/forge/event/ForgeBalmClientEvents.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ public static void registerEvents(ForgeBalmEvents events) {
325325

326326
events.registerEvent(OpenScreenEvent.class, priority -> {
327327
MinecraftForge.EVENT_BUS.addListener(ForgeBalmEvents.toForge(priority), (ScreenEvent.Opening orig) -> {
328-
final OpenScreenEvent event = new OpenScreenEvent(orig.getScreen());
328+
final OpenScreenEvent event = new OpenScreenEvent(orig.getScreen(), orig.getNewScreen());
329329
events.fireEventHandlers(priority, event);
330330
if (event.getNewScreen() != null) {
331331
orig.setNewScreen(event.getNewScreen());

neoforge/src/main/java/net/blay09/mods/balm/neoforge/event/NeoForgeBalmClientEvents.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ public static void registerEvents(NeoForgeBalmEvents events) {
320320

321321
events.registerEvent(OpenScreenEvent.class, priority -> {
322322
NeoForge.EVENT_BUS.addListener(NeoForgeBalmEvents.toForge(priority), (ScreenEvent.Opening orig) -> {
323-
final OpenScreenEvent event = new OpenScreenEvent(orig.getScreen());
323+
final OpenScreenEvent event = new OpenScreenEvent(orig.getScreen(), orig.getNewScreen());
324324
events.fireEventHandlers(priority, event);
325325
if (event.getNewScreen() != null) {
326326
orig.setNewScreen(event.getNewScreen());

0 commit comments

Comments
 (0)