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

Нужна помощь с хешмапом

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

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

    _Islam_ Участник Пользователь

    Баллы:
    31
    Проблема решена. Спасибо.
     
    Последнее редактирование: 14 окт 2018
  2. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Предлагаю не копипастить бездумно код, а вникать в него и понимать что ты пишешь. Как тебе такая идея?
     
  3. Автор темы
    _Islam_

    _Islam_ Участник Пользователь

    Баллы:
    31
    Ну да, попросил тут помощи - послали.
    Лучше в нормальный форум пойду.
     
  4. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Конечно иди, там тебе дадут готовенький код, который ты точно так же бездумно скопипастишь, а потом у тебя с тем скопипащеным кодом возник проблемы на уровне, а как мне присвоить значение переменной, и ты опять пойдешь туда спрашивать проблемы с бездумно скопипащенным кодом.

    Код:
    (Runnable)new Runnable() 
    (Object)Material.SAND
    ListenerEvents.start == true)
    
    Что это за бредовый код? Ты когда ctrl c и ctrl v нажимал думал вообще или нет?
     
  5. Автор темы
    _Islam_

    _Islam_ Участник Пользователь

    Баллы:
    31
    ListenerEvents.start == true) - > проверка на то что идет ли игра.
     
  6. alexandrage

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

    Баллы:
    173
    На. Может найдешь что то полезное.
    Код:
        @EventHandler
        public void on(BlockBreakEvent e) {
            Block b = e.getBlock();
            Location loc = b.getLocation();
            String block = b.getWorld().getName() + ":" + loc.getBlockX() + ":" + loc.getBlockY() + ":" + loc.getBlockZ()
                    + ":" + b.getTypeId() + ":" + b.getData();
            Scheduler.blocks.put(block, 100l);
        }
    Код:
    public class Scheduler extends BukkitRunnable {
        public static Map<String, Long> blocks = new ConcurrentHashMap<String, Long>();
    
        @Override
        public void run() {
            for (Entry<String, Long> block : blocks.entrySet()) {
                long time = block.getValue();
                String s = block.getKey();
                String[] spl = s.split(":");
                if (time == 100l) {
                    Bukkit.getWorld(spl[0])
                            .getBlockAt(Integer.parseInt(spl[1]), Integer.parseInt(spl[2]), Integer.parseInt(spl[3]))
                            .setType(Material.BEDROCK);
                }
                if (time == 0l) {
                    Bukkit.getWorld(spl[0])
                            .getBlockAt(Integer.parseInt(spl[1]), Integer.parseInt(spl[2]), Integer.parseInt(spl[3]))
                            .setTypeIdAndData(Integer.parseInt(spl[4]), (byte) Integer.parseInt(spl[5]), true);
                    blocks.remove(block.getKey());
                    continue;
                }
                blocks.put(s, time-1);
            }
        }
    }
     
Статус темы:
Закрыта.

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