Обсудим Нубятник №5 - помощь по самым простым вопросам.

  • Автор темы Автор темы slenky
  • Дата начала Дата начала
Как можно реализовать телепорт в другой world после смерти игрока?
player.teleport и player.setBedSpawnLocation во время эвентов PlayerDeathEvent и PlayerRespawnEvent не работает.
Или можно как-то отменить смерть, сразу телепортируя в другой мир? Никак не могу допереть
PlayerDeathEvent вызывается тогда, когда появляется экран смерти и энтити игрока уже нет. Тут ты не можешь ничего делать. PlayerRespawnEvent на самом деле вызывается чуточку до того, как игрок респавнится.
Ты можешь или с помощью таймера в PlqyerRespawnEvent,
Или отменять EntityDamageEvent у игрока, когда
Код:
if((target.getHealth() - event.getFinalDamage()) < 1){
   event.setCancelled();
   target.teleport(bla);
}
 
PlayerDeathEvent вызывается тогда, когда появляется экран смерти и энтити игрока уже нет. Тут ты не можешь ничего делать. PlayerRespawnEvent на самом деле вызывается чуточку до того, как игрок респавнится.
Ты можешь или с помощью таймера в PlqyerRespawnEvent,
Или отменять EntityDamageEvent у игрока, когда
Код:
if((target.getHealth() - event.getFinalDamage()) < 1){
   event.setCancelled();
   target.teleport(bla);
}
Хорошо, как тогда вызвать плеера в этом эвенте?
 
Чекай в EntityDamageEvent
event.getEntity() instanceof Player и сделай ему каст
Решено:
Код:
@EventHandler
public void onPlayerDeath(EntityDamageEvent event) {


    World graveyard = Bukkit.getWorld("world_graveyard");

    if(event.getEntity() instanceof Player){
        Player p = (Player) event.getEntity();
        if((p.getHealth() - event.getFinalDamage()) < 1){
            event.setCancelled(true);
            p.teleport(graveyard.getSpawnLocation());
            p.setHealth(20);
        }
    }


}
Спасибо за помощь.
 
Для сервера нужны варпы, т.к. открываю сервер с модами. При использовании какой-нибудь команды, выскакивает это:
upload_2019-8-30_15-15-15-png.54764

Через консоль пытаюсь, выбивает это:
upload_2019-8-30_15-15-58-png.54765

Пытаюсь ввести эту команду, та же самая ошибка
upload_2019-8-30_15-16-26-png.54766

Помогите, пожалуйста! И если можно, очень подробно и простым языком!
https://yadi.sk/d/8xLEboQRnrd_Ww - Логи, добавьте .txt после названия
 
Для сервера нужны варпы, т.к. открываю сервер с модами. При использовании какой-нибудь команды, выскакивает это:
upload_2019-8-30_15-15-15-png.54764

Через консоль пытаюсь, выбивает это:
upload_2019-8-30_15-15-58-png.54765

Пытаюсь ввести эту команду, та же самая ошибка
upload_2019-8-30_15-16-26-png.54766

Помогите, пожалуйста! И если можно, очень подробно и простым языком!
https://yadi.sk/d/8xLEboQRnrd_Ww - Логи, добавьте .txt после названия
Для логов используем pastebin.com.
Для картинок imgur.com.

Для перевода инглиша translate.google.com.
При вводе команд видим сообщение "Permissions manager is not accessable. Is the PermissionsEx plugin enabled?".
Переводим. Почему-то не запустился PEX. Мотаем логи к моменту запуска сервера и ищем причину.
Видим это:
========== UNABLE TO LOAD PERMISSIONS BACKEND =========
Your configuration must be fixed before PEX will enable
Details: Error loading permissions file!
=======================================================

И чуть ниже это:
InvalidConfigurationException: while parsing a block mapping
Опять переводим и понимаем, что проблема с парсингом файла прав.
Нужно исправить структуру YML-файла.
Для этого используем yaml-online-parser.appspot.com
 
Кто знает как уменьшить спавн мародёров? Игроки часто в мире встречают толпы мародёров, но когда их пытаешься убить, они быстро спавнятся и в итоге становится несколько сотен :D
даже я замечал если стою афк возле мародёров, их потом спавнится целая орда
 
