Advertisement
Guest User

MyArenaMinigame - FFA

a guest
Nov 16th, 2017
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.33 KB | None | 0 0
  1. package me.mindo.MAM.FFA;
  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>> §cFFA requires MyArenaMinigame §7(mam.mindotv.de)");
  31.             Bukkit.getConsoleSender().sendMessage("");
  32.             getPluginLoader().disablePlugin(this);
  33.         } else {
  34.             instance = this;
  35.             loadMinigame();
  36.             this.getCommand("ffa").setExecutor(this);
  37.             this.getCommand("ffa").setTabCompleter(this);
  38.             Bukkit.getPluginManager().registerEvents(this, this);
  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.         // Minigame ####################################
  58.         minigame = new Minigame("FFA", "&6FFA &f[unicode->>] &7", getInstance());
  59.  
  60.         // Listener ####################################
  61.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_BREAK);
  62.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_PLACE);
  63.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_DROP_ITEM);
  64.         minigame.addArenaListener(ArenaState.Lobby, AListener.BLOCK_HUNGER);
  65.  
  66.         // Commands ####################################
  67.         minigame.setCommandArea(CommandArea.LOBBY_MINIGAME);
  68.         minigame.addCommand(MinigameCommands.SPAWN_SHOP.getCommand());
  69.         minigame.addCommand(MinigameCommands.ARENA_SETUP_HELP.getCommand());
  70.  
  71.         // Settings ####################################
  72.         minigame.addSetting(MinigameSetting.DISABLE_LOBBY_ITEMS);
  73.         minigame.addSetting(MinigameSetting.ENABLE_LOBBY_MINIGAME);
  74.         minigame.addSetting(MinigameSetting.ENABLE_RANDOM_RESPAWNKIT);
  75.         minigame.addSetting(MinigameSetting.ENABLE_KILLER_HEAL);
  76.         minigame.addSetting(MinigameSetting.ENABLE_LOBBY_LOCATION_PROTECTION);
  77.         minigame.addSetting(MinigameSetting.ENABLE_JOIN_RANDOMKIT);
  78.         minigame.addSetting(MinigameSetting.ENABLE_RESPAWNKIT);
  79.         minigame.addSetting(MinigameSetting.ENABLE_SHOP);
  80.  
  81.         // Setup ####################################
  82.         minigame.setupMinigame();
  83.  
  84.     }
  85.  
  86.     @Override
  87.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  88.         if (!(sender instanceof Player)) {
  89.             Bukkit.getConsoleSender().sendMessage("§cYou have to be a Player!");
  90.             return false;
  91.         }
  92.         Player p = (Player) sender;
  93.         if (cmd.getName().equalsIgnoreCase("ffa")) {
  94.             getMinigame().setupCommands(p, args);
  95.  
  96.             if (args.length == 1) {
  97.                 if (args[0].equalsIgnoreCase("setuphelp")) {
  98.                     if (minigame.hasSetupPermission(p)) {
  99.                         p.sendMessage("");
  100.                         p.sendMessage("   §f» §a§l" + minigame.getName() + "-Setup");
  101.                         p.sendMessage("");
  102.                         p.sendMessage("§f● §a1. §7Set the lobby/spawn location with §f/ffa setLobby [arena]§7.");
  103.                         p.sendMessage(
  104.                                 "§f● §a2. §7Set the bound locations with §f/ffa setlobbybounds [arena] [low/high]§7.");
  105.                         p.sendMessage("§f● §a3. §7Save the arena with §f/ffa finish [arena]§7.");
  106.                         p.sendMessage("§f● §a4. §7At least you can spawn the shop with §f/ffa spawnshop§7.");
  107.                         p.sendMessage("");
  108.                     }
  109.                 }
  110.             }
  111.         }
  112.  
  113.         return false;
  114.     }
  115.  
  116.     @Override
  117.     public List<String> onTabComplete(CommandSender sender, Command cmd, String arg2, String[] args) {
  118.         if (!(sender instanceof Player)) {
  119.             return null;
  120.         }
  121.         Player p = (Player) sender;
  122.         if (cmd.getName().equalsIgnoreCase("ffa")) {
  123.             return getMinigame().setupTabComplete(p, args);
  124.         }
  125.         return null;
  126.     }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement