Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

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

Discussion in 'Разработка плагинов для новичков' started by Tyzun, Feb 6, 2014.

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

    Tyzun Старожил

    Trophy Points:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Сделал вот плагин, который должен сохранять инвентарь и опыт игрока, если тот имеет право, или сохранять все это если тот был убит игроком с другим правом. Но не работает. Выводов в консоль нет(кроме того, что плагин включился). Вот код:
    Code:
    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.bukkit.inventory.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. Хостинг MineCraft
    <
  3. StealerSlain

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

    Trophy Points:
    88
    Имя в Minecraft:
    StealerSlain
    с маленькой же буквы быть должен
     
    Hilgert and Tyzun like this.
  4. Автор темы
    Tyzun

    Tyzun Старожил

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

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

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

    Tyzun Старожил

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

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

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

Share This Page