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

Помогите Генерация цифр в мире из блоков

Тема в разделе "Разработка плагинов для новичков", создана пользователем Dereku, 24 июл 2014.

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

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Сабж - решил сделать авторизация/регистрацию как на nessus.lv, делаю капчу.
    Сделал цифры трафаретами сейчас:
    Код:
    public void drawFive(int offset) {
            world.getBlockAt(-5 + offset, 65, z).setType(Material.STONE);
            world.getBlockAt(-5 + offset, 68, z).setType(Material.STONE);
            world.getBlockAt(-5 + offset, 69, z).setType(Material.STONE);
            world.getBlockAt(-5 + offset, 70, z).setType(Material.STONE);
            world.getBlockAt(-4 + offset, 64, z).setType(Material.STONE);
            world.getBlockAt(-4 + offset, 68, z).setType(Material.STONE);
            world.getBlockAt(-4 + offset, 70, z).setType(Material.STONE);
            world.getBlockAt(-3 + offset, 64, z).setType(Material.STONE);
            world.getBlockAt(-3 + offset, 68, z).setType(Material.STONE);
            world.getBlockAt(-3 + offset, 70, z).setType(Material.STONE);
            world.getBlockAt(-2 + offset, 64, z).setType(Material.STONE);
            world.getBlockAt(-2 + offset, 68, z).setType(Material.STONE);
            world.getBlockAt(-2 + offset, 70, z).setType(Material.STONE);
            world.getBlockAt(-1 + offset, 65, z).setType(Material.STONE);
            world.getBlockAt(-1 + offset, 66, z).setType(Material.STONE);
            world.getBlockAt(-1 + offset, 67, z).setType(Material.STONE);
            world.getBlockAt(-1 + offset, 70, z).setType(Material.STONE);
        }
    но это много кода.
    Как можно сделать это более элегантно?
     
  2. Хостинг MineCraft
    <
  3. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Я бы украл капчу с какого-нибудь сайта и плагином перевел в блоки.
     
  4. Автор темы
    Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Сама капча не проблема. Проблема в генерации самих блоков в мире. Ну как проблема, много кода, что мне не сильно нравится.

    Видос, чтобы точно было понятно:


    Правда, фон не нужен, у меня на шумы есть другой вариант.
     
  5. kirill2011s

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

    Баллы:
    103
    Ну, кроме как делать шаблон для каждой цифры, тут никак.
     
  6. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Стибри из Digital Clock шаблоны.
    Вообще можно сделать так:
    При установке по трафаретам рассчитываешь для каждого место под цифру для каждой цифры хранишь нужный набор координат.
    При обновлении цифр тупо стираешь все блоки и расставляешь нужные.
     
  7. Автор темы
    Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Это я и сделал.
    Значит, нет никаких более красивых решений данной задачи, да?
     
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Наверняка есть, но у меня пока хороших идей нет.
     
  9. kirill2011s

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

    Баллы:
    103
    Ну, можно, кончено, нарисовать картинки для каждой цифры(черные цифры на белом фоне), а потом считывать их и рисовать как по шаблону, но это будет довольно сложно.
     
  10. Автор темы
    Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Скорее не сложно, а нудно.

    Хотя, оно работает, и это уже хорошо.
    2014-07-24_21.32.36.png
     
  11. JustBlender

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

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Хотя, оно работает, и это уже хорошо.
    Можешь попробовать спросить у @xDiP-а как это сделано, на его сервере "точно" такая же защита при входе, может и подскажет тебе что-то ;)
     
  12. xDiP

    xDiP Старожил Девелопер Переводчик Пользователь

    Баллы:
    123
    Я сначала выстраивал все буквы и цыфры, сохранял их, дальше уже использовал их как шаблон. Подгржаю символы во время запуска плагина, ну и дальше все по логике действий (позиции, типы блоков, и т.д.)
     
  13. Автор темы
    Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    В общем, выжать из BukkitAPI большего не получится, как я понимаю.
    Ну что ж, будем рисовать по одному блоку, щито тут поделать.
    /thread
     

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