Advertisement
Guest User

MyArenaMinigame - TeamQuickSG

a guest
Nov 16th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.12 KB | None | 0 0
  1. package me.mindo.TeamQuickSG;
  2.  
  3. import java.util.List;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandExecutor;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.command.TabCompleter;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.plugin.java.JavaPlugin;
  12.  
  13. import me.mindo.MAM.Arena.ArenaState;
  14. import me.mindo.MAM.Minigame.Minigame;
  15. import me.mindo.MAM.Minigame.Commands.MinigameCommands;
  16. import me.mindo.MAM.Minigame.Ultils.AListener;
  17. import me.mindo.MAM.Minigame.Ultils.MinigameSetting;
  18. import me.mindo.MAM.Utils.CommandArea;
  19.  
  20. public class Main extends JavaPlugin implements CommandExecutor, TabCompleter {
  21.  
  22.     private static Main instance;
  23.     private static Minigame minigame;
  24.  
  25.     @Override
  26.     public void onEnable() {
  27.         if (Bukkit.getPluginManager().getPlugin("MyArenaMinigame") == null) {
  28.             Bukkit.getConsoleSender().sendMessage("");
  29.             Bukkit.getConsoleSender().sendMessage("§f>> §cTeamQuickSG requires MyArenaMinigame §7(mam.mindotv.de)");
  30.             Bukkit.getConsoleSender().sendMessage("");
  31.         } else {
  32.             instance = this;
  33.             loadMinigame();
  34.             this.getCommand("teamquicksg").setExecutor(this);
  35.             this.getCommand("teamquicksg").setTabCompleter(this);
  36.             this.getCommand("tqsg").setExecutor(this);
  37.             this.getCommand("tqsg").setTabCompleter(this);
  38.  
  39.         }
  40.     }
  41.  
  42.     @Override
  43.     public void onDisable() {
  44.         instance = null;
  45.         getMinigame().endMinigame();
  46.     }
  47.  
  48.     public static Main getInstance() {
  49.         return instance;
  50.     }
  51.  
  52.     public static Minigame getMinigame() {
  53.         return minigame;
  54.     }
  55.  
  56.     private void loadMinigame() {
  57.  
  58.         // Minigame ####################################
  59.         minigame = new Minigame("TeamQuickSG", "&6TeamQuickSG &f[unicode->>] &7", getInstance());
  60.  
  61.         // Listener ####################################
  62.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_BREAK);
  63.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_PLACE);
  64.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_DAMAGE);
  65.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_HUNGER);
  66.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_INVENTORY_CLICK);
  67.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_DROP_ITEM);
  68.         minigame.addArenaListener(ArenaState.InGame, AListener.BLOCK_BREAK);
  69.         minigame.addArenaListener(ArenaState.InGame, AListener.BLOCK_PLACE);
  70.         minigame.addArenaListener(ArenaState.Ending, AListener.BLOCK_BREAK);
  71.         minigame.addArenaListener(ArenaState.Ending, AListener.BLOCK_PLACE);
  72.         minigame.addArenaListener(ArenaState.Ending, AListener.BLOCK_DAMAGE);
  73.         minigame.addArenaListener(ArenaState.Ending, AListener.BLOCK_HUNGER);
  74.         minigame.addArenaListener(ArenaState.Ending, AListener.BLOCK_DROP_ITEM);
  75.  
  76.         // Commands ####################################
  77.         minigame.setCommandArea(CommandArea.ARENA_TEAMS);
  78.         minigame.addCommand(MinigameCommands.ARENA_SETUP_HELP.getCommand());
  79.  
  80.         // Settings ####################################
  81.         minigame.addSetting(MinigameSetting.ENABLE_SPECTATOR_ON_DEATH);
  82.         minigame.addSetting(MinigameSetting.ENABLE_INGAME_FREEZE);
  83.         minigame.addSetting(MinigameSetting.ENABLE_TEAMS);
  84.         minigame.addSetting(MinigameSetting.ENABLE_PROTECTIONTIME);
  85.  
  86.         // Setup ####################################
  87.         minigame.setupMinigame();
  88.  
  89.     }
  90.  
  91.     @Override
  92.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  93.         if (!(sender instanceof Player)) {
  94.             Bukkit.getConsoleSender().sendMessage("§cYou have to be a Player!");
  95.             return false;
  96.         }
  97.         Player p = (Player) sender;
  98.         if (cmd.getName().equalsIgnoreCase("teamquicksg") || cmd.getName().equalsIgnoreCase("tqsg")) {
  99.             getMinigame().setupCommands(p, args);
  100.  
  101.             if (args.length == 1) {
  102.                 if (args[0].equalsIgnoreCase("setuphelp")) {
  103.                     if (minigame.hasSetupPermission(p)) {
  104.                         p.sendMessage("");
  105.                         p.sendMessage("   §f» §a§l" + minigame.getName() + "-Setup");
  106.                         p.sendMessage("");
  107.                         p.sendMessage("§f● §a1. §7Set the lobby location with §f/tqsg setLobby [arena]§7.");
  108.                         p.sendMessage(
  109.                                 "§f● §a2. §7Set the lobby bound locations with §f/tqsg setlobbybounds [arena] [low/high]§7.");
  110.                         p.sendMessage("§f● §a3. §7Add teams with §f/tqsg addTeam [arena] [teamname] [teamcolor]§7.");
  111.                         p.sendMessage("§f● §a4. §7Set the team spawns with §f/tqsg setTeamSpawn [arena] [teamname]§7.");
  112.                         p.sendMessage("§f● §a5. §7Set the spectator location with §f/tqsg setSpectator [arena]§7.");
  113.                         p.sendMessage(
  114.                                 "§f● §a6. §7Set the ingame bound locations with §f/tqsg setingamebounds [arena] [low/high]§7.");
  115.                         p.sendMessage("§f● §a7. §7Save the arena with §f/tqsg finish [arena]§7.");
  116.                         p.sendMessage("");
  117.                     }
  118.                 }
  119.             }
  120.         }
  121.  
  122.         return false;
  123.     }
  124.  
  125.     @Override
  126.     public List<String> onTabComplete(CommandSender sender, Command cmd, String arg2, String[] args) {
  127.         if (!(sender instanceof Player)) {
  128.             return null;
  129.         }
  130.         Player p = (Player) sender;
  131.         if (cmd.getName().equalsIgnoreCase("tqsg") || cmd.getName().equalsIgnoreCase("teamquicksg")) {
  132.             return getMinigame().setupTabComplete(p, args);
  133.         }
  134.         return null;
  135.     }
  136.  
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement