From 2625eeb7dedb05b524b08721e1267acdcd93e5c1 Mon Sep 17 00:00:00 2001 From: nea Date: Wed, 3 Aug 2022 02:31:05 +0200 Subject: scuffed config screen --- .../nea/notenoughupdates/events/NEUScreenEvents.kt | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/main/kotlin/moe/nea/notenoughupdates/events/NEUScreenEvents.kt (limited to 'src/main/kotlin/moe/nea/notenoughupdates/events') diff --git a/src/main/kotlin/moe/nea/notenoughupdates/events/NEUScreenEvents.kt b/src/main/kotlin/moe/nea/notenoughupdates/events/NEUScreenEvents.kt new file mode 100644 index 0000000..f118be5 --- /dev/null +++ b/src/main/kotlin/moe/nea/notenoughupdates/events/NEUScreenEvents.kt @@ -0,0 +1,23 @@ +package moe.nea.notenoughupdates.events + +import moe.nea.notenoughupdates.events.NEUScreenEvents.OnScreenOpen +import net.fabricmc.fabric.api.event.EventFactory +import net.minecraft.client.gui.screens.Screen +import net.minecraft.client.Minecraft + +object NEUScreenEvents { + fun interface OnScreenOpen { + /** + * Called when a new Screen is opened via [Minecraft.setScreen]. If [new] is null, this corresponds to closing a [Screen]. + * @return true to prevent this event from happening. + */ + fun onScreenOpen(old: Screen?, new: Screen?): Boolean + } + + val SCREEN_OPEN = EventFactory.createArrayBacked(OnScreenOpen::class.java) { arr -> + OnScreenOpen { old, new -> + return@OnScreenOpen arr.asSequence().any { it.onScreenOpen(old, new) } + } + } + +} \ No newline at end of file -- cgit