Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.roei12.mh2;
- import com.roei12.mh2.PlayerListener;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.logging.Logger;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- public class main extends JavaPlugin {
- Logger log = Logger.getLogger("minecraft");
- HashMap perms = new HashMap();
- ArrayList worlds = new ArrayList();
- String np;
- double dh;
- boolean vh;
- public main() {
- this.np = ChatColor.RED + "You don\'t have permission to use this command";
- this.dh = 20.0D;
- this.vh = false;
- }
- public void onEnable() {
- this.log.info("[MoreHearts V2] Has been enabled!");
- Bukkit.getPluginManager().registerEvents(new PlayerListener(this), this);
- if(!this.getConfig().contains("Players")) {
- int o = 1000 + (int)(Math.random() * 999999.0D);
- this.getConfig().createSection("Players");
- this.getConfig().createSection("Permissions");
- this.getConfig().set("DefaultHearts", Integer.valueOf(10));
- this.getConfig().set("EnableIn", ((World)Bukkit.getWorlds().get(0)).getName());
- this.getConfig().set("HideHearts", Boolean.valueOf(false));
- this.getConfig().set("ResetPassword", Integer.valueOf(o));
- this.saveConfig();
- }
- this.dh = this.getConfig().getDouble("DefaultHearts") * 2.0D;
- this.vh = this.getConfig().getBoolean("HideHearts");
- this.refperms();
- this.refworlds();
- Player[] var4;
- int var3 = (var4 = Bukkit.getOnlinePlayers()).length;
- for(int var2 = 0; var2 < var3; ++var2) {
- Player var5 = var4[var2];
- this.refpl(var5);
- }
- }
- public void onDisable() {
- this.log.info("[MoreHearts V2] Has been disabled!");
- Player[] var4;
- int var3 = (var4 = Bukkit.getOnlinePlayers()).length;
- int a;
- for(a = 0; a < var3; ++a) {
- Player ws = var4[a];
- this.getConfig().set("Players." + ws.getName() + ".LastSeenAs", ws.getName());
- this.getConfig().set("Players." + ws.getName() + ".HP", Double.valueOf(ws.getHealth()));
- ws.setMaxHealth(20.0D);
- }
- String var5 = (String)this.worlds.get(0);
- for(a = 1; a < this.worlds.size(); ++a) {
- var5 = var5 + "," + (String)this.worlds.get(a);
- }
- this.getConfig().set("EnableIn", var5);
- this.saveConfig();
- }
- public boolean onCommand(CommandSender s, Command cmd, String command, String[] args) {
- Player opl;
- if(command.equalsIgnoreCase("hearts") && s instanceof Player) {
- if(!s.hasPermission("morehearts.hearts")) {
- s.sendMessage(this.np);
- return false;
- }
- opl = (Player)s;
- s.sendMessage(ChatColor.AQUA + "You have " + ChatColor.GREEN + opl.getHealth() / 2.0D + ChatColor.AQUA + "/" + ChatColor.GREEN + opl.getMaxHealth() / 2.0D + ChatColor.AQUA + " hearts!");
- }
- if(command.equalsIgnoreCase("mh") || command.equalsIgnoreCase("morehearts")) {
- if(args.length == 0) {
- if(!s.hasPermission("morehearts.help")) {
- s.sendMessage(this.np);
- return false;
- }
- this.sendMessages(s, ChatColor.GREEN + "MoreHearts V2 help:;" + ChatColor.AQUA + "<> - Required " + ChatColor.GREEN + "[] - Optional;" + ChatColor.AQUA + "/mh refresh -" + ChatColor.GREEN + " reload config;" + ChatColor.AQUA + "/mh add <player> <amount> - " + ChatColor.GREEN + "Add hearts to a player;" + ChatColor.AQUA + "/mh set <player> <amount> - " + ChatColor.GREEN + "Set hearts for a player;" + ChatColor.AQUA + "/mh addworld [world] - " + ChatColor.GREEN + "Enable MoreHearts in a world;" + ChatColor.AQUA + "/mh addallworlds - " + ChatColor.GREEN + "Will enable morehearts in every loaded world;" + ChatColor.AQUA + "/mh removeworld [world] - " + ChatColor.GREEN + "Remove a world;" + ChatColor.AQUA + "/mh worlds - " + ChatColor.GREEN + "All world that MoreHearts is enabled in;" + ChatColor.AQUA + "/mh reset <Password> - " + ChatColor.GREEN + "Delete config;" + ChatColor.AQUA + "/hearts - " + ChatColor.GREEN + "Check your real health (useful only if HideHearts is off");
- } else {
- Player[] var8;
- int var12;
- Player var14;
- int var15;
- if(args.length == 1) {
- if(!s.hasPermission("morehearts." + args[0].toLowerCase())) {
- s.sendMessage(this.np);
- return false;
- }
- if(args[0].equalsIgnoreCase("worlds")) {
- boolean var11 = true;
- s.sendMessage(ChatColor.GREEN + "MoreHearts is enabled in:");
- for(Iterator d = this.worlds.iterator(); d.hasNext(); var11 = !var11) {
- String p = (String)d.next();
- if(var11) {
- s.sendMessage(ChatColor.AQUA + "- " + p);
- } else {
- s.sendMessage(ChatColor.GREEN + "- " + p);
- }
- }
- } else if(args[0].equalsIgnoreCase("refresh")) {
- this.reloadConfig();
- this.refperms();
- this.refworlds();
- var15 = (var8 = Bukkit.getOnlinePlayers()).length;
- for(var12 = 0; var12 < var15; ++var12) {
- opl = var8[var12];
- this.refpl(opl);
- }
- s.sendMessage(ChatColor.GREEN + "Everything has been refreshed!");
- } else {
- Player[] eh;
- int var18;
- if(args[0].equalsIgnoreCase("addworld")) {
- if(s instanceof Player) {
- opl = (Player)s;
- if(!this.worlds.contains(opl.getWorld().getName())) {
- this.worlds.add(opl.getWorld().getName());
- opl.sendMessage(ChatColor.GREEN + "The world \'" + ChatColor.GREEN + opl.getWorld().getName() + ChatColor.AQUA + "\' has been added!");
- var18 = (eh = Bukkit.getOnlinePlayers()).length;
- for(var15 = 0; var15 < var18; ++var15) {
- var14 = eh[var15];
- this.refpl(var14);
- }
- this.saveworlds();
- } else {
- opl.sendMessage(ChatColor.RED + "MoreHearts is already enabled in this world");
- }
- }
- } else if(args[0].equalsIgnoreCase("removeworld")) {
- if(s instanceof Player) {
- opl = (Player)s;
- if(this.worlds.contains(opl.getWorld().getName())) {
- this.worlds.remove(opl.getWorld().getName());
- opl.sendMessage(ChatColor.GREEN + "MoreHearts is no longer enabled in the world \'" + ChatColor.GREEN + opl.getWorld().getName() + ChatColor.AQUA + "\'");
- var18 = (eh = Bukkit.getOnlinePlayers()).length;
- for(var15 = 0; var15 < var18; ++var15) {
- var14 = eh[var15];
- this.refpl(var14);
- }
- this.saveworlds();
- } else {
- opl.sendMessage(ChatColor.RED + "MoreHearts is not enabled in this world");
- }
- }
- } else if(args[0].equalsIgnoreCase("addallworlds")) {
- for(Iterator var16 = Bukkit.getWorlds().iterator(); var16.hasNext(); this.saveworlds()) {
- World var13 = (World)var16.next();
- if(!this.worlds.contains(var13.getName())) {
- this.worlds.add(var13.getName());
- }
- }
- var15 = (var8 = Bukkit.getOnlinePlayers()).length;
- for(var12 = 0; var12 < var15; ++var12) {
- opl = var8[var12];
- this.refpl(opl);
- }
- s.sendMessage(ChatColor.GREEN + "MoreHearts has been enabled in every loaded world!");
- } else if(args[0].equalsIgnoreCase("reset")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh reset <Password>");
- } else if(args[0].equalsIgnoreCase("add")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh add <Player> <Amount>");
- } else if(args[0].equalsIgnoreCase("set")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh set <Player> <Amount>");
- } else {
- s.sendMessage(ChatColor.RED + "Unknown command.");
- }
- }
- } else if(args.length == 2) {
- if(!s.hasPermission("morehearts." + args[0].toLowerCase())) {
- s.sendMessage(this.np);
- } else if(args[0].equalsIgnoreCase("refresh")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh refresh");
- } else if(args[0].equalsIgnoreCase("add")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh add <Player> <amount>");
- } else if(args[0].equalsIgnoreCase("set")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh set <Player <Amount>");
- } else if(args[0].equalsIgnoreCase("addworld")) {
- if(!this.worlds.contains(args[1])) {
- this.worlds.add(args[1]);
- this.saveworlds();
- s.sendMessage(ChatColor.GREEN + "MoreHearts has been enabled in the world \'" + ChatColor.AQUA + args[1] + ChatColor.GREEN + "\'");
- } else {
- s.sendMessage(ChatColor.GREEN + "MoreHearts is already disabled in the world \'" + ChatColor.AQUA + "\'");
- }
- } else if(args[0].equalsIgnoreCase("addallworlds")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh addallworlds");
- } else if(args[0].equalsIgnoreCase("removeworld")) {
- if(this.worlds.contains(args[1])) {
- this.worlds.remove(args[1]);
- this.saveworlds();
- s.sendMessage(ChatColor.GREEN + "MoreHearts has been disabled in the world \'" + ChatColor.AQUA + args[1] + ChatColor.GREEN + "\'");
- } else {
- s.sendMessage(ChatColor.GREEN + "MoreHearts is already disabled in the world \'" + ChatColor.AQUA + "\'");
- }
- } else if(args[0].equalsIgnoreCase("worlds")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh worlds");
- } else if(args[0].equalsIgnoreCase("reset")) {
- if(args[1].equals(this.getConfig().getString("ResetPassword"))) {
- this.getConfig().set("Players", (Object)null);
- this.getConfig().set("Permissions", (Object)null);
- this.getConfig().set("DefaultHearts", Integer.valueOf(10));
- this.getConfig().set("EnableIn", Bukkit.getWorlds().get(0));
- this.getConfig().set("HideHearts", Boolean.valueOf(true));
- this.saveConfig();
- this.refperms();
- this.refworlds();
- var15 = (var8 = Bukkit.getOnlinePlayers()).length;
- for(var12 = 0; var12 < var15; ++var12) {
- opl = var8[var12];
- this.refpl(opl);
- }
- s.sendMessage(ChatColor.GREEN + "Config has been reseted!");
- } else {
- s.sendMessage(ChatColor.RED + "Incorrect Password");
- }
- } else {
- s.sendMessage(ChatColor.RED + "Unknown Command");
- }
- } else if(args.length == 3) {
- if(!s.hasPermission("morehearts." + args[0].toLowerCase())) {
- s.sendMessage(this.np);
- } else if(args[0].equalsIgnoreCase("refresh")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh refresh");
- } else {
- OfflinePlayer var17;
- double var19;
- if(args[0].equalsIgnoreCase("add")) {
- var17 = Bukkit.getOfflinePlayer(args[1]);
- if(!var17.isOnline()) {
- s.sendMessage(ChatColor.RED + "The player \'" + args[1] + "\' isn\'t online!");
- } else {
- var14 = (Player)var17;
- var19 = Double.parseDouble(args[2]);
- double var20 = this.getConfig().getDouble("Players." + var14.getName() + ".ExtraHearts");
- this.getConfig().set("Players." + var14.getName() + ".ExtraHearts", Double.valueOf(var20 + var19));
- this.saveConfig();
- this.refpl(var14);
- s.sendMessage("" + ChatColor.GREEN + var19 + " hearts has been added to " + var14.getName());
- }
- } else if(args[0].equalsIgnoreCase("set")) {
- var17 = Bukkit.getOfflinePlayer(args[1]);
- if(!var17.isOnline()) {
- s.sendMessage(ChatColor.RED + "The player \'" + args[1] + "\' isn\'t online!");
- } else {
- var14 = (Player)var17;
- var19 = Double.parseDouble(args[2]);
- this.getConfig().set("Players." + var14.getName() + ".ExtraHearts", Double.valueOf(var19));
- this.saveConfig();
- this.refpl(var14);
- s.sendMessage(ChatColor.GREEN + var14.getName() + "Extra hearts set to " + var19);
- }
- } else if(args[0].equalsIgnoreCase("addworld")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh addworld [world]");
- } else if(args[0].equalsIgnoreCase("addallworlds")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh addallworlds");
- } else if(args[0].equalsIgnoreCase("removeworld")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh removeworld [world]");
- } else if(args[0].equalsIgnoreCase("worlds")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh worlds");
- } else if(args[0].equalsIgnoreCase("reset")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh reset <Password>");
- } else {
- s.sendMessage(ChatColor.RED + "Unknown Command");
- }
- }
- } else if(!s.hasPermission("morehearts." + args[0].toLowerCase())) {
- s.sendMessage(this.np);
- } else if(args[0].equalsIgnoreCase("refresh")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh refresh");
- } else if(args[0].equalsIgnoreCase("add")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh add <Player> <Amount>");
- } else if(args[0].equalsIgnoreCase("set")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh set <Player> <Amount>");
- } else if(args[0].equalsIgnoreCase("addworld")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh addworld [world]");
- } else if(args[0].equalsIgnoreCase("addallworlds")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh addallworlds");
- } else if(args[0].equalsIgnoreCase("removeworld")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh removeworld [world]");
- } else if(args[0].equalsIgnoreCase("worlds")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh worlds");
- } else if(args[0].equalsIgnoreCase("reset")) {
- s.sendMessage(ChatColor.RED + "Usage: /mh reset <Password>");
- } else {
- s.sendMessage(ChatColor.RED + "Unknown Command");
- }
- }
- }
- return false;
- }
- public void refpl(Player p) {
- double sum = this.dh;
- if(this.worlds.contains(p.getWorld().getName())) {
- if(this.getConfig().contains("Players." + p.getName() + ".ExtraHearts")) {
- sum += this.getConfig().getDouble("Players." + p.getName() + ".ExtraHearts") * 2.0D;
- } else {
- this.getConfig().set("Players." + p.getName() + ".ExtraHearts", Integer.valueOf(0));
- this.saveConfig();
- }
- Iterator var5 = this.perms.keySet().iterator();
- while(var5.hasNext()) {
- String hp = (String)var5.next();
- if(p.isPermissionSet(hp)) {
- sum += ((Double)this.perms.get(hp)).doubleValue();
- }
- }
- p.setMaxHealth(sum);
- p.setHealthScaled(false);
- if(!p.isDead()) {
- double hp1 = this.getConfig().getDouble("Players." + p.getName() + ".HP");
- if(hp1 == 0.0D) {
- p.setHealth(sum);
- } else if(hp1 > sum) {
- p.setHealth(sum);
- } else {
- p.setHealth(hp1);
- }
- }
- } else {
- p.setMaxHealth(20.0D);
- }
- }
- public void refperms() {
- this.perms.clear();
- Iterator var2 = this.getConfig().getConfigurationSection("Permissions").getKeys(false).iterator();
- while(var2.hasNext()) {
- String str = (String)var2.next();
- this.perms.put("morehearts." + str, Double.valueOf(this.getConfig().getDouble("Permissions." + str) * 2.0D));
- }
- }
- public void saveworlds() {
- String ws = (String)this.worlds.get(0);
- for(int a = 1; a < this.worlds.size(); ++a) {
- ws = ws + "," + (String)this.worlds.get(a);
- }
- this.getConfig().set("EnableIn", ws);
- this.saveConfig();
- }
- public void refworlds() {
- String ws = this.getConfig().getString("EnableIn");
- String[] Eworlds = ws.split(",");
- String[] var6 = Eworlds;
- int var5 = Eworlds.length;
- for(int var4 = 0; var4 < var5; ++var4) {
- String str = var6[var4];
- this.worlds.add(str);
- }
- }
- public void sendMessages(CommandSender p, String s) {
- String[] msgs = s.split(";");
- String[] var7 = msgs;
- int var6 = msgs.length;
- for(int var5 = 0; var5 < var6; ++var5) {
- String str = var7[var5];
- p.sendMessage(str);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment