Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Упростить код

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

Статус темы:
Закрыта.
  1. Автор темы
    alekseichik

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

    Баллы:
    76
    Имя в Minecraft:
    maxicraft2020
    будет 50 блоков)
     
  2. Хостинг MineCraft
    <
  3. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Тогда вариант -- EnumMap с блоками.
     
  4. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Код:
    int cx = config.getInt("XB1P3");
    int cy = config.getInt("YB1P3");
    int cz = config.getInt("ZB1P3");
    
    int cx2 = config.getInt("XB2P3");
    int cy2 = config.getInt("YB2P3");
    int cz2 = config.getInt("ZB2P3");
    
    int bx = b.getLocation().getX();
    int by = b.getLocation().getY();
    int bz = b.getLocation().getZ();
    
    World w = p.getWorld();
    Location loc  = b.getLocation();
    Location locb2 = new Location(w, cx, cy, cz);
    
    switch(b.getType())
        case WOOL:
        if (bx== cx && by == cy && bz == cz) {
            switch(random) {
                case 0:
                    p.getWorld().spawnEntity(loc, EntityType.HORSE);
                    p.playEffect(loc, Effect.TILE_BREAK, 1);
                    b.setType(Material.AIR);
                    config.set("BlockStopP3", 9);
                    config.set("PlayerP3", p.getName());
                    break;
                case 1:
                    p.getWorld().spawnEntity(loc, EntityType.BAT);
                    p.playEffect(loc, Effect.VILLAGER_THUNDERCLOUD, 1);
                    b.setType(Material.AIR);
                    break;
            }
        }
    
        if (bx== cx2 && by == cy2 && bz == cz2)) {
            config.set("BlockStopP3", 8);
            switch(locb2.getBlock().getType()) {
                case AIR:
                    switch(random) {
                        case 0:
                            p.getWorld().spawnEntity(loc, EntityType.BLAZE);
                            p.playEffect(loc, Effect.TILE_BREAK, 1);
                            b.setType(Material.AIR);
                            break;
                        case 1:
                            p.getWorld().spawnEntity(loc, EntityType.CAVE_SPIDER);
                            p.playEffect(loc, Effect.VILLAGER_THUNDERCLOUD, 1);
                            b.setType(Material.AIR);
                            break;
                    }
                    break;
            }
        } else {
            p.playSound(loc, Sound.SKELETON_DEATH, 1, 1);
            e.setCancelled(true);
            e.getPlayer().sendMessage(ChatColor.DARK_GRAY + "Ты не можешь сломать этот блок, пока не сломаешь предыдущие блоки");
        }
        break;
    
    Возможно потерял логику и табуляцию. Это черновой вариант. p.s. да, я люблю switch.
     
    Последнее редактирование: 2 ноя 2015
  5. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    @Larin, пожалуйста, пользуйтесь тегами CODE=Java, от этого только всем будет проще :)
     
  6. Автор темы
    alekseichik

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

    Баллы:
    76
    Имя в Minecraft:
    maxicraft2020
    Тема закрыта
     
Статус темы:
Закрыта.

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