- Баллы
- 21
Короче леплю аля кланвар но ничего не пашет
Clan
Clan
Код:
private Set<ClanManager> clans = new HashSet<ClanManager>();
public void onEnable(){
instance = this;
ConfigurationSerialization.registerClass(ClanManager.class);
getCommand("clan").setExecutor(new Clans(this));
SettingsManager.getInstance().setup(this);
}
public void onDisable() {
}
Код:
private final Clan plugin;
public Clans(Clan plugin) {
this.plugin = plugin;
}
@SuppressWarnings("unlikely-arg-type")
public boolean onCommand( CommandSender arg0, Command arg1, String arg2,String[] arg3) {
if(arg0 instanceof Player) {
Player p = (Player) arg0;
if(arg3.length>0) {
if(arg3[0].equalsIgnoreCase("create")) {
if(!arg3[1].isEmpty()) {
p.sendMessage(ChatColor.BLUE+""+ChatColor.BOLD + "[CLANWAR] Клан создан: "+arg3[1]);
SettingsManager.getInstance().set("clans", new ClanManager(p.getUniqueId(), arg3[1]).serialize());
}else {
p.sendMessage(ChatColor.BLUE+""+ChatColor.BOLD + "[CLANWAR]Ошибка.(((");
return true;
}
}
else if (arg3[0].equalsIgnoreCase("invite")) {
}
else if (arg3[0].equalsIgnoreCase("remove")) {
p.sendMessage(ChatColor.BLUE+""+ChatColor.BOLD + "[CLANWAR]Клан розформирован.");
}
else if (arg3[0].equalsIgnoreCase("save")) {
}
else if (arg3[0].equalsIgnoreCase("save")) {
}
else if (arg3[0].equalsIgnoreCase("save")) {
}
else if (arg3[0].equalsIgnoreCase("save")) {
}
else {
p.sendMessage(ChatColor.BLUE+""+ChatColor.BOLD + "[CLANWAR]Ошибка.(((");
return true;
}
}else {
p.sendMessage(ChatColor.BLUE+""+ChatColor.BOLD + "[CLANWAR]-------------------------------------------");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan create <name> - Создать клан.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan invite <player> - Пригласить игрока в клан.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan join <player> - Присоеденится к клану.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan info [ClanName] - Информаци о клане.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan kick <player> - Выгнать игрока.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan base - Телепортироватся на базу клана.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan leave - Покинуть клан.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan chat - Обявление клану.");
p.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD + "/clan remove - Розформировать клан.");
p.sendMessage(ChatColor.BLUE+""+ChatColor.BOLD + "----------------------------------------------------");
return true;
}
if(arg0 instanceof ConsoleCommandSender)
{
arg0.sendMessage("Ti OBOSRALSYA");
return true;
}
}
return true;
}
}
Код:
@SerializableAs("ClanManager")
public class ClanManager implements ConfigurationSerializable{
private String name;
private UUID owner;
private HashSet<UUID> members = new HashSet<UUID>();
private HashSet<UUID> invited = new HashSet<UUID>();
private Location base;
//стандартный ввод.
public ClanManager(UUID owner, String name) {
this.name = name;
this.owner = owner;
this.members = new HashSet<UUID>();
members.add(owner);
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public UUID getOwner() {
return this.owner;
}
public void setOwner(UUID owner) {
this.owner = owner;
}
public HashSet<UUID> getMembers(){
return this.members;
}
public void setMembers(HashSet<UUID> members) {
this.members = members;
}
public ClanManager(Map<String, Object> map) {
this.name = (String) map.get("name");
this.owner = (UUID) map.get(owner);
this.members = new HashSet<UUID>();
this.members.add(owner);
//new ArrayList<String>(Arrays.asList(((String) map.get("members")).split(","))); // map.get("members") -> Pogo,Stick,29
}
public Map<String, Object> serialize() {
Map<String, Object> serialized = new HashMap<String, Object>();
serialized.put("name", getName());
serialized.put("owner", getOwner().toString());
List<String> mems = new ArrayList<String>();
for (UUID uuid : members) {
mems.add(uuid.toString());
}
serialized.put("members", mems);
return serialized;
}
}
Код:
public class SettingsManager {
private SettingsManager() { }
private static SettingsManager instance = new SettingsManager();
public static SettingsManager getInstance() {
return instance;
}
public void setup(Plugin p) {
if (!p.getDataFolder().exists()) p.getDataFolder().mkdir();
file = new File(p.getDataFolder(), "teams.yml");
if (!file.exists()) {
try { file.createNewFile(); }
catch (Exception e) { e.printStackTrace(); }
}
config = YamlConfiguration.loadConfiguration(file);
}
private File file;
private FileConfiguration config;
public void set(String path, Object value) {
config.set(path, value);
save();
}
public ConfigurationSection createConfigurationSection(String path) {
ConfigurationSection cs = config.createSection(path);
save();
return cs;
}
@SuppressWarnings("unchecked")
public <T> T get(String path) {
return (T) config.get(path);
}
public void save() {
try { config.save(file); }
catch (Exception e) { e.printStackTrace(); }
}