Posted August 25, 201411 yr Im making a flight potion (originality at its best), but when my potion effect ends, the player does not drop to the ground. Here's my potion event. //FLIGHT POTION if(event.entity instanceof EntityPlayer){ EntityPlayer player = (EntityPlayer)event.entity; boolean world = event.entity.worldObj.isRemote; if(player.isPotionActive(Miscellany.flightPotion.getId())){ player.capabilities.allowFlying=true; if(player.getActivePotionEffect(Miscellany.flightPotion).getDuration()<10){ player.capabilities.allowFlying=false; player.removePotionEffect(Miscellany.flightPotion.getId()); } } } What am I doing wrong? I have tried using !world.isRemote but no luck Thanks in advance! http://i.imgur.com/J2keQOC.png[/img]http://i.imgur.com/YHnvIfh.png[/img]
August 25, 201411 yr Author Set player.isFlying to false as well. Yup that worked! Thank you sir! I also had to make it so that it checked if the duration was 1 because 0 == deactivated so it was unreachable code. Here's the code for any future reference or anyone that would like it //FLIGHT POTION if(event.entity instanceof EntityPlayer){ EntityPlayer player = (EntityPlayer)event.entity; boolean world = event.entity.worldObj.isRemote; boolean flying = false; if(player.isPotionActive(Miscellany.flightPotion.getId())){ player.capabilities.allowFlying=true; flying=true; if(player.getActivePotionEffect(Miscellany.flightPotion).getDuration()==1){ player.capabilities.isFlying=false; player.capabilities.allowFlying=false; player.sendPlayerAbilities(); } } } http://i.imgur.com/J2keQOC.png[/img]http://i.imgur.com/YHnvIfh.png[/img]
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.