Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите работа с NBT прочности брони.

zuma2

Старожил
Заблокирован
Пользователь
Баллы
173
Имя в Minecraft
zuma2
чет всю ночь просидел так и не понял и не нашел нормального гайда на русском (на английском гуглить не умею)
суть такая, нужно чтобы от текущей прочности вычиталась прочность, в количество 1 за 5 тиков
шлем свой.
сначало пулучилось создать хирень (получилось что шлем набрал мощи для удара) а потом когда я зашел в лаву меня убило как от меча бога xD

​
rainbowdash.gif
 
Последнее редактирование:
Код:
for (Player b : Bukkit.getOnlinePlayers()){
        b.getInventory().getHelmet().setDurability((short) (p.getItemInHand().getDurability() + 1));
    }
 
а как сделать каждый тик? и плз разжуй.

Код:
@Override
public void run() {
for (Player p : Bukkit.getOnlinePlayers()){
p.getInventory().getHelmet().setDurability((short) (p.getItemInHand().getDurability() + 1)); // Урон +1 или -1 точно не помню
}
}
}; run.runTaskTimer(this, 1L, 5L); //Тики тут (5L)
 
Код:
@Override
public void run() {
for (Player p : Bukkit.getOnlinePlayers()){
p.getInventory().getHelmet().setDurability((short) (p.getItemInHand().getDurability() + 1)); // Урон +1 или -1 точно не помню
}
}
}; run.runTaskTimer(this, 1L, 5L); //Тики тут (5L)
под понятием разжуй я имел вовсе другое.
И это мод, методы из bukkit :C
 
Ок , я подумал что ты про бакит )
Ну а в модах ничем помочь не могу ...
uhhhh.gif
этот код прибавляет прочности.
JavaScript:
       public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) {

             if (par1ItemStack.stackTagCompound == null)
             {
                      par1ItemStack.stackTagCompound = new NBTTagCompound();
                      par1ItemStack.stackTagCompound.setInteger("repairIncrement", 0);
             }

             else
             {
                      int tag = par1ItemStack.stackTagCompound.getInteger("repairIncrement");

                      par1ItemStack.stackTagCompound.setInteger("repairIncrement", tag + 1);

                      if (tag % 6000 == 0) // Каждые 5 минут
                      {
                               par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
                      }
             }
    }


JavaScript:
    public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
     {
        if (TestMod.Antigas == false)
        {
            par5Entity.attackEntityFrom(DamageSource.cactus, 1.0F);
        }
        if (TestMod.Antigas == true)
        {
                   //сюда запихать надо
        }
     }

сап
 

Поделиться этой страницей

Назад
Верх