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