use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class IndividualPrefix method addGuild.
public void addGuild(Guild to) {
if (to == null) {
return;
}
Scoreboard scoreboard = getUser().getScoreboard();
Guild guild = getUser().getGuild();
if (guild != null) {
if (guild.equals(to)) {
initialize();
return;
}
Team team = scoreboard.getTeam(to.getTag());
if (team == null) {
team = scoreboard.registerNewTeam(to.getTag());
}
for (User u : to.getMembers()) {
if (!team.hasEntry(u.getName())) {
team.addEntry(u.getName());
}
}
String prefix = Settings.getConfig().prefixOther;
if (guild.getAllies().contains(to)) {
prefix = Settings.getConfig().prefixAllies;
}
if (guild.getEnemies().contains(to)) {
prefix = Settings.getConfig().prefixEnemies;
}
team.setPrefix(replace(prefix, "{TAG}", to.getTag()));
} else {
Team team = scoreboard.getTeam(to.getTag());
if (team == null) {
team = scoreboard.registerNewTeam(to.getTag());
}
for (User u : to.getMembers()) {
if (!team.hasEntry(u.getName())) {
team.addEntry(u.getName());
}
}
team.setPrefix(replace(Settings.getConfig().prefixOther, "{TAG}", to.getTag()));
}
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class Data method invitations.
private void invitations(DO todo) {
File file = new File(folder, "invitations.yml");
if (todo == DO.SAVE) {
file.delete();
Yamler pc = new Yamler(file);
for (Guild guild : GuildUtils.getGuilds()) {
List<InvitationList.Invitation> invitationList = InvitationList.getInvitationsFrom(guild);
for (InvitationList.Invitation invitation : invitationList) {
List<String> allyInvitations = new ArrayList<>();
List<String> playerInvitations = new ArrayList<>();
if (invitation.isToGuild()) {
playerInvitations.add(invitation.getFor().toString());
} else if (invitation.isToAlly()) {
allyInvitations.add(invitation.getFor().toString());
}
pc.set(invitation.getFrom().toString() + ".guilds", allyInvitations);
pc.set(invitation.getFrom().toString() + ".players", playerInvitations);
}
}
pc.save();
} else if (todo == DO.LOAD) {
if (!file.exists()) {
return;
}
Yamler pc = new Yamler(file);
for (String key : pc.getKeys(false)) {
Guild guild = GuildUtils.getByUUID(UUID.fromString(key));
if (guild != null) {
List<String> allyInvitations = pc.getStringList(key + ".guilds");
List<String> playerInvitations = pc.getStringList(key + ".players");
for (String ally : allyInvitations) {
Guild allyGuild = GuildUtils.getByUUID(UUID.fromString(ally));
if (allyGuild != null) {
InvitationList.createInvitation(guild, allyGuild);
}
}
for (String player : playerInvitations) {
InvitationList.createInvitation(guild, UUID.fromString(player));
}
}
}
}
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class BungeeTabListPlusHook method initVariableHook.
public static void initVariableHook() {
FunnyGuilds plugin = FunnyGuilds.getInstance();
PluginConfig config = Settings.getConfig();
MessagesConfig messages = Messages.getInstance();
// Guilds number
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_guilds") {
@Override
public String getReplacement(Player player) {
return String.valueOf(GuildUtils.getGuilds().size());
}
});
// Users number
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_users") {
@Override
public String getReplacement(Player player) {
return String.valueOf(UserUtils.getUsers().size());
}
});
// User deaths
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_deaths") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
return String.valueOf(u.getRank().getDeaths());
}
});
// User KDR
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_kdr") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
return String.format(Locale.US, "%.2f", u.getRank().getKDR());
}
});
// User kills
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_kills") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
return String.valueOf(u.getRank().getKills());
}
});
// User points (formatted)
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_points-format") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
return IntegerRange.inRange(u.getRank().getPoints(), config.pointsFormat).replace("{POINTS}", String.valueOf(u.getRank().getPoints()));
}
});
// User points
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_points") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
return String.valueOf(u.getRank().getPoints());
}
});
// User position
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_position") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
return String.valueOf(u.getRank().getPosition());
}
});
// Guild allies number
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-allies") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getAllies().size());
}
});
// Guild deaths
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-deaths") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getRank().getDeaths());
}
});
// Guild deputies number
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-deputies") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? messages.gDeputiesNoValue : (g.getDeputies().isEmpty() ? messages.gDeputiesNoValue : StringUtils.toString(UserUtils.getNames(g.getDeputies()), false));
}
});
// Guild deputy (random name)
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-deputy") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? messages.gDeputyNoValue : (g.getDeputies().isEmpty() ? messages.gDeputyNoValue : g.getDeputies().get(RandomUtils.RANDOM_INSTANCE.nextInt(g.getDeputies().size())).getName());
}
});
// Guild KDR
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-kdr") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0.00" : String.format(Locale.US, "%.2f", g.getRank().getKDR());
}
});
// Guild kills
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-kills") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getRank().getKills());
}
});
// Guild lives
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-lives") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getLives());
}
});
// Guild members number
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-members-all") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getMembers().size());
}
});
// Guild online members number
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-members-online") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getOnlineMembers().size());
}
});
// Guild name
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-name") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? messages.gNameNoValue : g.getName();
}
});
// Guild owner name
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-owner") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? messages.gOwnerNoValue : g.getOwner().getName();
}
});
// Guild points (formatted)
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-points-format") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? IntegerRange.inRange(0, config.pointsFormat).replace("{POINTS}", "0") : IntegerRange.inRange(g.getRank().getPoints(), config.pointsFormat).replace("{POINTS}", String.valueOf(g.getRank().getPoints()));
}
});
// Guild points
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-points") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getRank().getPoints());
}
});
// Guild position
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-position") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? "0" : String.valueOf(g.getRank().getPosition());
}
});
// Guild region size
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-region-size") {
@Override
public String getReplacement(Player player) {
if (!config.regionsEnabled) {
return messages.gRegionSizeNoValue;
}
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? messages.gRegionSizeNoValue : String.valueOf(g.getRegionData().getSize());
}
});
// Guild tag
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-tag") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? messages.gTagNoValue : g.getTag();
}
});
// Guild validity
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_g-validity") {
@Override
public String getReplacement(Player player) {
User u = User.get(player);
if (u == null) {
return "";
}
Guild g = u.getGuild();
return g == null ? messages.gValidityNoValue : config.dateFormat.format(g.getValidityDate());
}
});
// Guild TOP, positions 1-100
for (int i = 1; i <= 100; i++) {
final int index = i;
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_gtop-" + index) {
@Override
public String getReplacement(Player player) {
return Parser.parseRank("{GTOP-" + index + "}");
}
});
}
// User TOP, positions 1-100
for (int i = 1; i <= 100; i++) {
final int index = i;
BungeeTabListPlusBukkitAPI.registerVariable(plugin, new Variable("funnyguilds_ptop-" + index) {
@Override
public String getReplacement(Player player) {
return Parser.parseRank("{PTOP-" + index + "}");
}
});
}
FunnyLogger.info("BungeeTabListPlus hook has been enabled!");
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class EntityExplode method onExplode.
@EventHandler
public void onExplode(EntityExplodeEvent event) {
List<Block> destroyedBlocks = event.blockList();
Location explodeLocation = event.getLocation();
PluginConfig pluginConfiguration = Settings.getConfig();
List<Location> sphere = SpaceUtils.sphere(explodeLocation, pluginConfiguration.explodeRadius, pluginConfiguration.explodeRadius, false, true, 0);
Map<Material, Double> materials = pluginConfiguration.explodeMaterials;
destroyedBlocks.removeIf(blocks -> {
Region region = RegionUtils.getAt(blocks.getLocation());
return region != null && region.getGuild() != null && !region.getGuild().canBeAttacked();
});
Region region = RegionUtils.getAt(explodeLocation);
if (region != null) {
Guild guild = region.getGuild();
if (pluginConfiguration.guildTNTProtectionEnabled) {
LocalDateTime start = pluginConfiguration.guildTNTProtectionStartTime;
LocalDateTime end = pluginConfiguration.guildTNTProtectionEndTime;
LocalDateTime now = LocalDateTime.now();
if ((now.isAfter(start) || now.equals(start)) && (now.isBefore(end) || now.equals(end))) {
event.setCancelled(true);
return;
}
}
if (pluginConfiguration.warTntProtection & !guild.canBeAttacked()) {
event.setCancelled(true);
return;
}
Location protect = region.getCenter().getBlock().getRelative(BlockFace.DOWN).getLocation();
destroyedBlocks.removeIf(block -> block.getLocation().equals(protect));
guild.setBuild(System.currentTimeMillis() + Settings.getConfig().regionExplode * 1000L);
for (User user : guild.getMembers()) {
Player player = user.getPlayer();
if (player != null) {
if (informationMessageCooldowns.cooldown(player, TimeUnit.SECONDS, pluginConfiguration.infoPlayerCooldown)) {
player.sendMessage(Messages.getInstance().regionExplode.replace("{TIME}", Integer.toString(Settings.getConfig().regionExplode)));
}
}
}
}
for (Location l : sphere) {
Material material = l.getBlock().getType();
if (!materials.containsKey(material)) {
continue;
}
if (material == Material.WATER || material == Material.LAVA) {
if (SpaceUtils.chance(materials.get(material))) {
l.getBlock().setType(Material.AIR);
}
} else {
if (SpaceUtils.chance(materials.get(material))) {
l.getBlock().breakNaturally();
}
}
}
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class PlayerCommand method onCommand.
@EventHandler
public void onCommand(PlayerCommandPreprocessEvent event) {
Player player = event.getPlayer();
if (player.hasPermission("funnyguilds.admin")) {
return;
}
String[] splited = event.getMessage().split("\\s+");
if (splited.length == 0) {
return;
}
String command = splited[0];
for (String s : Settings.getConfig().regionCommands) {
if (("/" + s).equalsIgnoreCase(command)) {
command = null;
break;
}
}
if (command != null) {
return;
}
Region region = RegionUtils.getAt(player.getLocation());
if (region == null) {
return;
}
Guild guild = region.getGuild();
User user = User.get(player);
if (guild.getMembers().contains(user)) {
return;
}
event.setCancelled(true);
player.sendMessage(Messages.getInstance().regionCommand);
}
Aggregations