malexp
Активный участник
- Баллы
- 61
Привет.
Прежде, чем я буду описывать свой затык в жалкой попытке что-либо сделать в сфере разработки плагинов, хочу предупредить, что мой опыт в разработке плагинов, как и, собственно, в программировании на Java либо иных языках, довольно мал, потому я буду благодарен, если вместо готового решения вы подтолкнете меня к каким-либо материалам, которые помогут мне самому найти решение для своей задачи
Задача:
Добавить возможность игрокам сервера создавать различные объединения (группы).
Первейший функционал данных групп прост:
возможность создать группу,
возможность распустить группу,
возможность добавить в группу игрока,
возможность из группы игрока исключить,
возможность отобразить информацию о группе (список всех участников группы).
Имеются два класса, написанных мною.
Первый - Group - представляет структуру самой группы.
Второй - Member - представляет игрока-участника группы.
Далее - я хочу, чтобы при вводе определенной команды игроком, создавалась группа.
В этом месте затык.
Я знаю, как создать команду, но совершенно не знаю, что мне нужно написать в теле метода onCommand.
Если я создам при вызове этой команды объект в теле метода onCommand, то этот объект останется в области видимости этого метода, пока тот не завершится. Следовательно, куда-то этот объект я должен добавить так, чтобы у меня была возможность работать с этим объектом и далее - в других классах программы, в других областях видимости. Более того, мне нужно, чтобы данные об этом объекте сохранились по завершении программы и могли быть восстановлены после того, как я запущу свою программу (плагин) в следующий раз.
В соответствии с этим появляется вопрос - каким образом создать, где хранить и как обработать данную информацию?
Заранее благодарю.
Прежде, чем я буду описывать свой затык в жалкой попытке что-либо сделать в сфере разработки плагинов, хочу предупредить, что мой опыт в разработке плагинов, как и, собственно, в программировании на Java либо иных языках, довольно мал, потому я буду благодарен, если вместо готового решения вы подтолкнете меня к каким-либо материалам, которые помогут мне самому найти решение для своей задачи
Задача:
Добавить возможность игрокам сервера создавать различные объединения (группы).
Первейший функционал данных групп прост:
возможность создать группу,
возможность распустить группу,
возможность добавить в группу игрока,
возможность из группы игрока исключить,
возможность отобразить информацию о группе (список всех участников группы).
Имеются два класса, написанных мною.
Первый - Group - представляет структуру самой группы.
public class Group {
private String name;
private ArrayList<Member> members;
public Group(String name) {
this.name = name;
this.members = new ArrayList<Member>();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ArrayList<Member> getMembers() {
return members;
}
public void addMember(Member member) {
if (!members.contains(member)) {
members.add(member);
}
}
public void removeMember(Member member) {
if (members.contains(member))
members.remove(member);
}
}
private String name;
private ArrayList<Member> members;
public Group(String name) {
this.name = name;
this.members = new ArrayList<Member>();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ArrayList<Member> getMembers() {
return members;
}
public void addMember(Member member) {
if (!members.contains(member)) {
members.add(member);
}
}
public void removeMember(Member member) {
if (members.contains(member))
members.remove(member);
}
}
public class Member {
private String name;
public Member(Player player) {
this.name = player.getName();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
private String name;
public Member(Player player) {
this.name = player.getName();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Далее - я хочу, чтобы при вводе определенной команды игроком, создавалась группа.
В этом месте затык.
Я знаю, как создать команду, но совершенно не знаю, что мне нужно написать в теле метода onCommand.
Если я создам при вызове этой команды объект в теле метода onCommand, то этот объект останется в области видимости этого метода, пока тот не завершится. Следовательно, куда-то этот объект я должен добавить так, чтобы у меня была возможность работать с этим объектом и далее - в других классах программы, в других областях видимости. Более того, мне нужно, чтобы данные об этом объекте сохранились по завершении программы и могли быть восстановлены после того, как я запущу свою программу (плагин) в следующий раз.
В соответствии с этим появляется вопрос - каким образом создать, где хранить и как обработать данную информацию?
Заранее благодарю.