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

Помогите Помогите начинающему

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

  1. Автор темы
    Arqsuper

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

    Баллы:
    123
    Skype:
    arqski
    Имя в Minecraft:
    Arqsuper
    Снова хочется начать что-то понимать в джаве и плагинах ведра. Сейчас пытаюсь методом тыка что-нибудь написать. В данном случае я хотел, чтобы при вводе команды /oops вылетало сообщение "Пшел вон" тому игроку, который команду то и написал. Вот, что накалякал.
    Код:
    package supaplagin;
    
    import java.util.logging.Logger;
    import static net.minecraft.server.v1_6_R3.PlayerSelector.getPlayer;
    import static org.bukkit.Bukkit.getPlayer;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class mainsupa {
    
        public void onEnable() {
            Logger log= Logger.getLogger("Minecraft");
            log.info("Этот крутой плагин реально запущен");
        }
        public static boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            if(cmd.getName().equalsIgnoreCase("oops")){
                Player player = (Player) sender;
                player.getPlayer().sendMessage(ChatColor.BLUE + "Пошел отсюда!");
           
            }
            return false;
        }
        public void onDisable() {
            Logger log= Logger.getLogger("Minecraft");
            log.info("Гг вп, плагин слился");
        }
    }
    
    Он не работает, хотя суть ошибки вроде и не в коде. У меня главный класс не видит, хотя в плагин.умл все верно прописал. А что же тут может быть реально через зад?
    P.S. Можете подкинуть годных книжек по Java? Философию Джавы не осиливаю, там, видимо, ставка на тех, кто уже хоть как знаком с языком C# и C++. А мне бы все с нуля.
     
  2. Хостинг MineCraft
    <
  3. efwio

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

    Баллы:
    88
    Skype:
    theefwio
    Имя в Minecraft:
    TheEfwio
    player.getPlayer().sendMessage(ChatColor.BLUE + "Пошел отсюда!");
    Смени на
    player.sendMessage(ChatColor.BLUE + "Пошел отсюда!");
    И убери эти импорты:
    import static net.minecraft.server.v1_6_R3.PlayerSelector.getPlayer;
    import static org.bukkit.Bukkit.getPlayer;
    А также смени
    public static boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    на
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    [DOUBLEPOST=1408742666,1408742635][/DOUBLEPOST]Ах, да. Должно помочь)
    http://www.rubukkit.org/threads/Помощь-в-изучении-языка-java.17535/
     
  4. konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Не совсем уверен, но ты ведь добавил craftbukkit, а не bukkit. Лучше исправь.
     
  5. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Если хотите научиться писать плагины, хотя бы изучите документацию. Главный класс должен наследовать JavaPlugin
     
  6. GodlikE

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

    Баллы:
    103
    Имя в Minecraft:
    GodlikE
    В строке public class mainsupa{} не хватает "extends JavaPlugin" и на всякий случай допиши "implements listener" (В последнем не уверен)
     
  7. BeYkeR

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

    Баллы:
    173
    Зачем ему писать Listener , если у него нет ни единого события ? :D
     
  8. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    А еще метод onCommand нужно переопределит @Override
     
  9. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Потому что человек не понимает, что и зачем нужно.
     

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