1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал Создание плагинов с примерами.

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем wroud, 18 авг 2012.

?

Это было полезно?

  1. Да

    130 голосов
    80,7%
  2. Нет

    31 голосов
    19,3%
  1. zZLateZz

    zZLateZz Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    Я тоже декопмилирую и пр. Насчет туториалов - т.к. мне не дали ответа я искал и перерыл весь гугл. И там НЕ БЫЛО. ПОВТОРЯЮ, НЕ БЫЛО темы, как переключать командой. Если я слепой, то скинь чертову ссылку
    На данный момент у меня вообще с командами туго. Я декомпилировал рабочий плагин, смотрел. Не работает. Сделал точную копию - не работает. Бред бредом
     
  2. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    ТЕБЕ ВЫШЕ СКАЗАЛИ КАК ПЕРЕКЛЮЧАТЬ.
    если (команда - pluginoff) {
    enabled = false;}
    если (команда - pluginon) {
    enabled = true;
    }
    в евентах
    if (enabled == false) {
    return;}

    ну а если мозги не могут до этого додуматься то смысл делать плагины?
    Ну так пытайся понять почему не работает. Я раньше по пару часов сидел, пытаясь понять что не так. И ни у кого не спрашивал что не так.
     
  3. alexandrage

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

    Баллы:
    173
    Можно проще.
    if(команда == рубильник) {
    enabled = !enabled;
    }
    Всего одно команда включает и выключает.
     
  4. zZLateZz

    zZLateZz Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    А я спрашивал у тебя что не так? Вот я сейчас только додумался. Там тупо неправильно указал класс. Млин. Я новичек в этом деле. не приматывайся, "опытный".
    Спасибо. Ты по термином "рубильник" подразумеваешь true|false? Или я не втыкаю
     
  5. alexandrage

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

    Баллы:
    173
    Не имеет значение как ты назовешь команду.
     
  6. zZLateZz

    zZLateZz Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    Я не про название команды, а про термин "рубильник". Что ты подразумеваешь под этим?
     
  7. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    Я говорил про то, что лучше сидеть и пытаться самому чтото сделать, а не идти на форум и по каждому вопросу чтото спрашивать, и ждать пока тебе датут ответ. Ты так ничему не научишся.
    Рубильник это название команды. Но мы же не вникаем, в том что написали. Ты команды так сравниваешь?
    if (cmd.getName() == true) ? и или что? Или подумать сложно что значит рубильник?
     
  8. alexandrage

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

    Баллы:
    173
    Код:
      
            if(cmd.equals("некая команда")) {
                this.plugin.enabled = !this.plugin.enabled;
                return true;
            }
     
  9. alexandrage

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

    Баллы:
    173
    Я тебе говорил, иди учи java. Ты даже не понимаешь, что ты в иде пишешь.
     
  10. alexandrage

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

    Баллы:
    173
    Так тоже далеко не уплывешь. Нужно учится свое писать.
     
  11. zZLateZz

    zZLateZz Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    Я сейчас попробовал. проблемы на проблеме. Вот сижу - разбираюсь. с точки зрения синтаксиса все в порядке, yml файл в нормальном состоянии. Так что сижу, перелопачиваю весь код. хотя уже 100 раз проверил. кек.
     
  12. _MediaNik_

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

    Баллы:
    76
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Кинь, посмотрим.В чем проблема?
     
  13. zZLateZz

    zZLateZz Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    Код ща скину
    Код:
    package gru;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.*********ventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class tri extends JavaPlugin implements Listener {
     
       public void onEnable() {
         Bukkit.getServer().getPluginManager().registerEvents(this, this);
       }
       public void onDisable(){
       }
     
       public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
    
         if (sender instanceof Player) {
    
        }
          if (cmd.getName().equalsIgnoreCase("vplugin")) {
             ((Player) sender).getPlayer().sendMessage("Это драгоценности... Они теперь твои..." + ChatColor.DARK_RED + "ТВОИ...");
             ItemStack i = new ItemStack(Material.DIAMOND);
             for (int q = 0; q < 63; q++) {
               ((Player) sender).getPlayer().getInventory().addItem(i);
             }
             ((Player) sender).getPlayer().playSound(((Player) sender).getPlayer().getLocation(), Sound.ANVIL_USE, 1, 1);
             return true;
          }
          return false;
       }
       public boolean onCommand2(CommandSender s, Command cmd, String commandLabel, String[] args){
         if (s instanceof Player) {
         }
         if (cmd.getName().equalsIgnoreCase("enchs")) {
           ((Player) s).getItemInHand().addEnchantment(Enchantment.DAMAGE_ALL, 1);
           return true;
         }
         return false;
       }
    }
    
    Я ((Player) sender) не сокращал - мне так проще. Первая команда работает прекрасно, а вот вторая не пашет. Может логическая ошибка какая?
    P.S. Я пробовал еще с getInventory
    Код:
    public boolean onCommand2(CommandSender s, Command cmd, String commandLabel, String[] args){
         if (s instanceof Player) {
         }
         if (cmd.getName().equalsIgnoreCase("enchs")) {
           ((Player) s).getInventory.getItemInHand().addEnchantment(Enchantment.DAMAGE_ALL, 1);
           return true;
         }
         return false;
       }
    }
    

    В консоли ошибок нет, в Eclipse тоже. plugin.yml в порядке
    И, собственно, сам plugin.yml
    Код:
    name: PlugLol
    main: gru.tri
    description: For you
    version: 1.0
    commands:
      vplugin:
      description: /vplugin
      permission: PlugLol.basic
      usage: /vplugin [player]
      enchs:
      description: /enchs
      permission: PlugLol.basic
      usage: /enchs

    Тут все на одной колонне получилось. Мде.
     
  14. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    Она у тебя и не будет работать. Все команды должны быть в onCommand или разбросаны по разным классам.
     
  15. _MediaNik_

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

    Баллы:
    76
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Код:
    package gru;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.*********ventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class tri extends JavaPlugin implements Listener {
    
       public void onEnable() {
         Bukkit.getServer().getPluginManager().registerEvents(this, this);
       }
       public void onDisable(){
       }
    
       public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
    
         if (sender instanceof Player) {
    
        }
          if (cmd.getName().equalsIgnoreCase("vplugin")) {
             ((Player) sender).getPlayer().sendMessage("Это драгоценности... Они теперь твои..." + ChatColor.DARK_RED + "ТВОИ...");
             ItemStack i = new ItemStack(Material.DIAMOND);
             for (int q = 0; q < 63; q++) {
               ((Player) sender).getPlayer().getInventory().addItem(i);
             }
             ((Player) sender).getPlayer().playSound(((Player) sender).getPlayer().getLocation(), Sound.ANVIL_USE, 1, 1);
             return true;
          }
         if (cmd.getName().equalsIgnoreCase("enchs")) {
           ((Player) s).getItemInHand().addEnchantment(Enchantment.DAMAGE_ALL, 1);
           return true;
         }
          return false;
       }
    }
    

    В eclipse не проверял. Могут быть ошибки
     
  16. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    ну хотябы это убрать нужно.
    Код:
       public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
         if (sender instanceof Player) {
         Player p = (Player) sender;
          if (cmd.getName().equalsIgnoreCase("vplugin")) {
             ((Player) sender).getPlayer().sendMessage("Это драгоценности... Они теперь твои..." + ChatColor.DARK_RED + "ТВОИ...");
             ItemStack i = new ItemStack(Material.DIAMOND, 64);
               p.getInventory().addItem(i);
             p.playSound(((Player) sender).getPlayer().getLocation(), Sound.ANVIL_USE, 1, 1);
             return true;
          }
         if (cmd.getName().equalsIgnoreCase("enchs")) {
           p,.getItemInHand().addEnchantment(Enchantment.DAMAGE_ALL, 1);
           return true;
         }
        }
          return false;
       }
     
  17. zZLateZz

    zZLateZz Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    А в чем моя ошибка была-то, собственно?
     
  18. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    в этом
     
  19. zZLateZz

    zZLateZz Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz

    А, все. Я слепой. Нашел ошибку. Спасибо
    Спасибо тебе, у тебя тоже была пара ошибок. Спасибо , что указал на мои. теперь разобрался, как это делать ^_^
     
  20. _MediaNik_

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

    Баллы:
    76
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
     

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