1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Не работает такой плагин

Тема в разделе "Разработка плагинов для новичков", создана пользователем Tyzun, 6 фев 2014.

  1. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Сделал вот плагин, который должен сохранять инвентарь и опыт игрока, если тот имеет право, или сохранять все это если тот был убит игроком с другим правом. Но не работает. Выводов в консоль нет(кроме того, что плагин включился). Вот код:
    Код:
    package ua.tyzun.noloseitems;
    
    import org.bukkit.Bukkit;
    
    import java.util.List;
    
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.scheduler.BukkitScheduler;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.*********ventory.ItemStack;
    import org.bukkit.plugin.Plugin;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class NoLoseItems extends JavaPlugin implements Listener {
        @Override
        public void OnEnable(){
              getServer().getPluginManager().registerEvents(this, this);
        }
        @EventHandler(priority=EventPriority.HIGHEST)
        public void onPlayerDeath(PlayerDeathEvent event)
          {
            final Player player = event.getEntity();
            
            Player killer = event.getEntity().getKiller();
            if((killer.hasPermission("nli.killer" && !killer.hasPermission("nli.killexempt") && player.hasPermission("nli.loseexempt")) || player.hasPermission("nli.exp")){
    
              event.setKeepLevel(true);
              event.setDroppedExp(0);
    
            }
            ItemStack is;
            if((killer.hasPermission("nli.killer") && !killer.hasPermission("nli.killexempt") && player.hasPermission("nli.loseexempt")) || player.hasPermission("nli.inv")){
    
              final ItemStack[] inventory = player.getInventory().getContents();
              for (int i = 0; i < inventory.length; i++) {
                is = inventory[i];
                event.getDrops().remove(is);
              }
              Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable()
              {
                public void run()
                {
                  player.getInventory().setContents(inventory);
                }
              });
            }
    
            if((killer.hasPermission("nli.killer") && !killer.hasPermission("nli.killexempt") && player.hasPermission("nli.loseexempt")) || player.hasPermission("nli.armor")){
    
              final ItemStack[] armor = player.getInventory().getArmorContents();
    
              Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable()
              {
                public void run()
                {
                  player.getInventory().setArmorContents(armor);
                }
              });
              ItemStack[] arrayOfItemStack1;
              ItemStack localItemStack1 = (arrayOfItemStack1 = armor).length; for (is = 0; is < localItemStack1; is++) { ItemStack is = arrayOfItemStack1[is];
                event.getDrops().remove(is);
              }
    
            }
            if(player.hasPermission("nli.loseexempt") && !player.hasPermission("nli.donate")){
                  player.sendMessage("Вы были убиты донат игроком, поэтому ваш инвентарь был сохранен.");
            }
            if(player.hasPermission("nli.exp")){
                  player.sendMessage("Ваш опыт сохранен");
            }
            if(player.hasPermission("nli.inv")){
                  player.sendMessage("Ваш инвентарь сохранен");
            }
            if(player.hasPermission("nli.armor")){
                  player.sendMessage("Ваша бронь сохранена");
            }
            else {
            }
          }
      
      
    }
    
     
  2. StealerSlain

    StealerSlain Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    StealerSlain
    с маленькой же буквы быть должен
     
    Hilgert и Tyzun нравится это.
  3. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    спасибо, а то я думаю что не так, все же правильно написал.
     
  4. EndEclipse

    EndEclipse Активный участник

    Баллы:
    63
    Имя в Minecraft:
    EndEclipse
    Почему тогда override не показал ошибки?
     
  5. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    показал, но я и не глянул(если я думаю что там верно, на ошибки не смотрю, помню скоспилировал плагин с четырьма ошибками, незнал как исправть, от отчаяния скомпилировал, ииииииии........... он заработал, все как я хотел)
     
  6. smilesdc

    smilesdc Няша Модератор

    Баллы:
    153
    Имя в Minecraft:
    smilesdc
    Еще один пример аля: основы_не_учи@на_практике_тупи.
     
    ql_Nik_lp нравится это.

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