Идея Женский и Мужской пол

  • Автор темы Автор темы TTNrAt
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
конкретнее, вот yml
YAML:
name: man_or_women
version: 0.1
description: You can choise, you are men or women on first join
author: StewMan
main: ru.mainpkg.mainstew
commands:
  man:
    description: Set your sex to man
    usage: Syntax error! Simply type /man choose the man sex;
  woman:
    description: Set your sex to woman
    usage: Syntax error! Simply type /man choose the man sex;
 
Java:
package ru.mainpkg;
 
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.plugin.java.JavaPlugin;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.PermissionsEx;
 
public class mainstew extends JavaPlugin implements Listener
{
    public static final Logger log = Logger.getLogger("Minecraft");
   
    public String[] mangp;
    public String[] womangp;
   
    public static String man = "Выбран мужской пол";
    public static String woman = "Выбран женский пол";
    FileConfiguration config = this.getConfig();
    public void onEnable()
    {
        Bukkit.getPluginManager().registerEvents(this, this);
        getConf();
    }
   
    public void getConf()
    {
        if(!config.isBoolean("enable"))
            config.set("enable", true);
        if(!config.isString("GroupForMan")){
            config.set("GroupForMan", "man");
        }
        else
            {
                womangp[1] = config.getString(man);
            }
        if(!config.isString("GroupForWoMan")){
            config.set("GroupForWoMan", "woman");
            }
        else
        {
            mangp[1] = config.getString(woman);
        }
        this.saveConfig();
    }
   
    public boolean onCommand (PlayerCommandPreprocessEvent event, CommandSender sender, Command command, String label, String[] args)
    {
        PermissionUser p_user = PermissionsEx.getUser((Player) sender);
        if(command.getName().equalsIgnoreCase("man"))
        {
            sender.sendMessage(man);
            p_user.setGroups(mangp);
            return true;
        }
        else
        {
            if(command.getName().equalsIgnoreCase("woman"))
            {
                sender.sendMessage(woman);
                p_user.setGroups(womangp);
                return true;
            }
        }
        return false;
    }
}
 
Не, не надо.
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: File cannot be null
ФАЙЛ НЕ МОЖЕТ быть null
 
блин ты скажи что не так, это я читал....
 
Нету файла в папке. Или значению текста в файле присвоено null
 
вчера проходили ;) где plugin.yml? должен быть в корне jar-файла ;)
 
Java:
package ru.mainpkg;
 
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.plugin.java.JavaPlugin;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.PermissionsEx;
 
public class mainstew extends JavaPlugin implements Listener
{
    public static final Logger log = Logger.getLogger("Minecraft");
 
    public String[] mangp;
    public String[] womangp;
 
    public static String man = "Выбран мужской пол";
    public static String woman = "Выбран женский пол";
    FileConfiguration config = this.getConfig();
    public void onEnable()
    {
        Bukkit.getPluginManager().registerEvents(this, this);
        getConf();
    }
 
    public void getConf()
    {
        if(!config.isBoolean("enable"))
            config.set("enable", true);
        if(!config.isString("GroupForMan")){
            config.set("GroupForMan", "man");
        }
        else
            {
                womangp[1] = config.getString(man);
            }
        if(!config.isString("GroupForWoMan")){
            config.set("GroupForWoMan", "woman");
            }
        else
        {
            mangp[1] = config.getString(woman);
        }
        this.saveConfig();
    }
 
    public boolean onCommand (PlayerCommandPreprocessEvent event, CommandSender sender, Command command, String label, String[] args)
    {
        PermissionUser p_user = PermissionsEx.getUser((Player) sender);
        if(command.getName().equalsIgnoreCase("man"))
        {
            sender.sendMessage(man);
            p_user.setGroups(mangp);
            return true;
        }
        else
        {
            if(command.getName().equalsIgnoreCase("woman"))
            {
                sender.sendMessage(woman);
                p_user.setGroups(womangp);
                return true;
            }
        }
        return false;
    }
}
1. Открой для себя else if(). Не критично, но удобнее в чтении)
2. Сделай проверку на наличие плагина PEX. (эдакая защита от дурака).
 
Вроде большинство сообщений можно изменить через API bukkit, например: setDeathMessage
Или я туплю
он имел в виду что для женского пола например будет: такая-то вышла, это я сделаю, когда разберусь с прокляты плагин ямлом
 
Ну дак что, я вижу что идея многим понравилась, но кто именно возьмётся за исполнение?
(Ведь нужно сделать качественно, так как плагин скорей всего, будут брать много людей)
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх