Jump to content

[1.11] Adding a potion effect to a player


MSpace-Dev

Recommended Posts

Hey everyone,

 

So, all I need to do is add a potion effect to a player. I've managed to get the player object already, so I have access to that. I'm just not quite sure how to use addPotionEffect correctly. I've been trying many variations to get it to atleast accept it. But yeah, here is a very small part of my code. I've seen around the internet that they go Potion.getPotionByID(), or was it PotionEffect.getPotionByID()? Either way, it doesn't seem to be supported here.

 

for (EntityPlayer player : list) {
            player.addPotionEffect(); // Add effect here
}

 

Thanks!

Link to comment
Share on other sites

Look for other uses of the method.

Right click -> References -> Find in Workspace

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

player.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 100, 0));

Here is the example. 19 is id of potion which is equals to Poison, 100 is duration of potion 20ticks per second, so 100 is equals to 5 seconds. and 0 is a level of potion. (zero-based) so if you type 2 for level, it equals level 3 potion effect. You can get ids from net.minecraft.potion.Potion.java.
 

Edited by xwerswoodx
Link to comment
Share on other sites

7 minutes ago, xwerswoodx said:

player.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 100, 0));

Here is the example. 19 is id of potion which is equals to Poison, 100 is duration of potion 20ticks per second, so 100 is equals to 5 seconds. and 0 is a level of potion. (zero-based) so if you type 2 for level, it equals level 3 potion effect. You can get ids from net.minecraft.potion.Potion.java.
 

Bad modder, no cookie. Do not use hard coded IDs.

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

1 minute ago, MSpace-Dev said:

@xwerswoodx As I said, I went to go look through the code, already figured that out, but thanks =p

 

@Draco18s What would you use instead of hardcoded IDs? The only code I found that used to give the potion effect used the IDs. Care to share an example that doesn't use them?

You know how Blocks.DIRT is a thing so you don't need to do Block.getBlockByID(1)?

Potion effects work the same way.

  • Like 1

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

15 minutes ago, Draco18s said:

Bad modder, no cookie. Do not use hard coded IDs.

I know MobEffects initialization. But he asked about 

"I've seen around the internet that they go Potion.getPotionByID(), or was it PotionEffect.getPotionByID()? Either way, it doesn't seem to be supported here."

 

So I answered him same way. Sorry bro but knowing "MobEffects" init doesn't make you good or bad modder. Anyway here is the code with "MobEffects" for "GOOD" mooders...

 

player.addPotionEffect(new PotionEffect(MobEffects.POISON, 100, 0));

 

  • Like 2
Link to comment
Share on other sites

1 minute ago, xwerswoodx said:

I know MobEffects initialization. But he asked about 

"I've seen around the internet that they go Potion.getPotionByID(), or was it PotionEffect.getPotionByID()? Either way, it doesn't seem to be supported here."

 

So I answered him same way.

The correct way to answer was to tell him to not use that method and to instead use MobEffects.

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

If this topic was not solved yet:

MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
List<EntityPlayer> list = Lists.newArrayList(server.getPlayerList().getPlayers());

for (EntityPlayer playerIn : list) //for each player in the player list
{
  playerIn.addPotionEffect(new PotionEffect(MobEffects /* don't get effect from ID, IDs can change */... effect, int... duration, int... amplifier, boolean... particles, boolean... isAmbient));
}

Hope I helped :)

Edited by Differentiation
Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.