本文整理汇总了Java中net.minecraft.entity.ai.attributes.AttributeInstance类的典型用法代码示例。如果您正苦于以下问题:Java AttributeInstance类的具体用法?Java AttributeInstance怎么用?Java AttributeInstance使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AttributeInstance类属于net.minecraft.entity.ai.attributes包,在下文中一共展示了AttributeInstance类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: func_70097_a
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) {
if(this.func_85032_ar()) {
return false;
} else {
this.field_70788_c = 60;
if(!this.func_70650_aV()) {
AttributeInstance var3 = this.func_110148_a(SharedMonsterAttributes.field_111263_d);
if(var3.func_111127_a(field_110179_h) == null) {
var3.func_111121_a(field_110181_i);
}
}
this.field_70789_a = null;
this.field_70881_d = 0;
return super.func_70097_a(p_70097_1_, p_70097_2_);
}
}
示例2: func_70071_h_
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
public void func_70071_h_() {
if(this.field_110191_bu != this.field_70789_a && !this.field_70170_p.field_72995_K) {
AttributeInstance var1 = this.func_110148_a(SharedMonsterAttributes.field_111263_d);
var1.func_111124_b(field_110190_br);
if(this.field_70789_a != null) {
var1.func_111121_a(field_110190_br);
}
}
this.field_110191_bu = this.field_70789_a;
if(this.field_70838_e > 0 && --this.field_70838_e == 0) {
this.func_85030_a("mob.zombiepig.zpigangry", this.func_70599_aP() * 2.0F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.2F + 1.0F) * 1.8F);
}
super.func_70071_h_();
}
示例3: func_111261_a
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
private static NBTTagCompound func_111261_a(AttributeInstance p_111261_0_) {
NBTTagCompound var1 = new NBTTagCompound();
Attribute var2 = p_111261_0_.func_111123_a();
var1.func_74778_a("Name", var2.func_111108_a());
var1.func_74780_a("Base", p_111261_0_.func_111125_b());
Collection var3 = p_111261_0_.func_111122_c();
if(var3 != null && !var3.isEmpty()) {
NBTTagList var4 = new NBTTagList();
Iterator var5 = var3.iterator();
while(var5.hasNext()) {
AttributeModifier var6 = (AttributeModifier)var5.next();
if(var6.func_111165_e()) {
var4.func_74742_a(func_111262_a(var6));
}
}
var1.func_74782_a("Modifiers", var4);
}
return var1;
}
示例4: func_111258_a
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
private static void func_111258_a(AttributeInstance p_111258_0_, NBTTagCompound p_111258_1_) {
p_111258_0_.func_111128_a(p_111258_1_.func_74769_h("Base"));
if(p_111258_1_.func_74764_b("Modifiers")) {
NBTTagList var2 = p_111258_1_.func_74761_m("Modifiers");
for(int var3 = 0; var3 < var2.func_74745_c(); ++var3) {
AttributeModifier var4 = func_111259_a((NBTTagCompound)var2.func_74743_b(var3));
AttributeModifier var5 = p_111258_0_.func_111127_a(var4.func_111167_a());
if(var5 != null) {
p_111258_0_.func_111124_b(var5);
}
p_111258_0_.func_111121_a(var4);
}
}
}
示例5: func_71151_f
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
public float func_71151_f() {
float var1 = 1.0F;
if(this.field_71075_bZ.field_75100_b) {
var1 *= 1.1F;
}
AttributeInstance var2 = this.func_110148_a(SharedMonsterAttributes.field_111263_d);
var1 = (float)((double)var1 * ((var2.func_111126_e() / (double)this.field_71075_bZ.func_75094_b() + 1.0D) / 2.0D));
if(this.func_71039_bw() && this.func_71011_bu().field_77993_c == Item.field_77707_k.field_77779_bT) {
int var3 = this.func_71057_bx();
float var4 = (float)var3 / 20.0F;
if(var4 > 1.0F) {
var4 = 1.0F;
} else {
var4 *= var4;
}
var1 *= 1.0F - var4 * 0.15F;
}
return var1;
}
示例6: setSprinting
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
/**
* Set sprinting switch for Entity.
*/
public void setSprinting(boolean par1)
{
super.setSprinting(par1);
AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
if (attributeinstance.getModifier(sprintingSpeedBoostModifierUUID) != null)
{
attributeinstance.removeModifier(sprintingSpeedBoostModifier);
}
if (par1)
{
attributeinstance.applyModifier(sprintingSpeedBoostModifier);
}
}
示例7: attackEntityFrom
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
{
if (this.isEntityInvulnerable())
{
return false;
}
else
{
this.fleeingTick = 60;
if (!this.isAIEnabled())
{
AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
if (attributeinstance.getModifier(field_110179_h) == null)
{
attributeinstance.applyModifier(field_110181_i);
}
}
this.entityToAttack = null;
this.inLove = 0;
return super.attackEntityFrom(par1DamageSource, par2);
}
}
示例8: onUpdate
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
/**
* Called to update the entity's position/logic.
*/
public void onUpdate()
{
if (this.field_110191_bu != this.entityToAttack && !this.worldObj.isRemote)
{
AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
attributeinstance.removeModifier(field_110190_br);
if (this.entityToAttack != null)
{
attributeinstance.applyModifier(field_110190_br);
}
}
this.field_110191_bu = this.entityToAttack;
if (this.randomSoundDelay > 0 && --this.randomSoundDelay == 0)
{
this.playSound("mob.zombiepig.zpigangry", this.getSoundVolume() * 2.0F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F) * 1.8F);
}
super.onUpdate();
}
示例9: setChild
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
/**
* Set whether this zombie is a child.
*/
public void setChild(boolean par1)
{
this.getDataWatcher().updateObject(12, Byte.valueOf((byte)(par1 ? 1 : 0)));
if (this.worldObj != null && !this.worldObj.isRemote)
{
AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
attributeinstance.removeModifier(babySpeedBoostModifier);
if (par1)
{
attributeinstance.applyModifier(babySpeedBoostModifier);
}
}
}
示例10: func_111260_a
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
public static void func_111260_a(BaseAttributeMap par0BaseAttributeMap, NBTTagList par1NBTTagList, ILogAgent par2ILogAgent)
{
for (int i = 0; i < par1NBTTagList.tagCount(); ++i)
{
NBTTagCompound nbttagcompound = (NBTTagCompound)par1NBTTagList.tagAt(i);
AttributeInstance attributeinstance = par0BaseAttributeMap.getAttributeInstanceByName(nbttagcompound.getString("Name"));
if (attributeinstance != null)
{
func_111258_a(attributeinstance, nbttagcompound);
}
else if (par2ILogAgent != null)
{
par2ILogAgent.logWarning("Ignoring unknown attribute \'" + nbttagcompound.getString("Name") + "\'");
}
}
}
示例11: func_111258_a
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
private static void func_111258_a(AttributeInstance par0AttributeInstance, NBTTagCompound par1NBTTagCompound)
{
par0AttributeInstance.setAttribute(par1NBTTagCompound.getDouble("Base"));
if (par1NBTTagCompound.hasKey("Modifiers"))
{
NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Modifiers");
for (int i = 0; i < nbttaglist.tagCount(); ++i)
{
AttributeModifier attributemodifier = func_111259_a((NBTTagCompound)nbttaglist.tagAt(i));
AttributeModifier attributemodifier1 = par0AttributeInstance.getModifier(attributemodifier.getID());
if (attributemodifier1 != null)
{
par0AttributeInstance.removeModifier(attributemodifier1);
}
par0AttributeInstance.applyModifier(attributemodifier);
}
}
}
示例12: applyAttributesModifiersToEntity
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
public void applyAttributesModifiersToEntity(EntityLivingBase par1EntityLivingBase, BaseAttributeMap par2BaseAttributeMap, int par3)
{
Iterator iterator = this.field_111188_I.entrySet().iterator();
while (iterator.hasNext())
{
Entry entry = (Entry)iterator.next();
AttributeInstance attributeinstance = par2BaseAttributeMap.getAttributeInstance((Attribute)entry.getKey());
if (attributeinstance != null)
{
AttributeModifier attributemodifier = (AttributeModifier)entry.getValue();
attributeinstance.removeModifier(attributemodifier);
attributeinstance.applyModifier(new AttributeModifier(attributemodifier.getID(), this.getName() + " " + par3, this.func_111183_a(par3, attributemodifier), attributemodifier.getOperation()));
}
}
}
示例13: updateMoveSpeed
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
private void updateMoveSpeed(EntityLivingBase entity, EntityStats stats) {
AttributeInstance moveSpeedAttribute = entity.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
double newMoveSpeed = stats.getMovementSpeed();
double oldMoveSpeed = moveSpeedAttribute.getAttributeValue();
if (newMoveSpeed != oldMoveSpeed) {
double baseMoveSpeed = moveSpeedAttribute.getBaseValue();
// Get the modifier:
AttributeModifier speedModifier = moveSpeedAttribute.getModifier(uuid);
if (speedModifier != null) {
// Remove the old modifier
moveSpeedAttribute.removeModifier(speedModifier);
}
// I think the argument "2" stands for operation "add percentage":
speedModifier = new AttributeModifier(uuid, "Speed bonus from Dota 2 Items", newMoveSpeed / baseMoveSpeed - 1.0, 2)
.setSaved(false); // I think this makes it non-persistent
moveSpeedAttribute.applyModifier(speedModifier);
}
}
示例14: setChild
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
/**
* Set whether this zombie is a child.
*/
public void setChild(boolean par1)
{
this.getDataWatcher().updateObject(12, Byte.valueOf((byte) (par1 ? 1 : 0)));
if (this.worldObj != null && !this.worldObj.isRemote)
{
AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
attributeinstance.removeModifier(babySpeedBoostModifier);
if (par1)
{
attributeinstance.applyModifier(babySpeedBoostModifier);
}
}
}
示例15: func_111148_a
import net.minecraft.entity.ai.attributes.AttributeInstance; //导入依赖的package包/类
public void func_111148_a(Multimap p_111148_1_) {
Iterator var2 = p_111148_1_.entries().iterator();
while(var2.hasNext()) {
Entry var3 = (Entry)var2.next();
AttributeInstance var4 = this.func_111152_a((String)var3.getKey());
if(var4 != null) {
var4.func_111124_b((AttributeModifier)var3.getValue());
}
}
}