本文整理匯總了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);
}
}
}
}
示例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);
}
}
}
}
示例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);
}
}
示例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);
}
}
}
}
}
示例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);
}
}
}
}
}
示例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);
}
}
}
}
}
示例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());
}
}
}
示例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());
}
}
}
示例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());
}