Hbm-s-Nuclear-Tech-GIT/com/hbm/potion/PotionEffectTaint.java

62 lines
1.9 KiB
Java

package com.hbm.potion;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.bomb.BlockTaint;
import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.ResourceLocation;
public class PotionEffectTaint extends Potion {
public static PotionEffectTaint instance = new PotionEffectTaint(Library.getFirstNullIndex(1, Potion.potionTypes), true, 8388736);
Random rand = new Random();
public PotionEffectTaint(int p_i1573_1_, boolean p_i1573_2_, int p_i1573_3_) {
super(p_i1573_1_, p_i1573_2_, p_i1573_3_);
this.setPotionName("potion.hbm_taint");
this.setIconIndex(0, 0);
}
@Override
@SideOnly(Side.CLIENT)
public int getStatusIconIndex() {
ResourceLocation loc = new ResourceLocation("hbm","textures/gui/potions.png");
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
return super.getStatusIconIndex();
}
public void performEffect(EntityLivingBase entity, int level)
{
entity.attackEntityFrom(ModDamageSource.taint, (level + 1));
if(!entity.worldObj.isRemote) {
for(int i = 0; i < 15; i++) {
int a = rand.nextInt(5) + (int)entity.posX - 2;
int b = rand.nextInt(5) + (int)entity.posY - 2;
int c = rand.nextInt(5) + (int)entity.posZ - 2;
if(entity.worldObj.getBlock(a, b, c).isReplaceable(entity.worldObj, a, b, c) && BlockTaint.hasPosNeightbour(entity.worldObj, a, b, c))
entity.worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3), 2);
}
}
}
public boolean isReady(int par1, int par2)
{
int k = 80 >> par2;
return k > 0 ? par1 % k == 0 : true;
}
}