diff --git a/pom.xml b/pom.xml
index a31914b..fe91aa8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0
com.esophose.playerparticles
PlayerParticles
- 6.1
+ 6.2
PlayerParticles
https://github.com/Esophose/PlayerParticles
Display particles around your player using customized styles and data!
diff --git a/src/com/esophose/playerparticles/PlayerParticles.java b/src/com/esophose/playerparticles/PlayerParticles.java
index 772019f..49a1b9b 100644
--- a/src/com/esophose/playerparticles/PlayerParticles.java
+++ b/src/com/esophose/playerparticles/PlayerParticles.java
@@ -1,11 +1,8 @@
/*
- * TODO: v6.2
+ * TODO: v6.3
* + Add new style 'tornado'
* + Add new style 'doubleorbit'
- * + Add new style 'wings_', multiple new wing types: fairy, demon
- * * Create lore line parser
- * * Make it so lore lines of the GUI are removed if the string is empty in the config
- * * Add ability to add line breaks to the lore with \n
+ * + Add new style(s) 'wings_', multiple new wing types: fairy, demon
*/
package com.esophose.playerparticles;
@@ -13,6 +10,7 @@ package com.esophose.playerparticles;
import java.io.File;
import org.bukkit.Bukkit;
+import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
@@ -59,9 +57,8 @@ public class PlayerParticles extends JavaPlugin {
public void onEnable() {
pluginInstance = Bukkit.getServer().getPluginManager().getPlugin("PlayerParticles");
- getCommand("pp").setTabCompleter(new ParticleCommandHandler());
- getCommand("pp").setExecutor(new ParticleCommandHandler());
-
+ this.registerCommands();
+
Bukkit.getPluginManager().registerEvents(new ParticleManager(), this);
Bukkit.getPluginManager().registerEvents(new PluginUpdateListener(), this);
Bukkit.getPluginManager().registerEvents(new GuiHandler(), this);
@@ -114,6 +111,20 @@ public class PlayerParticles extends JavaPlugin {
GuiHandler.forceCloseAllOpenGUIs();
}
+ /**
+ * Registers the commands for the plugin
+ */
+ private void registerCommands() {
+ ParticleCommandHandler pch = new ParticleCommandHandler();
+ PluginCommand pp = this.getCommand("pp");
+ PluginCommand ppo = this.getCommand("ppo");
+
+ pp.setTabCompleter(pch);
+ pp.setExecutor(pch);
+ ppo.setTabCompleter(pch);
+ ppo.setExecutor(pch);
+ }
+
/**
* Reloads the settings of the plugin
*
diff --git a/src/com/esophose/playerparticles/command/EffectsCommandModule.java b/src/com/esophose/playerparticles/command/EffectsCommandModule.java
index e913179..f682811 100644
--- a/src/com/esophose/playerparticles/command/EffectsCommandModule.java
+++ b/src/com/esophose/playerparticles/command/EffectsCommandModule.java
@@ -17,7 +17,7 @@ public class EffectsCommandModule implements CommandModule {
List effectList = PermissionManager.getEffectNamesUserHasPermissionFor(p);
if (effectList.isEmpty()) {
- LangManager.sendMessage(p, Lang.EFFECT_LIST_EMPTY);
+ LangManager.sendMessage(pplayer, Lang.EFFECT_LIST_EMPTY);
return;
}
@@ -30,7 +30,7 @@ public class EffectsCommandModule implements CommandModule {
toSend = toSend.substring(0, toSend.length() - 2);
}
- LangManager.sendMessage(p, Lang.EFFECT_LIST, toSend);
+ LangManager.sendMessage(pplayer, Lang.EFFECT_LIST, toSend);
}
public List onTabComplete(PPlayer pplayer, String[] args) {
diff --git a/src/com/esophose/playerparticles/command/FixedCommandModule.java b/src/com/esophose/playerparticles/command/FixedCommandModule.java
index 043f0da..274f728 100644
--- a/src/com/esophose/playerparticles/command/FixedCommandModule.java
+++ b/src/com/esophose/playerparticles/command/FixedCommandModule.java
@@ -35,17 +35,17 @@ public class FixedCommandModule implements CommandModule {
Player p = pplayer.getPlayer();
if (!PermissionManager.canUseFixedEffects(p)) {
- LangManager.sendMessage(p, Lang.FIXED_NO_PERMISSION);
+ LangManager.sendMessage(pplayer, Lang.FIXED_NO_PERMISSION);
return;
}
if (args.length == 0) { // General information on command
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_CREATE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_EDIT);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_REMOVE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_LIST);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_INFO);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_CLEAR);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_CREATE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_EDIT);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_REMOVE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_LIST);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_INFO);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_CLEAR);
return;
}
@@ -76,13 +76,13 @@ public class FixedCommandModule implements CommandModule {
handleClear(pplayer, p, cmdArgs);
return;
default:
- LangManager.sendMessage(p, Lang.FIXED_INVALID_COMMAND);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_CREATE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_EDIT);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_REMOVE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_LIST);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_INFO);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_FIXED_CLEAR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_INVALID_COMMAND);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_CREATE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_EDIT);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_REMOVE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_LIST);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_INFO);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_FIXED_CLEAR);
}
}
@@ -96,12 +96,12 @@ public class FixedCommandModule implements CommandModule {
private void handleCreate(PPlayer pplayer, Player p, String[] args) {
boolean reachedMax = PermissionManager.hasPlayerReachedMaxFixedEffects(pplayer);
if (reachedMax) {
- LangManager.sendMessage(p, Lang.FIXED_MAX_REACHED);
+ LangManager.sendMessage(pplayer, Lang.FIXED_MAX_REACHED);
return;
}
if (args.length < 5 && !(args.length > 0 && args[0].equalsIgnoreCase("looking") && args.length >= 3)) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_MISSING_ARGS, 5 - args.length);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_MISSING_ARGS, 5 - args.length);
return;
}
@@ -111,7 +111,7 @@ public class FixedCommandModule implements CommandModule {
Block targetBlock = p.getTargetBlock((Set)null, 8);
int maxDistanceSqrd = 6 * 6;
if (targetBlock.getLocation().distanceSquared(p.getLocation()) > maxDistanceSqrd) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_LOOKING_TOO_FAR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_LOOKING_TOO_FAR);
return;
}
@@ -152,7 +152,7 @@ public class FixedCommandModule implements CommandModule {
zPos = Double.parseDouble(args[2]);
}
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_INVALID_COORDS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_INVALID_COORDS);
return;
}
}
@@ -160,30 +160,30 @@ public class FixedCommandModule implements CommandModule {
double distanceFromEffect = p.getLocation().distance(new Location(p.getWorld(), xPos, yPos, zPos));
int maxCreationDistance = PermissionManager.getMaxFixedEffectCreationDistance();
if (maxCreationDistance != 0 && distanceFromEffect > maxCreationDistance) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_OUT_OF_RANGE, maxCreationDistance);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_OUT_OF_RANGE, maxCreationDistance);
return;
}
ParticleEffect effect = ParticleEffect.fromName(args[3]);
if (effect == null) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_EFFECT_INVALID, args[3]);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_EFFECT_INVALID, args[3]);
return;
} else if (!PermissionManager.hasEffectPermission(p, effect)) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_EFFECT_NO_PERMISSION, effect.getName());
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_EFFECT_NO_PERMISSION, effect.getName());
return;
}
ParticleStyle style = ParticleStyle.fromName(args[4]);
if (style == null) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_STYLE_INVALID, args[4]);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_STYLE_INVALID, args[4]);
return;
} else if (!PermissionManager.hasStylePermission(p, style)) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_STYLE_NO_PERMISSION, args[4]);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_STYLE_NO_PERMISSION, args[4]);
return;
}
if (!style.canBeFixed()) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_STYLE_NON_FIXABLE, style.getName());
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_STYLE_NON_FIXABLE, style.getName());
return;
}
@@ -204,12 +204,12 @@ public class FixedCommandModule implements CommandModule {
try {
note = Integer.parseInt(args[5]);
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_DATA_ERROR);
return;
}
if (note < 0 || note > 24) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_DATA_ERROR);
return;
}
@@ -230,12 +230,12 @@ public class FixedCommandModule implements CommandModule {
g = Integer.parseInt(args[6]);
b = Integer.parseInt(args[7]);
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_DATA_ERROR);
return;
}
if (r < 0 || r > 255 || g < 0 || g > 255 || b < 0 || b > 255) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_DATA_ERROR);
return;
}
@@ -250,7 +250,7 @@ public class FixedCommandModule implements CommandModule {
if (material == null) material = Material.matchMaterial(args[5]);
if (material == null || !material.isBlock()) throw new Exception();
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_DATA_ERROR);
return;
}
@@ -262,7 +262,7 @@ public class FixedCommandModule implements CommandModule {
if (material == null) material = Material.matchMaterial(args[5]);
if (material == null || material.isBlock()) throw new Exception();
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_CREATE_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_DATA_ERROR);
return;
}
@@ -275,7 +275,7 @@ public class FixedCommandModule implements CommandModule {
ParticlePair particle = new ParticlePair(pplayer.getUniqueId(), nextFixedEffectId, effect, style, itemData, blockData, colorData, noteColorData);
FixedParticleEffect fixedEffect = new FixedParticleEffect(p.getUniqueId(), nextFixedEffectId, p.getLocation().getWorld().getName(), xPos, yPos, zPos, particle);
- LangManager.sendMessage(p, Lang.FIXED_CREATE_SUCCESS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CREATE_SUCCESS);
DataManager.saveFixedEffect(fixedEffect);
}
@@ -288,7 +288,7 @@ public class FixedCommandModule implements CommandModule {
*/
private void handleEdit(PPlayer pplayer, Player p, String[] args) {
if (args.length < 3) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_MISSING_ARGS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_MISSING_ARGS);
return;
}
@@ -296,13 +296,13 @@ public class FixedCommandModule implements CommandModule {
try {
id = Integer.parseInt(args[0]);
} catch (Exception ex) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_INVALID_ID);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_INVALID_ID);
return;
}
FixedParticleEffect fixedEffect = pplayer.getFixedEffectById(id);
if (fixedEffect == null) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_INVALID_ID);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_INVALID_ID);
return;
}
@@ -314,7 +314,7 @@ public class FixedCommandModule implements CommandModule {
Block targetBlock = p.getTargetBlock((Set)null, 8);
int maxDistanceSqrd = 6 * 6;
if (targetBlock.getLocation().distanceSquared(p.getLocation()) > maxDistanceSqrd) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_LOOKING_TOO_FAR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_LOOKING_TOO_FAR);
return;
}
@@ -346,7 +346,7 @@ public class FixedCommandModule implements CommandModule {
zPos = Double.parseDouble(args[4]);
}
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_INVALID_COORDS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_INVALID_COORDS);
return;
}
}
@@ -354,7 +354,7 @@ public class FixedCommandModule implements CommandModule {
double distanceFromEffect = p.getLocation().distance(new Location(p.getWorld(), xPos, yPos, zPos));
int maxCreationDistance = PermissionManager.getMaxFixedEffectCreationDistance();
if (maxCreationDistance != 0 && distanceFromEffect > maxCreationDistance) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_OUT_OF_RANGE, maxCreationDistance);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_OUT_OF_RANGE, maxCreationDistance);
return;
}
@@ -379,7 +379,7 @@ public class FixedCommandModule implements CommandModule {
LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_STYLE_NO_PERMISSION, style.getName());
return;
} else if (!style.canBeFixed()) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_STYLE_NON_FIXABLE, style.getName());
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_STYLE_NON_FIXABLE, style.getName());
return;
}
@@ -402,12 +402,12 @@ public class FixedCommandModule implements CommandModule {
try {
note = Integer.parseInt(args[2]);
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_DATA_ERROR);
return;
}
if (note < 0 || note > 24) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_DATA_ERROR);
return;
}
@@ -428,12 +428,12 @@ public class FixedCommandModule implements CommandModule {
g = Integer.parseInt(args[3]);
b = Integer.parseInt(args[4]);
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_DATA_ERROR);
return;
}
if (r < 0 || r > 255 || g < 0 || g > 255 || b < 0 || b > 255) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_DATA_ERROR);
return;
}
@@ -448,7 +448,7 @@ public class FixedCommandModule implements CommandModule {
if (material == null) material = Material.matchMaterial(args[2]);
if (material == null || !material.isBlock()) throw new Exception();
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_DATA_ERROR);
return;
}
@@ -460,7 +460,7 @@ public class FixedCommandModule implements CommandModule {
if (material == null) material = Material.matchMaterial(args[2]);
if (material == null || material.isBlock()) throw new Exception();
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_DATA_ERROR);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_DATA_ERROR);
return;
}
@@ -476,7 +476,7 @@ public class FixedCommandModule implements CommandModule {
fixedEffect.getParticlePair().setItemMaterial(itemData);
fixedEffect.getParticlePair().setBlockMaterial(blockData);
} else {
- LangManager.sendMessage(p, Lang.FIXED_EDIT_INVALID_PROPERTY);
+ LangManager.sendMessage(pplayer, Lang.FIXED_EDIT_INVALID_PROPERTY);
return;
}
@@ -493,7 +493,7 @@ public class FixedCommandModule implements CommandModule {
*/
private void handleRemove(PPlayer pplayer, Player p, String[] args) {
if (args.length < 1) {
- LangManager.sendMessage(p, Lang.FIXED_REMOVE_NO_ARGS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_REMOVE_NO_ARGS);
return;
}
@@ -501,15 +501,15 @@ public class FixedCommandModule implements CommandModule {
try {
id = Integer.parseInt(args[0]);
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_REMOVE_ARGS_INVALID);
+ LangManager.sendMessage(pplayer, Lang.FIXED_REMOVE_ARGS_INVALID);
return;
}
if (pplayer.getFixedEffectById(id) != null) {
DataManager.removeFixedEffect(pplayer.getUniqueId(), id);
- LangManager.sendMessage(p, Lang.FIXED_REMOVE_SUCCESS, id);
+ LangManager.sendMessage(pplayer, Lang.FIXED_REMOVE_SUCCESS, id);
} else {
- LangManager.sendMessage(p, Lang.FIXED_REMOVE_INVALID, id);
+ LangManager.sendMessage(pplayer, Lang.FIXED_REMOVE_INVALID, id);
}
}
@@ -525,7 +525,7 @@ public class FixedCommandModule implements CommandModule {
Collections.sort(ids);
if (ids.isEmpty()) {
- LangManager.sendMessage(p, Lang.FIXED_LIST_NONE);
+ LangManager.sendMessage(pplayer, Lang.FIXED_LIST_NONE);
return;
}
@@ -537,7 +537,7 @@ public class FixedCommandModule implements CommandModule {
msg += id;
}
- LangManager.sendMessage(p, Lang.FIXED_LIST_SUCCESS, msg);
+ LangManager.sendMessage(pplayer, Lang.FIXED_LIST_SUCCESS, msg);
}
/**
@@ -549,7 +549,7 @@ public class FixedCommandModule implements CommandModule {
*/
private void handleInfo(PPlayer pplayer, Player p, String[] args) {
if (args.length < 1) {
- LangManager.sendMessage(p, Lang.FIXED_INFO_NO_ARGS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_INFO_NO_ARGS);
return;
}
@@ -557,20 +557,20 @@ public class FixedCommandModule implements CommandModule {
try {
id = Integer.parseInt(args[0]);
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_INFO_INVALID_ARGS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_INFO_INVALID_ARGS);
return;
}
FixedParticleEffect fixedEffect = pplayer.getFixedEffectById(id);
if (fixedEffect == null) {
- LangManager.sendMessage(p, Lang.FIXED_INFO_INVALID, id);
+ LangManager.sendMessage(pplayer, Lang.FIXED_INFO_INVALID, id);
return;
}
ParticlePair particle = fixedEffect.getParticlePair();
DecimalFormat df = new DecimalFormat("0.##"); // Decimal formatter so the coords aren't super long
- LangManager.sendMessage(p, // @formatter:off
+ LangManager.sendMessage(pplayer, // @formatter:off
Lang.FIXED_INFO_SUCCESS,
fixedEffect.getId(),
fixedEffect.getLocation().getWorld().getName(),
@@ -592,12 +592,12 @@ public class FixedCommandModule implements CommandModule {
*/
private void handleClear(PPlayer pplayer, Player p, String[] args) {
if (!PermissionManager.canClearFixedEffects(p)) {
- LangManager.sendMessage(p, Lang.FIXED_CLEAR_NO_PERMISSION);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CLEAR_NO_PERMISSION);
return;
}
if (args.length < 1) {
- LangManager.sendMessage(p, Lang.FIXED_CLEAR_NO_ARGS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CLEAR_NO_ARGS);
return;
}
@@ -605,7 +605,7 @@ public class FixedCommandModule implements CommandModule {
try {
radius = Math.abs(Integer.parseInt(args[0]));
} catch (Exception e) {
- LangManager.sendMessage(p, Lang.FIXED_CLEAR_INVALID_ARGS);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CLEAR_INVALID_ARGS);
return;
}
@@ -619,7 +619,7 @@ public class FixedCommandModule implements CommandModule {
for (FixedParticleEffect fixedEffect : fixedEffectsToRemove)
DataManager.removeFixedEffect(fixedEffect.getOwnerUniqueId(), fixedEffect.getId());
- LangManager.sendMessage(p, Lang.FIXED_CLEAR_SUCCESS, fixedEffectsToRemove.size(), radius);
+ LangManager.sendMessage(pplayer, Lang.FIXED_CLEAR_SUCCESS, fixedEffectsToRemove.size(), radius);
}
public List onTabComplete(PPlayer pplayer, String[] args) {
diff --git a/src/com/esophose/playerparticles/command/GroupCommandModule.java b/src/com/esophose/playerparticles/command/GroupCommandModule.java
index b1008da..07b421d 100644
--- a/src/com/esophose/playerparticles/command/GroupCommandModule.java
+++ b/src/com/esophose/playerparticles/command/GroupCommandModule.java
@@ -5,7 +5,6 @@ import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
-import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import com.esophose.playerparticles.manager.DataManager;
@@ -19,20 +18,18 @@ import com.esophose.playerparticles.particles.ParticlePair;
public class GroupCommandModule implements CommandModule {
public void onCommandExecute(PPlayer pplayer, String[] args) {
- Player p = pplayer.getPlayer();
-
List validCommands = Arrays.asList(new String[] { "save", "load", "remove", "info", "list" });
if (args.length == 0 || !validCommands.contains(args[0])) {
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_SAVE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_LOAD);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_REMOVE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_INFO);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_LIST);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_SAVE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_LOAD);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_REMOVE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_INFO);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_LIST);
return;
}
if (args.length == 1 && !args[0].equalsIgnoreCase("list")) {
- LangManager.sendMessage(p, Lang.GROUP_NO_NAME, args[0].toLowerCase());
+ LangManager.sendMessage(pplayer, Lang.GROUP_NO_NAME, args[0].toLowerCase());
return;
}
@@ -53,11 +50,11 @@ public class GroupCommandModule implements CommandModule {
onList(pplayer);
break;
default:
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_SAVE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_LOAD);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_REMOVE);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_INFO);
- LangManager.sendMessage(p, Lang.COMMAND_DESCRIPTION_GROUP_LIST);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_SAVE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_LOAD);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_REMOVE);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_INFO);
+ LangManager.sendMessage(pplayer, Lang.COMMAND_DESCRIPTION_GROUP_LIST);
break;
}
}
diff --git a/src/com/esophose/playerparticles/command/ParticleCommandHandler.java b/src/com/esophose/playerparticles/command/ParticleCommandHandler.java
index 9e9fc9b..6925b1f 100644
--- a/src/com/esophose/playerparticles/command/ParticleCommandHandler.java
+++ b/src/com/esophose/playerparticles/command/ParticleCommandHandler.java
@@ -4,16 +4,19 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
+import org.bukkit.util.StringUtil;
import com.esophose.playerparticles.manager.DataManager;
import com.esophose.playerparticles.manager.LangManager;
import com.esophose.playerparticles.manager.LangManager.Lang;
import com.esophose.playerparticles.manager.PermissionManager;
+import com.esophose.playerparticles.particles.OtherPPlayer;
import com.esophose.playerparticles.particles.PPlayer;
public class ParticleCommandHandler implements CommandExecutor, TabCompleter {
@@ -80,8 +83,8 @@ public class ParticleCommandHandler implements CommandExecutor, TabCompleter {
}
/**
- * Called when a player executes a /pp command
- * Checks what /pp command it is and calls the corresponding module
+ * Called when a player executes a PlayerParticles command
+ * Checks what PlayerParticles command it is and calls the corresponding module
*
* @param sender Who executed the command
* @param cmd The command
@@ -90,30 +93,68 @@ public class ParticleCommandHandler implements CommandExecutor, TabCompleter {
* @return true
*/
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage("Error: PlayerParticles only supports players executing commands.");
- return true;
+ if (cmd.getName().equalsIgnoreCase("pp")) {
+ if (!(sender instanceof Player)) {
+ sender.sendMessage("Error: PlayerParticles only supports players executing commands.");
+ return true;
+ }
+
+ Player p = (Player) sender;
+
+ DataManager.getPPlayer(p.getUniqueId(), (pplayer) -> {
+ String commandName = args.length > 0 ? args[0] : "";
+ CommandModule commandModule = findMatchingCommand(commandName);
+
+ if (commandModule != null) {
+ if (commandModule.requiresEffects() && PermissionManager.getEffectNamesUserHasPermissionFor(p).isEmpty()) {
+ LangManager.sendMessage(pplayer, Lang.COMMAND_ERROR_NO_EFFECTS);
+ } else {
+ String[] cmdArgs = new String[0];
+ if (args.length > 1) cmdArgs = Arrays.copyOfRange(args, 1, args.length);
+ commandModule.onCommandExecute(pplayer, cmdArgs);
+ }
+ } else {
+ LangManager.sendMessage(pplayer, Lang.COMMAND_ERROR_UNKNOWN);
+ }
+ });
+ } else if (cmd.getName().equalsIgnoreCase("ppo")) {
+ if (!PermissionManager.canOverride(sender)) {
+ LangManager.sendCommandSenderMessage(sender, Lang.OTHER_NO_PERMISSION);
+ return true;
+ }
+
+ if (args.length < 2) {
+ LangManager.sendCommandSenderMessage(sender, Lang.OTHER_MISSING_ARGS);
+ return true;
+ }
+
+ Player other = Bukkit.getPlayer(args[0]);
+ if (other == null) {
+ LangManager.sendCommandSenderMessage(sender, Lang.OTHER_UNKNOWN_PLAYER, args[0]);
+ return true;
+ }
+
+ CommandModule commandModule = findMatchingCommand(args[1]);
+ if (commandModule == null) {
+ LangManager.sendCommandSenderMessage(sender, Lang.OTHER_UNKNOWN_COMMAND, args[1]);
+ return true;
+ }
+
+ if (commandModule.requiresEffects() && PermissionManager.getEffectNamesUserHasPermissionFor(other).isEmpty()) {
+ LangManager.sendCommandSenderMessage(sender, Lang.COMMAND_ERROR_NO_EFFECTS);
+ return true;
+ }
+
+ DataManager.getPPlayer(other.getUniqueId(), (pplayer) -> {
+ OtherPPlayer otherPPlayer = new OtherPPlayer(sender, pplayer);
+
+ LangManager.sendCommandSenderMessage(sender, Lang.OTHER_SUCCESS, other.getName());
+
+ String[] cmdArgs = Arrays.copyOfRange(args, 2, args.length);
+ commandModule.onCommandExecute(otherPPlayer, cmdArgs);
+ });
}
- Player p = (Player) sender;
-
- DataManager.getPPlayer(p.getUniqueId(), (pplayer) -> {
- String commandName = args.length > 0 ? args[0] : "";
- CommandModule commandModule = findMatchingCommand(commandName);
-
- if (commandModule != null) {
- if (commandModule.requiresEffects() && PermissionManager.getEffectNamesUserHasPermissionFor(p).isEmpty()) {
- LangManager.sendMessage(p, Lang.COMMAND_ERROR_NO_EFFECTS);
- } else {
- String[] cmdArgs = new String[0];
- if (args.length > 1) cmdArgs = Arrays.copyOfRange(args, 1, args.length);
- commandModule.onCommandExecute(pplayer, cmdArgs);
- }
- } else {
- LangManager.sendMessage(p, Lang.COMMAND_ERROR_UNKNOWN);
- }
- });
-
return true;
}
@@ -127,9 +168,9 @@ public class ParticleCommandHandler implements CommandExecutor, TabCompleter {
* @return A list of commands available to the sender
*/
public List onTabComplete(CommandSender sender, Command cmd, String alias, String[] args) {
- if (!(sender instanceof Player)) return new ArrayList();
-
if (cmd.getName().equalsIgnoreCase("pp")) {
+ if (!(sender instanceof Player)) return new ArrayList();
+
PPlayer pplayer = DataManager.getPPlayer(((Player) sender).getUniqueId());
if (pplayer == null) return new ArrayList();
@@ -138,12 +179,41 @@ public class ParticleCommandHandler implements CommandExecutor, TabCompleter {
return commandModule.onTabComplete(pplayer, args);
} else if (args.length >= 2) {
CommandModule commandModule = findMatchingCommand(args[0]);
- String[] cmdArgs = Arrays.copyOfRange(args, 1, args.length);
if (commandModule != null) {
+ String[] cmdArgs = Arrays.copyOfRange(args, 1, args.length);
return commandModule.onTabComplete(pplayer, cmdArgs);
}
}
+ } else if (cmd.getName().equalsIgnoreCase("ppo")) {
+ List completions = new ArrayList();
+
+ if (args.length < 2) {
+ List playerNames = new ArrayList();
+ for (Player player : Bukkit.getOnlinePlayers())
+ playerNames.add(player.getName());
+
+ if (args.length == 0) completions = playerNames;
+ else StringUtil.copyPartialMatches(args[0], playerNames, completions);
+ } else if (args.length == 2) {
+ List commandNames = ParticleCommandHandler.getCommandNames();
+ StringUtil.copyPartialMatches(args[1], commandNames, completions);
+ } else {
+ Player otherPlayer = Bukkit.getPlayer(args[0]);
+ if (otherPlayer != null) {
+ PPlayer other = DataManager.getPPlayer(otherPlayer.getUniqueId());
+ if (other != null) {
+ CommandModule commandModule = findMatchingCommand(args[1]);
+ if (commandModule != null) {
+ String[] cmdArgs = Arrays.copyOfRange(args, 2, args.length);
+ completions = commandModule.onTabComplete(other, cmdArgs);
+ }
+ }
+ }
+ }
+
+ return completions;
}
+
return new ArrayList();
}
diff --git a/src/com/esophose/playerparticles/command/StylesCommandModule.java b/src/com/esophose/playerparticles/command/StylesCommandModule.java
index 7b48983..1eec52f 100644
--- a/src/com/esophose/playerparticles/command/StylesCommandModule.java
+++ b/src/com/esophose/playerparticles/command/StylesCommandModule.java
@@ -25,7 +25,7 @@ public class StylesCommandModule implements CommandModule {
toSend = toSend.substring(0, toSend.length() - 2);
}
- LangManager.sendMessage(p, Lang.STYLE_LIST, toSend);
+ LangManager.sendMessage(pplayer, Lang.STYLE_LIST, toSend);
}
public List onTabComplete(PPlayer pplayer, String[] args) {
diff --git a/src/com/esophose/playerparticles/gui/GuiActionButton.java b/src/com/esophose/playerparticles/gui/GuiActionButton.java
index 11fe5c2..dfcd7fe 100644
--- a/src/com/esophose/playerparticles/gui/GuiActionButton.java
+++ b/src/com/esophose/playerparticles/gui/GuiActionButton.java
@@ -157,7 +157,7 @@ public class GuiActionButton {
* @param lore The lines of lore
* @return A parsed list of lore text
*/
- private List parseLore(String... lore) {
+ public static List parseLore(String... lore) {
List parsedLore = new ArrayList();
for (String line : lore) {
// Try to maintain the color going to the next line if it's split
diff --git a/src/com/esophose/playerparticles/gui/GuiInventoryDefault.java b/src/com/esophose/playerparticles/gui/GuiInventoryDefault.java
index 768ce55..4a8591a 100644
--- a/src/com/esophose/playerparticles/gui/GuiInventoryDefault.java
+++ b/src/com/esophose/playerparticles/gui/GuiInventoryDefault.java
@@ -1,7 +1,6 @@
package com.esophose.playerparticles.gui;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import org.bukkit.Bukkit;
@@ -42,12 +41,12 @@ public class GuiInventoryDefault extends GuiInventory {
currentIconMeta.setDisplayName(LangManager.getText(Lang.GUI_COLOR_ICON_NAME) + pplayer.getPlayer().getName());
String[] currentIconLore = new String[] {
LangManager.getText(Lang.GUI_COLOR_INFO) + LangManager.getText(Lang.GUI_ACTIVE_PARTICLES, pplayer.getActiveParticles().size()),
- LangManager.getText(Lang.GUI_COLOR_INFO) + LangManager.getText(Lang.GUI_SAVED_GROUPS, pplayer.getParticleGroups().size()),
+ LangManager.getText(Lang.GUI_COLOR_INFO) + LangManager.getText(Lang.GUI_SAVED_GROUPS, pplayer.getParticleGroups().size() - 1),
LangManager.getText(Lang.GUI_COLOR_INFO) + LangManager.getText(Lang.GUI_FIXED_EFFECTS, pplayer.getFixedEffectIds().size()),
- "",
+ " ",
LangManager.getText(Lang.GUI_COLOR_INFO) + LangManager.getText(Lang.GUI_COMMANDS_INFO)
};
- currentIconMeta.setLore(Arrays.asList(currentIconLore));
+ currentIconMeta.setLore(GuiActionButton.parseLore(currentIconLore));
currentIconMeta.setOwner(pplayer.getPlayer().getName());
headIcon.setItemMeta(currentIconMeta);
diff --git a/src/com/esophose/playerparticles/manager/LangManager.java b/src/com/esophose/playerparticles/manager/LangManager.java
index a9ab026..0bf6cf4 100644
--- a/src/com/esophose/playerparticles/manager/LangManager.java
+++ b/src/com/esophose/playerparticles/manager/LangManager.java
@@ -8,8 +8,8 @@ import java.nio.file.Paths;
import java.text.MessageFormat;
import org.bukkit.ChatColor;
+import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration;
-import org.bukkit.entity.Player;
import com.esophose.playerparticles.PlayerParticles;
import com.esophose.playerparticles.manager.SettingManager.PSetting;
@@ -49,6 +49,7 @@ public class LangManager {
COMMAND_DESCRIPTION_TOGGLE,
COMMAND_DESCRIPTION_VERSION,
COMMAND_DESCRIPTION_WORLDS,
+ COMMAND_DESCRIPTION_OTHER,
// Sub-Command Usage
COMMAND_DESCRIPTION_FIXED_CREATE,
@@ -67,6 +68,13 @@ public class LangManager {
ID_INVALID,
ID_UNKNOWN,
+ // Other Command
+ OTHER_NO_PERMISSION,
+ OTHER_MISSING_ARGS,
+ OTHER_UNKNOWN_PLAYER,
+ OTHER_UNKNOWN_COMMAND,
+ OTHER_SUCCESS,
+
// Add Command
ADD_REACHED_MAX,
ADD_PARTICLE_APPLIED,
@@ -280,7 +288,11 @@ public class LangManager {
GUI_EDIT_DATA_COLOR_BLACK,
GUI_EDIT_DATA_COLOR_GRAY,
GUI_EDIT_DATA_COLOR_LIGHT_GRAY,
- GUI_EDIT_DATA_COLOR_WHITE;
+ GUI_EDIT_DATA_COLOR_WHITE,
+
+ // Update Available
+ UPDATE_AVAILABLE;
+
// @formatter:on
private String message;
@@ -398,13 +410,13 @@ public class LangManager {
}
/**
- * Sends a message to the given player
+ * Sends a message to the given PPlayer
*
- * @param player The player to send the message to
+ * @param pplayer The player to send the message to
* @param messageType The message to send to the player
* @param replacements The replacements for the message
*/
- public static void sendMessage(Player player, Lang messageType, Object... replacements) {
+ public static void sendMessage(PPlayer pplayer, Lang messageType, Object... replacements) {
if (!PSetting.MESSAGES_ENABLED.getBoolean()) return;
String message = messageType.get(replacements);
@@ -417,37 +429,7 @@ public class LangManager {
if (message.trim().equals("")) return;
- player.sendMessage(message);
- }
-
- /**
- * Sends a message to the given PPlayer
- *
- * @param pplayer The player to send the message to
- * @param messageType The message to send to the player
- * @param replacements The replacements for the message
- */
- public static void sendMessage(PPlayer pplayer, Lang messageType, Object... replacements) {
- sendMessage(pplayer.getPlayer(), messageType, replacements);
- }
-
- /**
- * Sends a custom message to a player
- * Used in cases of string building
- *
- * @param player The player to send the message to
- * @param message The message to send to the player
- */
- public static void sendCustomMessage(Player player, String message) {
- if (!PSetting.MESSAGES_ENABLED.getBoolean()) return;
-
- if (message.trim().length() == 0) return;
-
- if (PSetting.USE_MESSAGE_PREFIX.getBoolean()) {
- message = parseColors(PSetting.MESSAGE_PREFIX.getString()) + " " + message;
- }
-
- player.sendMessage(message);
+ pplayer.getMessageDestination().sendMessage(message);
}
/**
@@ -458,26 +440,15 @@ public class LangManager {
* @param message The message to send to the player
*/
public static void sendCustomMessage(PPlayer pplayer, String message) {
- sendCustomMessage(pplayer.getPlayer(), message);
- }
-
- /**
- * Sends a message to a Player without the prefix
- *
- * @param player The player to send the message to
- * @param messageType The message type to send the player
- * @param replacements The replacements for the message
- */
- public static void sendSimpleMessage(Player player, Lang messageType, Object... replacements) {
if (!PSetting.MESSAGES_ENABLED.getBoolean()) return;
- String message = messageType.get(replacements);
+ if (message.trim().length() == 0) return;
- if (message.length() == 0) return;
+ if (PSetting.USE_MESSAGE_PREFIX.getBoolean()) {
+ message = parseColors(PSetting.MESSAGE_PREFIX.getString()) + " " + message;
+ }
- if (message.trim().equals("")) return;
-
- player.sendMessage(message);
+ pplayer.getMessageDestination().sendMessage(message);
}
/**
@@ -488,7 +459,38 @@ public class LangManager {
* @param replacements The replacements for the message
*/
public static void sendSimpleMessage(PPlayer pplayer, Lang messageType, Object... replacements) {
- sendSimpleMessage(pplayer.getPlayer(), messageType, replacements);
+ if (!PSetting.MESSAGES_ENABLED.getBoolean()) return;
+
+ String message = messageType.get(replacements);
+
+ if (message.length() == 0) return;
+
+ if (message.trim().equals("")) return;
+
+ pplayer.getMessageDestination().sendMessage(message);
+ }
+
+ /**
+ * Sends a message to a CommandSender
+ *
+ * @param sender The CommandSender to send the message to
+ * @param messageType The message type to send the player
+ * @param replacements The replacements for the message
+ */
+ public static void sendCommandSenderMessage(CommandSender sender, Lang messageType, Object... replacements) {
+ if (!PSetting.MESSAGES_ENABLED.getBoolean()) return;
+
+ String message = messageType.get(replacements);
+
+ if (message.length() == 0) return;
+
+ if (PSetting.USE_MESSAGE_PREFIX.getBoolean()) {
+ message = parseColors(PSetting.MESSAGE_PREFIX.getString()) + " " + message;
+ }
+
+ if (message.trim().equals("")) return;
+
+ sender.sendMessage(message);
}
/**
diff --git a/src/com/esophose/playerparticles/manager/PermissionManager.java b/src/com/esophose/playerparticles/manager/PermissionManager.java
index bf57d9f..aaafe8e 100644
--- a/src/com/esophose/playerparticles/manager/PermissionManager.java
+++ b/src/com/esophose/playerparticles/manager/PermissionManager.java
@@ -3,6 +3,7 @@ package com.esophose.playerparticles.manager;
import java.util.ArrayList;
import java.util.List;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.esophose.playerparticles.manager.SettingManager.PSetting;
@@ -68,6 +69,17 @@ public class PermissionManager {
}
+ /**
+ * Checks if a player can use /ppo
+ *
+ * @param sender The CommandSender to check
+ * @return If the player can use /ppo
+ */
+ public static boolean canOverride(CommandSender sender) {
+ if (!(sender instanceof Player)) return true;
+ return PPermission.ALL.check((Player)sender);
+ }
+
/**
* Checks if the given player has reached the max number of particles in their active group
*
diff --git a/src/com/esophose/playerparticles/particles/OtherPPlayer.java b/src/com/esophose/playerparticles/particles/OtherPPlayer.java
new file mode 100644
index 0000000..dad1036
--- /dev/null
+++ b/src/com/esophose/playerparticles/particles/OtherPPlayer.java
@@ -0,0 +1,19 @@
+package com.esophose.playerparticles.particles;
+
+import org.bukkit.command.CommandSender;
+
+public class OtherPPlayer extends PPlayer {
+
+ private CommandSender sender;
+
+ public OtherPPlayer(CommandSender sender, PPlayer other) {
+ super(other.getUniqueId(), other.getParticleGroups(), other.getFixedParticles(), !other.canSeeParticles());
+
+ this.sender = sender;
+ }
+
+ public CommandSender getMessageDestination() {
+ return this.sender;
+ }
+
+}
diff --git a/src/com/esophose/playerparticles/particles/PPlayer.java b/src/com/esophose/playerparticles/particles/PPlayer.java
index 09d26f9..fb646fd 100644
--- a/src/com/esophose/playerparticles/particles/PPlayer.java
+++ b/src/com/esophose/playerparticles/particles/PPlayer.java
@@ -5,6 +5,7 @@ import java.util.List;
import java.util.UUID;
import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.esophose.playerparticles.styles.api.ParticleStyle;
@@ -72,6 +73,15 @@ public class PPlayer {
return Bukkit.getPlayer(this.playerUUID);
}
+ /**
+ * Gets the destination for messages
+ *
+ * @return The destination for messages
+ */
+ public CommandSender getMessageDestination() {
+ return this.getPlayer();
+ }
+
/**
* Gets if the Player can see particles spawned by the plugin or not
*
@@ -258,7 +268,8 @@ public class PPlayer {
/**
* Gets the primary particle (ID 1) for the PPlayer
- * @return
+ *
+ * @return The particle with an ID of 1 for the PPlayer or a new one if one doesn't exist
*/
public ParticlePair getPrimaryParticle() {
ParticlePair primaryParticle = this.getActiveParticle(1);
diff --git a/src/com/esophose/playerparticles/updater/PluginUpdateListener.java b/src/com/esophose/playerparticles/updater/PluginUpdateListener.java
index 4ddd09a..ad087df 100644
--- a/src/com/esophose/playerparticles/updater/PluginUpdateListener.java
+++ b/src/com/esophose/playerparticles/updater/PluginUpdateListener.java
@@ -1,12 +1,12 @@
package com.esophose.playerparticles.updater;
-import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import com.esophose.playerparticles.PlayerParticles;
import com.esophose.playerparticles.manager.LangManager;
+import com.esophose.playerparticles.manager.LangManager.Lang;
public class PluginUpdateListener implements Listener {
@@ -17,12 +17,8 @@ public class PluginUpdateListener implements Listener {
*/
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
- if (e.getPlayer().isOp()) {
- if (PlayerParticles.updateVersion != null) { // @formatter:off
- LangManager.sendCustomMessage(e.getPlayer(), ChatColor.YELLOW + "An update (" + ChatColor.AQUA + "v" + PlayerParticles.updateVersion + ChatColor.YELLOW + ") is available! " +
- "You are running " + ChatColor.AQUA + "v" + PlayerParticles.getPlugin().getDescription().getVersion() + ChatColor.YELLOW +
- ". https://www.spigotmc.org/resources/playerparticles.40261/");
- } // @formatter:on
+ if (e.getPlayer().isOp() && PlayerParticles.updateVersion != null) {
+ LangManager.sendCommandSenderMessage(e.getPlayer(), Lang.UPDATE_AVAILABLE, PlayerParticles.updateVersion, PlayerParticles.getPlugin().getDescription().getVersion());
}
}
diff --git a/src/config.yml b/src/config.yml
index 165221e..7364aa0 100644
--- a/src/config.yml
+++ b/src/config.yml
@@ -13,7 +13,7 @@
# This value is the version of the plugin that last modified the config file
# Changing this value manually will likely result in data loss and errors!
# Do not change this manually unless specifically told to by the plugin author
-version: 6.1
+version: 6.2
# Check for new versions of the plugin
# Default: true
diff --git a/src/lang/default.lang b/src/lang/default.lang
index 0e7e106..c9c5c80 100644
--- a/src/lang/default.lang
+++ b/src/lang/default.lang
@@ -36,6 +36,7 @@ command-description-styles: 'Display a list of styles you can use'
command-description-toggle: 'Toggles particle visibility on/off'
command-description-version: 'Display the plugin version and author'
command-description-worlds: 'Find out what worlds particles are disabled in'
+command-description-other: 'Execute a /pp command for another player'
# Sub-Command Usage
command-description-fixed-create: '&e/pp fixed create < |>