Эффект на entity

476
9
39
Мне нужно наложить эффект на "газ", то есть он проходим и т.п и т.д
Наложить мне точнее нужно на игрока попавшего в этот блок, решить как наложить я не смог.
 
Если бы всё так было бы просто я бы не создал темы. Проблема в том, что entity это не entityplayer
    public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity)
    {
    //EntityPlayer player = (EntityPlayer)par5Entity.get
    //par5Entity.addPotionEffect((new PotionEffect(20, 100, 1000)));
        par5Entity.attackEntityFrom(DamageSource.wither, 1.0F);
    }
Вот как-то использовать зелье на игрока не получается, хотел попробовать определить entity именно как EntityPlayer, первая закомментированная недописанная строка, но нифига не понял как.
 
talosdx написал(а):
Если бы всё так было бы просто я бы не создал темы. Проблема в том, что entity это не entityplayer
    public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity)
    {
     //EntityPlayer player = (EntityPlayer)par5Entity.get
     //par5Entity.addPotionEffect((new PotionEffect(20, 100, 1000)));
        par5Entity.attackEntityFrom(DamageSource.wither, 1.0F);
    }
Вот как-то использовать зелье на игрока не получается, хотел попробовать определить entity именно как EntityPlayer, первая закомментированная недописанная строка, но нифига не понял как.

Если я правильно понял: см., в 1.6.4 точно был такой метод: public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) {}
А по поводу onEntityWalking - я не в курсе;
Код:
EntityPlayer player = (EntityPlayer) par5Entity;
 
Код:
if(entity instanceof EntityPlayer){
    EntityPlayer player = (EntityPlayer)entity;
    player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 20, 0));
}
 
Отлично!Спасибо!Если модеры не против это надо записать в учебник - что-бы предотвратить похожие вопросы.И да вот код который сработал если кому интересно:
Код:
    public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity)
    {
    if(entity instanceof EntityPlayer)
         {
        EntityPlayer player = (EntityPlayer)entity;
        player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 0));
        player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 80, 0));       
         }
    }
 
Назад
Сверху