Advertisement
ZP4RKER

zLevelling.java

Aug 19th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.37 KB | None | 0 0
  1. package com.zp4rker.zlevels;
  2.  
  3. import com.zp4rker.zlevels.commands.*;
  4. import com.zp4rker.zlevels.config.Config;
  5. import com.zp4rker.zlevels.config.ConfigManager;
  6. import com.zp4rker.zlevels.events.EntityDeath;
  7. import com.zp4rker.zlevels.events.PlayerJoin;
  8. import com.zp4rker.zlevels.util.Level;
  9. import com.zp4rker.zlevels.util.Perm;
  10. import org.bukkit.Bukkit;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.plugin.java.JavaPlugin;
  14.  
  15. import javax.persistence.PersistenceException;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18.  
  19. @SuppressWarnings("unused")
  20. public class zLevelling extends JavaPlugin {
  21.  
  22.     public void onEnable() {
  23.  
  24.         new MSG(this);
  25.         new Perm(this);
  26.         new Level(this);
  27.  
  28.         getLogger().info("zLevelling Enabled!");
  29.  
  30.         ConfigManager manager = new ConfigManager(this);
  31.         Config levels = manager.getNewConfig("levels.yml");
  32.  
  33.         if(levels.get("levels.1") == null) {
  34.             for(int i = 1; i <= 100; i++) {
  35.  
  36.                 List<String> permsair = new ArrayList<>();
  37.                 permsair.add("permission.node");
  38.                 List<String> permsearth = new ArrayList<>();
  39.                 permsearth.add("permission.node");
  40.                 List<String> permswater = new ArrayList<>();
  41.                 permswater.add("permission.node");
  42.                 List<String> permsfire = new ArrayList<>();
  43.                 permsfire.add("permission.node");
  44.  
  45.                 levels.set("levels." + i + ".air", permsair);
  46.                 levels.set("levels." + i + ".earth", permsearth);
  47.                 levels.set("levels." + i + ".water", permswater);
  48.                 levels.set("levels." + i + ".fire", permsfire);
  49.                 levels.saveConfig();
  50.             }
  51.         }
  52.  
  53.         registerEvents(this, new PlayerJoin(this), new EntityDeath(this));
  54.  
  55.         getCommand("zlevel").setExecutor(new zLevel(this));
  56.         getCommand("addtype").setExecutor(new AddType(this));
  57.         getCommand("level").setExecutor(new GetLevel(this));
  58.         getCommand("addlevel").setExecutor(new AddLevel(this));
  59.         getCommand("addxp").setExecutor(new AddXP(this));
  60.  
  61.         Perm.reloadPerms();
  62.  
  63.         fixLevels();
  64.  
  65.         setupDatabase();
  66.  
  67.     }
  68.  
  69.     public void onDisable() {
  70.  
  71.         getLogger().info("zLevelling Disabled");
  72.  
  73.     }
  74.  
  75.     public static void registerEvents(org.bukkit.plugin.Plugin plugin, Listener... listeners) {
  76.         for (Listener listener : listeners) {
  77.             Bukkit.getServer().getPluginManager().registerEvents(listener, plugin);
  78.         }
  79.     }
  80.  
  81.     public void setupDatabase() {
  82.         try {
  83.             getDatabase().find(PlayerData.class).findRowCount();
  84.         } catch(PersistenceException e) {
  85.             getLogger().info("Installing database for " + getDescription().getName() + " due to first time usage");
  86.             installDDL();
  87.         }
  88.     }
  89.  
  90.     public void fixLevels() {
  91.         for(Player player : Bukkit.getOnlinePlayers()) {
  92.             PlayerData playerData = getDatabase().find(PlayerData.class).where().ieq("playerName", player.getName()).findUnique();
  93.             Level.refreshPlayerLevels(playerData);
  94.         }
  95.     }
  96.  
  97.     @Override
  98.     public List<Class<?>> getDatabaseClasses() {
  99.         List<Class<?>> list = new ArrayList<Class<?>>();
  100.         list.add(PlayerData.class);
  101.         return list;
  102.     }
  103.  
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement