mirror of
https://github.com/zeshan321/ActionHealth.git
synced 2025-03-10 13:49:07 +01:00
Completed rewrite
This commit is contained in:
parent
d87202b230
commit
b7c0fee9fd
@ -4,11 +4,11 @@
|
||||
# {maxhealth} shows the max health of the mob or player.
|
||||
# {usestyle} will use the defined chars.
|
||||
|
||||
Health Message: '&6&l{name}: &a&l{health} / {maxhealth}'
|
||||
Health Message: '&7&l{name}: {usestyle}'
|
||||
|
||||
# Strip Name.
|
||||
|
||||
Strip Name: false
|
||||
Strip Name: true
|
||||
|
||||
# If enabled players with the permission 'ActionHealth.Health' will only see the action health message.
|
||||
|
||||
@ -48,4 +48,7 @@ Disabled regions:
|
||||
Region PvP: true
|
||||
|
||||
# When set to true and style health is enabled this will limit the health symbols to 10.
|
||||
Limit Health: true
|
||||
Limit Health: true
|
||||
|
||||
# Saves players /actionhealth toggle state.
|
||||
Remember Toggle: true
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,4 +3,4 @@ main: com.zeshanaslam.actionhealth.Main
|
||||
version: 5.0
|
||||
commands:
|
||||
Actionhealth:
|
||||
description: Reloads the plugin
|
||||
description: Actionhealth main command.
|
330
src/com/zeshanaslam/actionhealth/FileHandler.java
Normal file
330
src/com/zeshanaslam/actionhealth/FileHandler.java
Normal file
@ -0,0 +1,330 @@
|
||||
package com.zeshanaslam.actionhealth;
|
||||
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfigurationOptions;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
|
||||
public class FileHandler {
|
||||
|
||||
private File file = null;
|
||||
|
||||
private YamlConfiguration yaml = new YamlConfiguration();
|
||||
|
||||
public FileHandler(File file) {
|
||||
this.file = file;
|
||||
if (!file.exists()) {
|
||||
try {
|
||||
file.createNewFile();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
this.load();
|
||||
}
|
||||
|
||||
|
||||
public FileHandler(String path) {
|
||||
this.file = new File(path);
|
||||
if (!file.exists()) {
|
||||
try {
|
||||
file.createNewFile();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
this.load();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return file.getName();
|
||||
}
|
||||
|
||||
public String getPath() {
|
||||
return file.getPath();
|
||||
}
|
||||
|
||||
public static boolean fileExists(String path) {
|
||||
File file = new File(path);
|
||||
|
||||
return file.exists();
|
||||
}
|
||||
|
||||
private void load() {
|
||||
try {
|
||||
this.yaml.load(this.file);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void save() {
|
||||
try {
|
||||
yaml.save(file);
|
||||
} catch (IOException e) {
|
||||
System.out.println("CR: Error saving: " + file.getName());
|
||||
}
|
||||
}
|
||||
|
||||
public void delete() {
|
||||
try {
|
||||
this.file.delete();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public final File getfile(String PlayerName) {
|
||||
return this.file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an Integer from the given path.
|
||||
*
|
||||
* @param s Path to the Integer.
|
||||
* @return Integer at given path.
|
||||
*/
|
||||
public int getInteger(String s) {
|
||||
if (!(this.yaml.contains(s))) {
|
||||
return 0;
|
||||
}
|
||||
return this.yaml.getInt(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save, then load the Yaml file. **Warning** Very Unstable.
|
||||
*/
|
||||
public void reload() {
|
||||
this.save();
|
||||
this.load();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a String from the path defined.
|
||||
*
|
||||
* @param s Path to the String.
|
||||
* @return String at given path.
|
||||
*/
|
||||
public String getString(String s) {
|
||||
return this.yaml.getString(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets an Object at the given path.
|
||||
*
|
||||
* @param s Path to given Object.
|
||||
* @return An Object at the given Path.
|
||||
*/
|
||||
public Object get(String s) {
|
||||
return this.yaml.get(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all keys in file.
|
||||
*
|
||||
* @return An Set
|
||||
*/
|
||||
public Set<String> getKeys() {
|
||||
return this.yaml.getKeys(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a boolean at the given path.
|
||||
*
|
||||
* @param s Path to the boolean.
|
||||
* @return Boolean at the given path.
|
||||
*/
|
||||
public boolean getBoolean(String s) {
|
||||
return this.yaml.getBoolean(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* If the given path has no variable, it will be given a variable.
|
||||
*
|
||||
* @param s Path to look for.
|
||||
* @param o Variable to be assigned if not existing.
|
||||
*/
|
||||
public void add(String s, Object o) {
|
||||
if (!this.contains(s)) {
|
||||
this.set(s, o);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a String to a List of Strings.
|
||||
*
|
||||
* @param s Path to given String List.
|
||||
* @param o String to add to the String List.
|
||||
*/
|
||||
public void addToStringList(String s, String o) {
|
||||
this.yaml.getStringList(s).add(o);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a String to a List of Strings.
|
||||
*
|
||||
* @param s Path to given String List.
|
||||
* @param o String to remove from the String List.
|
||||
*/
|
||||
public void removeFromStringList(String s, String o) {
|
||||
this.yaml.getStringList(s).remove(o);
|
||||
}
|
||||
|
||||
/**
|
||||
* Looks for a String List at given Path.
|
||||
*
|
||||
* @param s Path to String List.
|
||||
* @return String List at given Path.
|
||||
*/
|
||||
public java.util.List<String> getStringList(String s) {
|
||||
return this.yaml.getStringList(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an Integer to a List of Integers.
|
||||
*
|
||||
* @param s Path to given Integer List.
|
||||
* @param o Integer to add to the Integer List.
|
||||
*/
|
||||
public void addToIntegerList(String s, int o) {
|
||||
this.yaml.getIntegerList(s).add(o);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes an Integer to a List of Integers.
|
||||
*
|
||||
* @param s Path to given Integer List.
|
||||
* @param o Integer to remove to the Integer List.
|
||||
*/
|
||||
public void removeFromIntegerList(String s, int o) {
|
||||
this.yaml.getIntegerList(s).remove(o);
|
||||
}
|
||||
|
||||
/**
|
||||
* Looks for a Integer List at given Path.
|
||||
*
|
||||
* @param s Path to Integer List.
|
||||
* @return Integer List at given Path.
|
||||
*/
|
||||
public java.util.List<Integer> getIntegerList(String s) {
|
||||
return this.yaml.getIntegerList(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new String List at given Path.
|
||||
*
|
||||
* @param s Path to create String List at.
|
||||
* @param list List to add.
|
||||
*/
|
||||
public void createNewStringList(String s, java.util.List<String> list) {
|
||||
this.yaml.set(s, list);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new Integer List at given Path.
|
||||
*
|
||||
* @param s Path to create Integer List at.
|
||||
* @param list List to add.
|
||||
*/
|
||||
public void createNewIntegerList(String s, java.util.List<Integer> list) {
|
||||
this.yaml.set(s, list);
|
||||
}
|
||||
|
||||
/**
|
||||
* **Untested/Unstable** Attempts to remove a variable at the given Path.
|
||||
*
|
||||
* @param s Path to given variable needing removal.
|
||||
*/
|
||||
public void remove(String s) {
|
||||
this.set(s, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the given Path has a value.
|
||||
*
|
||||
* @param s Path to value.
|
||||
* @return True if the given Path has a value.
|
||||
*/
|
||||
public boolean contains(String s) {
|
||||
return this.yaml.contains(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a double at the given Path.
|
||||
*
|
||||
* @param s Path to double.
|
||||
* @return Double at given Path.
|
||||
*/
|
||||
public double getDouble(String s) {
|
||||
return this.yaml.getDouble(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a Object to the given Path.
|
||||
*
|
||||
* @param s Path to variable being assigned.
|
||||
* @param o Variable being assigned.
|
||||
*/
|
||||
public void set(String s, Object o) {
|
||||
this.yaml.set(s, o);
|
||||
}
|
||||
|
||||
/**
|
||||
* Increases an Integer by 1.
|
||||
*
|
||||
* @param s Path to Integer being incremented.
|
||||
*/
|
||||
public void increment(String s) {
|
||||
this.yaml.set(s, this.getInteger(s) + 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Decreases an Integer by 1.
|
||||
*
|
||||
* @param s Path to Integer being decremented.
|
||||
*/
|
||||
public void decrement(String s) {
|
||||
this.yaml.set(s, this.getInteger(s) - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Increases an Integer by i.
|
||||
*
|
||||
* @param s Path to Integer being incremented.
|
||||
*/
|
||||
public void increment(String s, int i) {
|
||||
this.yaml.set(s, this.getInteger(s) + i);
|
||||
}
|
||||
|
||||
/**
|
||||
* Decreases an Integer by 1.
|
||||
*
|
||||
* @param s Path to Integer being decremented.
|
||||
*/
|
||||
public void decrement(String s, int i) {
|
||||
this.yaml.set(s, this.getInteger(s) - i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets Itemstack.
|
||||
*
|
||||
* @param s Path to Itemstack.
|
||||
*/
|
||||
public ItemStack getItemStack(String s) {
|
||||
return this.yaml.getItemStack(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the YamlConfiguration's Options.
|
||||
*
|
||||
* @return YamlConfiguration's Options.
|
||||
*/
|
||||
public YamlConfigurationOptions options() {
|
||||
return this.yaml.options();
|
||||
}
|
||||
}
|
70
src/com/zeshanaslam/actionhealth/HealthCommand.java
Normal file
70
src/com/zeshanaslam/actionhealth/HealthCommand.java
Normal file
@ -0,0 +1,70 @@
|
||||
package com.zeshanaslam.actionhealth;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class HealthCommand implements CommandExecutor {
|
||||
|
||||
private final Main plugin;
|
||||
|
||||
public HealthCommand(Main plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (args.length <= 0) {
|
||||
sender.sendMessage(ChatColor.RED + "ActionHealth Commands:");
|
||||
sender.sendMessage(ChatColor.GRAY + "/ActionHealth reload");
|
||||
sender.sendMessage(ChatColor.GRAY + "/ActionHealth toggle");
|
||||
} else {
|
||||
if (args[0].equalsIgnoreCase("reload")) {
|
||||
if (!sender.hasPermission("ActionHealth.Reload")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
plugin.reloadConfig();
|
||||
plugin.settingsManager = new SettingsManager(plugin);
|
||||
sender.sendMessage(ChatColor.RED + "ActionHealth " + ChatColor.GRAY + "has been reloaded!");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("toggle")) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
|
||||
if (plugin.toggle.contains(player.getUniqueId())) {
|
||||
plugin.toggle.remove(player.getUniqueId());
|
||||
|
||||
player.sendMessage(ChatColor.GRAY + "ActionHealth has been " + ChatColor.RED + "enabled" + ChatColor.GRAY + ".");
|
||||
} else {
|
||||
plugin.toggle.add(player.getUniqueId());
|
||||
|
||||
player.sendMessage(ChatColor.GRAY + "ActionHealth has been " + ChatColor.RED + "disabled" + ChatColor.GRAY + ".");
|
||||
}
|
||||
|
||||
if (plugin.settingsManager.rememberToggle) {
|
||||
FileHandler fileHandler = new FileHandler("plugins/ActionHealth/players/" + player.getUniqueId() + ".yml");
|
||||
fileHandler.set("toggle", plugin.toggle.contains(player.getUniqueId()));
|
||||
|
||||
fileHandler.save();
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage("ActionHealth toggle can only run in-game.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "ActionHealth Commands:");
|
||||
sender.sendMessage(ChatColor.GRAY + "/ActionHealth reload");
|
||||
sender.sendMessage(ChatColor.GRAY + "/ActionHealth toggle");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
120
src/com/zeshanaslam/actionhealth/HealthListeners.java
Normal file
120
src/com/zeshanaslam/actionhealth/HealthListeners.java
Normal file
@ -0,0 +1,120 @@
|
||||
package com.zeshanaslam.actionhealth;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
public class HealthListeners implements Listener {
|
||||
|
||||
private Main plugin;
|
||||
|
||||
public HealthListeners(Main plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void onDamage(EntityDamageByEntityEvent event) {
|
||||
if (plugin.settingsManager.checkPvP && event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (plugin.healthUtil.isDisabled(event.getDamager().getLocation())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (plugin.settingsManager.worlds.contains(event.getDamager().getWorld().getName())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (plugin.settingsManager.usePerms && !event.getDamager().hasPermission("ActionHealth.Health")) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Entity damaged = event.getEntity();
|
||||
|
||||
if (event.getDamager() instanceof Projectile) {
|
||||
Projectile projectile = (Projectile) event.getDamager();
|
||||
|
||||
if (projectile.getShooter() instanceof Player) {
|
||||
Player player = (Player) projectile.getShooter();
|
||||
|
||||
// Check if the setting 'Show Player' is enabled
|
||||
if (event.getEntity() instanceof Player) {
|
||||
if (!plugin.settingsManager.showPlayers) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!plugin.settingsManager.showMobs) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (plugin.toggle.contains(player.getUniqueId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Send health
|
||||
LivingEntity livingEntity = (LivingEntity) damaged;
|
||||
plugin.healthUtil.sendHealth(player, (LivingEntity) damaged, livingEntity.getHealth() - event.getFinalDamage());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (event.getDamager() instanceof Player) {
|
||||
Player player = (Player) event.getDamager();
|
||||
|
||||
// Check if the setting 'Show Player' is enabled
|
||||
if (event.getEntity() instanceof Player) {
|
||||
if (!plugin.settingsManager.showPlayers) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.hasMetadata("NPC")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!plugin.settingsManager.showMobs) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (plugin.toggle.contains(player.getUniqueId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Send health
|
||||
LivingEntity livingEntity = (LivingEntity) damaged;
|
||||
plugin.healthUtil.sendHealth(player, (LivingEntity) damaged, livingEntity.getHealth() - event.getFinalDamage());
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (plugin.settingsManager.rememberToggle) {
|
||||
FileHandler fileHandler = new FileHandler("plugins/ActionHealth/players/" + player.getUniqueId() + ".yml");
|
||||
|
||||
if (fileHandler.getBoolean("toggle")) {
|
||||
plugin.toggle.add(player.getUniqueId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onLeave(PlayerQuitEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (plugin.toggle.contains(player.getUniqueId())) {
|
||||
plugin.toggle.remove(player.getUniqueId());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +1,12 @@
|
||||
package com.zeshanaslam.actionhealth;
|
||||
|
||||
import com.sk89q.worldguard.protection.ApplicableRegionSet;
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
@ -14,11 +19,68 @@ public class HealthUtil {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
private void sendActionBar(Player player, String message) {
|
||||
if (player.hasMetadata("NPC")) {
|
||||
return;
|
||||
public void sendHealth(Player player, LivingEntity entity, double health) {
|
||||
String name;
|
||||
double maxHealth = entity.getMaxHealth();
|
||||
|
||||
if (entity.getCustomName() == null) {
|
||||
name = entity.getName();
|
||||
} else {
|
||||
name = entity.getCustomName();
|
||||
}
|
||||
|
||||
if (plugin.settingsManager.stripName) name = ChatColor.stripColor(name);
|
||||
if (plugin.settingsManager.translate.containsKey(entity.getName()))
|
||||
name = plugin.settingsManager.translate.get(entity.getName());
|
||||
|
||||
String output = plugin.settingsManager.healthMessage;
|
||||
output = output.replace("{name}", name);
|
||||
output = output.replace("{health}", String.valueOf(health));
|
||||
output = output.replace("{maxhealth}", String.valueOf(maxHealth));
|
||||
|
||||
if (output.contains("{usestyle}")) {
|
||||
String style = "";
|
||||
int left = 10;
|
||||
double heart = maxHealth / 10;
|
||||
double tempHealth = health;
|
||||
|
||||
if (maxHealth != health && health >= 0 && !entity.isDead()) {
|
||||
for (int i = 0; i < 10; i++) {
|
||||
if (tempHealth - heart > 0) {
|
||||
tempHealth = tempHealth - heart;
|
||||
|
||||
style = style + plugin.settingsManager.filledHeartIcon;
|
||||
left--;
|
||||
}
|
||||
}
|
||||
|
||||
if (tempHealth >= 0) {
|
||||
style = style + plugin.settingsManager.halfHeartIcon;
|
||||
left--;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < left; i++) {
|
||||
style = style + plugin.settingsManager.emptyHeartIcon;
|
||||
}
|
||||
|
||||
output = output.replace("{usestyle}", style);
|
||||
}
|
||||
|
||||
if (plugin.settingsManager.delay) {
|
||||
String finalOutput = output;
|
||||
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
sendActionBar(player, finalOutput);
|
||||
}
|
||||
}.runTaskLater(plugin, 1L);
|
||||
} else {
|
||||
sendActionBar(player, output);
|
||||
}
|
||||
}
|
||||
|
||||
private void sendActionBar(Player player, String message) {
|
||||
message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
|
||||
try {
|
||||
@ -51,4 +113,19 @@ public class HealthUtil {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isDisabled(Location location) {
|
||||
if (plugin.worldGuardPlugin == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
ApplicableRegionSet applicableRegions = plugin.worldGuardPlugin.getRegionManager(location.getWorld()).getApplicableRegions(location);
|
||||
for (ProtectedRegion region : applicableRegions) {
|
||||
if (plugin.settingsManager.regions.contains(region.getId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -1,20 +1,46 @@
|
||||
package com.zeshanaslam.actionhealth;
|
||||
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class Main extends JavaPlugin {
|
||||
|
||||
public SettingsManager settingsManager;
|
||||
public WorldGuardPlugin worldGuardPlugin;
|
||||
public HealthUtil healthUtil;
|
||||
|
||||
public List<UUID> toggle = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void onEnable()
|
||||
{
|
||||
public void onEnable() {
|
||||
saveDefaultConfig();
|
||||
|
||||
// Register health util
|
||||
this.healthUtil = new HealthUtil(this);
|
||||
|
||||
// Load config settings
|
||||
settingsManager = new SettingsManager(this);
|
||||
|
||||
// Create player folder
|
||||
File file = new File("plugins/ActionHealth/players/");
|
||||
file.mkdirs();
|
||||
|
||||
// Register listeners
|
||||
getServer().getPluginManager().registerEvents(new HealthListeners(this), this);
|
||||
|
||||
|
||||
// Register command
|
||||
getCommand("Actionhealth").setExecutor(new HealthCommand(this));
|
||||
|
||||
if (Bukkit.getServer().getPluginManager().isPluginEnabled("WorldGuard")) {
|
||||
this.worldGuardPlugin = ((WorldGuardPlugin) getServer().getPluginManager().getPlugin("WorldGuard"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import org.bukkit.Bukkit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class SettingsManager {
|
||||
|
||||
@ -16,11 +17,13 @@ public class SettingsManager {
|
||||
public boolean checkPvP;
|
||||
public boolean limitHealth;
|
||||
public boolean stripName;
|
||||
public boolean rememberToggle;
|
||||
public String filledHeartIcon;
|
||||
public String halfHeartIcon;
|
||||
public String emptyHeartIcon;
|
||||
public List<String> worlds = new ArrayList<>();
|
||||
public HashMap<String, String> translate = new HashMap<>();
|
||||
public List<String> regions = new ArrayList<>();
|
||||
|
||||
public String mcVersion;
|
||||
public boolean useOldMethods;
|
||||
@ -38,13 +41,15 @@ public class SettingsManager {
|
||||
halfHeartIcon = plugin.getConfig().getString("Half Health Icon");
|
||||
emptyHeartIcon = plugin.getConfig().getString("Empty Health Icon");
|
||||
if (plugin.getConfig().getBoolean("Name Change")) {
|
||||
for (String s : plugin.getConfig().getStringList("Name"))
|
||||
{
|
||||
for (String s : plugin.getConfig().getStringList("Name")) {
|
||||
String[] split = s.split(" = ");
|
||||
translate.put(split[0], split[1]);
|
||||
}
|
||||
}
|
||||
|
||||
// Load disabled regions
|
||||
regions = plugin.getConfig().getStringList("Disabled regions");
|
||||
|
||||
worlds = plugin.getConfig().getStringList("Disabled worlds");
|
||||
|
||||
// Check if using protocol build
|
||||
@ -52,5 +57,11 @@ public class SettingsManager {
|
||||
mcVersion = mcVersion.substring(mcVersion.lastIndexOf(".") + 1);
|
||||
|
||||
useOldMethods = mcVersion.equalsIgnoreCase("v1_8_R1") || mcVersion.equalsIgnoreCase("v1_7_");
|
||||
|
||||
if (plugin.getConfig().contains("Remember Toggle")) {
|
||||
rememberToggle = plugin.getConfig().getBoolean("Remember Toggle");
|
||||
} else {
|
||||
rememberToggle = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user