Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

[Решено] Как добавить эффект мечу

Тема в разделе "Модификации клиента", создана пользователем Безисходность, 8 июн 2014.

Статус темы:
Закрыта.
  1. Автор темы
    Безисходность

    Безисходность Старожил Пользователь

    Баллы:
    153
    Skype:
    yarik.007
    Имя в Minecraft:
    Adraax
    Собственно вопрос:
    Как добавить мечу эффект... скажем замедления на определённое кол-во времени.
    Тобишь после удара цели цель получает эффект на указанное кол-во времени.
    Текущий код который мне подсказал @RedEnergy выглялит так:
    Код:
    public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)
        {
            par1ItemStack.damageItem(1, par3EntityLiving);
            par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 100, 4));
            return true;
        }
    И не работает на мобов. (а может и во обще не работает, на игроке не проверял)
     
    MaxBukkit, Penek28123123, Лайка3 и 6 другим нравится это.
  2. Хостинг MineCraft
    <
  3. Agravaine

    Agravaine Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Должен работать.
     
    MaxBukkit, Penek28123123, Лайка3 и 8 другим нравится это.
  4. Автор темы
    Безисходность

    Безисходность Старожил Пользователь

    Баллы:
    153
    Skype:
    yarik.007
    Имя в Minecraft:
    Adraax
    Но не работает :C
     
  5. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Код:
    @Override //Пожалуйста типа
    public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) {
        try {
            par1ItemStack.damageItem(1, par3EntityLiving);
            par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 100, 4));
        } catch (ButthurtException b) {
            logger.SEVERE("СУУУУУУУУУУУКААААААААААААА", b)
            }
            return true;
        }
    Жаль, что этот код вообще работать не будет ._.
     
  6. Agravaine

    Agravaine Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Покажи весь файл твоего меча.
     
  7. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    ButthurtException :D
     
    LaikoMen228, MaxBukkit, herobrine1hosting и 13 другим нравится это.
  8. Автор темы
    Безисходность

    Безисходность Старожил Пользователь

    Баллы:
    153
    Skype:
    yarik.007
    Имя в Minecraft:
    Adraax
    Код:
    package xMod.by.Adraax;
    
    import java.util.List;
    
    import net.minecraft.client.renderer.texture.IconRegister;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemAxe;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.ItemSword;
    import net.minecraft.potion.Potion;
    import net.minecraft.potion.PotionEffect;
    
    public class obsidianSword extends ItemSword {
    
        public obsidianSword(int par1) {
            super(par1, xModCore.mObSword);
            this.setCreativeTab(xModCore.xTab);
        }
        @Override
        public void registerIcons(IconRegister par1IconRegister)
        {
                                        this.itemIcon = par1IconRegister.registerIcon(ModInfo.MODID + ":obsidianSword");
        }
        public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)
        {
            par1ItemStack.damageItem(1, par3EntityLiving);
            par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 100, 4));
            return true;
        }
     
    }
     
  9. Agravaine

    Agravaine Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Вы хоть на аргументы смотрите, блин!
    Нафига вам сделали аннотацию @Override?
    В методе дается EntityLivingBase, а не EntityLiving.
    Что-то я сразу не заметил.
    Вот рабочий метод:
    Код:
    public boolean hitEntity(ItemStack iStack, EntityLivingBase hitEntity, EntityLivingBase player){
            iStack.damageItem(1, player);
            hitEntity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 100, 4));
            return true;
    }
     
  10. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Тот код тоже верен, но он со времён 1.4.7.
     
  11. Автор темы
    Безисходность

    Безисходность Старожил Пользователь

    Баллы:
    153
    Skype:
    yarik.007
    Имя в Minecraft:
    Adraax
    Огромное спасибо! И это... я даже не знаю то такое аргументы =(
     
  12. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    hitEntity(ItemStack iStack, EntityLivingBase hitEntity, EntityLivingBase player)
     
  13. Автор темы
    Безисходность

    Безисходность Старожил Пользователь

    Баллы:
    153
    Skype:
    yarik.007
    Имя в Minecraft:
    Adraax
Статус темы:
Закрыта.

Поделиться этой страницей