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

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

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

  1. indexosu

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

    Баллы:
    63
    Эвент при попадании молнии в свинью?
     
    slavik123123123 нравится это.
  2. Хостинг MineCraft
    <
  3. Автор темы
    ANTI_GREEFER

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

    Баллы:
    88
    Спасибо за советы, сейчас все исправлю + добавлю евенты Hanging и Intentory[DOUBLEPOST=1385948061,1385947364][/DOUBLEPOST]
    [​IMG]
     
  4. Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Как по мне там очень неудобно, по два часа ищу нужный ивент
     
    saharin94 нравится это.
  5. Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Кстати, никто незнает как называется собитие, когда игрок тыкает по рамке и из неё вылетает вещь(в 1,7 ввели)?
     
  6. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Чтобы выбрать за 1 цикл, и чтобы контролить регистрозаисимость самому.

    Причём больше меня бесит херня с регистронезависиомтью. Твою мать какого хрена они творят вообще? Я уже писал тему о куче проблем с getOfflinePlayer(), но такое у них везде.
    Оно конечно хорошо работает для онлайн мода, но в случае оффлайн сервера это всё превращается в адовый пипец.
     
  7. FirePoint

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

    Баллы:
    173
    Имя в Minecraft:
    Just_Andrew
    Спасибо,на английском неудобно :)
     
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    И что я должен сказать юзерам? Извините но вы должны следить за регами потому что баккитовцы идиоты? А главное регистронезависимость в документации нигде, нигде не прописана, из-за чего я потратил сука 4 месяца на поиск бага, 4 долбанных месяца.
    Благо я мастер костыляний, и конкретно эту проблему я уже решил, благо new CraftOfflinePlayer(CraftServer, имя), регистрозавсим и дёргает именно то что мне нужно, хоть и пришлось поколдовать с рефлексией чтобы быть версионно независимым.
     
    Последнее редактирование: 4 дек 2013
  9. michaelukolov

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

    Баллы:
    68
    Skype:
    michael.ukolov
    Имя в Minecraft:
    UGT_Micl
    Помогите, как сделать чтобы на табличке писать: [Название плагина] - команду которая должна выполняться - дом? Чтобы при нажатии ЛКМ или ПКМ был эффект выполнения
     
  10. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Нет, на сколько я знаю, ещё не ввели. А вообще bukkit-овцы очень медленные существа. Они ещё с 1.4 не могут прикрутить API к спавнерам.
    Ловим событие PlayerInteractEvent, там берём блок, смотрим, что это табличка(e.getClickedBlock().getMaterial()==Material.табличка...), кастуем её к табличке(Sign sing = e.getClickedBlock().getBlockState();), анализируем текст на первой строчке и на остальных, если первая верная.
     
  11. michaelukolov

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

    Баллы:
    68
    Skype:
    michael.ukolov
    Имя в Minecraft:
    UGT_Micl
    Спасибо. А e.getClickedBlock().getBlockState() это мы получаем текст с таблички? И какой именно строчки?
     
  12. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    e.getClickedBlock().getBlockState() это состояния блока, которое мы приводим к табличке
    Код:
    Sign s = (Sign)e.getClickedBlock().getBlockState();
    После чего мы можем взять текст таблички при помощи
    Код:
    s.get(num);
    , где num -- номер строки начиная с 0.
     
    fromgate и michaelukolov нравится это.
  13. Deless503

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

    Баллы:
    61
    Имя в Minecraft:
    Deless503
    помогите пожалуйста
    я пишу в чате /sims и мне пишется в чате /sims и ни чего не делается.

    вот код

    package ru.russia.sims;

    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;

    public class main extends JavaPlugin implements Listener{

    private static main instance;

    public static main instance() {
    return instance;
    }

    public void onEnable() {
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }

    public void onDisable() {

    }

    public boolean checkSender(CommandSender sender)
    {
    if (sender instanceof Player)
    {
    return false;
    }
    return true;
    }

    public boolean OnCommand(CommandSender sender, Command cmd, String label, String[] args)
    {
    if (cmd.getName().equalsIgnoreCase("sims"))
    {
    if (checkSender(sender))
    {
    sender.sendMessage("Only players can use this command!");
    return true;
    }
    Player p = (Player) sender;

    p.getInventory().addItem(new ItemStack(Material.EMERALD));
    в
    p.sendMessage(ChatColor.GREEN + "Вам выдан предмет SIMS");

    return true;
    }

    return false;
    }

    @EventHandler
    public void onPlayerJoin (PlayerJoinEvent e){
    Player p = e.getPlayer();

    p.sendMessage(ChatColor.GREEN + "THE Sims loaded");


    }
    }

    а вот plugin.yml

    name: The SIMS
    main: ru.russia.sims.main
    discription: The SIMS in minecraft
    version: 1.0
    authors:
    - Deless503
    commands:
    sims:
    usage: /sims

    помогите кто может пожалуйста
     
  14. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Не OnCommand, a onCommand
     
  15. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Т.е. что он не регистрирует слушателя команды -- вообще пофигу?
     
  16. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    В главном классе слушатель команды регистрируется автоматически.
     
  17. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    С каких пор(версий)? Я где-то отстал или у меня самопроизвольно плагины не работали с такой ошибкой?
     
  18. kirill2011s

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

    Баллы:
    103
    Когда я только начинал, была версия 1.4.7, уже тогда было.
     
  19. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    В 1.0.1 в классе JavaPlugin уже тоже имеется метод onCommand
     
  20. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Хм, мне казалось это в 1.1-R8 Появилось, когда API конфигураций сильно переделали.
     
  21. LightSunrider

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

    Баллы:
    78
    Имя в Minecraft:
    LightSunrider
    У меня такой вот вопрос. Можно ли в HashMap в столбце Value хранить массивы Integer[2]?
    jd.bukkit.org не работает :(
     

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