package com.nyancraft.reportrts; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.nyancraft.reportrts.util.Message; public class RTSPermissions { public static boolean isStaff(Player player) { if(ReportRTS.permission != null) return ReportRTS.permission.playerHas(player, "reportrts.staff"); return player.hasPermission("reportrts.staff"); } public static boolean canOpenTicket(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.open")) { sender.sendMessage(Message.errorPermission("reportrts.command.open")); return false; } return true; } if(!sender.hasPermission("reportrts.command.open")) { sender.sendMessage(Message.errorPermission("reportrts.command.open")); return false; } return true; } public static boolean canReadAll(CommandSender sender) { if(ReportRTS.permission != null) return ReportRTS.permission.has(sender, "reportrts.command.read"); return sender.hasPermission("reportrts.command.read"); } public static boolean canReadOwn(CommandSender sender) { if(ReportRTS.permission != null) return ReportRTS.permission.has(sender, "reportrts.command.read.self"); return sender.hasPermission("reportrts.command.read.self"); } public static boolean canReadOwnClosed(CommandSender sender) { if(ReportRTS.permission != null) return ReportRTS.permission.has(sender, "reportrts.command.read.self.open"); return sender.hasPermission("reportrts.command.read.self.open"); } public static boolean canCloseTicket(CommandSender sender) { if(ReportRTS.permission != null) return ReportRTS.permission.has(sender, "reportrts.command.close"); return sender.hasPermission("reportrts.command.close"); } public static boolean canCloseOwnTicket(CommandSender sender) { if(!(sender instanceof Player)) return false; if(ReportRTS.permission != null) return ReportRTS.permission.has(sender, "reportrts.command.close.self"); return sender.hasPermission("reportrts.command.close.self"); } public static boolean canTeleport(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.teleport")) { sender.sendMessage(Message.errorPermission("reportrts.command.teleport")); return false; } return true; } if(!sender.hasPermission("reportrts.command.teleport")) { sender.sendMessage(Message.errorPermission("reportrts.command.teleport")); return false; } return true; } public static boolean canReloadPlugin(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.reload")) { sender.sendMessage(Message.errorPermission("reportrts.command.reload")); return false; } return true; } if(!sender.hasPermission("reportrts.command.reload")) { sender.sendMessage(Message.errorPermission("reportrts.command.reload")); return false; } return true; } public static boolean canBanUser(CommandSender sender) { if(ReportRTS.permission != null){ if(!ReportRTS.permission.has(sender, "reportrts.command.ban")) { sender.sendMessage(Message.errorPermission("reportrts.command.ban")); return false; } return true; } if(!sender.hasPermission("reportrts.command.ban")) { sender.sendMessage(Message.errorPermission("reportrts.command.ban")); return false; } return true; } public static boolean canResetPlugin(CommandSender sender) { if(ReportRTS.permission != null){ if(!ReportRTS.permission.has(sender, "reportrts.command.reset")) { sender.sendMessage(Message.errorPermission("reportrts.command.reset")); return false; } return true; } if(!sender.hasPermission("reportrts.command.reset")) { sender.sendMessage(Message.errorPermission("reportrts.command.reset")); return false; } return true; } public static boolean canPutTicketOnHold(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.hold")) { sender.sendMessage(Message.errorPermission("reportrts.command.hold")); return false; } return true; } if(!sender.hasPermission("reportrts.command.hold")) { sender.sendMessage(Message.errorPermission("reportrts.command.hold")); return false; } return true; } public static boolean canClaimTicket(CommandSender sender) { if(ReportRTS.permission != null){ if(!ReportRTS.permission.has(sender, "reportrts.command.claim")) { sender.sendMessage(Message.errorPermission("reportrts.command.claim")); return false; } return true; } if(!sender.hasPermission("reportrts.command.claim")) { sender.sendMessage(Message.errorPermission("reportrts.command.claim")); return false; } return true; } public static boolean canListStaff(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.list")){ sender.sendMessage(Message.errorPermission("reportrts.command.list")); return false; } return true; } if(!sender.hasPermission("reportrts.command.list")) { sender.sendMessage(Message.errorPermission("reportrts.command.list")); return false; } return true; } public static boolean canBroadcast(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.broadcast")) { sender.sendMessage(Message.errorPermission("reportrts.command.broadcast")); return false; } return true; } if(!sender.hasPermission("reportrts.command.broadcast")) { sender.sendMessage(Message.errorPermission("reportrts.command.broadcast")); return false; } return true; } public static boolean canCheckStats(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.stats")) { sender.sendMessage(Message.errorPermission("reportrts.command.stats")); return false; } return true; } if(!sender.hasPermission("reportrts.command.stats")) { sender.sendMessage(Message.errorPermission("reportrts.command.stats")); return false; } return true; } public static boolean canComment(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.comment")) { sender.sendMessage(Message.errorPermission("reportrts.command.comment")); return false; } return true; } if(!sender.hasPermission("reportrts.command.comment")) { sender.sendMessage(Message.errorPermission("reportrts.command.comment")); return false; } return true; } public static boolean canBypassClaim(CommandSender sender) { if(ReportRTS.permission != null) return ReportRTS.permission.has(sender, "reportrts.bypass.claim"); return sender.hasPermission("reportrts.bypass.claim"); } public static boolean canBypassLimit(CommandSender sender) { if(ReportRTS.permission != null) return ReportRTS.permission.has(sender, "reportrts.bypass.limit"); return sender.hasPermission("reportrts.bypass.limit"); } public static boolean canSeeHelpPage(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.help")) { sender.sendMessage(Message.errorPermission("reportrts.command.help")); return false; } return true; } if(!sender.hasPermission("reportrts.command.help")) { sender.sendMessage(Message.errorPermission("reportrts.command.help")); return false; } return true; } public static boolean canManageNotifications(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.notifications")) { sender.sendMessage(Message.errorPermission("reportrts.command.notifications")); return false; } return true; } if(!sender.hasPermission("reportrts.command.notifications")) { sender.sendMessage(Message.errorPermission("reportrts.command.notifications")); return false; } return true; } public static boolean canAssignTickets(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.assign")) { sender.sendMessage(Message.errorPermission("reportrts.command.assign")); return false; } return true; } if(!sender.hasPermission("reportrts.command.assign")) { sender.sendMessage(Message.errorPermission("reportrts.command.assign")); return false; } return true; } public static boolean canReopenTicket(CommandSender sender) { if(ReportRTS.permission != null) { if(!ReportRTS.permission.has(sender, "reportrts.command.reopen")) { sender.sendMessage(Message.errorPermission("reportrts.command.reopen")); return false; } return true; } if(!sender.hasPermission("reportrts.command.reopen")) { sender.sendMessage(Message.errorPermission("reportrts.command.reopen")); return false; } return true; } }