Posted October 2, 201212 yr Hi I'm updating Mo'Creatures. Some of my creatures do mountEntity(entityplayer), like the bunnies and birds. So when the player right clicks on the entity, the entity mounts the player. However with the new code I've noticed that the interact method seems to be called twice, I'm assuming once for client and once for server. So when the player interacts with these creatures, they mount and then rapidly unmount the player. Any ideas for workarounds? @Override public boolean interact(EntityPlayer entityplayer) { if (this.riddenByEntity == null) { mountEntity(entityplayer); } return true; }
October 2, 201212 yr Have you tried this? @Override public boolean interact(EntityPlayer entityplayer) { if(entityplayer.worldObj.isRemote) { if (this.riddenByEntity == null) { mountEntity(entityplayer); } } return true; } isRemote should stop it happening on the side it doesn't need to. Not sure if it'll work, but it's worth a shot.
October 4, 201212 yr Or you could try using @SideOnly(Side="CLIENT") @Override public boolean interact(EntityPlayer entityplayer) { if (this.riddenByEntity == null) { mountEntity(entityplayer); } return true; } Or you could check which side you're on using @Override public boolean interact(EntityPlayer entityplayer) { if (FMLCommonHandler.getEffectiveSide() == Side.CLIENT) { if (this.riddenByEntity == null) { mountEntity(entityplayer); } return true; } } Protip: try and find answers yourself before asking on the forum. It's pretty likely that there is an answer. Was I helpful? Give me a thank you! http://bit.ly/HZ03zy[/img] Tired of waiting for mods to port to bukkit? use BukkitForge! (now with a working version of WorldEdit!)
October 5, 201212 yr Author Thanks for your help... However I'm still stuck. @vroominator didn't work @keepcalm using this: if (FMLCommonHandler.getEffectiveSide() == Side.CLIENT) gives me the following error message, so it doesn't compile Cannot make a static reference to the non-static method getEffectiveSide() from the type FMLCommonHandler also using @SideOnly(Side="CLIENT") gives me the following error: The annotation @SideOnly must define the attribute value
October 5, 201212 yr Isn't there: if (FMLCommonHandler.instance().getSide().isClient()) and if (FMLCommonHandler.instance().getSide().isServer())
October 6, 201212 yr Author @Hobos Thanks I found out that @SideOnly(Side.CLIENT) works fine. I'll work around things with that
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.