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

Стартап Помощь новичкам и тем, кто мало писал плагины. (+ LifeHack'и)

Можно написать плагин Memescase на 1.12.2Ю,а то у ютубера качал, а он не работает! Выдаю ключи открываю и нечё не вертиться, и также с картами не чё не раскрывается!
 
Можно написать плагин Memescase на 1.12.2Ю,а то у ютубера качал, а он не работает! Выдаю ключи открываю и нечё не вертиться, и также с картами не чё не раскрывается!
тема другая
 
подскажите, где изменить предмет, которым можно добыть руду? хочу, чтобы моя руда добывалась только определенным предметом
 
Народ хелп, мне нужно чтобы выводился список игроков онлайн в уже созданную мной менюшку. Т.е если на сервере 2 игрока(А и Б), то в менюшке добавляеются 2 головы с никами А и Б, нажав на которые выполняются разные действия.
 
Народ хелп, мне нужно чтобы выводился список игроков онлайн в уже созданную мной менюшку. Т.е если на сервере 2 игрока(А и Б), то в менюшке добавляеются 2 головы с никами А и Б, нажав на которые выполняются разные действия.
Может уже и поздно, но отвечу. Перебираешь Bukkit.getOnlinePlayers() в onEnable, и при playerJoinEvent добавляешь в инвентарь бошку.
Бошка по нику достаётся так(до 1,13):
PHP:
public Skull getPlayerHead(Player p) {
  ItemStack skull = new ItemStack(Material.SKULL, 1);
  SkullMeta skullMeta = skull.getMetadata();
  skullMeta.setDisplayName(p.getName()); //подписывает бошку именем игрока
  skullMeta.setOwner(p); // ставит скин головы игрока
  skull.setItemMeta(skullMeta);
  return skull;
}
Элементарно, Ватсон.
 
Добрэ, товарищи!
Имею небольшой опыт написания плагинов. Более-менее разобрался с тем, как работать с эвентами и командами.
Сейчас разрабатываю плагин на ЖД-тематику. Хочу сделать плавные кривые, что бы поезд заезжая в поворот не поворачивался из стороны в сторону на поворотах, а красиво плавно поворачивал.
Смотрю, соответственно, класс Vehicle. Так же параллельно изучаю класс Vector. И пока что не могу найти встроенного способа задать для vehicle круговую скорость.
Подскажите, есть ли встроенный в Бакит способ заставить вагонетку (или любой другой транспорт (ТС)) обращаться вокруг заданной точки с заданной же скоростью, кроме как двигать ТС по предрасчитанным координатам?
 
Хочу сделать плавные кривые, что бы поезд заезжая в поворот не поворачивался из стороны в сторону на поворотах, а красиво плавно поворачивал.
Смотрел видео этого плагина, https://www.spigotmc.org/resources/traincarts.39592/
по нему создалось ощущение, что плавность ~ размеру вагонетки.
 
Добрэ, товарищи!
Имею небольшой опыт написания плагинов. Более-менее разобрался с тем, как работать с эвентами и командами.
Сейчас разрабатываю плагин на ЖД-тематику. Хочу сделать плавные кривые, что бы поезд заезжая в поворот не поворачивался из стороны в сторону на поворотах, а красиво плавно поворачивал.
Смотрю, соответственно, класс Vehicle. Так же параллельно изучаю класс Vector. И пока что не могу найти встроенного способа задать для vehicle круговую скорость.
Подскажите, есть ли встроенный в Бакит способ заставить вагонетку (или любой другой транспорт (ТС)) обращаться вокруг заданной точки с заданной же скоростью, кроме как двигать ТС по предрасчитанным координатам?
Через вот такую либу все делается https://www.spigotmc.org/resources/bkcommonlib.39590/
 
Очередное "Здрасте".
Пишу плагин "Sit", что бы по правому клику игрок мог садиться на ступеньку. Для того, что бы удалять неиспользуемые арморстенды использую Metadata:

armorStand.setMetadata("volkAlexSit_value", new FixedMetadataValue(player.getServer().getPluginManager().getPlugin("Sit"), true));

Все работает, но мне кажется, что мету можно задать проще. Можно ли?
 
Доброго!
Я хочу в теле листнера команд ожидать эвент. Как я понял, можно это сделать, если при исполнении команды зарегестрировать эвентлистнер. Но я не хочу ><
Можно как-нибудь избежать создания нового класса с подгрузкой в него горы библиотек?
 
Доброго!
Я хочу в теле листнера команд ожидать эвент. Как я понял, можно это сделать, если при исполнении команды зарегестрировать эвентлистнер. Но я не хочу ><
Можно как-нибудь избежать создания нового класса с подгрузкой в него горы библиотек?
Нет. Сперва идут ивенты, потом уже компндексекутор.
 
Пытаюсь сравнить строку из args (аргументы команды) и другую строку.
Java:
Bukkit.broadcastMessage("."+args[0]+"."+"."+"new"+".");
Bukkit.broadcastMessage(String.valueOf(args[0] == "new"));
Это он выдает:
Java:
[10:59:04 INFO]: volk_alex issued server command: /ftm new
[10:59:05 INFO]: .new..new.
[10:59:05 INFO]: false
Что я делаю не так?
З.Ы. Про equalsIgnoreCase() я знаю. Хочу использовать args в switch/case
 
PHP:
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

    if (sender instanceof Player) {

        if (args.length == 0) {
            help(sender);
            return true;
        }

        switch (args[0].toLowerCase(Locale.ENGLISH)) {
            case "?":
            case "h":
            case "help":
                help(sender);
                return true;
            case "sc":
            case "subcommand":
                subcommand(sender);
                return true;
            default:
                return false;
        }

    }

    sender.sendMessage("Sorry, but you aren't a player.");
    return true;

}

private void help(CommandSender sender) {
    sender.sendMessage("/command [help/h/?] - помощь");
    sender.sendMessage("/command [subcommand/sb] - подкомандам");
}

private void subcommand(CommandSender sender) {
    //todo
}
 
PHP:
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

    if (sender instanceof Player) {

        if (args.length == 0) {
            help(sender);
            return true;
        }

        switch (args[0].toLowerCase(Locale.ENGLISH)) {
            case "?":
            case "h":
            case "help":
                help(sender);
                return true;
            case "sc":
            case "subcommand":
                subcommand(sender);
                return true;
            default:
                return false;
        }

    }

    sender.sendMessage("Sorry, but you aren't a player.");
    return true;

}

private void help(CommandSender sender) {
    sender.sendMessage("/command [help/h/?] - помощь");
    sender.sendMessage("/command [subcommand/sb] - подкомандам");
}

private void subcommand(CommandSender sender) {
    //todo
}
Спасибо, работает
 

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

Назад
Верх