Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Arqsuper

Старожил
Пользователь
Баллы
123
Имя в 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++. А мне бы все с нуля.
 
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)

Ах, да. Должно помочь)
http://www.rubukkit.org/threads/Помощь-в-изучении-языка-java.17535/
 
Не совсем уверен, но ты ведь добавил craftbukkit, а не bukkit. Лучше исправь.
 
Снова хочется начать что-то понимать в джаве и плагинах ведра. Сейчас пытаюсь методом тыка что-нибудь написать. В данном случае я хотел, чтобы при вводе команды /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++. А мне бы все с нуля.
Если хотите научиться писать плагины, хотя бы изучите документацию. Главный класс должен наследовать JavaPlugin
 
В строке public class mainsupa{} не хватает "extends JavaPlugin" и на всякий случай допиши "implements listener" (В последнем не уверен)
 
А еще метод onCommand нужно переопределит @Override
 
Назад
Верх