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


Java IAttributeInstance.setBaseValue方法代碼示例

本文整理匯總了Java中net.minecraft.entity.ai.attributes.IAttributeInstance.setBaseValue方法的典型用法代碼示例。如果您正苦於以下問題:Java IAttributeInstance.setBaseValue方法的具體用法?Java IAttributeInstance.setBaseValue怎麽用?Java IAttributeInstance.setBaseValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.minecraft.entity.ai.attributes.IAttributeInstance的用法示例。


在下文中一共展示了IAttributeInstance.setBaseValue方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: applyModifiersToAttributeInstance

import net.minecraft.entity.ai.attributes.IAttributeInstance; //導入方法依賴的package包/類
private static void applyModifiersToAttributeInstance(IAttributeInstance p_111258_0_, NBTTagCompound p_111258_1_)
{
    p_111258_0_.setBaseValue(p_111258_1_.getDouble("Base"));

    if (p_111258_1_.hasKey("Modifiers", 9))
    {
        NBTTagList nbttaglist = p_111258_1_.getTagList("Modifiers", 10);

        for (int i = 0; i < nbttaglist.tagCount(); ++i)
        {
            AttributeModifier attributemodifier = readAttributeModifierFromNBT(nbttaglist.getCompoundTagAt(i));

            if (attributemodifier != null)
            {
                AttributeModifier attributemodifier1 = p_111258_0_.getModifier(attributemodifier.getID());

                if (attributemodifier1 != null)
                {
                    p_111258_0_.removeModifier(attributemodifier1);
                }

                p_111258_0_.applyModifier(attributemodifier);
            }
        }
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:27,代碼來源:SharedMonsterAttributes.java

示例2: applyModifiersToAttributeInstance

import net.minecraft.entity.ai.attributes.IAttributeInstance; //導入方法依賴的package包/類
private static void applyModifiersToAttributeInstance(IAttributeInstance instance, NBTTagCompound compound)
{
    instance.setBaseValue(compound.getDouble("Base"));

    if (compound.hasKey("Modifiers", 9))
    {
        NBTTagList nbttaglist = compound.getTagList("Modifiers", 10);

        for (int i = 0; i < nbttaglist.tagCount(); ++i)
        {
            AttributeModifier attributemodifier = readAttributeModifierFromNBT(nbttaglist.getCompoundTagAt(i));

            if (attributemodifier != null)
            {
                AttributeModifier attributemodifier1 = instance.getModifier(attributemodifier.getID());

                if (attributemodifier1 != null)
                {
                    instance.removeModifier(attributemodifier1);
                }

                instance.applyModifier(attributemodifier);
            }
        }
    }
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:27,代碼來源:SharedMonsterAttributes.java

示例3: handleSpawnEvent

import net.minecraft.entity.ai.attributes.IAttributeInstance; //導入方法依賴的package包/類
@Override
public void handleSpawnEvent(int numInstances, EntityLiving entity) {
    IAttributeInstance maxDamageAttribute = entity.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE);
    if(maxDamageAttribute!=null) {
        maxDamageAttribute.setBaseValue(maxDamageAttribute.getBaseValue() + numInstances);
    }
}
 
開發者ID:talandar,項目名稱:ProgressiveDifficulty,代碼行數:8,代碼來源:AddDamageModifier.java

示例4: handleEntityProperties

import net.minecraft.entity.ai.attributes.IAttributeInstance; //導入方法依賴的package包/類
/**
 * Updates en entity's attributes and their respective modifiers, which are used for speed bonusses (player
 * sprinting, animals fleeing, baby speed), weapon/tool attackDamage, hostiles followRange randomization, zombie
 * maxHealth and knockback resistance as well as reinforcement spawning chance.
 */
public void handleEntityProperties(S20PacketEntityProperties packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
    Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId());

    if (entity != null)
    {
        if (!(entity instanceof EntityLivingBase))
        {
            throw new IllegalStateException("Server tried to update attributes of a non-living entity (actually: " + entity + ")");
        }
        else
        {
            BaseAttributeMap baseattributemap = ((EntityLivingBase)entity).getAttributeMap();

            for (S20PacketEntityProperties.Snapshot s20packetentityproperties$snapshot : packetIn.func_149441_d())
            {
                IAttributeInstance iattributeinstance = baseattributemap.getAttributeInstanceByName(s20packetentityproperties$snapshot.func_151409_a());

                if (iattributeinstance == null)
                {
                    iattributeinstance = baseattributemap.registerAttribute(new RangedAttribute((IAttribute)null, s20packetentityproperties$snapshot.func_151409_a(), 0.0D, 2.2250738585072014E-308D, Double.MAX_VALUE));
                }

                iattributeinstance.setBaseValue(s20packetentityproperties$snapshot.func_151410_b());
                iattributeinstance.removeAllModifiers();

                for (AttributeModifier attributemodifier : s20packetentityproperties$snapshot.func_151408_c())
                {
                    iattributeinstance.applyModifier(attributemodifier);
                }
            }
        }
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:41,代碼來源:NetHandlerPlayClient.java

示例5: handleEntityProperties

import net.minecraft.entity.ai.attributes.IAttributeInstance; //導入方法依賴的package包/類
/**
 * Updates en entity's attributes and their respective modifiers, which are used
 * for speed bonusses (player sprinting, animals fleeing, baby speed),
 * weapon/tool attackDamage, hostiles followRange randomization, zombie
 * maxHealth and knockback resistance as well as reinforcement spawning chance.
 */
public void handleEntityProperties(S20PacketEntityProperties packetIn) {
	PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
	Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId());

	if (entity != null) {
		if (!(entity instanceof EntityLivingBase)) {
			throw new IllegalStateException(
					"Server tried to update attributes of a non-living entity (actually: " + entity + ")");
		} else {
			BaseAttributeMap baseattributemap = ((EntityLivingBase) entity).getAttributeMap();

			for (S20PacketEntityProperties.Snapshot s20packetentityproperties$snapshot : packetIn.func_149441_d()) {
				IAttributeInstance iattributeinstance = baseattributemap
						.getAttributeInstanceByName(s20packetentityproperties$snapshot.func_151409_a());

				if (iattributeinstance == null) {
					iattributeinstance = baseattributemap.registerAttribute(new RangedAttribute((IAttribute) null,
							s20packetentityproperties$snapshot.func_151409_a(), 0.0D, 2.2250738585072014E-308D,
							Double.MAX_VALUE));
				}

				iattributeinstance.setBaseValue(s20packetentityproperties$snapshot.func_151410_b());
				iattributeinstance.removeAllModifiers();

				for (AttributeModifier attributemodifier : s20packetentityproperties$snapshot.func_151408_c()) {
					iattributeinstance.applyModifier(attributemodifier);
				}
			}
		}
	}
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:38,代碼來源:NetHandlerPlayClient.java

示例6: handleEntityProperties

import net.minecraft.entity.ai.attributes.IAttributeInstance; //導入方法依賴的package包/類
/**
 * Updates en entity's attributes and their respective modifiers, which are used for speed bonusses (player
 * sprinting, animals fleeing, baby speed), weapon/tool attackDamage, hostiles followRange randomization, zombie
 * maxHealth and knockback resistance as well as reinforcement spawning chance.
 */
public void handleEntityProperties(SPacketEntityProperties packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
    Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId());

    if (entity != null)
    {
        if (!(entity instanceof EntityLivingBase))
        {
            throw new IllegalStateException("Server tried to update attributes of a non-living entity (actually: " + entity + ")");
        }
        else
        {
            AbstractAttributeMap abstractattributemap = ((EntityLivingBase)entity).getAttributeMap();

            for (SPacketEntityProperties.Snapshot spacketentityproperties$snapshot : packetIn.getSnapshots())
            {
                IAttributeInstance iattributeinstance = abstractattributemap.getAttributeInstanceByName(spacketentityproperties$snapshot.getName());

                if (iattributeinstance == null)
                {
                    iattributeinstance = abstractattributemap.registerAttribute(new RangedAttribute((IAttribute)null, spacketentityproperties$snapshot.getName(), 0.0D, 2.2250738585072014E-308D, Double.MAX_VALUE));
                }

                iattributeinstance.setBaseValue(spacketentityproperties$snapshot.getBaseValue());
                iattributeinstance.removeAllModifiers();

                for (AttributeModifier attributemodifier : spacketentityproperties$snapshot.getModifiers())
                {
                    iattributeinstance.applyModifier(attributemodifier);
                }
            }
        }
    }
}
 
開發者ID:NSExceptional,項目名稱:Zombe-Modpack,代碼行數:41,代碼來源:NetHandlerPlayClient.java

示例7: 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

示例8: 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

示例9: handleSpawnEvent

import net.minecraft.entity.ai.attributes.IAttributeInstance; //導入方法依賴的package包/類
@Override
public void handleSpawnEvent(int numInstances, EntityLiving entity) {
    IAttributeInstance maxHealthAttribute = entity.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH);
    maxHealthAttribute.setBaseValue(maxHealthAttribute.getBaseValue() + numInstances);
    entity.setHealth(entity.getMaxHealth());
}
 
開發者ID:talandar,項目名稱:ProgressiveDifficulty,代碼行數:7,代碼來源:AddHealthModifier.java


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