clean deprecated and fix plugin config reload

This commit is contained in:
plachta3 2016-08-14 20:14:02 +02:00
parent 5be4fd3e82
commit 9bb7b77431
7 changed files with 36 additions and 44 deletions

View File

@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.ne0nx3r0.betteralias</groupId>
<artifactId>BetterAlias</artifactId>
<version>1.5.3</version>
<version>1.5.4</version>
<name>BetterAlias</name>
<description>Command alias system</description>
<url>https://dev.bukkit.org/bukkit-plugins/betteralias/</url>

View File

@ -31,4 +31,13 @@ public class BetterAlias extends JavaPlugin
this.getCommand("bareload").setExecutor(betterAliasCommandExecutor);
}
public boolean reload() {
if (aliasManager.loadAliases() && this.config.reload()) {
return true;
}
return false;
}
}

View File

@ -1,9 +1,5 @@
package com.ne0nx3r0.betteralias.alias;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@ -34,11 +30,13 @@ public class AliasManager {
this.config = new AliasConfig(plugin);
// TODO resolve error when no aliases loaded
loadAliases();
this.aliases = this.config.loadAliases();
}
public boolean loadAliases() {
this.config.reload();
this.aliases = this.config.loadAliases();
if (aliases.isEmpty()) {
@ -97,7 +95,7 @@ public class AliasManager {
}
} else if (text.equalsIgnoreCase("handItemName")) {
if (player != null) {
text = player.getItemInHand().getType().name();
text = player.getInventory().getItemInMainHand().getType().name();
} else {
cs.sendMessage("[BetterAlias] " + ChatColor.RED + "A parameter of this alias requires a player.");
@ -107,7 +105,7 @@ public class AliasManager {
}
} else if (text.equalsIgnoreCase("handItemID")) {
if (player != null) {
text = new Integer(player.getItemInHand().getTypeId()).toString();
text = new Integer(player.getInventory().getItemInMainHand().getTypeId()).toString();
} else {
cs.sendMessage("[BetterAlias] " + ChatColor.RED + "A parameter of this alias requires a player.");
@ -297,19 +295,4 @@ public class AliasManager {
}
}
}
public void copy(InputStream in, File file) {
try {
OutputStream out = new FileOutputStream(file);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -24,7 +24,7 @@ public class BetterAliasCommandExecutor implements CommandExecutor {
cs.sendMessage(ChatColor.GOLD + "Reloading aliases...");
if (plugin.aliasManager.loadAliases()) {
if (plugin.reload()) {
cs.sendMessage(ChatColor.GOLD + "Aliases reloaded!");
} else {
cs.sendMessage(ChatColor.RED + "An error occurred while reloading aliases!");

View File

@ -26,7 +26,7 @@ public class AliasConfig {
private final File configurationFile;
private FileConfiguration configuration;
private static FileConfiguration configuration;
public AliasConfig(final BetterAlias plugin) {
@ -39,22 +39,21 @@ public class AliasConfig {
copy(plugin.getResource("aliases.yml"), configurationFile);
}
configuration = YamlConfiguration.loadConfiguration(configurationFile);
AliasConfig.configuration = YamlConfiguration.loadConfiguration(configurationFile);
}
// TODO Synch with bareload
public void reload() {
configuration = YamlConfiguration.loadConfiguration(configurationFile);
AliasConfig.configuration = YamlConfiguration.loadConfiguration(configurationFile);
}
public FileConfiguration getAliasConfiguration() {
return this.configuration;
return AliasConfig.configuration;
}
public final HashMap<String, Alias> loadAliases() {
HashMap<String, Alias> aliases = new HashMap<String, Alias>();
Set<String> aliasList = this.configuration.getKeys(false);
Set<String> aliasList = AliasConfig.configuration.getKeys(false);
if (aliasList.isEmpty()) {
plugin.getLogger().log(Level.WARNING, "No aliases found in aliases.yml");
@ -65,11 +64,11 @@ public class AliasConfig {
for (String sAlias : aliasList) {
Alias alias = new Alias(
sAlias,
this.configuration.getBoolean(sAlias + ".caseSensitive", false),
this.configuration.getString(sAlias + ".permission", null),
this.configuration.getString(sAlias + ".priority", null));
AliasConfig.configuration.getBoolean(sAlias + ".caseSensitive", false),
AliasConfig.configuration.getString(sAlias + ".permission", null),
AliasConfig.configuration.getString(sAlias + ".priority", null));
for (String sArg : this.configuration.getConfigurationSection(sAlias).getKeys(false)) {
for (String sArg : AliasConfig.configuration.getConfigurationSection(sAlias).getKeys(false)) {
List<AliasCommand> commandsList = new ArrayList<AliasCommand>();
if (!sArg.equalsIgnoreCase("permission")
@ -86,10 +85,10 @@ public class AliasConfig {
List<String> sArgLines = new ArrayList<String>();
if (this.configuration.isList(sAlias + "." + sArg)) {
sArgLines = this.configuration.getStringList(sAlias + "." + sArg);
if (AliasConfig.configuration.isList(sAlias + "." + sArg)) {
sArgLines = AliasConfig.configuration.getStringList(sAlias + "." + sArg);
} else {
sArgLines.add(this.configuration.getString(sAlias + "." + sArg));
sArgLines.add(AliasConfig.configuration.getString(sAlias + "." + sArg));
}
for (String sArgLine : sArgLines) {

View File

@ -9,7 +9,7 @@ import com.ne0nx3r0.betteralias.BetterAlias;
public class PluginConfig {
private Configuration configuration;
private static Configuration configuration;
private final File configurationFile;
@ -18,16 +18,17 @@ public class PluginConfig {
plugin.saveDefaultConfig();
plugin.saveConfig();
configuration = plugin.getConfig();
PluginConfig.configuration = plugin.getConfig();
configurationFile = new File(plugin.getDataFolder(), "config.yml");
}
// TODO Synch with bareload
public void reload() {
configuration = YamlConfiguration.loadConfiguration(configurationFile);
public boolean reload() {
PluginConfig.configuration = YamlConfiguration.loadConfiguration(configurationFile);
return !PluginConfig.configuration.getKeys(false).isEmpty();
}
public boolean getDebuggingState() {
return this.configuration.getBoolean("debug");
return PluginConfig.configuration.getBoolean("debug");
}
}

View File

@ -1,6 +1,6 @@
name: BetterAlias
main: com.ne0nx3r0.betteralias.BetterAlias
version: '1.5.2'
version: '1.5.4'
database: false
description: Command alias system
commands: