Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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!

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.

  • Author

I was going to do that, but I was going out for the day, and decided to post a question instead. When I get home I'll just do it, was hoping I could just jump right into it when I get home later today

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

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.

  • Author

@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?

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.

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.

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));

 

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.

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

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.