Advertisement
MISTERVODKA

Main

Sep 3rd, 2018
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.99 KB | None | 0 0
  1. package TopKills;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Location;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.entity.EntityDeathEvent;
  14. import org.bukkit.event.player.PlayerJoinEvent;
  15. import org.bukkit.plugin.Plugin;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17. import org.bukkit.scheduler.BukkitRunnable;
  18.  
  19. import com.gmail.filoghost.holographicdisplays.api.Hologram;
  20. import com.gmail.filoghost.holographicdisplays.api.HologramsAPI;
  21.  
  22. import net.md_5.bungee.api.ChatColor;
  23.  
  24. public class Main extends JavaPlugin implements Listener {
  25.     private Database db;
  26.     private Hologram h = null;
  27.     @Override
  28.     public void onEnable() {
  29.         File c = new File(this.getDataFolder()+File.separator+"config.yml");
  30.         if(!c.exists()) {
  31.             try {
  32.                 c.createNewFile();
  33.             } catch (IOException e) {
  34.                 e.printStackTrace();
  35.                 this.getConfig().options().copyDefaults(true);
  36.             }
  37.         }
  38.         this.getConfig().options().copyDefaults(true);
  39.         try {
  40.             db = new Database(this);
  41.         } catch (Exception e) {
  42.             e.printStackTrace();
  43.             Bukkit.getPluginManager().disablePlugin(this);
  44.         }
  45.         Bukkit.getPluginManager().registerEvents(this, this);
  46.     }
  47.    
  48.     @EventHandler
  49.     public void onJoin(PlayerJoinEvent event) {
  50.         try {
  51.             db = new Database(this);
  52.             db.addData(event.getPlayer().getName());
  53.         }
  54.         catch(Exception e) {
  55.             e.printStackTrace();
  56.         }
  57.     }
  58.    
  59.     @EventHandler
  60.     public void onKill(EntityDeathEvent event) {
  61.         if(!(event.getEntity().getKiller() instanceof Player)) return;
  62.         try {
  63.             db = new Database(this);
  64.             db.updateData(((Player)event.getEntity().getKiller()).getName());
  65.         }
  66.         catch(Exception e) {
  67.             e.printStackTrace();
  68.         }
  69.     }
  70.    
  71.     @Override
  72.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  73.         if(sender instanceof Player) {
  74.             if(args.length==0) {
  75.                 if(h==null) {
  76.                     try {
  77.                         db = new Database(this);
  78.                         h = HologramsAPI.createHologram(this, new Location(
  79.                                 ((Player) sender).getWorld(),
  80.                                 ((Player)sender).getLocation().getX(),
  81.                                 ((Player)sender).getLocation().getY()+2.5,
  82.                                 ((Player)sender).getLocation().getZ()
  83.                                 ));
  84.                         db.getData(h);
  85.                         reload(h,this);
  86.                        
  87.                         sender.sendMessage(this.getConfig().getString("Messages.Placed").replace("&", "ยง"));
  88.                     } catch (Exception e) {
  89.                         e.printStackTrace();
  90.                     }
  91.                 }
  92.                 else {
  93.                     sender.sendMessage(ChatColor.RED+"Top already placed!");
  94.                 }
  95.             }
  96.             else {
  97.                 return false;
  98.             }
  99.         }
  100.         return true;
  101.     }
  102.    
  103.     public void reload(Hologram h, Plugin p) {
  104.         new BukkitRunnable() {
  105.  
  106.             @Override
  107.             public void run() {
  108.                 try {
  109.                     db = new Database(p);
  110.                     db.getData(h);
  111.                 } catch (Exception e) {
  112.                     e.printStackTrace();
  113.                 }
  114.             }
  115.            
  116.         }.runTaskTimer(this, 0L, this.getConfig().getInt("update-time")*20);
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement