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

Помогите Проверка сущности в рассаднике

Тема в разделе "Разработка плагинов для новичков", создана пользователем fx8320e, 17 апр 2021.

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

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

    Баллы:
    66
    Приветствую! Есть необходимость проверить сущность, находящуюся в рассаднике при его разрушении, и исполнять действия лишь при какой-то определенной. Подскажите, пожалуйста, как это можно реализовать. Вот имеющийся код:
    PHP:
    @EventHandler
        
    public void onBlockBreak(BlockBreakEvent e) {
            
    Block block e.getBlock();
            
    Player p e.getPlayer();
            
    ItemStack mo = new ItemStack(Material.SPAWNER);
            
    ItemMeta met mo.getItemMeta();
            
    mo.setItemMeta(met);
           
           

            if (
    block.getType() == Material.SPAWNER && p.getInventory().getItemInMainHand().getType() == Material.NETHERITE_PICKAXE) {
                
    Location location block.getLocation();
                
    ItemStack itemStack = new ItemStack(Material.IRON_ORE);
                  
    ItemMeta meta itemStack.getItemMeta();
                  
    meta.setDisplayName(ChatColor.DARK_BLUE "Палладиевая руда");
                  
    itemStack.setItemMeta(meta);
                 


                
    e.setDropItems(false);
                
    location.getWorld().dropItemNaturally(locationitemStack);
            }
     
  2. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
  3. Автор темы
    fx8320e

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

    Баллы:
    66
    Спасибо большое! Все работает.
     
  4. Автор темы
    fx8320e

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

    Баллы:
    66
    И еще небольшой вопрос, можно ли как-то в этом методе запретить этому рассаднику создавать entity?
     
  5. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Неуверен. Можно попробовать установить количество разрешенных спавнов на 0?
    Код:
    CreatureSpawner spawner = (CreatureSpawner) block.getState();
    spawner.setSpawnCount(0);
    spawner.update();
     
  6. Автор темы
    fx8320e

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

    Баллы:
    66
    Спасибо! Но уже нашел более глобальное решение:
    PHP:
    @EventHandler(priority EventPriority.LOWESTignoreCancelled false)
            public 
    void opsaSpawnEvent(CreatureSpawnEvent event) {
            if(
    event.getEntityType() == EntityType.BEE) {
                if(
    event.getSpawnReason()== SpawnReason.SPAWNER) {
                    
    event.setCancelled(true);
                }
            }
            }
     

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