Koward Posted September 29, 2016 Share Posted September 29, 2016 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 ? Quote Link to comment Share on other sites More sharing options...
Earthcomputer Posted September 29, 2016 Share Posted September 29, 2016 - 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 Quote catch(Exception e) { } Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em). Link to comment Share on other sites More sharing options...
larsgerrits Posted September 29, 2016 Share Posted September 29, 2016 - 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. Quote 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/ Link to comment Share on other sites More sharing options...
Koward Posted September 30, 2016 Author Share Posted September 30, 2016 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. Quote Link to comment Share on other sites More sharing options...
swordkorn Posted October 1, 2016 Share Posted October 1, 2016 Wouldn't: if (!world.isRemote) { [...] } Work? My basic understanding is that calls only on the Client side if false. Quote Link to comment Share on other sites More sharing options...
Draco18s Posted October 1, 2016 Share Posted October 1, 2016 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). Quote 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. Link to comment Share on other sites More sharing options...
Animefan8888 Posted October 1, 2016 Share Posted October 1, 2016 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) Quote 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. Link to comment Share on other sites More sharing options...
Recommended Posts
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.