Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
без плагинов никак, обычно все это отключают в WorldGuard
А с WorldGuard как?
block-creeper-explosions: true
block-creeper-block-damage: true
block-tnt: true
block-tnt-block-damage: true
Без плагинов, изменить в исходниках моба 🙂. Тебе оно надо?
слушай , а как у ифрита изменить дамаг ? точнее где его исходник?)
protected void attackEntity(Entity par1Entity, float par2)
{
if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY)
{
this.attackTime = 20;
this.attackEntityAsMob(par1Entity);
}
else if (par2 < 30.0F)
{
double var3 = par1Entity.posX - this.posX;
double var5 = par1Entity.boundingBox.minY + (double)(par1Entity.height / 2.0F) - (this.posY + (double)(this.height / 2.0F));
double var7 = par1Entity.posZ - this.posZ;
if (this.attackTime == 0)
{
++this.field_70846_g;
if (this.field_70846_g == 1)
{
this.attackTime = 60;
this.func_70844_e(true);
}
else if (this.field_70846_g <= 4)
{
this.attackTime = 6;
}
else
{
this.attackTime = 100;
this.field_70846_g = 0;
this.func_70844_e(false);
}
if (this.field_70846_g > 1)
{
float var9 = MathHelper.sqrt_float(par2) * 0.5F;
this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)this.posX, (int)this.posY, (int)this.posZ, 0);
for (int var10 = 0; var10 < 1; ++var10)
{
EntitySmallFireball var11 = new EntitySmallFireball(this.worldObj, this, var3 + this.rand.nextGaussian() * (double)var9, var5, var7 + this.rand.nextGaussian() * (double)var9);
var11.posY = this.posY + (double)(this.height / 2.0F) + 0.5D;
this.worldObj.spawnEntityInWorld(var11);
}
}
}
this.rotationYaw = (float)(Math.atan2(var7, var3) * 180.0D / Math.PI) - 90.0F;
this.hasAttacked = true;
}
}
Где то тут копай.
Код:protected void attackEntity(Entity par1Entity, float par2) { if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { this.attackTime = 20; this.attackEntityAsMob(par1Entity); } else if (par2 < 30.0F) { double var3 = par1Entity.posX - this.posX; double var5 = par1Entity.boundingBox.minY + (double)(par1Entity.height / 2.0F) - (this.posY + (double)(this.height / 2.0F)); double var7 = par1Entity.posZ - this.posZ; if (this.attackTime == 0) { ++this.field_70846_g; if (this.field_70846_g == 1) { this.attackTime = 60; this.func_70844_e(true); } else if (this.field_70846_g <= 4) { this.attackTime = 6; } else { this.attackTime = 100; this.field_70846_g = 0; this.func_70844_e(false); } if (this.field_70846_g > 1) { float var9 = MathHelper.sqrt_float(par2) * 0.5F; this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)this.posX, (int)this.posY, (int)this.posZ, 0); for (int var10 = 0; var10 < 1; ++var10) { EntitySmallFireball var11 = new EntitySmallFireball(this.worldObj, this, var3 + this.rand.nextGaussian() * (double)var9, var5, var7 + this.rand.nextGaussian() * (double)var9); var11.posY = this.posY + (double)(this.height / 2.0F) + 0.5D; this.worldObj.spawnEntityInWorld(var11); } } } this.rotationYaw = (float)(Math.atan2(var7, var3) * 180.0D / Math.PI) - 90.0F; this.hasAttacked = true; } }
А не сила вроде тут
public int getAttackStrength(Entity par1Entity)
{
return 6;
}
а реально сделать так , что бы она была в минус , т.е. он лечил?)
Нет, тут нужно прикручивать другую функцию.
Нет, тут нужно прикручивать другую функцию.