Кто знает как уменьшить спавн мародёров? Игроки часто в мире встречают толпы мародёров, но когда их пытаешься убить, они быстро спавнятся и в итоге становится несколько сотен :D
даже я замечал если стою афк возле мародёров, их потом спавнится целая орда
Лол. Похоже на баг. Попробуй ядро обновить
 
Лол. Похоже на баг. Попробуй ядро обновить
та ядро постоянно обновляю, свежая версия стоит. Сложность самая высокая, но это так было всегда, просто сейчас попросили убрать, нереально убить говорят. Это именно не рейды, а бродячие мародёры размножаются сами по себе быстро, если игрок рядом
 
В последних WG походу по дефолту нельзя бить невраждебных мобов в чужом регионе. Это нельзя поменять через конфиг? Только глобальным флагом? Кто знает?
 
как запретить игрокам смотреть все команды через / +Tab (подсказки)
 
Помогите! почему то SwitchMap выделяется красным.
(не весь код)
Код:
  public enum CuboidDirection
  {
    North,
    East,
    South,
    West,
    Up,
    Down,
    Horizontal,
    Vertical,
    Both,
    Unknown;
 
    public CuboidDirection opposite() {
      switch (Cuboid.SwitchMap.objects.Cuboid.CuboidDirection[ordinal()]) {
        case 1:
          return South;
    
        case 3:
          return West;
    
        case 2:
          return North;
    
        case 4:
          return East;
    
        case 7:
          return Vertical;
    
        case 8:
          return Horizontal;
    
        case 6:
          return Down;
    
        case 5:
          return Up;
    
        case 9:
          return Both;
      }
  
      return Unknown;
    }
  }
 
Помогите! почему то SwitchMap выделяется красным.
(не весь код)
Код:
  public enum CuboidDirection
  {
    North,
    East,
    South,
    West,
    Up,
    Down,
    Horizontal,
    Vertical,
    Both,
    Unknown;
 
    public CuboidDirection opposite() {
      switch (Cuboid.SwitchMap.objects.Cuboid.CuboidDirection[ordinal()]) {
        case 1:
          return South;
   
        case 3:
          return West;
   
        case 2:
          return North;
   
        case 4:
          return East;
   
        case 7:
          return Vertical;
   
        case 8:
          return Horizontal;
   
        case 6:
          return Down;
   
        case 5:
          return Up;
   
        case 9:
          return Both;
      }
 
      return Unknown;
    }
  }
switch (this) {
 
scavenger у простых игроков исчезают вещи
Привет всем, у простых игроков исчезают вещи после смерти, даже не остаются на месте их гибели, как настроить scavenger либо что у игроков прописать, что бы такого не было? заранее спасибо
в пексе у групп с премишоном на сохранение инвентаря все ок вещи восстанавливаются а вот у обычных игроков вещи просто исчезают при смерти они даже на замлю не падают
 
попробую задать вопрос тут.
Хотелось бы сделать в обычном мире систему плотов на PlotSquared 4.353.
Сервер на 1.14.4 , и когда его поставил не мог разобраться как создавать плоты(приваты).
МОжет есть какой-нибудь очень толковый гайд, ибо в тутубе обычные типа создаёшь мир, вводи это и это, но такой способ не подходит, на сервере уже играют игроки (WE+WG), удалять мир не варик.
Задача: чтоб игроки могли регать себе чанки в обычном мире.
 
Помогите, почему то this.getServer().getOnlinePlayers(); становится красным.
Код:
   public List<Player> getLocalRecipients(Player sender, double range) {
      Location playerLocation = sender.getLocation();
      List recipients = new LinkedList();
      double squaredDistance = Math.pow(range, 2.0D);
      Player[] arr$ = this.getServer().getOnlinePlayers();
      int len$ = arr$.length;

      for(int i$ = 0; i$ < len$; ++i$) {
         Player recipient = arr$[i$];
         if (recipient.getWorld().equals(sender.getWorld()) && playerLocation.distanceSquared(recipient.getLocation()) <= squaredDistance) {
            recipients.add(recipient);
         }
      }

      return recipients;
   }

   public List<Player> getDonatRecipients(Player sender, String pex) {
      List recipients = new LinkedList();
      Player[] arr$ = this.getServer().getOnlinePlayers();
      int len$ = arr$.length;

      for(int i$ = 0; i$ < len$; ++i$) {
         Player recipient = arr$[i$];
         if (recipient.hasPermission(pex)) {
            recipients.add(recipient);
         }
      }

      return recipients;
   }
}
 
Назад
Верх