У меня есть своё оружие, молот.
Он наследуется у ItemSword (что бы в наковальне на него накладывались эффекты для мечей).
(когда я наследовал его у itemHammer, класса скопированного с ItemSword с измененным модификатором дамага, было все в порядке)
Теперь вопрос, как сделать, что бы урон, наносимый им рассчитывался по формуле (Урон материала + 8), а не (Урон материала + 4), как у кирок?
Или как сделать так, что у него был класс зачарования как у мечей?
Заранее спасибо!
Пытаюсь вот так, вроде в момент инициализации - урон 12 (по дебагу), а потом вижу что всего 8 (как у меча).
Он наследуется у ItemSword (что бы в наковальне на него накладывались эффекты для мечей).
(когда я наследовал его у itemHammer, класса скопированного с ItemSword с измененным модификатором дамага, было все в порядке)
Теперь вопрос, как сделать, что бы урон, наносимый им рассчитывался по формуле (Урон материала + 8), а не (Урон материала + 4), как у кирок?
Или как сделать так, что у него был класс зачарования как у мечей?
Заранее спасибо!
Пытаюсь вот так, вроде в момент инициализации - урон 12 (по дебагу), а потом вижу что всего 8 (как у меча).
Код:
public class itemCrystalHammer extends ItemSword {
private IIcon theIcon;
private float field_150934_a;
public itemCrystalHammer(String unlocalizedName)
{
super(ModMaterials.CRYSTAL);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(ModCreativeTabs.tabLWMTool);
this.setTextureName(LWMTool.MOD_ID + ":woodHandleHummer");
this.field_150934_a = 8.0F + ModMaterials.CRYSTAL.getDamageVsEntity();
}
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses()
{
return true;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister icon)
{
super.registerIcons(icon);
this.theIcon = icon.registerIcon(LWMTool.MOD_ID + ":crystalHummerHead");
}
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int i1, int i2)
{
return i2 > 0 ? this.theIcon : super.getIconFromDamageForRenderPass(i1, i2);
}
@Override
public Multimap getItemAttributeModifiers(){
Multimap multimap = super.getItemAttributeModifiers();
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Weapon modifier", (double)this.field_150934_a, 0));
return multimap;
}
/*
public int getDamageVsEntity(Entity entity)
{
return this.getMaxDamage() + 8;
}*/
}