Выгрузка блоков из конфига

dsk_a

Разработчик
Пользователь
Есть код
Java:
@EventHandler
   public void WitherEatBlock(final EntityChangeBlockEvent e) {
       Material Wither = e.getBlock().getType();
       final EntityType type = e.getEntity().getType();
       if (type == EntityType.WITHER && (Wither == Material.COAL_BLOCK || Wither == Material.DIAMOND_BLOCK)) {
           e.setCancelled(true);
       }
  }
Есть конфиг
Код:
Blocks: COAL_BLOCK,DIAMOND_BLOCK
Как выгрузить блоки вместо
Код:
(Wither == Material.COAL_BLOCK || Wither == Material.DIAMOND_BLOCK)
 

q20w26a

Разработчик
Пользователь
Java:
private static List<Material> disallowedBlocks = new ArrayList<Material>();
// загрузить в disallowedBlocks свои значения
// можно конечно использовать цикл и массив, но это, как мне кажется, удобнее

   @EventHandler
   public void antiBlockBreaker(final EntityChangeBlockEvent e) {
       Material material  = e.getBlock().getType();
       final EntityType type = e.getEntity().getType();
       if (dissalowedBlocks.contains(material)) {
           e.setCancelled(true);
       }
  }
 

BuseSo

Разработчик
Пользователь
Дополнение к коду выше. Получение блоков из конфига

Java:
String[] blocks = конфиг.getString("Blocks").split(",");

for(String s : blocks) {
    disallowedBlocks.add(s.toUpperCase());
}
 

Комнаты в чате

Верх Низ