Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gmail.filoghost.healthbar;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.Reader;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLConnection;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.List;
- import net.minecraft.server.v1_5_R2.Scoreboard;
- import net.minecraft.server.v1_5_R2.ScoreboardTeam;
- import net.minecraft.server.v1_5_R2.World;
- import org.bukkit.craftbukkit.v1_5_R2.CraftWorld;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitScheduler;
- import com.gmail.filoghost.healthbar.metrics.Metrics;
- public class Main extends JavaPlugin {
- public static Main main;
- @Override
- public void onEnable() {
- main = this;
- saveDefaultConfig();
- saveConfig();
- FileConfiguration config = getConfig();
- //fix missing entries
- checkDefaultConfigs(config);
- getServer().getPluginManager().registerEvents(new DefaultListener(), this);
- //Choose to alter death messages
- try {
- if (config.getBoolean("send-metrics")) {
- try {
- Metrics metrics = new Metrics(this);
- metrics.start();
- } catch (IOException e) {System.out.println("[HealthBar] Failed to submit stats");}
- }
- if (config.getBoolean("fix-death-messages")) {
- getServer().getPluginManager().registerEvents(new DeathListener(), this);
- }
- if (config.getBoolean("player-bars.enable")) {
- removeHealthTeams();
- create20Teams();
- }
- }
- catch (Exception e) {
- System.out.println(e);
- getServer().getConsoleSender().sendMessage("§c[Health Bar] Failed to load configs, read the exception§r");
- }
- if (config.getBoolean("update-notification")) {
- try { checkForUpdates(); } catch (Exception e) {}
- }
- //end of onEnable
- }
- public void onDisable() {
- removeHealthTeams();
- getServer().getScheduler().cancelAllTasks();
- System.out.println("Health Display disabled.");
- }
- private void checkDefaultConfigs(FileConfiguration config) {
- if (!config.isSet("player-bars.enable")) {config.set("player-bars.enable", true);}
- if (!config.isSet("player-bars.display-style")) {config.set("player-bars.display-style", 1);}
- if (!config.isSet("player-bars.text-mode")) {config.set("player-bars.text-mode", false);}
- if (!config.isSet("mob-bars.enable")) {config.set("mob-bars.enable", true);}
- if (!config.isSet("mob-bars.text-mode")) {config.set("mob-bars.text-mode", false);}
- if (!config.isSet("fix-death-messages")) {config.set("fix-death-messages", true);}
- if (!config.isSet("update-notification")) {config.set("update-notification", true);}
- if (!config.isSet("send-metrics")) {config.set("send-metrics", true);}
- saveConfig();
- }
- @SuppressWarnings("unchecked")
- private void removeHealthTeams() {
- World mcWorld = ((CraftWorld)Bukkit.getWorlds().get(0)).getHandle();
- for (ScoreboardTeam team : (ScoreboardTeam[])mcWorld.getScoreboard().getTeams().toArray(new ScoreboardTeam[mcWorld.getScoreboard().getTeams().size()])) {
- if (team.getName().contains("Health")) {
- mcWorld.getScoreboard().removeTeam(team);
- }
- }
- }
- private void create20Teams() {
- Scoreboard sb = (((CraftWorld)Bukkit.getWorlds().get(0)).getHandle()).getScoreboard();
- if (getConfig().getBoolean("player-bars.text-mode")) {
- sb.createTeam("Health0"); sb.getTeam("Health0").setSuffix("");
- sb.createTeam("Health1"); sb.getTeam("Health1").setSuffix(" - §c1§r/§a20");
- sb.createTeam("Health2"); sb.getTeam("Health2").setSuffix(" - §c2§r/§a20");
- sb.createTeam("Health3"); sb.getTeam("Health3").setSuffix(" - §c3§r/§a20");
- sb.createTeam("Health4"); sb.getTeam("Health4").setSuffix(" - §c4§r/§a20");
- sb.createTeam("Health5"); sb.getTeam("Health5").setSuffix(" - §e5§r/§a20");
- sb.createTeam("Health6"); sb.getTeam("Health6").setSuffix(" - §e6§r/§a20");
- sb.createTeam("Health7"); sb.getTeam("Health7").setSuffix(" - §e7§r/§a20");
- sb.createTeam("Health8"); sb.getTeam("Health8").setSuffix(" - §e8§r/§a20");
- sb.createTeam("Health9"); sb.getTeam("Health9").setSuffix(" - §e9§r/§a20");
- sb.createTeam("Health10"); sb.getTeam("Health10").setSuffix(" - §e10§r/§a20");
- sb.createTeam("Health11"); sb.getTeam("Health11").setSuffix(" - §a11§r/§a20");
- sb.createTeam("Health12"); sb.getTeam("Health12").setSuffix(" - §a12§r/§a20");
- sb.createTeam("Health13"); sb.getTeam("Health13").setSuffix(" - §a13§r/§a20");
- sb.createTeam("Health14"); sb.getTeam("Health14").setSuffix(" - §a14§r/§a20");
- sb.createTeam("Health15"); sb.getTeam("Health15").setSuffix(" - §a15§r/§a20");
- sb.createTeam("Health16"); sb.getTeam("Health16").setSuffix(" - §a16§r/§a20");
- sb.createTeam("Health17"); sb.getTeam("Health17").setSuffix(" - §a17§r/§a20");
- sb.createTeam("Health18"); sb.getTeam("Health18").setSuffix(" - §a18§r/§a20");
- sb.createTeam("Health19"); sb.getTeam("Health19").setSuffix(" - §a19§r/§a20");
- sb.createTeam("Health20"); sb.getTeam("Health20").setSuffix(" - §a20§r/§a20");
- return;
- }
- if (getConfig().getInt("player-bars.display-style") == 2) {
- sb.createTeam("Health0"); sb.getTeam("Health0").setSuffix("");
- sb.createTeam("Health1"); sb.getTeam("Health1").setSuffix(" §cI§8IIIIIIIII");
- sb.createTeam("Health2"); sb.getTeam("Health2").setSuffix(" §cI§8IIIIIIIII");
- sb.createTeam("Health3"); sb.getTeam("Health3").setSuffix(" §cII§8IIIIIIII");
- sb.createTeam("Health4"); sb.getTeam("Health4").setSuffix(" §cII§8IIIIIIII");
- sb.createTeam("Health5"); sb.getTeam("Health5").setSuffix(" §eIII§8IIIIIII");
- sb.createTeam("Health6"); sb.getTeam("Health6").setSuffix(" §eIII§8IIIIIII");
- sb.createTeam("Health7"); sb.getTeam("Health7").setSuffix(" §eIIII§8IIIIII");
- sb.createTeam("Health8"); sb.getTeam("Health8").setSuffix(" §eIIII§8IIIIII");
- sb.createTeam("Health9"); sb.getTeam("Health9").setSuffix(" §eIIIII§8IIIII");
- sb.createTeam("Health10"); sb.getTeam("Health10").setSuffix(" §eIIIII§8IIIII");
- sb.createTeam("Health11"); sb.getTeam("Health11").setSuffix(" §aIIIIII§8IIII");
- sb.createTeam("Health12"); sb.getTeam("Health12").setSuffix(" §aIIIIII§8IIII");
- sb.createTeam("Health13"); sb.getTeam("Health13").setSuffix(" §aIIIIIII§8III");
- sb.createTeam("Health14"); sb.getTeam("Health14").setSuffix(" §aIIIIIII§8III");
- sb.createTeam("Health15"); sb.getTeam("Health15").setSuffix(" §aIIIIIIII§8II");
- sb.createTeam("Health16"); sb.getTeam("Health16").setSuffix(" §aIIIIIIII§8II");
- sb.createTeam("Health17"); sb.getTeam("Health17").setSuffix(" §aIIIIIIIII§8I");
- sb.createTeam("Health18"); sb.getTeam("Health18").setSuffix(" §aIIIIIIIII§8I");
- sb.createTeam("Health19"); sb.getTeam("Health19").setSuffix(" §aIIIIIIIIII");
- sb.createTeam("Health20"); sb.getTeam("Health20").setSuffix(" §aIIIIIIIIII");
- return;
- }
- if (getConfig().getInt("player-bars.display-style") == 3) {
- sb.createTeam("Health0"); sb.getTeam("Health0").setSuffix("");
- sb.createTeam("Health1"); sb.getTeam("Health1").setSuffix(" §c▌");
- sb.createTeam("Health2"); sb.getTeam("Health2").setSuffix(" §c█");
- sb.createTeam("Health3"); sb.getTeam("Health3").setSuffix(" §c█▌");
- sb.createTeam("Health4"); sb.getTeam("Health4").setSuffix(" §c██");
- sb.createTeam("Health5"); sb.getTeam("Health5").setSuffix(" §e██▌");
- sb.createTeam("Health6"); sb.getTeam("Health6").setSuffix(" §e███");
- sb.createTeam("Health7"); sb.getTeam("Health7").setSuffix(" §e███▌");
- sb.createTeam("Health8"); sb.getTeam("Health8").setSuffix(" §e████");
- sb.createTeam("Health9"); sb.getTeam("Health9").setSuffix(" §e████▌");
- sb.createTeam("Health10"); sb.getTeam("Health10").setSuffix(" §e█████");
- sb.createTeam("Health11"); sb.getTeam("Health11").setSuffix(" §a█████▌");
- sb.createTeam("Health12"); sb.getTeam("Health12").setSuffix(" §a██████");
- sb.createTeam("Health13"); sb.getTeam("Health13").setSuffix(" §a██████▌");
- sb.createTeam("Health14"); sb.getTeam("Health14").setSuffix(" §a███████");
- sb.createTeam("Health15"); sb.getTeam("Health15").setSuffix(" §a███████▌");
- sb.createTeam("Health16"); sb.getTeam("Health16").setSuffix(" §a████████");
- sb.createTeam("Health17"); sb.getTeam("Health17").setSuffix(" §a████████▌");
- sb.createTeam("Health18"); sb.getTeam("Health18").setSuffix(" §a█████████");
- sb.createTeam("Health19"); sb.getTeam("Health19").setSuffix(" §a█████████▌");
- sb.createTeam("Health20"); sb.getTeam("Health20").setSuffix(" §a██████████");
- return;
- }
- sb.createTeam("Health0"); sb.getTeam("Health0").setSuffix("");
- sb.createTeam("Health1"); sb.getTeam("Health1").setSuffix(" §c|§8|||||||||");
- sb.createTeam("Health2"); sb.getTeam("Health2").setSuffix(" §c|§8|||||||||");
- sb.createTeam("Health3"); sb.getTeam("Health3").setSuffix(" §c||§8||||||||");
- sb.createTeam("Health4"); sb.getTeam("Health4").setSuffix(" §c||§8||||||||");
- sb.createTeam("Health5"); sb.getTeam("Health5").setSuffix(" §e|||§8|||||||");
- sb.createTeam("Health6"); sb.getTeam("Health6").setSuffix(" §e|||§8|||||||");
- sb.createTeam("Health7"); sb.getTeam("Health7").setSuffix(" §e||||§8||||||");
- sb.createTeam("Health8"); sb.getTeam("Health8").setSuffix(" §e||||§8||||||");
- sb.createTeam("Health9"); sb.getTeam("Health9").setSuffix(" §e|||||§8|||||");
- sb.createTeam("Health10"); sb.getTeam("Health10").setSuffix(" §e|||||§8|||||");
- sb.createTeam("Health11"); sb.getTeam("Health11").setSuffix(" §a||||||§8||||");
- sb.createTeam("Health12"); sb.getTeam("Health12").setSuffix(" §a||||||§8||||");
- sb.createTeam("Health13"); sb.getTeam("Health13").setSuffix(" §a|||||||§8|||");
- sb.createTeam("Health14"); sb.getTeam("Health14").setSuffix(" §a|||||||§8|||");
- sb.createTeam("Health15"); sb.getTeam("Health15").setSuffix(" §a||||||||§8||");
- sb.createTeam("Health16"); sb.getTeam("Health16").setSuffix(" §a||||||||§8||");
- sb.createTeam("Health17"); sb.getTeam("Health17").setSuffix(" §a|||||||||§8|");
- sb.createTeam("Health18"); sb.getTeam("Health18").setSuffix(" §a|||||||||§8|");
- sb.createTeam("Health19"); sb.getTeam("Health19").setSuffix(" §a||||||||||");
- sb.createTeam("Health20"); sb.getTeam("Health20").setSuffix(" §a||||||||||");
- return;
- }
- private void checkForUpdates() {
- Thread thread = new Thread(new Runnable() {
- public void run() {
- try {
- URLConnection url = new URL("http://mcwild.altervista.org/version.html").openConnection();
- url.setConnectTimeout(5000);
- url.setReadTimeout(8000);
- BufferedReader in = new BufferedReader(new InputStreamReader(url.getInputStream()));
- final String version = in.readLine();
- if (!(version.equals(getDescription().getVersion())))
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(main, new Runnable() {
- public void run() {
- getServer().getConsoleSender().sendMessage("§a[HealthBar] Found an update: " + version + " (Your version: " + getDescription().getVersion() + ")");
- getServer().getConsoleSender().sendMessage("§a[HealthBar] Download it at §fbit.ly/health-bar §a(bukkitDev)");
- }
- });
- in.close();
- } catch (Exception e) {}
- }
- });
- thread.start();
- }
- //end of the class
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement