use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class AxcLeader method execute.
@Override
public void execute(CommandSender sender, String[] args) {
MessagesConfig messages = Messages.getInstance();
if (args.length < 1) {
sender.sendMessage(messages.generalNoTagGiven);
return;
}
Guild guild = GuildUtils.getByTag(args[0]);
if (guild == null) {
sender.sendMessage(messages.generalNoGuildFound);
return;
}
if (args.length < 2) {
sender.sendMessage(messages.generalNoNickGiven);
return;
}
if (!UserUtils.playedBefore(args[1])) {
sender.sendMessage(messages.generalNotPlayedBefore);
return;
}
User user = User.get(args[1]);
if (!guild.getMembers().contains(user)) {
sender.sendMessage(messages.adminUserNotMemberOf);
return;
}
if (guild.getOwner().equals(user)) {
sender.sendMessage(messages.adminAlreadyLeader);
return;
}
User admin = (sender instanceof Player) ? User.get(sender.getName()) : null;
if (!SimpleEventHandler.handle(new GuildMemberLeaderEvent(admin == null ? EventCause.CONSOLE : EventCause.ADMIN, admin, guild, user))) {
return;
}
Player leaderPlayer = user.getPlayer();
guild.setOwner(user);
sender.sendMessage(messages.leaderSet);
if (leaderPlayer != null) {
leaderPlayer.sendMessage(messages.leaderOwner);
}
String message = messages.leaderMembers.replace("{PLAYER}", user.getName());
for (User member : guild.getOnlineMembers()) {
member.getPlayer().sendMessage(message);
}
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class PlayerMove method onMove.
@EventHandler
public void onMove(PlayerMoveEvent event) {
final Location from = event.getFrom();
final Location to = event.getTo();
final Player player = event.getPlayer();
PluginConfig config = Settings.getConfig();
MessagesConfig messages = Messages.getInstance();
Bukkit.getScheduler().runTaskAsynchronously(FunnyGuilds.getInstance(), () -> {
if (from == null || to == null) {
return;
}
if (from.getBlockX() == to.getBlockX() && from.getBlockZ() == to.getBlockZ()) {
return;
}
User user = User.get(player);
Region region = RegionUtils.getAt(to);
if (region == null && user.getEnter()) {
user.setEnter(false);
region = RegionUtils.getAt(from);
if (region != null) {
Guild guild = region.getGuild();
FunnyGuilds.getInstance().getServer().getScheduler().runTaskLaterAsynchronously(FunnyGuilds.getInstance(), () -> {
if (config.createEntityType != null) {
EntityUtil.despawn(guild, player);
}
}, 40L);
MessageTranslator translator = new MessageTranslator().register("{GUILD}", guild.getName()).register("{TAG}", guild.getTag());
if (config.regionEnterNotificationStyle.contains(NotificationStyle.ACTIONBAR)) {
PacketSender.sendPacket(player, NotificationUtil.createActionbarNotification(translator.translate(messages.notificationActionbarLeaveGuildRegion)));
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.BOSSBAR)) {
NotificationBar.set(player, translator.translate(messages.notificationBossbarLeaveGuildRegion), 1, config.regionNotificationTime);
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.CHAT)) {
player.sendMessage(translator.translate(messages.notificationChatLeaveGuildRegion));
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.TITLE)) {
PacketSender.sendPacket(player, NotificationUtil.createTitleNotification(translator.translate(messages.notificationTitleLeaveGuildRegion), translator.translate(messages.notificationSubtitleLeaveGuildRegion), config.notificationTitleFadeIn, config.notificationTitleStay, config.notificationTitleFadeOut));
}
}
} else if (!user.getEnter() && region != null) {
Guild guild = region.getGuild();
if (guild == null || guild.getName() == null) {
return;
}
user.setEnter(true);
FunnyGuilds.getInstance().getServer().getScheduler().runTaskLaterAsynchronously(FunnyGuilds.getInstance(), () -> {
if (config.createEntityType != null) {
EntityUtil.spawn(guild, player);
}
}, 40L);
MessageTranslator translator = new MessageTranslator().register("{GUILD}", guild.getName()).register("{TAG}", guild.getTag());
if (config.regionEnterNotificationStyle.contains(NotificationStyle.ACTIONBAR)) {
PacketSender.sendPacket(player, NotificationUtil.createActionbarNotification(translator.translate(messages.notificationActionbarEnterGuildRegion)));
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.BOSSBAR)) {
NotificationBar.set(player, translator.translate(messages.notificationBossbarEnterGuildRegion), 1, config.regionNotificationTime);
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.CHAT)) {
player.sendMessage(translator.translate(messages.notificationChatEnterGuildRegion));
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.TITLE)) {
PacketSender.sendPacket(player, NotificationUtil.createTitleNotification(translator.translate(messages.notificationTitleEnterGuildRegion), translator.translate(messages.notificationSubtitleEnterGuildRegion), config.notificationTitleFadeIn, config.notificationTitleStay, config.notificationTitleFadeOut));
}
if (player.hasPermission("funnyguilds.admin.notification")) {
return;
}
if (user.getNotificationTime() > 0 && System.currentTimeMillis() < user.getNotificationTime()) {
return;
}
if (!config.regionEnterNotificationGuildMember && user.getGuild() != null && guild.getTag().equals(user.getGuild().getTag())) {
return;
}
translator = new MessageTranslator().register("{PLAYER}", player.getName());
for (User u : guild.getOnlineMembers()) {
if (u == null) {
continue;
}
Player member = u.getPlayer();
if (member == null || !member.isOnline()) {
continue;
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.ACTIONBAR)) {
PacketSender.sendPacket(member, NotificationUtil.createActionbarNotification(translator.translate(messages.notificationActionbarIntruderEnterGuildRegion)));
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.BOSSBAR)) {
NotificationBar.set(member, translator.translate(messages.notificationBossbarIntruderEnterGuildRegion), 1, config.regionNotificationTime);
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.CHAT)) {
member.sendMessage(translator.translate(messages.notificationChatIntruderEnterGuildRegion));
}
if (config.regionEnterNotificationStyle.contains(NotificationStyle.TITLE)) {
PacketSender.sendPacket(member, NotificationUtil.createTitleNotification(translator.translate(messages.notificationTitleIntruderEnterGuildRegion), translator.translate(messages.notificationSubtitleIntruderEnterGuildRegion), config.notificationTitleFadeIn, config.notificationTitleStay, config.notificationTitleFadeOut));
}
}
user.setNotificationTime(System.currentTimeMillis() + 1000 * config.regionNotificationCooldown);
}
});
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class ProtectionSystem method build.
public static boolean build(Player player, Location location, boolean build) {
if (player == null || location == null) {
return false;
}
if (player.hasPermission("funnyguilds.admin.build")) {
return false;
}
Region region = RegionUtils.getAt(location);
if (region == null) {
return false;
}
Guild guild = region.getGuild();
if (guild == null || guild.getName() == null) {
return false;
}
User user = User.get(player);
if (guild.getMembers().contains(user)) {
if (build && !guild.canBuild()) {
player.sendMessage(Messages.getInstance().regionExplodeInteract.replace("{TIME}", Long.toString(TimeUnit.MILLISECONDS.toSeconds(guild.getBuild() - System.currentTimeMillis()))));
return true;
} else if (location.equals(region.getCenter().getBlock().getRelative(BlockFace.DOWN).getLocation())) {
MaterialData md = Settings.getConfig().createMaterialData;
if (md != null && md.getItemType() != Material.AIR) {
return true;
}
}
return false;
}
player.sendMessage(Messages.getInstance().regionOther);
return true;
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class SecuritySystem method checkPlayer.
public boolean checkPlayer(Player player, SecurityType type, Object... values) {
if (!Settings.getConfig().regionsEnabled) {
return false;
}
if (isBanned(User.get(player))) {
return true;
}
switch(type) {
case FREECAM:
Guild guild = null;
for (Object value : values) {
if (value instanceof Guild) {
guild = (Guild) value;
}
}
if (guild == null) {
return false;
}
Region region = RegionUtils.get(guild.getRegion());
if (region == null) {
return false;
}
int dis = (int) region.getCenter().distance(player.getLocation());
if (dis < 6) {
return false;
}
for (Player w : Bukkit.getOnlinePlayers()) {
if (w.isOp()) {
w.sendMessage(SecurityUtils.getBustedMessage(player.getName(), "FreeCam"));
w.sendMessage(SecurityUtils.getNoteMessage("Zaatakowal krysztal z odleglosci &c" + dis + " kratek"));
}
}
blocked.add(User.get(player));
return true;
case EVERYTHING:
break;
default:
break;
}
return false;
}
use of net.dzikoysk.funnyguilds.basic.Guild in project FunnyGuilds by FunnyGuilds.
the class Parser method parseRank.
public static String parseRank(String var) {
if (!var.contains("TOP-")) {
return null;
}
int i = getIndex(var);
if (i <= 0) {
FunnyLogger.error("Index in TOP- must be greater or equal to 1!");
return null;
}
PluginConfig c = Settings.getConfig();
List<Guild> rankedGuilds = new ArrayList<>();
for (int in = 1; in <= RankManager.getInstance().guilds(); in++) {
Guild guild = RankManager.getInstance().getGuild(in);
if (guild != null && guild.getMembers().size() >= c.minMembersToInclude) {
rankedGuilds.add(guild);
}
}
if (var.contains("GTOP")) {
if (rankedGuilds.isEmpty() || i - 1 >= rankedGuilds.size()) {
return StringUtils.replace(var, "{GTOP-" + i + '}', Messages.getInstance().gtopNoValue);
} else {
Guild guild = rankedGuilds.get(i - 1);
int points = guild.getRank().getPoints();
String pointsFormat = c.gtopPoints;
if (!pointsFormat.isEmpty()) {
pointsFormat = pointsFormat.replace("{POINTS-FORMAT}", IntegerRange.inRange(points, c.pointsFormat));
pointsFormat = pointsFormat.replace("{POINTS}", String.valueOf(points));
}
return StringUtils.replace(var, "{GTOP-" + i + '}', guild.getTag() + pointsFormat);
}
} else if (var.contains("PTOP")) {
User user = RankManager.getInstance().getUser(i);
if (user != null) {
int points = user.getRank().getPoints();
String pointsFormat = c.ptopPoints;
if (!pointsFormat.isEmpty()) {
pointsFormat = pointsFormat.replace("{POINTS-FORMAT}", IntegerRange.inRange(points, c.pointsFormat));
pointsFormat = pointsFormat.replace("{POINTS}", String.valueOf(points));
}
return StringUtils.replace(var, "{PTOP-" + i + '}', (user.isOnline() ? c.ptopOnline : c.ptopOffline) + user.getName() + pointsFormat);
} else {
return StringUtils.replace(var, "{PTOP-" + i + '}', Messages.getInstance().ptopNoValue);
}
}
return null;
}
Aggregations