diff --git a/src/main/java/dev/micle/loginprotection/proxy/Proxy.java b/src/main/java/dev/micle/loginprotection/proxy/Proxy.java index c6a4c23..80ede1f 100644 --- a/src/main/java/dev/micle/loginprotection/proxy/Proxy.java +++ b/src/main/java/dev/micle/loginprotection/proxy/Proxy.java @@ -1,6 +1,8 @@ package dev.micle.loginprotection.proxy; +import dev.micle.loginprotection.data.ProtectedPlayer; import dev.micle.loginprotection.data.ProtectedPlayerManager; +import dev.micle.loginprotection.events.*; import dev.micle.loginprotection.network.NetworkManager; import dev.micle.loginprotection.setup.Config; import net.minecraft.client.Minecraft; @@ -37,6 +39,12 @@ public class Proxy implements IProxy { MinecraftForge.EVENT_BUS.addListener(Proxy::onAddReloadListeners); MinecraftForge.EVENT_BUS.addListener(Proxy::serverStarted); MinecraftForge.EVENT_BUS.addListener(Proxy::serverStopping); + + // Register event handlers + MinecraftForge.EVENT_BUS.register(new OnLivingSetAttackTargetEventHandler()); + MinecraftForge.EVENT_BUS.register(new OnPlayerDamageEventHandler()); + MinecraftForge.EVENT_BUS.register(new OnPlayerJoinEventHandler()); + MinecraftForge.EVENT_BUS.register(new OnPlayerLeaveEventHandler()); } private static void setup(FMLCommonSetupEvent event) {} @@ -73,17 +81,30 @@ public class Proxy implements IProxy { // Client setup public static class Client extends Proxy { + private static ProtectedPlayer.State playerState; + public Client() { // Register mod event bus listeners IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); modEventBus.addListener(Client::setup); modEventBus.addListener(Client::postSetup); + + // Register event handlers + MinecraftForge.EVENT_BUS.register(new OnClientInputEventHandler()); } private static void setup(FMLClientSetupEvent event) {} private static void postSetup(FMLLoadCompleteEvent event) {} + public static ProtectedPlayer.State getPlayerState() { + return playerState; + } + + public static void setPlayerState(ProtectedPlayer.State newPlayerState) { + playerState = newPlayerState; + } + @Override @OnlyIn(Dist.CLIENT) public Player getClientPlayer() { @@ -91,7 +112,7 @@ public class Proxy implements IProxy { } @Override - @OnlyIn(Dist.DEDICATED_SERVER) + @OnlyIn(Dist.CLIENT) public Level getClientWorld() { return Minecraft.getInstance().level; }