Войти или зарегистрироваться

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

  • Автор темы Автор темы wroud
  • Дата начала Дата начала

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

  • Да

    Голосов: 130 80,7%
  • Нет

    Голосов: 31 19,3%

  • Всего проголосовало
    161
Тебя никто не заставляет учить джаву за один день. Ты дал глупый совет который никак бы не помог. А когда тебя попросили дать код по твоему совету, ты скинул чутли не копию кода автора той темы.

Как разтаки изза незнания. В гугле полно туториалов по командам. Если бы у тебя было желание, ты бы давно туда заглянул.

Никто ни когда не напишет плагин с первого раза. Я вообще изучал джаву методом тыка. Декомпилил плагины, смотрел их код вникал в него. И не доставал людей по простейшим вопросам.

В интернете полно плагинов и туториалов. Декомпиль плагины, читай туториалы и сам не заметишь как начнешь понимать, то что пишешь.
Я тоже декопмилирую и пр. Насчет туториалов - т.к. мне не дали ответа я искал и перерыл весь гугл. И там НЕ БЫЛО. ПОВТОРЯЮ, НЕ БЫЛО темы, как переключать командой. Если я слепой, то скинь чертову ссылку
Тебя никто не заставляет учить джаву за один день. Ты дал глупый совет который никак бы не помог. А когда тебя попросили дать код по твоему совету, ты скинул чутли не копию кода автора той темы.

Как разтаки изза незнания. В гугле полно туториалов по командам. Если бы у тебя было желание, ты бы давно туда заглянул.

Никто ни когда не напишет плагин с первого раза. Я вообще изучал джаву методом тыка. Декомпилил плагины, смотрел их код вникал в него. И не доставал людей по простейшим вопросам.

В интернете полно плагинов и туториалов. Декомпиль плагины, читай туториалы и сам не заметишь как начнешь понимать, то что пишешь.
На данный момент у меня вообще с командами туго. Я декомпилировал рабочий плагин, смотрел. Не работает. Сделал точную копию - не работает. Бред бредом
 
Я тоже декопмилирую и пр. Насчет туториалов - т.к. мне не дали ответа я искал и перерыл весь гугл. И там НЕ БЫЛО. ПОВТОРЯЮ, НЕ БЫЛО темы, как переключать командой. Если я слепой, то скинь чертову ссылку
ТЕБЕ ВЫШЕ СКАЗАЛИ КАК ПЕРЕКЛЮЧАТЬ.
если (команда - pluginoff) {
enabled = false;}
если (команда - pluginon) {
enabled = true;
}
в евентах
if (enabled == false) {
return;}

ну а если мозги не могут до этого додуматься то смысл делать плагины?
На данный момент у меня вообще с командами туго. Я декомпилировал рабочий плагин, смотрел. Не работает. Сделал точную копию - не работает. Бред бредом
Ну так пытайся понять почему не работает. Я раньше по пару часов сидел, пытаясь понять что не так. И ни у кого не спрашивал что не так.
 
ТЕБЕ ВЫШЕ СКАЗАЛИ КАК ПЕРЕКЛЮЧАТЬ.
если (команда - pluginoff) {
enabled = false;}
если (команда - pluginon) {
enabled = true;
}
в евентах
if (enabled == false) {
return;}

ну а если мозги не могут до этого додуматься то смысл делать плагины?

Ну так пытайся понять почему не работает. Я раньше по пару часов сидел, пытаясь понять что не так. И ни у кого не спрашивал что не так.
Можно проще.
if(команда == рубильник) {
enabled = !enabled;
}
Всего одно команда включает и выключает.
 
ТЕБЕ ВЫШЕ СКАЗАЛИ КАК ПЕРЕКЛЮЧАТЬ.
если (команда - pluginoff) {
enabled = false;}
если (команда - pluginon) {
enabled = true;
}
в евентах
if (enabled == false) {
return;}

ну а если мозги не могут до этого додуматься то смысл делать плагины?

Ну так пытайся понять почему не работает. Я раньше по пару часов сидел, пытаясь понять что не так. И ни у кого не спрашивал что не так.
А я спрашивал у тебя что не так? Вот я сейчас только додумался. Там тупо неправильно указал класс. Млин. Я новичек в этом деле. не приматывайся, "опытный".
Можно проще.
if(команда == рубильник) {
enabled = !enabled;
}
Всего одно команда включает и выключает.
Спасибо. Ты по термином "рубильник" подразумеваешь true|false? Или я не втыкаю
 
А я спрашивал у тебя что не так? Вот я сейчас только додумался. Там тупо неправильно указал класс. Млин. Я новичек в этом деле. не приматывайся, "опытный".

Спасибо. Ты по термином "рубильник" подразумеваешь true|false? Или я не втыкаю
Не имеет значение как ты назовешь команду.
 
А я спрашивал у тебя что не так? Вот я сейчас только додумался. Там тупо неправильно указал класс. Млин. Я новичек в этом деле. не приматывайся, "опытный".
Я говорил про то, что лучше сидеть и пытаться самому чтото сделать, а не идти на форум и по каждому вопросу чтото спрашивать, и ждать пока тебе датут ответ. Ты так ничему не научишся.
Спасибо. Ты по термином "рубильник" подразумеваешь true|false? Или я не втыкаю
Рубильник это название команды. Но мы же не вникаем, в том что написали. Ты команды так сравниваешь?
if (cmd.getName() == true) ? и или что? Или подумать сложно что значит рубильник?
 
Java:
        if(cmd.equals("некая команда")) {
            this.plugin.enabled = !this.plugin.enabled;
            return true;
        }
 
Сидя на этом форуме и задавая вопросы ты её не выучишь. Я её вообще не учил, и писал плагины методом тыка. Я не говорю что знаю java. Я наверное больше 5% её и не знаю, т.к дальше бакит айпи не ушёл.
Ещё раз говорю. Забудь про этот форум.
Качай разные плагины смотри как там устроено.
Так тоже далеко не уплывешь. Нужно учится свое писать.
 
Так тоже далеко не уплывешь. Нужно учится свое писать.
Я сейчас попробовал. проблемы на проблеме. Вот сижу - разбираюсь. с точки зрения синтаксиса все в порядке, yml файл в нормальном состоянии. Так что сижу, перелопачиваю весь код. хотя уже 100 раз проверил. кек.
 
Я сейчас попробовал. проблемы на проблеме. Вот сижу - разбираюсь. с точки зрения синтаксиса все в порядке, yml файл в нормальном состоянии. Так что сижу, перелопачиваю весь код. хотя уже 100 раз проверил. кек.
Кинь, посмотрим.В чем проблема?
 
Кинь, посмотрим.В чем проблема?
Код ща скину
Кинь, посмотрим.В чем проблема?
Код:
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

Кинь, посмотрим.В чем проблема?
Тут все на одной колонне получилось. Мде.
 
Она у тебя и не будет работать. Все команды должны быть в onCommand или разбросаны по разным классам.
 
Код:
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 не проверял. Могут быть ошибки
 
  • if (sender instanceof Player) {
  • }
ну хотябы это убрать нужно.
Java:
   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;
   }
 
Код:
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 не проверял. Могут быть ошибки
А в чем моя ошибка была-то, собственно?
 
Код:
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 не проверял. Могут быть ошибки

Код:
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 не проверял. Могут быть ошибки
А, все. Я слепой. Нашел ошибку. Спасибо
Код:
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 не проверял. Могут быть ошибки
Спасибо тебе, у тебя тоже была пара ошибок. Спасибо , что указал на мои. теперь разобрался, как это делать ^_^
 
Назад
Верх