當前位置: 首頁>>代碼示例>>Java>>正文


Java IAttributeInstance.getAttribute方法代碼示例

本文整理匯總了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;
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:29,代碼來源:SharedMonsterAttributes.java

示例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;
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:29,代碼來源:SharedMonsterAttributes.java

示例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());
		}
	}
}
 
開發者ID:ToroCraft,項目名稱:NemesisSystem,代碼行數:13,代碼來源:SpawnHandler.java

示例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());
		}
	}
}
 
開發者ID:ToroCraft,項目名稱:NemesisSystem,代碼行數:41,代碼來源:EntityDecorator.java


注:本文中的net.minecraft.entity.ai.attributes.IAttributeInstance.getAttribute方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。