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

Разбираемся в API WorldEdit'а

Тема в разделе "Разработка плагинов для новичков", создана пользователем VaNnOrus, 22 фев 2013.

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

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

    Баллы:
    123
    Нужно просто выделить и, как следствие, показать юзверю сетку. Потом юзверь может заприватить другой командой.
    Если не ошибаюсь 10 сообщений надо набрать. Команда /clear уже есть в сервере.
     
  2. Хостинг MineCraft
    <
  3. yar1k

    yar1k Активный участник

    Баллы:
    63
    Имя в Minecraft:
    yar1k
    Спасибо :) Про /clear тоже не знал. Но пускай пока будет)
     
  4. smilesdc

    smilesdc Няша Модератор

    Баллы:
    153
    Имя в Minecraft:
    smilesdc
    Почитав все, я понял только то, что Вы хотите взять чанк игрока, и заприватить его на его имя?
    Достаточно найти функцию в API и передать ей в виде аргументов координаты, имя...
     
  5. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Нет, мне надо еще игроку сетку показать, это апи ВЕшки. Я не пойму как функцию запустить в коде у себя...
     
  6. smilesdc

    smilesdc Няша Модератор

    Баллы:
    153
    Имя в Minecraft:
    smilesdc
    Ну, чтобы сетку сделать, нужно пакет слать... Это так просто не сделаешь..(
     
    I-Am-Black-Overlord и slavik123123123 нравится это.
  7. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Я хотел просто с гитхаба взять функцию, мне fromgate сказал что лучше апи юзать, как с помощью апи функцию запустить я не понимаю :(
     
  8. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Да я не понимаю как запустить что-либо вообще из апи ве...
    Что там хоть примерно писать?
    Я же не могу написать:
    Код:
    if (sender instanceof Player) {
    Player player = (Player) sender;
    Chunk ch = player.getLocation().getChunk();
    int maxWorldHeight = player.getWorld().getMaxHeight();
    Block block1 = ch.getBlock(0, 0, 0);
    Block block2 = ch.getBlock(15, maxWorldHeight, 15);
    CuboidSelection(World player.getWorld(), Location block1, Location block2);
                    return true;
              }
    CuboidSelection(World player.getWorld(), Location block1, Location block2); мне среда сразу красным выделяет, то есть очевидно, что я пишу что-то не то...

    Может нужно сначала написать public static void ?
     
  9. smilesdc

    smilesdc Няша Модератор

    Баллы:
    153
    Имя в Minecraft:
    smilesdc
    Неет, если CuboidSelection - это класс, то у него вряд ли конструктор из (World, Loc,Loc);
    К тому же нельзя присваивать вот так World player.getWorld()...
    Найдите класс, в котором есть CuboidSelection, объявите его, public Class name;
    Потом в конструкции if, name.CuboidSelection и смотрите какие аргументы он принимает.
     
  10. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Ну вот из апи текст:
    Нашел тут пример использования апи WG
    Быть может я так же должен писать CuboidSelection через CuboidSelection имя = new CuboidSelection(и т.д.)?
     
  11. Автор темы
    VaNnOrus

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

    Баллы:
    123
    fromgate, smilesdc
    Да, вроде через CuboidSelection имя = new CuboidSelection(бла бла) апи и юзается, однако нетбинс почему-то не признает org.bukkit.World world :

    Безымянный.JPG

    С чем это связано? Тот же org.bukkit.Location ничем не выделяется. Никакого импорта не предлагает, видимо дело не в нем...
     
  12. smilesdc

    smilesdc Няша Модератор

    Баллы:
    153
    Имя в Minecraft:
    smilesdc
    Пиши просто World и Location.
    Блин, не может так использоваться... Хз, ты не правильно делаешь...(
     
  13. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Я писал просто World и Location, мне среда заливала все красным и предлагала исправить, в следствии чего она мне исправила на то, что сейчас написано.
    Ведь org.bukkit.World вне конструкции CuboidSelection ничем не возмущает среду, чего ей не хватает-то...
    А как это по другому использовать? Покажите пример...я нашел пост, в котором пример дали, так же и пытаюсь написать, правда там пример использования WG, но сути это не меняет.
    В том примере еще получают объект WG, быть может я сначала должен WE таким же образом получить?..
     
  14. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Упс. Спасибо:D
    Вот что значит вижу java 2 раз в жизни)
    Ошибка исчезла :)
     
  15. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Ну я бы сказал что только начинаю понимать логику :)
    К слову, попутный вопрос, у меня документация ведра нормально подключилась, пытаюсь аналогичным образом документацию ВЕ и ВГ подключить, а нетбинс ее похоже не видит...
    Например если зайти в любой класс ведра, в справке обязательно что-то будет написано, а в ВЕ и ВГ пусто...
    Однако ссылки на прикрепление нет, значит вроде как она прикреплена...
     
  16. smilesdc

    smilesdc Няша Модератор

    Баллы:
    153
    Имя в Minecraft:
    smilesdc
    Хотел это расписать, но было так лень))) Спасибо fromgate ))
     
    slavik123123123 нравится это.
  17. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Держи бро :3

    Удачи :)
     
    HoShiMin нравится это.
  18. Автор темы
    VaNnOrus

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

    Баллы:
    123
    Ну наконец-то я поборол этот чертов WE API и у меня появилось выделение :3
    Спасибо всем, кто помог или пытался помочь :)

    fromgate, smilesdc, Ission
    Единственная беда: int maxWorldHeight = world.getMaxHeight(); возвращает 0, в чем может быть проблема? Пока что вручную выставил 255, но ведь это не айс...

    UPD.
    Получил высоту мира опять же с помощью ВЕ:
    Код:
    worldEdit.wrapCommandSender(sender).getWorld().getMaxY();
    Однако все же интересно почему функция getMaxHeight() возвращает 0, по идее должна аналогично высоту возвращать...
     

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