Guest User

Untitled

a guest
Jul 18th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.83 KB | None | 0 0
  1. package com.arnie.doc;
  2.  
  3. import com.arnie.doc.commands.CommandList;
  4. import com.arnie.doc.commands.Rules;
  5. import com.arnie.doc.commands.aztec.AztecAddMember;
  6. import com.arnie.doc.commands.aztec.AztecCommandList;
  7. import com.arnie.doc.commands.aztec.AztecHome;
  8. import com.arnie.doc.commands.aztec.AztecSetSpawn;
  9. import com.arnie.doc.commands.egyptains.EgyptainAddMember;
  10. import com.arnie.doc.commands.egyptains.EgyptainCommandList;
  11. import com.arnie.doc.commands.egyptains.EgyptainHome;
  12. import com.arnie.doc.commands.egyptains.EgyptainSetSpawn;
  13. import com.arnie.doc.commands.mongols.MongolAddMember;
  14. import com.arnie.doc.commands.mongols.MongolCommandList;
  15. import com.arnie.doc.commands.mongols.MongolHome;
  16. import com.arnie.doc.commands.mongols.MongolSetSpawn;
  17. import com.arnie.doc.commands.romans.RomanAddMember;
  18. import com.arnie.doc.commands.romans.RomanCommandList;
  19. import com.arnie.doc.commands.romans.RomanHome;
  20. import com.arnie.doc.commands.romans.RomanSetSpawn;
  21. import com.arnie.doc.listeners.*;
  22. import com.nijiko.permissions.PermissionHandler;
  23. import com.nijikokun.bukkit.Permissions.Permissions;
  24. import java.io.File;
  25. import java.util.Arrays;
  26. import java.util.logging.Level;
  27. import java.util.logging.Logger;
  28. import org.bukkit.Bukkit;
  29. import org.bukkit.Location;
  30. import org.bukkit.command.CommandExecutor;
  31. import org.bukkit.configuration.file.FileConfiguration;
  32. import org.bukkit.configuration.file.YamlConfiguration;
  33. import org.bukkit.entity.Player;
  34. import org.bukkit.plugin.Plugin;
  35. import org.bukkit.plugin.PluginManager;
  36. import org.bukkit.plugin.java.JavaPlugin;
  37.  
  38. public class Main extends JavaPlugin
  39. {
  40.    
  41.     public static File configFile;
  42.     public static File tribesFile;
  43.     public static FileConfiguration config;
  44.     public static FileConfiguration tribes;
  45.    
  46.     public static Location AztecSpawn;
  47.     public static Location RomanSpawn;
  48.     public static Location MongolSpawn;
  49.     public static Location EgyptainSpawn;
  50.    
  51.     static final Logger log = Logger.getLogger("Minecraft");
  52.    
  53.     public static PermissionHandler permissionHandler;
  54.    
  55.     String[] AztecList = { "Aztec1", "Aztec2", "Aztec3" };
  56.     String[] RomanList = { "Roman1", "Roman2", "Roman3" };
  57.     String[] MongolList = { "Mongol1", "Mongol2", "Mongol3" };
  58.     String[] EgyptainList = { "Egyptain1", "Egyptain2", "Egyptain3" };
  59.     String[] CommandList = { "/Rules - Get a list of Server Rules", "/AztecCommands - Get a List of the Aztec Commands", "/RomanCommands - Get a List of the Roman Commands", "/MongolCommands - Get a List of the Mongol Commands", "/EgyptainCommands - Get a List of the Egyptain Commands" };
  60.    
  61.     String[] AztecCommandList = { "/Aztecadd <playername>", "/AztecSetSpawn" };
  62.     String[] RomanCommandList = { "/Romanadd <playername>", "/RomanSetSpawn" };
  63.     String[] MongolCommandList = { "/Mongoladd <playername>", "/MongolSetSpawn" };
  64.     String[] EgyptainCommandList = { "/Egyptainadd <playername>", "/EgyptainSetSpawn" };
  65.    
  66.     String[] Rules = { "Rule1", "Rule2", "Rule3" };
  67.    
  68.    
  69.    
  70.    
  71.     @Override
  72.     public void onEnable()
  73.     {
  74.        
  75.        // Files
  76.        configFile = new File(getDataFolder(), "config.yml");
  77.        tribesFile = new File(getDataFolder(), "tribes.yml");
  78.        config = new YamlConfiguration();
  79.        tribes = new YamlConfiguration();
  80.        
  81.        //  CONFIG HEADER
  82.        config.options().header("Main DawnOfCivilization Config.");
  83.        // World Decalaration
  84.        config.addDefault("DawnOfCivilization WorldName", "world");
  85.        // Control Booleans
  86.        config.addDefault("Control.BlockBreak", true);
  87.        config.addDefault("Control.BlockPlace", true);
  88.        config.addDefault("Control.Craft", true);
  89.        config.addDefault("Control.Sword", true);
  90.        config.addDefault("Control.Pick", true);
  91.        config.addDefault("Control.Axe", true);
  92.        config.addDefault("Control.Hoe", true);
  93.        config.addDefault("Control.Misc", true);
  94.        // CommandList
  95.        config.addDefault("CommandList", Arrays.asList(CommandList));
  96.        // AztecCommandList
  97.        config.addDefault("Aztecs.CommandList", Arrays.asList(AztecCommandList));
  98.        // RomanCommandList
  99.        config.addDefault("Romans.CommandList", Arrays.asList(RomanCommandList));
  100.        // MongolCommandList
  101.        config.addDefault("Mongols.CommanList", Arrays.asList(MongolCommandList));
  102.        // EgyptainCommandList
  103.        config.addDefault("Egyptains.CommandList", Arrays.asList(EgyptainCommandList));
  104.        // Rules
  105.        config.addDefault("Rules", Arrays.asList(Rules));
  106.        // Messages
  107.        config.addDefault("Messages.Join", "ReplaceWithWelcomeMessage");
  108.        // Warning Messages
  109.        config.addDefault("WarningMessages.BlockPlace", "ReplaceWithMessage");
  110.        config.addDefault("WarningMessages.BlockBreak", "ReplaceWithMessage");
  111.        config.addDefault("WarningMessages.Craft", "ReplaceWithMessage");
  112.        config.addDefault("WarningMessages.Damage", "ReplaceWithMessage");
  113.        config.addDefault("WarningMessages.Tools", "ReplaceWithMessage");
  114.        config.addDefault("WarningMessages.Weapon", "ReplaceWithMessage");
  115.        config.addDefault("WarningMessages.Bow", "ReplaceWithMessage");
  116.        config.addDefault("WarningMessages.Misc", "ReplaceWithMessage");
  117.        config.addDefault("WarningMessages.Armour", "ReplaceWithMessage");
  118.        config.addDefault("WarningMessages.NoPermission", "ReplaceWithMessage");
  119.        // Tribe Spawn Points
  120.        config.addDefault("SpawnPoints.Aztecs.X", 100);
  121.        config.addDefault("SpawnPoints.Aztecs.Y", 100);
  122.        config.addDefault("SpawnPoints.Aztecs.Z", 100);
  123.        config.addDefault("SpawnPoints.Romans.X", 100);
  124.        config.addDefault("SpawnPoints.Romans.Y", 100);
  125.        config.addDefault("SpawnPoints.Romans.Z", 100);
  126.        config.addDefault("SpawnPoints.Mongols.X", 100);
  127.        config.addDefault("SpawnPoints.Mongols.Y", 100);
  128.        config.addDefault("SpawnPoints.Mongols.Z", 100);
  129.        config.addDefault("SpawnPoints.Egyptains.X", 100);
  130.        config.addDefault("SpawnPoints.Egyptains.Y", 100);
  131.        config.addDefault("SpawnPoints.Egyptains.Z", 100);
  132.        
  133.        config.options().copyDefaults(true);
  134.        
  135.        // TRIBES HEADER
  136.        tribes.options().header("Tribes File Contains a list of User in each Tribe.");
  137.        // Tribes List
  138.        tribes.addDefault("Tribes.Aztecs", Arrays.asList(AztecList));
  139.        tribes.addDefault("Tribes.Romans", Arrays.asList(RomanList));
  140.        tribes.addDefault("Tribes.Mongols", Arrays.asList(MongolList));
  141.        tribes.addDefault("Tribes.Egyptains", Arrays.asList(EgyptainList));
  142.        
  143.        tribes.options().copyDefaults(true);
  144.        
  145.        saveconfig();
  146.        savetribes();
  147.        
  148.        setupPermissions();
  149.        
  150.        registerCommands();
  151.        
  152.        registerEvents();
  153.        
  154.        log.info("[DawnOfCivilization] is Enabled");
  155.     }
  156.    
  157.     @Override
  158.     public void onDisable(){
  159.        saveconfig();
  160.        savetribes();
  161.        log.info("[DawnOfCivilization] Is Disabled");
  162.     }
  163.    
  164.   public static boolean permissionCheck(Player p, String node) {
  165.     if (Bukkit.getServer().getPluginManager().getPlugin("Permissions") != null) {
  166.       return permissionHandler.has(p, node);
  167.     }
  168.     return p.hasPermission(node);
  169.   }
  170.  
  171.   public void setupPermissions()
  172.   {
  173.     if (permissionHandler != null) {
  174.       return;
  175.     }
  176.  
  177.     Plugin permissionsPlugin = getServer().getPluginManager().getPlugin("Permissions");
  178.  
  179.     if (permissionsPlugin == null) {
  180.       log.info("[DawnOfCivilization] [WARNING] No Permissions Plugin Found. Please install one!");
  181.       return;
  182.     }
  183.  
  184.     permissionHandler = ((Permissions)permissionsPlugin).getHandler();
  185.     log.log(Level.INFO, "[DawnOfCivilization] Permissions Found and will use plugin {0}", ((Permissions)permissionsPlugin).getDescription().getFullName());
  186.     }
  187.     private void registerEvents() {
  188.         PluginManager pm = getServer().getPluginManager();
  189.         // Player Events
  190.         pm.registerEvents(new PlayerRespawn(), this);
  191.         pm.registerEvents(new ControlArmour(), this);
  192.         pm.registerEvents(new ControlBlockBreak(), this);
  193.         pm.registerEvents(new ControlBlockPlace(), this);
  194.         pm.registerEvents(new ControlEntDamage(), this);
  195.         pm.registerEvents(new ControlCrafting(), this);
  196.         //pm.registerEvents(new PlayerFirstJoin(), this);
  197.         // Block Events
  198.         log.info("[DawnOfCivilization] Events Registered");
  199.        
  200.     }
  201.     public void registerCommands() {
  202.     // Aztec Commands
  203.     rc("AztecSetSpawn", new AztecSetSpawn());
  204.     rc("AztecAdd", new AztecAddMember());
  205.     rc("AztecHome", new AztecHome());
  206.     rc("AztecCommands", new AztecCommandList());
  207.     // Egyptain Commands
  208.     rc("EgyptainSetSpawn", new EgyptainSetSpawn());
  209.     rc("EgyptainAdd", new EgyptainAddMember());
  210.     rc("EgyptainHome", new EgyptainHome());
  211.     rc("EgyptainCommands", new EgyptainCommandList());
  212.     // Mongol Commands
  213.     rc("MongolSetSpawn", new MongolSetSpawn());
  214.     rc("MongolAdd", new MongolAddMember());
  215.     rc("MongolHome", new MongolHome());
  216.     rc("MongolCommands", new MongolCommandList());
  217.     // Roman Commands
  218.     rc("RomanSetSpawn", new RomanSetSpawn());
  219.     rc("RomanAdd", new RomanAddMember());
  220.     rc("RomanHome", new RomanHome());
  221.     rc("RomanCommands", new RomanCommandList());
  222.     // General Commands
  223.     rc("CommandList", new CommandList());
  224.     rc("Rules", new Rules());
  225.     log.info("[DawnOfCivilization] Commands Registered");
  226.   }
  227.     public void rc(String command, CommandExecutor ce) {
  228.     Bukkit.getServer().getPluginCommand(command).setExecutor(ce);
  229.   }
  230.  
  231.     public static void saveconfig() {
  232.         try{
  233.             config.save(configFile);
  234.     } catch (Exception e) {
  235.     }
  236.     }
  237.  
  238.     public static void savetribes() {
  239.         try{
  240.             tribes.save(tribesFile);
  241.     } catch (Exception e) {
  242.     }
  243.     }
  244. }
Add Comment
Please, Sign In to add comment