Search in sources :

Example 56 with Guild

use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.

the class PlayerChat method onChat.

@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onChat(AsyncPlayerChatEvent event) {
    Player player = event.getPlayer();
    Option<User> userOption = userManager.findByPlayer(player);
    if (userOption.isEmpty()) {
        return;
    }
    User user = userOption.get();
    if (user.hasGuild()) {
        Guild guild = user.getGuild().get();
        String message = event.getMessage();
        if (sendGuildMessage(event, message, player, guild)) {
            if (config.logGuildChat) {
                FunnyGuilds.getPluginLogger().info("[Guild Chat] " + message);
            }
            return;
        }
    }
    int points = user.getRank().getPoints();
    String format = event.getFormat();
    format = StringUtils.replace(format, "{RANK}", StringUtils.replace(config.chatRank.getValue(), "{RANK}", String.valueOf(user.getRank().getPosition(DefaultTops.USER_POINTS_TOP))));
    format = StringUtils.replace(format, "{POINTS}", config.chatPoints.getValue());
    format = StringUtils.replace(format, "{POINTS-FORMAT}", NumberRange.inRangeToString(points, config.pointsFormat));
    format = StringUtils.replace(format, "{POINTS}", String.valueOf(points));
    if (user.hasGuild()) {
        format = StringUtils.replace(format, "{TAG}", StringUtils.replace(config.chatGuild.getValue(), "{TAG}", user.getGuild().get().getTag()));
        format = StringUtils.replace(format, "{POS}", StringUtils.replace(config.chatPosition.getValue(), "{POS}", getPositionString(user, config)));
    } else {
        format = StringUtils.replace(format, "{TAG}", "");
        format = StringUtils.replace(format, "{POS}", "");
    }
    event.setFormat(format);
}
Also used : Player(org.bukkit.entity.Player) User(net.dzikoysk.funnyguilds.user.User) Guild(net.dzikoysk.funnyguilds.guild.Guild) EventHandler(org.bukkit.event.EventHandler)

Example 57 with Guild

use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.

the class GuildValidationHandler method validateGuildBans.

private void validateGuildBans() {
    for (Guild guild : this.guildManager.getGuilds()) {
        if (guild.getBan() > System.currentTimeMillis()) {
            continue;
        }
        guild.setBan(0);
        guild.markChanged();
    }
    this.banGuildsCounter = 0;
}
Also used : Guild(net.dzikoysk.funnyguilds.guild.Guild)

Example 58 with Guild

use of net.dzikoysk.funnyguilds.guild.Guild in project FunnyGuilds by FunnyGuilds.

the class ProtectionSystem method isProtected.

public static Option<Triple<Player, Guild, ProtectionType>> isProtected(Player player, Location location, boolean includeBuildLock) {
    if (player == null || location == null) {
        return Option.none();
    }
    if (player.hasPermission("funnyguilds.admin.build")) {
        return Option.none();
    }
    Option<Region> regionOption = FunnyGuilds.getInstance().getRegionManager().findRegionAtLocation(location);
    if (regionOption.isEmpty()) {
        return Option.none();
    }
    Region region = regionOption.get();
    Guild guild = region.getGuild();
    User user = UserUtils.get(player.getUniqueId());
    if (!guild.getMembers().contains(user)) {
        return Option.of(Triple.of(player, guild, ProtectionType.UNAUTHORIZED));
    }
    if (includeBuildLock && !guild.canBuild()) {
        return Option.of(Triple.of(player, guild, ProtectionType.LOCKED));
    }
    if (region.getHeart().contentEquals(location)) {
        PluginConfiguration config = FunnyGuilds.getInstance().getPluginConfiguration();
        Pair<Material, Byte> heartMaterial = config.heart.createMaterial;
        return Option.when(heartMaterial != null && heartMaterial.getLeft() != Material.AIR, Triple.of(player, guild, ProtectionType.HEART));
    }
    return Option.none();
}
Also used : User(net.dzikoysk.funnyguilds.user.User) Region(net.dzikoysk.funnyguilds.guild.Region) PluginConfiguration(net.dzikoysk.funnyguilds.config.PluginConfiguration) Material(org.bukkit.Material) Guild(net.dzikoysk.funnyguilds.guild.Guild)

Aggregations

Guild (net.dzikoysk.funnyguilds.guild.Guild)58 User (net.dzikoysk.funnyguilds.user.User)34 FunnyCommand (net.dzikoysk.funnycommands.stereotypes.FunnyCommand)23 AbstractFunnyCommand (net.dzikoysk.funnyguilds.feature.command.AbstractFunnyCommand)23 Formatter (panda.utilities.text.Formatter)16 Region (net.dzikoysk.funnyguilds.guild.Region)12 Player (org.bukkit.entity.Player)11 PluginConfiguration (net.dzikoysk.funnyguilds.config.PluginConfiguration)9 FunnyGuilds (net.dzikoysk.funnyguilds.FunnyGuilds)8 Option (panda.std.Option)8 Location (org.bukkit.Location)7 Material (org.bukkit.Material)6 EventHandler (org.bukkit.event.EventHandler)6 List (java.util.List)5 ValidationException (net.dzikoysk.funnycommands.resources.ValidationException)5 Team (org.bukkit.scoreboard.Team)5 TimeUnit (java.util.concurrent.TimeUnit)4 HookManager (net.dzikoysk.funnyguilds.feature.hooks.HookManager)4 GuildManager (net.dzikoysk.funnyguilds.guild.GuildManager)4 ChatUtils (net.dzikoysk.funnyguilds.shared.bukkit.ChatUtils)4