diff --git a/src/main/java/com/patchworkmc/testmods/networking/ClientPlayerNetworkEventTest.java b/src/main/java/com/patchworkmc/testmods/networking/ClientPlayerNetworkEventTest.java new file mode 100644 index 0000000..cfb0752 --- /dev/null +++ b/src/main/java/com/patchworkmc/testmods/networking/ClientPlayerNetworkEventTest.java @@ -0,0 +1,65 @@ +package com.patchworkmc.testmods.networking; + +import net.minecraftforge.client.event.ClientPlayerNetworkEvent; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * A test for patchwork's {@link ClientPlayerNetworkEvent}. + * + *

+ * These situations should be tested: + *

    + *
  1. ClientPlayerNetworkEvent.LoggedInEvent is fired when logging on to a singleplayer world.
  2. + *
  3. ClientPlayerNetworkEvent.LoggedInEvent is fired when logging on to a multiplayer world.
  4. + *
  5. ClientPlayerNetworkEvent.RespawnEvent is fired when respawning.
  6. + *
  7. ClientPlayerNetworkEvent.RespawnEvent is fired when changing dimensions.
  8. + *
  9. ClientPlayerNetworkEvent.LoggedOutEvent is fired when logging out of a singleplayer world.
  10. + *
  11. ClientPlayerNetworkEvent.LoggedOutEvent is fired when logging out of a multiplayer world.
  12. + *
+ *

+ */ +@Mod("patchwork-test-clientplayernetworkevent") +public class ClientPlayerNetworkEventTest { + private static Logger logger = LogManager.getLogger("patchwork-test-clientplayernetworkevent"); + public ClientPlayerNetworkEventTest() { + MinecraftForge.EVENT_BUS.register(this); + } + + @SubscribeEvent + public void onClientPlayerNetworkEvent(ClientPlayerNetworkEvent event) { + logger.info("ClientPlayerNetworkEvent fired: Controller: {}, Player: {}, Network Manager: {}", + event.getController(), + event.getPlayer(), + event.getNetworkManager()); + } + + @SubscribeEvent + public void onLoggedInEvent(ClientPlayerNetworkEvent.LoggedInEvent event) { + logger.info("ClientPlayerNetworkEvent.LoggedInEvent fired: Controller: {}, Player: {}, Network Manager: {}", + event.getController(), + event.getPlayer(), + event.getNetworkManager()); + } + + @SubscribeEvent + public void onLoggedOutEvent(ClientPlayerNetworkEvent.LoggedOutEvent event) { + logger.info("ClientPlayerNetworkEvent.LoggedOutEvent fired: Controller: {}, Player: {}, Network Manager: {}", + event.getController(), + event.getPlayer(), + event.getNetworkManager()); + } + + @SubscribeEvent + public void onRespawnEvent(ClientPlayerNetworkEvent.RespawnEvent event) { + logger.info("ClientPlayerNetworkEvent.RespawnEvent fired: Controller: {}, Old Player: {}, New Player: {}, Network Manager: {}", + event.getController(), + event.getOldPlayer(), + event.getNewPlayer(), + event.getNetworkManager()); + } + +} diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index ba0d1a6..a6037d2 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -64,6 +64,12 @@ issueTrackerURL="http://github.com/patchworkmc/patchwork-api" version="1.0.0" displayName="Patchwork Networking Messages Test" description="Tests if custom messages are being sent and recieved successfully." +[[mods]] + modId="patchwork-test-clientplayernetworkevent" + version="1.0.0" + displayName="Patchwork ClientPlayerNetworkEvent Test" + description="Tests that ClientPlayerNetworkEvent events are being fired." + ## MISC [[mods]] modId="patchwork-test-stringremapping"