Posted September 23, 201410 yr I am making a simple mod that makes a console message when a player logs in/logs out of a game. The logging in thing is working, but the logging out thing isn't. My code is: package org.forge.plugins; import net.minecraft.entity.item.EntityTNTPrimed; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; public class PlayerEntryExit { @SubscribeEvent public void init(PlayerEvent.PlayerLoggedInEvent event) { System.out.println(event.player.getGameProfile().getName() + " logged in"); } @SubscribeEvent public void init(PlayerEvent.PlayerLoggedOutEvent event) { System.out.println(event.player.getGameProfile().getName() + " logged out"); } }
September 23, 201410 yr What version of Forge are you using? Also, don't be afraid to use the code tag on your posts... its the # button above. code here I'll need help, and I'll give help. Just ask, you know I will!
September 23, 201410 yr What event bus did you register this handler class to? These go on the FML bus, not the regular EVENT_BUS... Check out my tutorials here: http://jabelarminecraft.blogspot.com/
September 23, 201410 yr Author My forge version is 1.7.10. I didn't know you could use the # button, thanks for sharing that tip. Also, where would I find the FML bus, and not the regular EVENT_BUS? In the MinecraftForge class, the only buses are EVENT_BUS, ORE_GEN_BUS, and TERRAIN_GEN_BUS.
September 23, 201410 yr See my tutorial on events: http://jabelarminecraft.blogspot.com/p/minecraft-forge-172-event-handling.html Check out my tutorials here: http://jabelarminecraft.blogspot.com/
September 23, 201410 yr net.minecraft.event package is in no way related to Forge or FML. Those are classes used in ChatStyle to make "click able" text.
September 23, 201410 yr The EventBus for FML is FMLCommonHandler.instance().bus() . Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
September 23, 201410 yr Author That worked, but does anyone know why there are so many differnet buses?
September 24, 201410 yr That worked, but does anyone know why there are so many differnet buses? I'm not really sure. There are even (I think) some additional buses like networking happening behind the scenes as well. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
September 24, 201410 yr ...does anyone know why there are so many differnet buses? Its a big city! (Sorry for not helping bit at the end of the day its the truth. Different buses for different destinations!) I'll need help, and I'll give help. Just ask, you know I will!
September 24, 201410 yr Author My mod is a simple one that logs a message in the server console when a player joins or leaves a world. The login message worked, but the logout one did not. I am using the FMLCommonHandler.instance().bus() bus. My code: package org.forge.plugins; import net.minecraft.entity.item.EntityTNTPrimed; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; public class PlayerEntryExit { @SubscribeEvent public void logIn(PlayerEvent.PlayerLoggedInEvent event) { System.out.println(event.player.getGameProfile().getName() + " logged in."); } @SubscribeEvent public void logOut(PlayerEvent.PlayerLoggedOutEvent event) { System.out.println(event.player.getGameProfile().getName() + " logged out."); } }
October 4, 201410 yr Author How would I make it run on the server and not the client? I tried the @SideOnly(Side.SERVER) annotation, but that didn't work.
October 5, 201410 yr Author That didn't work, there was no way to get the player or the player's name from those events.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.