|
54 | 54 |
|
55 | 55 | import net.minecraft.client.KeyMapping; |
56 | 56 | import net.minecraft.client.Minecraft; |
57 | | -//- import net.minecraft.client.gui.screens.Screen; |
| 57 | +import net.minecraft.client.gui.screens.Screen; |
58 | 58 | import net.minecraft.core.BlockPos; |
59 | 59 | import net.minecraft.core.component.DataComponents; |
60 | 60 | import net.minecraft.network.chat.Component; |
@@ -251,20 +251,21 @@ public static boolean isOnLocalServer() { |
251 | 251 | public static boolean triggerScroll(double mouseX, double mouseY, double scrollY) { |
252 | 252 | double scrollAmount = scrollY * CLIENT.options.mouseWheelSensitivity().get(); |
253 | 253 | ScrollAction result; |
254 | | - if (CLIENT.screen instanceof ISpecialScrollableScreen) { |
255 | | - result = ((ISpecialScrollableScreen) CLIENT.screen).mouseWheelie_onMouseScrolledSpecial(mouseX, mouseY, scrollAmount); |
| 254 | + Screen openScreen = getOpenScreen(); |
| 255 | + if (openScreen instanceof ISpecialScrollableScreen) { |
| 256 | + result = ((ISpecialScrollableScreen) openScreen).mouseWheelie_onMouseScrolledSpecial(mouseX, mouseY, scrollAmount); |
256 | 257 | if (result.cancelsCustomActions()) { |
257 | 258 | return result.cancelsAllActions(); |
258 | 259 | } |
259 | 260 | } |
260 | | - if (CLIENT.screen instanceof IContainerScreen) { |
261 | | - result = ((IContainerScreen) CLIENT.screen).mouseWheelie_onMouseScroll(mouseX, mouseY, scrollY); |
| 261 | + if (openScreen instanceof IContainerScreen) { |
| 262 | + result = ((IContainerScreen) openScreen).mouseWheelie_onMouseScroll(mouseX, mouseY, scrollY); |
262 | 263 | if (result.cancelsCustomActions()) { |
263 | 264 | return result.cancelsAllActions(); |
264 | 265 | } |
265 | 266 | } |
266 | | - if (CLIENT.screen instanceof IScrollableRecipeBook) { |
267 | | - result = ((IScrollableRecipeBook) CLIENT.screen).mouseWheelie_onMouseScrollRecipeBook(mouseX, mouseY, scrollY); |
| 267 | + if (openScreen instanceof IScrollableRecipeBook) { |
| 268 | + result = ((IScrollableRecipeBook) openScreen).mouseWheelie_onMouseScrollRecipeBook(mouseX, mouseY, scrollY); |
268 | 269 | if (result.cancelsCustomActions()) { |
269 | 270 | return result.cancelsAllActions(); |
270 | 271 | } |
@@ -390,4 +391,20 @@ public Component asText(SortMode sortMode) { |
390 | 391 | }) |
391 | 392 | .build()); |
392 | 393 | } |
| 394 | + |
| 395 | + public static Screen getOpenScreen() { |
| 396 | + //# if MC_VERSION_NUMBER >= 260200 |
| 397 | + return CLIENT.gui.screen(); |
| 398 | + //# else |
| 399 | + //- return CLIENT.screen; |
| 400 | + //# end |
| 401 | + } |
| 402 | + |
| 403 | + public static void openScreen(Screen screen) { |
| 404 | + //# if MC_VERSION_NUMBER >= 260200 |
| 405 | + CLIENT.gui.setScreen(screen); |
| 406 | + //# else |
| 407 | + //- CLIENT.setScreen(screen); |
| 408 | + //# end |
| 409 | + } |
393 | 410 | } |
0 commit comments