Advertisement
Guest User

MyArenaMinigame - QuickSG Main

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