Posted September 29, 20169 yr Hi, I have been asked to provide a config option in a mod I made some contributions to. It's a replacement of the food system of the player, done at EntityJoinWorldEvent. When the player disable in-game via GUI the option, it should revert back (or apply if it was off). This only happens in single player of course, else players could have different systems on the server. I subscribe to OnConfigChangedEvent, but I do not know how to check if it's a single player world anymore. Then I'll need the (single) EntityPlayer to revert my changes. Any idea ?
September 29, 20169 yr - You can use event.getEntity() to get the player. - You are running on the client if e.worldObj.isRemote or if e instanceof AbstractClientPlayer - You will have to cast the entity to EntityPlayer If you want to get the player without the event and you're sure the code is running client-side, use Minecraft.getMinecraft().thePlayer Edit: to check if single player (and you're sure the code is running client-side), there's something along the lines of Minecraft.getMinecraft().isIntegratedServerRunning catch(Exception e) { } Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).
September 29, 20169 yr - You are running on the client if e.worldObj.isRemote or if e instanceof AbstractClientPlayer Client != Singleplayer. Singleplayer still has a server running in the background. 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 30, 20168 yr Author In the end I just made a synchronization between client and server with packets, so I'm sure I use the server config for this particular setting.
October 1, 20168 yr Wouldn't: if (!world.isRemote) { [...] } Work? My basic understanding is that calls only on the Client side if false.
October 1, 20168 yr That still doesn't tell you if the player is playing single player. It only tells you that you're on the client (which can be playing single player, open LAN, or multiplayer). Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
October 1, 20168 yr Wouldn't: if (!world.isRemote) { [...] } Work? My basic understanding is that calls only on the Client side if false. It calls on the server side if false()l!world.isRemote this is server side) VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
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.