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

Помогите [Решено] Как можно упростить код

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

jimi_1997

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
jimi_1997
Здравствуйте, помогите упростить или оптимизировать этот код

Java:
@EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {
   
        if(e.getPlayer().getWorld().getName().equalsIgnoreCase("Laputa")) {
            if(!e.getPlayer().hasPermission("annihilation")) {
           
                if(e.getBlock().getType() == Material.EMERALD_ORE){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.DIAMOND_ORE){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.GOLD_ORE){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.IRON_ORE){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.COAL_ORE){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.REDSTONE_ORE){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.LAPIS_ORE){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.MELON_BLOCK){
                }
           
                if(e.getBlock().getType() == Material.LOG){
                    e.setCancelled(true);
                }
           
                if(e.getBlock().getType() == Material.COBBLESTONE){
                    e.setCancelled(true);
                }
            }
        }
    }[/code=Java]
 
Последнее редактирование:
Здравствуйте, помогите упростить или оптимизировать этот код

Код:
@EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {
      
        if(e.getPlayer().getWorld().getName().equalsIgnoreCase("Laputa")) {
            if(!e.getPlayer().hasPermission("annihilation")) {
              
                if(e.getBlock().getType() == Material.EMERALD_ORE){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.DIAMOND_ORE){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.GOLD_ORE){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.IRON_ORE){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.COAL_ORE){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.REDSTONE_ORE){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.LAPIS_ORE){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.MELON_BLOCK){
                }
              
                if(e.getBlock().getType() == Material.LOG){
                    e.setCancelled(true);
                }
              
                if(e.getBlock().getType() == Material.COBBLESTONE){
                    e.setCancelled(true);
                }
            }
        }
    }
В таких случаях я обычно делаю так:
Код:
List<String> blockList= (List<String>) config.getList();

if (blockList.containse(e.getBlock().getType.toString)) then e.setCancelled(true);
 
Здравствуйте, помогите упростить или оптимизировать этот код
Java:
@EventHandler
public void onBlockPlace(BlockPlaceEvent e)
{
    final Player player = e.getPlayer();
    if(player.getWorld().getName().equalsIgnoreCase("Laputa") && !player.hasPermission("annihilation"))
        switch(e.getBlock().getType())
        {
            case Material.EMERALD_ORE:
            case Material.DIAMOND_ORE:
            case Material.GOLD_ORE:
            case Material.IRON_ORE:
            case Material.COAL_ORE:
            case Material.REDSTONE_ORE:
            case Material.LAPIS_ORE:
            case Material.MELON_BLOCK:
            case Material.LOG:
            case Material.COBBLESTONE:
                e.setCancelled(true);
        }
}
P.S., оффтоп: на РБ теги CODE могут иметь удобные значения CODE=Java или CODE=MySQL ;)
 
В таких случаях я обычно делаю так:
Код:
List<String> blockList= (List<String>) config.getList();

if (blockList.containse(e.getBlock().getType.toString)) then e.setCancelled(true);
Java:
@EventHandler
public void onBlockPlace(BlockPlaceEvent e)
{
    final Player player = e.getPlayer();
    if(player.getWorld().getName().equalsIgnoreCase("Laputa") && !player.hasPermission("annihilation"))
        switch(e.getBlock().getType())
        {
            case Material.EMERALD_ORE:
            case Material.DIAMOND_ORE:
            case Material.GOLD_ORE:
            case Material.IRON_ORE:
            case Material.COAL_ORE:
            case Material.REDSTONE_ORE:
            case Material.LAPIS_ORE:
            case Material.MELON_BLOCK:
            case Material.LOG:
            case Material.COBBLESTONE:
                e.setCancelled(true);
        }
}
P.S., оффтоп: на РБ теги CODE могут иметь удобные значения CODE=Java или CODE=MySQL ;)

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

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

Назад
Верх