本文整理汇总了Java中net.minecraft.entity.ai.attributes.IAttributeInstance.getAttribute方法的典型用法代码示例。如果您正苦于以下问题:Java IAttributeInstance.getAttribute方法的具体用法?Java IAttributeInstance.getAttribute怎么用?Java IAttributeInstance.getAttribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.entity.ai.attributes.IAttributeInstance
的用法示例。
在下文中一共展示了IAttributeInstance.getAttribute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeAttributeInstanceToNBT
import net.minecraft.entity.ai.attributes.IAttributeInstance; //导入方法依赖的package包/类
/**
* Creates an NBTTagCompound from an AttributeInstance, including its AttributeModifiers
*/
private static NBTTagCompound writeAttributeInstanceToNBT(IAttributeInstance p_111261_0_)
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
IAttribute iattribute = p_111261_0_.getAttribute();
nbttagcompound.setString("Name", iattribute.getAttributeUnlocalizedName());
nbttagcompound.setDouble("Base", p_111261_0_.getBaseValue());
Collection<AttributeModifier> collection = p_111261_0_.func_111122_c();
if (collection != null && !collection.isEmpty())
{
NBTTagList nbttaglist = new NBTTagList();
for (AttributeModifier attributemodifier : collection)
{
if (attributemodifier.isSaved())
{
nbttaglist.appendTag(writeAttributeModifierToNBT(attributemodifier));
}
}
nbttagcompound.setTag("Modifiers", nbttaglist);
}
return nbttagcompound;
}
示例2: writeAttributeInstanceToNBT
import net.minecraft.entity.ai.attributes.IAttributeInstance; //导入方法依赖的package包/类
/**
* Creates an NBTTagCompound from an AttributeInstance, including its AttributeModifiers
*/
private static NBTTagCompound writeAttributeInstanceToNBT(IAttributeInstance instance)
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
IAttribute iattribute = instance.getAttribute();
nbttagcompound.setString("Name", iattribute.getAttributeUnlocalizedName());
nbttagcompound.setDouble("Base", instance.getBaseValue());
Collection<AttributeModifier> collection = instance.getModifiers();
if (collection != null && !collection.isEmpty())
{
NBTTagList nbttaglist = new NBTTagList();
for (AttributeModifier attributemodifier : collection)
{
if (attributemodifier.isSaved())
{
nbttaglist.appendTag(writeAttributeModifierToNBT(attributemodifier));
}
}
nbttagcompound.setTag("Modifiers", nbttaglist);
}
return nbttagcompound;
}
示例3: updateSharedMonsterAttributes
import net.minecraft.entity.ai.attributes.IAttributeInstance; //导入方法依赖的package包/类
private void updateSharedMonsterAttributes(EntityCreature entity, int buffAmount) {
for (IAttributeInstance attribute : entity.getAttributeMap().getAllAttributes()) {
if (attribute.getAttribute() == SharedMonsterAttributes.ATTACK_DAMAGE) {
attribute.setBaseValue(determineAttackDamage(attribute.getAttributeValue(), buffAmount));
}
if (attribute.getAttribute() == SharedMonsterAttributes.MAX_HEALTH) {
attribute.setBaseValue(determineMaxHealth(attribute.getAttributeValue(), buffAmount));
entity.setHealth(entity.getMaxHealth());
}
}
}
示例4: decorate
import net.minecraft.entity.ai.attributes.IAttributeInstance; //导入方法依赖的package包/类
/**
* Convert the provided entity into the given nemesis
*
* @param entity the entity to be converted into a nemesis
* @param nemesis the nemesis to create
*/
public static void decorate(EntityLiving entity, NemesisEntry nemesis) {
entity.addTag(NemesisSystem.TAG_NEMESIS);
entity.getEntityData().setUniqueId(NemesisSystem.NBT_NEMESIS_ID, nemesis.getId());
entity.setCustomNameTag(nemesis.getNameAndTitle());
if (entity instanceof EntityZombie) {
((EntityZombie) entity).setChild(nemesis.isChild());
}
ItemStack helmet = nemesis.getArmorInventory().get(EntityEquipmentSlot.HEAD.getIndex());
entity.setItemStackToSlot(EntityEquipmentSlot.HEAD, helmet);
entity.setItemStackToSlot(EntityEquipmentSlot.CHEST, nemesis.getArmorInventory().get(EntityEquipmentSlot.CHEST.getIndex()));
entity.setItemStackToSlot(EntityEquipmentSlot.LEGS, nemesis.getArmorInventory().get(EntityEquipmentSlot.LEGS.getIndex()));
entity.setItemStackToSlot(EntityEquipmentSlot.FEET, nemesis.getArmorInventory().get(EntityEquipmentSlot.FEET.getIndex()));
entity.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, nemesis.getHandInventory().get(EntityEquipmentSlot.MAINHAND.getIndex()));
entity.setItemStackToSlot(EntityEquipmentSlot.OFFHAND, nemesis.getHandInventory().get(EntityEquipmentSlot.OFFHAND.getIndex()));
for (IAttributeInstance attribute : entity.getAttributeMap().getAllAttributes()) {
if (attribute.getAttribute() == SharedMonsterAttributes.ATTACK_DAMAGE) {
attribute.setBaseValue(attribute.getAttributeValue() * (nemesis.getLevel() / 3));
}
if (attribute.getAttribute() == SharedMonsterAttributes.ATTACK_SPEED) {
attribute.setBaseValue(attribute.getAttributeValue() * (nemesis.getLevel() / 8));
}
if (attribute.getAttribute() == SharedMonsterAttributes.MAX_HEALTH) {
attribute.setBaseValue(attribute.getAttributeValue() * nemesis.getLevel());
entity.setHealth(entity.getMaxHealth());
}
}
}