Bonjour,
Je n’arrive pas à créer un item qui quand un zombie me tape avec une épée qui a un certain enchantement, il y ai le pseudo de la personne tapée dans le tooltip ; avec ce que j’ai trouvé, j’ai essayé de faire quelque chose mais il me give pas l’item
Voici ma classe de l’item :
public class ItemPersonalGem extends Item
{
public static String owner;
public ItemPersonalGem()
{
super(new Properties().group(Group.MOD));
setRegistryName("personal_gem");
}
@Override
public void addInformation(ItemStack stack, @Nullable World world, List<ITextComponent> tooltip, ITooltipFlag flag)
{
tooltip.add(new StringTextComponent(ChatFormatting.GRAY + "Contains part of the soul of " + NBT(new ItemStack(this))));
}
public static String NBT(ItemStack stack)
{
if (owner == null)
{
owner = "No Owner";
}
CompoundNBT nbt = new CompoundNBT();
nbt.putString("owner", owner);
stack.setTag(nbt);
return stack.getTag().getString("owner");
}
}
et celle de mon enchant :
public class EnchantmentPersonalDamage extends Enchantment
{
protected EnchantmentPersonalDamage()
{
super(Rarity.RARE, EnchantmentType.WEAPON, EquipmentSlotType.values());
setRegistryName("personal_damage");
}
@Override
public void onEntityDamaged(LivingEntity user, Entity target, int level)
{
ItemPersonalGem.owner = target.getDisplayName().getString();
if (target instanceof PlayerEntity)
{
((PlayerEntity) target).inventory.addItemStackToInventory(new ItemStack(Items.PERSONAL_GEM));
}
}
}
PS : Au fait, “contains part of the soul of”, c’est bon ou il y a une erreur ?