Fix screen open firing too soon
This commit is contained in:
parent
6d8f90d303
commit
ade8f2789b
|
|
@ -4,6 +4,9 @@ import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||||
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
|
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
|
||||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
public class ModernFixClientFabric implements ClientModInitializer {
|
public class ModernFixClientFabric implements ClientModInitializer {
|
||||||
public static ModernFixClient commonMod;
|
public static ModernFixClient commonMod;
|
||||||
|
|
@ -13,7 +16,16 @@ public class ModernFixClientFabric implements ClientModInitializer {
|
||||||
commonMod = new ModernFixClient();
|
commonMod = new ModernFixClient();
|
||||||
|
|
||||||
ClientTickEvents.END_CLIENT_TICK.register((mc) -> commonMod.onRenderTickEnd());
|
ClientTickEvents.END_CLIENT_TICK.register((mc) -> commonMod.onRenderTickEnd());
|
||||||
ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> commonMod.onScreenOpening(screen));
|
ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
|
||||||
|
AtomicBoolean hasOpened = new AtomicBoolean(false);
|
||||||
|
ScreenEvents.beforeTick(screen).register(screen1 -> {
|
||||||
|
if(Minecraft.getInstance().overlay != null)
|
||||||
|
return;
|
||||||
|
if(!hasOpened.getAndSet(true)) {
|
||||||
|
commonMod.onScreenOpening(screen1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
ServerLifecycleEvents.SERVER_STARTED.register(server -> {
|
ServerLifecycleEvents.SERVER_STARTED.register(server -> {
|
||||||
commonMod.onServerStarted(server);
|
commonMod.onServerStarted(server);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user