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

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

@VaNnOrus, ну тут явно выражение не закрыто. Вот если закрыть, он после этого будет ругаться на классы и тогда скорее всего подтянет. В эклипсе так же бывает.
 
@VaNnOrus
да ни.
Просто опечатка в слове instanceof
UPD:
такие вещи лучше пусть пишет сам IDE, меньше шансов опечатку оставить.
т.е. вводим i[enter] => он заменяет на instanceof
UPD2:
Еще одно преимущество Intellij IDEA:
instaceof.png
 
@VaNnOrus
да ни.
Просто опечатка в слове instanceof
UPD:
такие вещи лучше пусть пишет сам IDE, меньше шансов опечатку оставить.
т.е. вводим i[enter] => он заменяет на instanceof
UPD2:
Еще одно преимущество Intellij IDEA:
Посмотреть вложение 7388
Спасибо, проглазел..)

К слову, нашел таки плагин аналогичный commandhelper'у, который умеет запускать команды с правами опа: mycommand.
Но плагин написать все же попытаюсь, правда теперь чуть позже:oops:

upd. Как я жестоко ошибался, не хочет mycommand запускать из под опа каманды :(
 
fromgate, вот получил я крайние координаты, теперь надо установить на них выделение, чтоб появилась сетка we cui. Не пойму что дальше писать...как запустить функцию выделения?
Вроде эта функция выделяет по двум блокам:
Java:
CuboidSelection(org.bukkit.World world, org.bukkit.Location pt1, org.bukkit.Location pt2)
 
Простите за спам, но кто подскажет, когда на форуме можно создавать темы?
Написал мини плагин, хочу под суд отдать...
P.S.
Вот файл, кому интересно: Скачать
/tools - выдает итемы с интервалом заданым в конфиге
(id итемов тоже в конфиге указывать).
/clear - очищает инвентарь.
 
Зачем выделять? Что с выделенной территорией будет происходить?
Нужно просто выделить и, как следствие, показать юзверю сетку. Потом юзверь может заприватить другой командой.
Простите за спам, но кто подскажет, когда на форуме можно создавать темы?
Написал мини плагин, хочу под суд отдать...
P.S.
Вот файл, кому интересно: Скачать
/tools - выдает итемы с интервалом заданом в конфиге
(id итемов тоже в конфиге указывать).
/clear - очищает инвентарь.
Если не ошибаюсь 10 сообщений надо набрать. Команда /clear уже есть в сервере.
 
Почитав все, я понял только то, что Вы хотите взять чанк игрока, и заприватить его на его имя?
Достаточно найти функцию в API и передать ей в виде аргументов координаты, имя...
 
Почитав все, я понял только то, что Вы хотите взять чанк игрока, и заприватить его на его имя?
Достаточно найти функцию в API и передать ей в виде аргументов координаты, имя...
Нет, мне надо еще игроку сетку показать, это апи ВЕшки. Я не пойму как функцию запустить в коде у себя...
 
Ну, чтобы сетку сделать, нужно пакет слать... Это так просто не сделаешь..(
Я хотел просто с гитхаба взять функцию, мне fromgate сказал что лучше апи юзать, как с помощью апи функцию запустить я не понимаю :(
 
@VaNnOrus, просто Вы себе ноги сломаете, пока будете функцию sk89q засовывать в свой плагин. В итоге получится безумная и страшная конструкция. Проще попробовать найти в API WE нужные Вам функции и использовать именно их.
 
@VaNnOrus, просто Вы себе ноги сломаете, пока будете функцию sk89q засовывать в свой плагин. В итоге получится безумная и страшная конструкция. Проще попробовать найти в API WE нужные Вам функции и использовать именно их.
Да я не понимаю как запустить что-либо вообще из апи ве...
Что там хоть примерно писать?
Я же не могу написать:
Java:
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 ?
 
Да я не понимаю как запустить что-либо вообще из апи ве...
Что там хоть примерно писать?
Я же не могу написать:
Java:
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 ?
Неет, если CuboidSelection - это класс, то у него вряд ли конструктор из (World, Loc,Loc);
К тому же нельзя присваивать вот так World player.getWorld()...
Найдите класс, в котором есть CuboidSelection, объявите его, public Class name;
Потом в конструкции if, name.CuboidSelection и смотрите какие аргументы он принимает.
 
Неет, если CuboidSelection - это класс, то у него вряд ли конструктор из (World, Loc,Loc);
К тому же нельзя присваивать вот так World player.getWorld()...
Найдите класс, в котором есть CuboidSelection, объявите его, public Class name;
Потом в конструкции if, name.CuboidSelection и смотрите какие аргументы он принимает.
Ну вот из апи текст:
public class CuboidSelection extends RegionSelection
Constructor Summary

CuboidSelection(org.bukkit.World world, org.bukkit.Location pt1, org.bukkit.Location pt2)

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

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

С чем это связано? Тот же org.bukkit.Location ничем не выделяется. Никакого импорта не предлагает, видимо дело не в нем...
 
Подождите, вы же вызываете конструктор CuboidSelection и в нем же пытаетесь объявить новые переменные. В описании все правильно написано CuboidSelection(org.bukkit.World world, org.bukkit.Location pt1, org.bukkit.Location pt2), но переменные world, pt1, pt2 уже должны быть инициализированы выше.

Например (пишу прямо тут, потому могут быть ошибки):
У нас есть игрок и мы хотим выделить чанк:

Java:
Chunk ch = player.getLocation().getChunk();
World world = ch.getWorld();
Location pt1 = ch.getBlock(0,0,0).getLocation();
Location pt2 = ch.getBlock(15,world.getMaxHeight(),15).getLocation();
CuboidSelection sel = new CuboidSelection (world, pt1, pt2);
 

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

Назад
Верх