use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class DataModel method validateLoadedData.
default void validateLoadedData() {
FunnyGuilds plugin = FunnyGuilds.getInstance();
GuildManager guildManager = plugin.getGuildManager();
RegionManager regionManager = plugin.getRegionManager();
if (!plugin.getPluginConfiguration().regionsEnabled) {
return;
}
Set<String> guilds = Entity.names(guildManager.getGuilds());
Set<String> regions = Entity.names(regionManager.getRegions());
int repaired = 0;
for (Guild guild : guildManager.getGuilds()) {
if (regions.contains(guild.getName())) {
guilds.remove(guild.getName());
continue;
}
guildManager.deleteGuild(plugin, guild);
repaired++;
}
guilds = Entity.names(guildManager.getGuilds());
regions = Entity.names(regionManager.getRegions());
for (Region region : regionManager.getRegions()) {
if (guilds.contains(region.getName())) {
regions.remove(region.getName());
continue;
}
regionManager.deleteRegion(plugin.getDataModel(), region);
repaired++;
}
if (repaired > 0) {
FunnyGuilds.getPluginLogger().warning("Repaired conflicts: " + repaired);
}
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class SQLDataModel method loadGuilds.
public void loadGuilds() throws SQLException {
GuildManager guildManager = FunnyGuilds.getInstance().getGuildManager();
SQLBasicUtils.getSelectAll(SQLDataModel.tabGuilds).executeQuery(resultAll -> {
while (resultAll.next()) {
Guild guild = DatabaseGuild.deserialize(resultAll);
if (guild != null) {
guild.wasChanged();
}
}
});
SQLBasicUtils.getSelect(SQLDataModel.tabGuilds, "tag", "allies", "enemies").executeQuery(result -> {
while (result.next()) {
Option<Guild> guildOption = guildManager.findByTag(result.getString("tag"));
if (guildOption.isEmpty()) {
continue;
}
Guild guild = guildOption.get();
String alliesList = result.getString("allies");
String enemiesList = result.getString("enemies");
if (alliesList != null && !alliesList.equals("")) {
guild.setAllies(guildManager.findByNames(ChatUtils.fromString(alliesList)));
}
if (enemiesList != null && !enemiesList.equals("")) {
guild.setEnemies(guildManager.findByNames(ChatUtils.fromString(enemiesList)));
}
}
});
for (Guild guild : guildManager.getGuilds()) {
if (guild.getOwner() != null) {
continue;
}
guildManager.deleteGuild(FunnyGuilds.getInstance(), guild);
}
FunnyGuilds.getPluginLogger().info("Loaded guilds: " + guildManager.countGuilds());
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class WarAttackRequest method execute.
@Override
public void execute() throws Exception {
for (Map.Entry<Guild, FakeEntity> entry : GuildEntityHelper.getGuildEntities().entrySet()) {
if (entry.getValue().getId() != entityId) {
continue;
}
Guild guild = entry.getKey();
Option<Player> playerOption = this.user.getPlayer();
if (playerOption.isEmpty()) {
return;
}
Player player = playerOption.get();
if (SecuritySystem.onHitCrystal(player, guild)) {
return;
}
if (!SimpleEventHandler.handle(new GuildHeartAttackEvent(EventCause.SYSTEM, user, guild))) {
return;
}
WarSystem.getInstance().attack(player, entry.getKey());
return;
}
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class DeserializationUtils method deserializeGuild.
@SuppressWarnings("unchecked")
public static Guild deserializeGuild(PluginConfiguration pluginConfiguration, GuildManager guildManager, Object[] values) {
if (values == null) {
FunnyGuilds.getPluginLogger().error("[Deserialize] Cannot deserialize guild! Caused by: null");
return null;
}
UUID guildUuid = (UUID) values[0];
String guildName = (String) values[1];
String rawGuildTag = (String) values[2];
String guildTag = pluginConfiguration.guildTagKeepCase ? rawGuildTag : pluginConfiguration.guildTagUppercase ? rawGuildTag.toUpperCase() : rawGuildTag.toLowerCase();
Guild guild = guildManager.findByUuid(guildUuid).orElseGet(() -> {
Guild newGuild = new Guild(guildUuid, guildName, guildTag);
guildManager.addGuild(newGuild);
return newGuild;
});
guild.setOwner((User) values[3]);
guild.setHome((Location) values[4]);
if (pluginConfiguration.regionsEnabled) {
guild.setRegion((Region) values[5]);
}
guild.setMembers((Set<User>) values[6]);
guild.setAllies((Set<Guild>) values[7]);
guild.setEnemies((Set<Guild>) values[8]);
guild.setBorn((long) values[9]);
guild.setValidity((long) values[10]);
guild.setProtection((long) values[11]);
guild.setLives((int) values[12]);
guild.setBan((long) values[13]);
guild.setDeputies((Set<User>) values[14]);
guild.setPvP((boolean) values[15]);
guild.deserializationUpdate();
return guild;
}
use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.
the class TagCommand method execute.
@FunnyCommand(name = "${admin.tag.name}", permission = "funnyguilds.admin", acceptsExceeded = true)
public void execute(CommandSender sender, String[] args) {
when(args.length < 2, messages.generalNoTagGiven);
Guild guild = GuildValidation.requireGuildByTag(args[0]);
String tag = args[1];
when(guildManager.tagExists(tag), messages.createTagExists);
User admin = AdminUtils.getAdminUser(sender);
String oldTag = guild.getTag();
if (!SimpleEventHandler.handle(new GuildPreTagChangeEvent(AdminUtils.getCause(admin), admin, guild, oldTag, tag))) {
return;
}
guild.setTag(tag);
sendMessage(sender, (messages.adminTagChanged.replace("{OLD_TAG}", oldTag).replace("{TAG}", guild.getTag())));
SimpleEventHandler.handle(new GuildTagChangeEvent(AdminUtils.getCause(admin), admin, guild, oldTag, tag));
}
Aggregations