Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.xdSMP.plugins;
- import java.util.HashMap;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.Sound;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.command.ConsoleCommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.permissions.PermissionAttachment;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.Team;
- public class Main extends JavaPlugin implements Listener {
- public static Main plugin;
- public HashMap<UUID, PermissionAttachment> playerPermissions = new HashMap<>();
- @Override
- public void onEnable() {
- plugin = this;
- this.getConfig().options().copyDefaults(true);
- this.getServer().getPluginManager().registerEvents(this, this);
- saveConfig();
- }
- @Override
- public void onDisable() {
- }
- @EventHandler
- public void onPlayerChat(AsyncPlayerChatEvent e) {
- if (e.getPlayer().hasPermission("xdsmp.default")) {
- e.setFormat("§a" + e.getPlayer().getName() + "§7: §f" + e.getMessage());
- } else if (e.getPlayer().hasPermission("xdsmp.helper")) {
- e.setFormat("§7[§2Helper§7] §a" + e.getPlayer().getName() + "§7: §f" + e.getMessage());
- } else if (e.getPlayer().hasPermission("xdsmp.moderator")) {
- e.setFormat("§7[§9Moderator§7] §b" + e.getPlayer().getName() + "§7: §f" + e.getMessage());
- } else if (e.getPlayer().hasPermission("xdsmp.administartor")) {
- e.setFormat("§7[§cAdmin§7] §c§o" + e.getPlayer().getName() + "§7: §f" + e.getMessage());
- } else if (e.getPlayer().hasPermission("xdsmp.owner")) {
- e.setFormat("§7[§4Owner§7] §4§o" + e.getPlayer().getName() + "§7: §f" + e.getMessage());
- } else if (!(e.getPlayer().hasPermission("xdsmp.default"))) {
- e.setFormat("§a" + e.getPlayer().getName() + "§7: §f" + e.getMessage());
- }
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) {
- if (e.getPlayer().hasPermission("xdsmp.staff")) {
- e.setJoinMessage("§b" + e.getPlayer().getName() + " §7joined the server!");
- } else if (!(e.getPlayer().hasPermission("xdsmp.staff"))) {
- e.setJoinMessage("§a" + e.getPlayer().getName() + "§7 joined the server!");
- }
- if (e.getPlayer().getName().equalsIgnoreCase(plugin.getConfig().getString("Owner"))) {
- e.setJoinMessage("§4" + e.getPlayer().getName() + "§7 joined the server!");
- }
- }
- @EventHandler
- public void onPlayerQuit(PlayerQuitEvent e) {
- if (e.getPlayer().hasPermission("xdsmp.staff")) {
- e.setQuitMessage("§b" + e.getPlayer().getName() + "§7 left the server!");
- } else if (!(e.getPlayer().hasPermission("xdsmp.staff"))) {
- e.setQuitMessage("§a" + e.getPlayer().getName() + "§7 left the server!");
- }
- if (e.getPlayer().getName().equalsIgnoreCase(plugin.getConfig().getString("Owner"))) {
- e.setQuitMessage("§4" + e.getPlayer().getName() + "§7 left the server!");
- }
- }
- @EventHandler
- public void onsChat(AsyncPlayerChatEvent e) {
- if (e.getPlayer().hasPermission("xdsmp.staff")) {
- if (e.getMessage().startsWith(plugin.getConfig().getString("Prefix"))) {
- for (Player player : Bukkit.getOnlinePlayers()) {
- if (player.hasPermission("xdsmp.admin")) {
- e.setCancelled(true);
- player.sendMessage("§7[§bstaffchat§7]§7 §b" + e.getPlayer().getName() + "§7:"
- + e.getMessage().replace(plugin.getConfig().getString("Prefix"), ""));
- player.playSound(player.getLocation(), Sound.BLOCK_NOTE_BLOCK_DIDGERIDOO, 1, 1);
- }
- }
- }
- }
- }
- public void staffPermissions(Player player) {
- PermissionAttachment attachment = player.addAttachment(this);
- this.playerPermissions.put(player.getUniqueId(), attachment);
- staffpermissionSetter(player.getUniqueId());
- }
- private void staffpermissionSetter(UUID uuid) {
- PermissionAttachment attachment = this.playerPermissions.get(uuid);
- for (String groups : this.getConfig().getConfigurationSection("Groups").getKeys(false)) {
- for (String permissions : this.getConfig().getStringList("Groups." + groups + ".permissions")) {
- System.out.print(permissions);
- attachment.setPermission(permissions, true);
- }
- }
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (label.equalsIgnoreCase("admin")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- if (p.hasPermission("xdsmp.admin")) {
- if (args[0].equalsIgnoreCase("gamemode")) {
- if (args[1].equalsIgnoreCase("creative")) {
- p.setGameMode(GameMode.CREATIVE);
- p.sendMessage("§c§lADMIN§8§l> §aCreative Mode!");
- Bukkit.broadcast("§7[§bstaffchat§7] §b" + p.getName() + "§7 entered creative mode!",
- "xdsmp.staff");
- }
- if (args[1].equalsIgnoreCase("survival")) {
- p.setGameMode(GameMode.SURVIVAL);
- p.sendMessage("§c§lADMIN§8§l> §aSurvival Mode!");
- Bukkit.broadcast("§7[§bstaffchat§7] §b" + p.getName() + "§7 entered survival mode!",
- "xdsmp.staff");
- }
- if (args[1].equalsIgnoreCase("adventure")) {
- p.setGameMode(GameMode.ADVENTURE);
- p.sendMessage("§c§lADMIN§8§l> §aAdventure Mode!");
- Bukkit.broadcast("§7[§bstaffchat§7] §b" + p.getName() + "§7 entered adventure mode!",
- "xdsmp.staff");
- }
- if (!(args[1].equalsIgnoreCase("creative"))) {
- if (!(args[1].equalsIgnoreCase("survival"))) {
- if (!(args[1].equalsIgnoreCase("adventure"))) {
- p.sendMessage("§c§lADMIN§8§l> §cPlease select a valid gamemode!");
- }
- }
- }
- } else if (args[0].isEmpty()) {
- p.sendMessage("§c§lADMIN§8§l> §cInvalid, please use a valid argument.");
- }
- } else if (!(p.hasPermission("xdsmp.admin"))) {
- p.sendMessage("§c§lADMIN§8§l> §cNo permission!");
- }
- if (args[0].equalsIgnoreCase("help")) {
- if (p.hasPermission("xdsmp.admin")) {
- p.sendMessage("§c§lADMIN §8Help");
- p.sendMessage("§8§l> §7/Admin gamemode <gamemode>");
- p.sendMessage("§8§l> §7Coming soon!");
- }
- }
- if (args[0].equalsIgnoreCase("reload")) {
- saveDefaultConfig();
- reloadConfig();
- p.sendMessage("§7Successfully reloaded §bxdSMP");
- return true;
- }
- }
- }
- if (label.equalsIgnoreCase("staff")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- Player target = Bukkit.getPlayerExact(args[1]);
- if (p.hasPermission("xdsmp.staff.*")) {
- if (args[0].equalsIgnoreCase("add")) {
- if (args[1].equalsIgnoreCase(target.getName())) {
- if (target.hasPermission("xdsmp.staff")) {
- p.sendMessage("§c§lSTAFF§8§l> §7User is already a staff member!");
- } else if (!(target.hasPermission("xdsmp.staff"))) {
- staffPermissions(target);
- p.sendMessage(
- "§c§lSTAFF§8§l> §aSuccessfully added §r" + target.getName() + " §ato Staff!");
- target.sendMessage("§c§lSTAFF§8§l> §aYou have been added to the Staff!");
- target.setOp(true);
- Bukkit.broadcast("§7[§bstaffchat§7] §b" + target.getName()
- + " §7 has been added to the staff team!", "xdsmp.admin");
- }
- } else if (args[1] == null) {
- p.sendMessage("§c§lSTAFF§8§l> §cPlayer is not online!");
- }
- } else if (args[0].isEmpty()) {
- p.sendMessage("§c§lSTAFF§8§l> §cPlease chose arguments add or remove!");
- }
- if (args[0].equalsIgnoreCase("remove")) {
- if (args[1].equalsIgnoreCase(target.getName())) {
- playerPermissions.remove(target.getUniqueId());
- p.sendMessage(
- "§c§lSTAFF§8§l> §aSuccessfully removed §r" + target.getName() + " §afrom Staff!");
- target.sendMessage("§c§lSTAFF§8§l> §aYou have been removed from the Staff!");
- target.setOp(false);
- } else if (args[1] == null) {
- p.sendMessage("§c§lSTAFF§8§l> §cPlayer is not online!");
- }
- }
- } else if (!(p.hasPermission("xdsmp.staff.*"))) {
- p.sendMessage("§c§lSTAFF§8§l> §cNo permission!");
- }
- }
- }
- if (label.equalsIgnoreCase("discord")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- p.sendMessage("§7Join the discord! §bhttps://discord.gg/gESsWNt");
- }
- }
- if (label.equalsIgnoreCase("gamemode")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- p.sendMessage("§c§l>> §7Sorry but this command has been disabled!");
- return false;
- }
- }
- if (label.equalsIgnoreCase("owner")) {
- if (sender instanceof ConsoleCommandSender) {
- Player target = Bukkit.getPlayerExact(args[1]);
- if (args[0].equalsIgnoreCase("set")) {
- if (args[1].equalsIgnoreCase(target.getName())) {
- plugin.getConfig().set("Owner", args[1]);
- target.sendMessage("§a§lYou have been promoted to the Owner of the server!");
- target.setOp(true);
- }
- }
- if (args[0].equalsIgnoreCase("remove")) {
- if (args[1].equalsIgnoreCase(target.getName())) {
- plugin.getConfig().set("Owner", "");
- target.sendMessage("§c§lYou have been removed from being Owner of the server!");
- target.setOp(false);
- }
- }
- } else if (sender instanceof Player) {
- Player p = (Player) sender;
- p.sendMessage("§cThis command can only be sent from a console!");
- return false;
- }
- }
- if (label.equalsIgnoreCase("tl")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- String x = "" + p.getLocation().getX();
- String y = "" + p.getLocation().getY();
- String z = "" + p.getLocation().getZ();
- if (x.contains(".")) x = x.substring(0, x.indexOf("."));
- if (y.contains(".")) y = y.substring(0, y.indexOf("."));
- if (z.contains(".")) z = z.substring(0, z.indexOf("."));
- Bukkit.broadcastMessage("§b" + p.getName() + "§7's location is" + " §bX: " + "§7" + x + " §bY: " + "§7" + y + " §bZ: " + "§7" + z);
- p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BLOCK_XYLOPHONE, 1 ,1);
- } else {
- return false;
- }
- }
- if (label.equalsIgnoreCase("spawn")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- double x = Double.parseDouble(getConfig().getString("SpawnX"));
- double y = Double.parseDouble(getConfig().getString("SpawnY"));
- double z = Double.parseDouble(getConfig().getString("SpawnZ"));
- World world = Bukkit.getWorld(getConfig().getString("World"));
- Location location = new Location(world, x, y, z);
- p.teleport(location);
- p.playSound(p.getLocation(), Sound.BLOCK_BEACON_ACTIVATE, 1, 1);
- p.sendMessage("§7You teleported to §bSpawn§7!");
- } else {
- return false;
- }
- }
- if (label.equalsIgnoreCase("setspawn")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- String x = "" + p.getLocation().getX();
- String y = "" + p.getLocation().getY();
- String z = "" + p.getLocation().getZ();
- String world = "" + p.getLocation().getWorld().getName();
- if (p.hasPermission("xdsmp.spawn.set")) {
- getConfig().set("SpawnX", x);
- getConfig().set("SpawnY", y);
- getConfig().set("SpawnZ", z);
- getConfig().set("World", world);
- p.sendMessage("§7You have set the new spawnpoint");
- saveConfig();
- } else {
- p.sendMessage("§cNo permission!");
- }
- } else {
- return false;
- }
- }
- if (label.equalsIgnoreCase("rules")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- p.sendMessage("§b§lxdSMP §7Rules");
- p.sendMessage("§8§l> §cNO Hacking.");
- p.sendMessage("§8§l> §cNO Griefing.");
- p.sendMessage("§8§l> §cNO Stealing.");
- p.sendMessage("§8§l> §7If you get caught breaking the rules you will be banned.");
- }
- }
- if (label.equalsIgnoreCase("tag")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- Player t = Bukkit.getPlayerExact(args[1]);
- Scoreboard scoreboard = getServer().getScoreboardManager().getMainScoreboard();
- Team team = scoreboard.registerNewTeam(args[2]);
- if (p.hasPermission("xdsmp.tag.set")) {
- if (args[0].equalsIgnoreCase("set")) {
- if (args[1].equalsIgnoreCase(t.getName())) {
- if (!(args[2].isEmpty())) {
- team.setSuffix(ChatColor.translateAlternateColorCodes('&', "§r " + args[2]));
- team.addEntry(args[1]);
- p.sendMessage("§aAdded!");
- } else {
- p.sendMessage("§7Please use §b/tag set <player> <tag>");
- }
- }
- }
- } else {
- p.sendMessage("§cNo permission!");
- }
- }
- }
- if (label.equalsIgnoreCase("op")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- Player t = Bukkit.getPlayer(args[0]);
- if (p.hasPermission("xdsmp.administrator")) {
- if (args[0].equalsIgnoreCase(t.getName())) {
- if (t.isOp() == false) {
- t.setOp(true);
- p.sendMessage("§7Successfully opped §b" + t.getName() + "§7!");
- t.sendMessage("§7You have been opped by §b" + p.getName() + "§7!");
- } else {
- p.sendMessage("§7This player is already opped");
- }
- }
- } else {
- p.sendMessage("§cNo permission!");
- }
- } else if (sender instanceof ConsoleCommandSender) {
- Player t = Bukkit.getPlayer(args[0]);
- if (t.isOp() == false) {
- t.setOp(true);
- Bukkit.getConsoleSender().sendMessage("§7Successfully opped §b" + t.getName());
- t.sendMessage("§7You have been opped by §bConsole§7!");
- } else {
- Bukkit.getConsoleSender().sendMessage("§7This player is already opped!");
- }
- }
- }
- if (label.equalsIgnoreCase("deop")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- Player t = Bukkit.getPlayer(args[0]);
- if (p.hasPermission("xdsmp.administrator")) {
- if (args[0].equalsIgnoreCase(t.getName())) {
- if (t.isOp() == true) {
- t.setOp(false);
- p.sendMessage("§7Successfully de-opped §b " + t.getName() + "§7!");
- t.sendMessage("§7You have been de-opped by §b" + p.getName() + "§7!");
- }
- }
- } else {
- p.sendMessage("§cNo permission!");
- }
- } else if (sender instanceof ConsoleCommandSender) {
- Player t = Bukkit.getPlayer(args[0]);
- if (t.isOp() == true) {
- t.setOp(false);
- Bukkit.getConsoleSender().sendMessage("§7Successfully de-opped §b" + t.getName());
- t.sendMessage("§7You have been de-opped by §bConsole§7!");
- } else {
- Bukkit.getConsoleSender().sendMessage("§7This player is not opped!");
- }
- }
- }
- if (label.equalsIgnoreCase("tablespoon")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- p.playSound(p.getLocation(), Sound.AMBIENT_CAVE ,1,1);
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement