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

В разработке Кик игрока после поподания в него снежком

Статус
Закрыто для дальнейших ответов.

Thorgathis

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Thorgathis
мне надо что бы после попадания снежка в игрока, игрока в которого попали кикало с сервера
помогите пожалуйста код снизу

Код:
 @EventHandler
    public void onHitSnowBall(ProjectileHitEvent e) {
         Player p = (Player) e.getEntity().getShooter();
             e.getEntity().setMetadata("SNOWBALL", new FixedMetadataValue((Plugin) main.getInstance(), 1));
             if (p.getGameMode() == GameMode.SURVIVAL) {
                 p.getInventory().addItem(new ItemStack(Material.SNOWBALL));
/*Это просто тест*/  System.out.println("gm 0");
             }
             if (p.getGameMode() == GameMode.CREATIVE) {
/*Это просто тест*/  System.out.println("gm 1");
             }
            
          if(e.getEntity().hasMetadata("SNOWBALL")) {
/*Это просто тест*/  System.out.println("kick");

                
       }
    }
 
мне надо что бы после попадания снежка в игрока, игрока в которого попали кикало с сервера
помогите пожалуйста код снизу

Код:
 @EventHandler
    public void onHitSnowBall(ProjectileHitEvent e) {
         Player p = (Player) e.getEntity().getShooter();
    !!!     Player victim = (Player) e.getHitEntity();
             e.getEntity().setMetadata("SNOWBALL", new FixedMetadataValue((Plugin) main.getInstance(), 1));
             if (p.getGameMode() == GameMode.SURVIVAL) {
                 p.getInventory().addItem(new ItemStack(Material.SNOWBALL));
/*Это просто тест*/  System.out.println("gm 0");
             }
             if (p.getGameMode() == GameMode.CREATIVE) {
/*Это просто тест*/  System.out.println("gm 1");
             }
        
          if(e.getEntity().hasMetadata("SNOWBALL")) {
/*Это просто тест*/  System.out.println("kick");
        !!!   victim.kickPlayer("reason");
            
       }
    }

Возможно так
 
Не особо понимаю, зачем ты каждому проджектайлу делаешь метадату и ниже её же проверяешь. Что именно у тебя не работает, уточни?
 
мне надо что бы после попадания снежка в игрока, игрока в которого попали кикало с сервера
помогите пожалуйста код снизу

Код:
 @EventHandler
    public void onHitSnowBall(ProjectileHitEvent e) {
         Player p = (Player) e.getEntity().getShooter();
             e.getEntity().setMetadata("SNOWBALL", new FixedMetadataValue((Plugin) main.getInstance(), 1));
             if (p.getGameMode() == GameMode.SURVIVAL) {
                 p.getInventory().addItem(new ItemStack(Material.SNOWBALL));
/*Это просто тест*/  System.out.println("gm 0");
             }
             if (p.getGameMode() == GameMode.CREATIVE) {
/*Это просто тест*/  System.out.println("gm 1");
             }
           
          if(e.getEntity().hasMetadata("SNOWBALL")) {
/*Это просто тест*/  System.out.println("kick");

               
       }
    }
PHP:
@EventHandler
    public void onHit(ProjectileHitEvent e) {
        if(e.getEntity() instanceof Snowball 
                && e.getHitEntity() != null 
                && e.getHitEntity() instanceof Player) {
            Player playerHit = (Player) e.getHitEntity();
            playerHit.kickPlayer("В тебя попал снежок)");
        }
    }
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх