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

Плагин [TP/FIX] NoFall - не дай игрокам упасть в бездну! [1.10.2]|3.0

MrRateV2

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
MrRate
Название : NoFall
Версия: 3.0
Поддерживающие версии: 1.10.2 (остальные не тестил)

Описание:
Данный плагин был написан мною для лобби сервера. Дело в том что у многих в лобби отключен дамаг и голод и из-за этого игроки падая в бездну , падают туда бесконечно, не умирая. Я решил написать плагин который будет телепортировать их наверх.Думаю код очень прост. Да, такие плагины уже есть(наверное) , но на рб я не встречал). Критикуйте)

СКАЧАТЬ

Версия 1.0: Релиз плагина
Версия 2.0: Добавлена команда /reload, сообщение, конфиг
Версия 3,0: Изменение кода, снижена нагрузка на сервер, убран конфиг

Отдельное спасибо: @Slavkaa
 
Последнее редактирование:
Ууу, PlayerMoveEvent, жестко
 
Ууу, он же туда засунул наверно целую проверку на уровень игрока, вот это да, вот это жестко, точно сервак наверно нагрузит
Зачем писать если не смотрел код? я же сказал что уже нет. Я переписал код
 
Ууу, он же туда засунул наверно целую проверку на уровень игрока, вот это да, вот это жестко, точно сервак наверно нагрузит
Охренеть ты быстро с одного мнения на другое прыгаешь. Щас кто-то напишет в другой теме про PlayerMoveEvent, начнется "фу ты говнокодер, это сервер грузит, удаляй сервер"
 
Еще скажите , что это тот самый плагин , с одним и тем же кодом. -_-

Данный плагин был написан мною для моего лобби сервера.
Версия 3.0
к тому же, как раз в том плагине и используется PlayerMoveEvent, который нагружает серв.
он тпхает когда игрок падает под бедрок, а мой когда координата Y < 0

так еще и называется так же
а как иначе можно назвать плагин? -_-
 
Последнее редактирование:
Охренеть ты быстро с одного мнения на другое прыгаешь. Щас кто-то напишет в другой теме про PlayerMoveEvent, начнется "фу ты говнокодер, это сервер грузит, удаляй сервер"
Где я с мнения прыгаю, где я говорил, что одна проверка в playermoveevent будет как-то нагружать сервер? Сервер который это будет нагружать даже не запустится
 
Спасибо, ваще помог, поставил на серв, теперь хочу самоубиться, но не получается(
 
Java:
public class BukkitPlugin extends JavaPlugin implements Listener {
    public void onEnable() {
        this.getServer().getPluginManager().registerListeners(this, this);
    }
   
    @EventHandler(priority=EventPriority.LOW)
    public void onPlayerDamagedByVoid(EntityDamageEvent event) {
        if (!(event.getEntity() instaceof Player)) {
            return;
        }
        if (event.getCause() != EntityDamageEvent.DamageCause.VOID) {
            return;
        }
        event.getEntity().teleport(event.getEntity().getWorld().getSpawnLocation());
        event.setCancelled(true);
    }
}
Вот и весь плагин.
 
Еще скажите , что это тот самый плагин , с одним и тем же кодом. -_-
Да с тем же кодом, различий то минимум.
Сравним:rolleyes:
Код:
  public void onDisable()
  {
    _log.info("[NoFall] Плагин выключен!");
  }

  public void save()
  {
    getConfig().set("Text", this.upal);
    saveConfig();
  }

  public void load()
  {
    reloadConfig();
    this.upal = getConfig().getString("Text");
  }

  [USER=74023]@EventHandler[/USER]
  public void onPlayerMoveEvent(PlayerMoveEvent e) {
    Player p = e.getPlayer();
    int y = p.getLocation().getBlockY();
    Location spawn = p.getWorld().getSpawnLocation();
    if (y < -1)
    {
      p.teleport(spawn);
      p.sendMessage(this.upal);
    }
  }

  private boolean ReloadCFG(CommandSender sender)
  {
    if (sender != null)
      sender.sendMessage(ChatColor.DARK_GREEN + "[NoFall] плагин перезагружен!");
    load();
    return true;
  }

  public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args)
  {
    if (args.length == 0)
      return false;
    Player player = (sender instanceof Player) ? (Player)sender : null;
    if (args[0].equalsIgnoreCase("reload"))
    {
      if ((player == null) || (player.hasPermission("nofall.reload"))) {
        return ReloadCFG(sender);
      }
      return false;
    }

    return true;
  }
Код:
   public void onDisable() {
       _log.info("disabled!");
   }

   public void save() {
       this.getConfig().set("Mesasge", (Object)this.msg);
       this.saveConfig();
   }

   public void load() {
       this.reloadConfig();
       this.msg = this.getConfig().getString("Message");
   }

   private boolean ReloadCFG(CommandSender sender) {
       if (sender != null) {
           sender.sendMessage((Object)ChatColor.DARK_GREEN + "plugin reloaded!");
       }
       this.load();
       return true;
   }

   public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
       Player player;
       if (args.length == 0) {
           return false;
       }
       Player player2 = player = sender instanceof Player ? (Player)sender : null;
       if (args[0].equalsIgnoreCase("reload")) {
           if (player == null || player.hasPermission("nofall.reload")) {
               return this.ReloadCFG(sender);
           }
           return false;
       }
       return true;
   }
 
Ваууу, просто "точь в точь!" "МОЛОДЕЦ!"
 

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

Назад
Верх