当前位置: 首页>>代码示例>>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;未经允许,请勿转载。