Помогите ограничение использования команды

Статус
Закрыто для дальнейших ответов.
Слышь умник, напиши ему значит код полностью, бесите такие все ах**** кодеры, а на самом деле дно
Поясни за "дно"
У меня 840 сообщений, код полностью я пишу не так уж и редко, в данном случае код на 3 строки и писать его я не вижу смысла...
Если человеку нужен именно код, а не объяснение, как это делать, то вообще не вижу смысла помогать.
Это как ГДЗ.
 
Поясни за "дно"
У меня 840 сообщений, код полностью я пишу не так уж и редко, в данном случае код на 3 строки и писать его я не вижу смысла...
Если человеку нужен именно код, а не объяснение, как это делать, то вообще не вижу смысла помогать.
Это как ГДЗ.

Но ты все-таки не понимаешь, что @ВладМен не успокоится, пока не получит именно готовый код
 
Не знаю понравится вам или нет :) Вот как я сделал ():
1. Главный class

Код:
package ru.volk.help;

import org.bukkit.Server;
import org.bukkit.plugin.java.JavaPlugin;

public class HPlugin extends JavaPlugin{
   
    Server s;
   
    HPlugin plugin;
    HUtils hu;  
   
    public void onEnable(){
        s = getServer();
       
        // Utils
        hu = new HUtils(this);
       
        // Все ваши команды
       
        // Пример:
        getCommand("blablablab").setExecutor(new HCommands(this));
    }
   
    public void onDisable(){
       
    }
   
    public HUtils getHUtils() {
        return hu;
    }

}

2. Utils Class

Код:
package ru.volk.help;

import java.io.File;

import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;

public class HUtils {

    HPlugin plugin;
  
    //База данных
    private YamlConfiguration cmdsave;
  
    public HUtils(HPlugin p){
        plugin = p;
      
        cmdsave = getDB("cmdsave.yml");
    }  
    // Данные из файла
    public YamlConfiguration getDB(String name) {
        File config = new File(plugin.getDataFolder(), name);
        YamlConfiguration ymlcnf;

        if (!config.exists()) {
            ymlcnf = new YamlConfiguration();
            saveDB(name, ymlcnf);
        } else {
            ymlcnf = YamlConfiguration.loadConfiguration(config);
        }
        return ymlcnf;
    }
    // Данные в файл
    public void saveDB(String name, YamlConfiguration ymlcnf) {
        File config = new File(plugin.getDataFolder(), name);
        try {
            ymlcnf.save(config);
        } catch (Exception e) {
        }
    }  
    //Проверка на повторяемость набора команды
    public boolean isWrite(Player p, String cmd) {
        String v = cmd + "." + p.getName();
        boolean o = cmdsave.getBoolean(v, false);
        return o;
    }
    //Задаем "статус" команды - использована или нет
    public void setWrite(Player p, boolean cmd){
        String v = cmd + "." + p.getName();
        cmdsave.set(v, Boolean.valueOf(cmd));
        saveDB("cmdsave.yml", cmdsave);
    }
}

3. Class Commands

Код:
package ru.volk.help;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class HCommands implements CommandExecutor {
  
    HPlugin plugin;
    HUtils hu;
  
    public HCommands(HPlugin p){
        plugin = p;
        hu = p.getHUtils();
    }

    public boolean onCommand(CommandSender sender, Command cmd, String str,String[] args) {
        if(sender instanceof Player){
            Player p = (Player) sender;
            if(cmd.getName().equalsIgnoreCase("blablablab")){ // Ваша любая команда
                if(!(hu.isWrite(p, cmd.getName()))){ // если первый раз
                    hu.setWrite(p, true);
                  
                    //Дальше ваши действия....
                }
                return true;
            }
        }
        return false;
    }
}
 
Не знаю понравится вам или нет :) Вот как я сделал ():
1. Главный class

Код:
package ru.volk.help;

import org.bukkit.Server;
import org.bukkit.plugin.java.JavaPlugin;

public class HPlugin extends JavaPlugin{
  
    Server s;
  
    HPlugin plugin;
    HUtils hu; 
  
    public void onEnable(){
        s = getServer();
      
        // Utils
        hu = new HUtils(this);
      
        // Все ваши команды
      
        // Пример:
        getCommand("blablablab").setExecutor(new HCommands(this));
    }
  
    public void onDisable(){
      
    }
  
    public HUtils getHUtils() {
        return hu;
    }

}

2. Utils Class

Код:
package ru.volk.help;

import java.io.File;

import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;

public class HUtils {

    HPlugin plugin;
 
    //База данных
    private YamlConfiguration cmdsave;
 
    public HUtils(HPlugin p){
        plugin = p;
     
        cmdsave = getDB("cmdsave.yml");
    } 
    // Данные из файла
    public YamlConfiguration getDB(String name) {
        File config = new File(plugin.getDataFolder(), name);
        YamlConfiguration ymlcnf;

        if (!config.exists()) {
            ymlcnf = new YamlConfiguration();
            saveDB(name, ymlcnf);
        } else {
            ymlcnf = YamlConfiguration.loadConfiguration(config);
        }
        return ymlcnf;
    }
    // Данные в файл
    public void saveDB(String name, YamlConfiguration ymlcnf) {
        File config = new File(plugin.getDataFolder(), name);
        try {
            ymlcnf.save(config);
        } catch (Exception e) {
        }
    } 
    //Проверка на повторяемость набора команды
    public boolean isWrite(Player p, String cmd) {
        String v = cmd + "." + p.getName();
        boolean o = cmdsave.getBoolean(v, false);
        return o;
    }
    //Задаем "статус" команды - использована или нет
    public void setWrite(Player p, boolean cmd){
        String v = cmd + "." + p.getName();
        cmdsave.set(v, Boolean.valueOf(cmd));
        saveDB("cmdsave.yml", cmdsave);
    }
}

3. Class Commands

Код:
package ru.volk.help;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class HCommands implements CommandExecutor {
 
    HPlugin plugin;
    HUtils hu;
 
    public HCommands(HPlugin p){
        plugin = p;
        hu = p.getHUtils();
    }

    public boolean onCommand(CommandSender sender, Command cmd, String str,String[] args) {
        if(sender instanceof Player){
            Player p = (Player) sender;
            if(cmd.getName().equalsIgnoreCase("blablablab")){ // Ваша любая команда
                if(!(hu.isWrite(p, cmd.getName()))){ // если первый раз
                    hu.setWrite(p, true);
                 
                    //Дальше ваши действия....
                }
                return true;
            }
        }
        return false;
    }
}
Ну все - выбрасывай.
 
Вы вообще странные люди, Одни знают java вторые типа знаю, А на самом деле ничего, Оно видно когда читаешь тему=)
 
Вы вообще странные люди, Одни знают java вторые типа знаю, А на самом деле ничего, Оно видно когда читаешь тему=)

Просто никто, за исключением ньфагов, не собирается кому-то давать готовый код
 
Короче, шикарная у нас тут обстановка для новичков :good:
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх