Соединение тасков

Версия Minecraft
1.7.10
128
12
Здравствуйте, недавно решил сделать меч вампиризма.
Его суть: при атаке моба на него накладывается эффект иссушения, а на носителя накладывается сильный эффект регенерации, во время тестирования я не смог соединить 2 таска. Регенерацию и иссушение.
Как это соединить?
Код:
package com.example.examplemod;

import java.util.List;

import net.divinerpg.utils.TooltipLocalizer;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraftforge.event.entity.living.LivingAttackEvent;

public class ebonsword extends ItemSword{
 private float witherSeconds;
 private float regenerationSeconds;
 public ebonsword(ToolMaterial mat, String name, float seconds) {
 super(Mybestmod.MADINIT);
 this.setCreativeTab(CreativeTabs.tabCombat);
 this.setTextureName("blockj:RSW");
 this.witherSeconds = 5;
 this.regenerationSeconds = 5;

 
 }


    public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) {
        if(entity instanceof EntityLivingBase)((EntityLivingBase)player).addPotionEffect(new PotionEffect(Potion.regeneration.id, (int)(regenerationSeconds*8), 8));
        return false;
    }
    
    
    protected void addAdditionalInformation(List list) {
        list.add(TooltipLocalizer.regen(this.regenerationSeconds));
 
    }
 
    public boolean onLeftClickEntity1(ItemStack stack, EntityPlayer player, Entity entity) {
        if(entity instanceof EntityLivingBase)((EntityLivingBase)entity).addPotionEffect(new PotionEffect(Potion.wither.id, (int)(witherSeconds*5), 5));
        return false;
        
    }
    
    
    protected void addAdditionalInformation1(List list) {
        list.add(TooltipLocalizer.wither(this.witherSeconds));
    }
 

   
    }  
 
3,005
192
592
Что за onLeftClickEntity1 один?!
Почему ты проверяешь entity и кастуешь player'а к EntityLivingBase?
if(entity instanceof EntityLivingBase)((EntityLivingBase)player)
Просто переведи все в 1 метод.
 
128
12
Doc написал(а):
Что за onLeftClickEntity1 один?!
Почему ты проверяешь entity и кастуешь player'а к EntityLivingBase?
if(entity instanceof EntityLivingBase)((EntityLivingBase)player)
Просто переведи все в 1 метод.

Так, как я чайник, я ничего не понял. Можно конечный вариант?
 

Eifel

Модератор
1,623
78
608
Не надо этого всего. Есть метод в мече:
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase source)
{
stack.damageItem(1, source);
return true;
}
Переопределяем в своем мече.Тут target - тот, кого ты валишь, source - ты сам. Накладываешь эффекты на того и на того какие надо и все
 
Сверху