use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class UnbanCommand method execute.
@FunnyCommand(name = "${admin.unban.name}", permission = "funnyguilds.admin", acceptsExceeded = true)
public void execute(CommandSender sender, String[] args) {
when(args.length < 1, messages.generalNoTagGiven);
Guild guild = GuildValidation.requireGuildByTag(args[0]);
when(!guild.isBanned(), messages.adminGuildNotBanned);
User admin = AdminUtils.getAdminUser(sender);
if (!SimpleEventHandler.handle(new GuildUnbanEvent(AdminUtils.getCause(admin), admin, guild))) {
return;
}
BanUtils.unban(guild);
Formatter formatter = new Formatter().register("{GUILD}", guild.getName()).register("{TAG}", guild.getName()).register("{ADMIN}", sender.getName());
sendMessage(sender, (formatter.format(messages.adminGuildUnban)));
broadcastMessage(formatter.format(messages.broadcastUnban));
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class BreakCommand method execute.
@FunnyCommand(name = "${user.break.name}", description = "${user.break.description}", aliases = "${user.break.aliases}", permission = "funnyguilds.break", completer = "guilds:3", acceptsExceeded = true, playerOnly = true)
public void execute(Player player, @IsOwner User user, Guild guild, String[] args) {
when(!guild.hasAllies(), messages.breakHasNotAllies);
if (args.length < 1) {
List<String> list = messages.breakAlliesList;
String iss = ChatUtils.toString(Entity.names(guild.getAllies()), true);
for (String msg : list) {
user.sendMessage(msg.replace("{GUILDS}", iss));
}
return;
}
Guild oppositeGuild = GuildValidation.requireGuildByTag(args[0]);
when(!guild.getAllies().contains(oppositeGuild), () -> messages.breakAllyExists.replace("{GUILD}", oppositeGuild.getName()).replace("{TAG}", guild.getTag()));
if (!SimpleEventHandler.handle(new GuildBreakAllyEvent(EventCause.USER, user, guild, oppositeGuild))) {
return;
}
oppositeGuild.getOwner().sendMessage(messages.breakIDone.replace("{GUILD}", guild.getName()).replace("{TAG}", guild.getTag()));
guild.removeAlly(oppositeGuild);
oppositeGuild.removeAlly(guild);
ConcurrencyTaskBuilder taskBuilder = ConcurrencyTask.builder();
for (User member : guild.getMembers()) {
taskBuilder.delegate(new PrefixUpdateGuildRequest(member, oppositeGuild));
}
for (User member : oppositeGuild.getMembers()) {
taskBuilder.delegate(new PrefixUpdateGuildRequest(member, guild));
}
ConcurrencyTask task = taskBuilder.build();
this.concurrencyManager.postTask(task);
user.sendMessage(messages.breakDone.replace("{GUILD}", oppositeGuild.getName()).replace("{TAG}", oppositeGuild.getTag()));
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class LeaderAdminCommand method execute.
@FunnyCommand(name = "${admin.leader.name}", permission = "funnyguilds.admin", acceptsExceeded = true)
public void execute(CommandSender sender, String[] args) {
when(args.length < 1, messages.generalNoTagGiven);
when(args.length < 2, messages.generalNoNickGiven);
Guild guild = GuildValidation.requireGuildByTag(args[0]);
User user = UserValidation.requireUserByName(args[1]);
when(!guild.getMembers().contains(user), messages.adminUserNotMemberOf);
when(guild.getOwner().equals(user), messages.adminAlreadyLeader);
User admin = AdminUtils.getAdminUser(sender);
if (!SimpleEventHandler.handle(new GuildMemberLeaderEvent(AdminUtils.getCause(admin), admin, guild, user))) {
return;
}
guild.setOwner(user);
sendMessage(sender, (messages.leaderSet));
user.sendMessage(messages.leaderOwner);
String message = messages.leaderMembers.replace("{PLAYER}", user.getName());
for (User member : guild.getMembers()) {
member.sendMessage(message);
}
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class ProtectionCommand method execute.
@FunnyCommand(name = "${admin.protection.name}", permission = "funnyguilds.admin", acceptsExceeded = true)
public void execute(CommandSender sender, String[] args) {
when(args.length < 1, messages.generalNoTagGiven);
when(args.length < 3, messages.adminNoProtectionDateGive);
Guild guild = GuildValidation.requireGuildByTag(args[0]);
String protectionDateAsString = StringUtils.join(args, ' ', 1, 3);
Date protectionDate;
try {
protectionDate = PROTECTION_DATE_FORMAT.parse(protectionDateAsString);
} catch (ParseException e) {
sendMessage(sender, (messages.adminInvalidProtectionDate));
return;
}
guild.setProtection(protectionDate.getTime());
Formatter formatter = new Formatter().register("{TAG}", guild.getTag()).register("{DATE}", protectionDateAsString);
sendMessage(sender, (formatter.format(messages.adminProtectionSetSuccessfully)));
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class FlatGuild method deserialize.
public static Guild deserialize(File file) {
PluginConfiguration configuration = FunnyGuilds.getInstance().getPluginConfiguration();
YamlWrapper wrapper = new YamlWrapper(file);
String id = wrapper.getString("uuid");
String name = wrapper.getString("name");
String tag = wrapper.getString("tag");
String ownerName = wrapper.getString("owner");
String deputyName = wrapper.getString("deputy");
String hs = wrapper.getString("home");
String regionName = wrapper.getString("region");
boolean pvp = wrapper.getBoolean("pvp");
long born = wrapper.getLong("born");
long validity = wrapper.getLong("validity");
long attacked = wrapper.getLong("attacked");
long ban = wrapper.getLong("ban");
int lives = wrapper.getInt("lives");
if (name == null) {
FunnyGuilds.getPluginLogger().error("[Deserialize] Cannot deserialize guild! Caused by: name is null");
return null;
}
if (tag == null) {
FunnyGuilds.getPluginLogger().error("[Deserialize] Cannot deserialize guild: " + name + "! Caused by: tag is null");
return null;
}
if (ownerName == null) {
FunnyGuilds.getPluginLogger().error("[Deserialize] Cannot deserialize guild: " + name + "! Caused by: owner is null");
return null;
}
if (regionName == null && configuration.regionsEnabled) {
FunnyGuilds.getPluginLogger().error("[Deserialize] Cannot deserialize guild: " + name + "! Caused by: region is null");
return null;
}
Set<String> memberNames = loadSet(wrapper, "members");
Set<String> allyNames = loadSet(wrapper, "allies");
Set<String> enemyNames = loadSet(wrapper, "enemies");
Option<Region> regionOption = FunnyGuilds.getInstance().getRegionManager().findByName(regionName);
if (regionOption.isEmpty() && configuration.regionsEnabled) {
FunnyGuilds.getPluginLogger().error("[Deserialize] Cannot deserialize guild: " + name + "! Caused by: region (object) is null");
return null;
}
Region region = regionOption.get();
UUID uuid = UUID.randomUUID();
if (id != null && !id.isEmpty()) {
uuid = UUID.fromString(id);
}
final User owner = UserUtils.get(ownerName);
Set<User> deputies = ConcurrentHashMap.newKeySet(1);
if (deputyName != null && !deputyName.isEmpty()) {
deputies = UserUtils.getUsersFromString(ChatUtils.fromString(deputyName));
}
Location home = null;
if (region != null) {
home = region.getCenter();
if (hs != null) {
home = LocationUtils.parseLocation(hs);
}
}
if (memberNames == null || memberNames.isEmpty()) {
memberNames = new HashSet<>();
memberNames.add(ownerName);
}
GuildManager guildManager = FunnyGuilds.getInstance().getGuildManager();
Set<User> members = FunnyGuilds.getInstance().getUserManager().findByNames(memberNames);
Set<Guild> allies = guildManager.findByNames(allyNames);
Set<Guild> enemies = guildManager.findByNames(enemyNames);
if (born == 0) {
born = System.currentTimeMillis();
}
if (validity == 0) {
validity = Instant.now().plus(configuration.validityStart).toEpochMilli();
}
if (lives == 0) {
lives = configuration.warLives;
}
final Object[] values = new Object[17];
values[0] = uuid;
values[1] = name;
values[2] = tag;
values[3] = owner;
values[4] = home;
values[5] = region;
values[6] = members;
values[7] = allies;
values[8] = enemies;
values[9] = born;
values[10] = validity;
values[11] = attacked;
values[12] = lives;
values[13] = ban;
values[14] = deputies;
values[15] = pvp;
return DeserializationUtils.deserializeGuild(configuration, guildManager, values);
}
Aggregations