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

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

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

?

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

  1. Да

    103 голосов
    82,4%
  2. Нет

    22 голосов
    17,6%
  1. slavik123123123

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

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

    ну а если мозги не могут до этого додуматься то смысл делать плагины?[DOUBLEPOST=1478265266,1478265125][/DOUBLEPOST]
    Ну так пытайся понять почему не работает. Я раньше по пару часов сидел, пытаясь понять что не так. И ни у кого не спрашивал что не так.
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

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

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

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

    alexandrage Администратор

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

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

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

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

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

    alexandrage Администратор

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

    alexandrage Администратор

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

    alexandrage Администратор

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

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

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

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

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

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

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    Код ща скину[DOUBLEPOST=1478333261,1478333162][/DOUBLEPOST]
    Код:
    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.bukkit.inventory.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) не сокращал - мне так проще. Первая команда работает прекрасно, а вот вторая не пашет. Может логическая ошибка какая?[DOUBLEPOST=1478333325][/DOUBLEPOST]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;
       }
    }
    
    [DOUBLEPOST=1478333396][/DOUBLEPOST]
    В консоли ошибок нет, в Eclipse тоже. plugin.yml в порядке[DOUBLEPOST=1478333565][/DOUBLEPOST]
    И, собственно, сам 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
    [DOUBLEPOST=1478333608][/DOUBLEPOST]
    Тут все на одной колонне получилось. Мде.
     
  14. slavik123123123

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

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

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

    Баллы:
    46
    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.bukkit.inventory.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;
       }
    }
    
    [DOUBLEPOST=1478343858,1478343709][/DOUBLEPOST]В eclipse не проверял. Могут быть ошибки
     
  16. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    ну хотябы это убрать нужно.[DOUBLEPOST=1478345223,1478345104][/DOUBLEPOST]
    Код:
       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:
    Leymooooooooooo
    в этом
     
  19. zZLateZz

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

    Баллы:
    21
    Имя в Minecraft:
    zZLateZz
    [DOUBLEPOST=1478346541][/DOUBLEPOST]
    А, все. Я слепой. Нашел ошибку. Спасибо[DOUBLEPOST=1478347118][/DOUBLEPOST]
    Спасибо тебе, у тебя тоже была пара ошибок. Спасибо , что указал на мои. теперь разобрался, как это делать ^_^
     
  20. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
     
  21. UNIONT

    UNIONT Ньюби

    Баллы:
    1
    Имя в Minecraft:
    TheBestSilver
    помогите пожалуйста написать плагин есть 1 идейка
     

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