mirror of
https://github.com/TotalFreedomMC/PlayerParticles.git
synced 2025-07-06 22:11:21 +00:00
Use gradle. Use standard Java project layout. Changed package name.
This commit is contained in:
parent
77457f26c0
commit
da86916d32
112 changed files with 1216 additions and 1051 deletions
|
@ -0,0 +1,74 @@
|
|||
package dev.esophose.playerparticles.command;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.util.StringUtil;
|
||||
|
||||
import dev.esophose.playerparticles.manager.LangManager;
|
||||
import dev.esophose.playerparticles.manager.LangManager.Lang;
|
||||
import dev.esophose.playerparticles.manager.PermissionManager;
|
||||
import dev.esophose.playerparticles.particles.PPlayer;
|
||||
import dev.esophose.playerparticles.particles.ParticleEffect;
|
||||
import dev.esophose.playerparticles.particles.ParticleEffect.ParticleProperty;
|
||||
|
||||
public class DataCommandModule implements CommandModule {
|
||||
|
||||
public void onCommandExecute(PPlayer pplayer, String[] args) {
|
||||
if (args.length > 0) {
|
||||
ParticleEffect effect = ParticleEffect.fromName(args[0]);
|
||||
if (effect == null) {
|
||||
LangManager.sendMessage(pplayer, Lang.EFFECT_INVALID, args[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (effect.hasProperty(ParticleProperty.COLORABLE)) {
|
||||
if (effect == ParticleEffect.NOTE) {
|
||||
LangManager.sendMessage(pplayer, Lang.DATA_USAGE_NOTE, effect.getName());
|
||||
} else {
|
||||
LangManager.sendMessage(pplayer, Lang.DATA_USAGE_COLOR, effect.getName());
|
||||
}
|
||||
} else if (effect.hasProperty(ParticleProperty.REQUIRES_MATERIAL_DATA)) {
|
||||
if (effect == ParticleEffect.ITEM) {
|
||||
LangManager.sendMessage(pplayer, Lang.DATA_USAGE_ITEM, effect.getName());
|
||||
} else {
|
||||
LangManager.sendMessage(pplayer, Lang.DATA_USAGE_BLOCK, effect.getName());
|
||||
}
|
||||
} else {
|
||||
LangManager.sendMessage(pplayer, Lang.DATA_USAGE_NONE, effect.getName());
|
||||
}
|
||||
} else {
|
||||
LangManager.sendMessage(pplayer, Lang.DATA_NO_ARGS);
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> onTabComplete(PPlayer pplayer, String[] args) {
|
||||
List<String> matches = new ArrayList<>();
|
||||
if (args.length <= 1) {
|
||||
if (args.length == 0) matches = PermissionManager.getEffectNamesUserHasPermissionFor(pplayer.getPlayer());
|
||||
else StringUtil.copyPartialMatches(args[0], PermissionManager.getEffectNamesUserHasPermissionFor(pplayer.getPlayer()), matches);
|
||||
}
|
||||
return matches;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return "data";
|
||||
}
|
||||
|
||||
public Lang getDescription() {
|
||||
return Lang.COMMAND_DESCRIPTION_DATA;
|
||||
}
|
||||
|
||||
public String getArguments() {
|
||||
return "<effect>";
|
||||
}
|
||||
|
||||
public boolean requiresEffects() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean canConsoleExecute() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue