Lord_Voldemort7 Posted June 23, 2015 Posted June 23, 2015 Hello I am setting up a mod and I would like to have multiple vanilla effects be triggered when my custom potion activates. So far, I get no errors, it just doesn't work. My goal for this test is to take damage as I would with poison for the length that Anthrax is active. I take no damage but Anthrax is active. Eventually I'll add more than one at once, but for now I'd like to get one working to see what I did wrong. EDIT: I forgot to mention that I use MC version 1.7.10 and Forge version 1.7.10-10.13.0.1180 Here is my EventHooks class: package epidemiccraft.c; import net.minecraft.entity.EntityLivingBase; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.DamageSource; import net.minecraftforge.event.entity.living.LivingAttackEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; public class EpidemicCraftEventHooks { public class DiseaseHooks { @SubscribeEvent public void onEntityAttack(LivingAttackEvent event) { if (event.source.getSourceOfDamage() != null) { if(event.source.getSourceOfDamage() instanceof EntityLivingBase) { EntityLivingBase attacker = (EntityLivingBase)event.source.getSourceOfDamage(); if(attacker.isPotionActive(EpidemicCraft.potionAnthraxEffect.id)) { //empty until further notice } if(attacker.isPotionActive(EpidemicCraft.potionBubPlagueEffect.id)) { //Add info here later } } } } } } And here is my Anthrax Potion Class: package epidemiccraft.c; import epidemiccraft.items.ModItems; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.ITextureObject; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.ResourceLocation; public class PotionAnthraxEffect extends Potion { public PotionAnthraxEffect(int par1, boolean par2, int par3){ super(par1, par2, par3); } @Override public boolean isBadEffect() { return true; } public Potion setIconIndex(int par1, int par2) { super.setIconIndex(par1,par2); return (Potion)this; } @Override public int getStatusIconIndex() { ResourceLocation r = new ResourceLocation("epidemiccraft","textures/gui/inventory.png"); ITextureObject texture = Minecraft.getMinecraft().renderEngine.getTexture®; Minecraft.getMinecraft().renderEngine.bindTexture®; return super.getStatusIconIndex(); } public void performEffect(EntityLivingBase attacker, int strength){ super.performEffect(attacker, strength); attacker.addPotionEffect(newPotionEffect(Potion.poison.id,attacker.getActivePotionEffect(EpidemicCraft.potionAnthraxEffect).getDuration(), 1)); } } If you need anything else from me, just ask. I just joined the forums, so if I did not do something right, please correct me so I don't make the same mistake again. Thanks in advance, Lord_Voldemort7 Quote
Lord_Voldemort7 Posted June 23, 2015 Author Posted June 23, 2015 Where is the Potion explanation? I cannot find a link on your post. Quote
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.