Adding in a standardised version command.
This commit is contained in:
parent
8e633ceb2b
commit
cb02cc3ee9
84
src/com/massivecraft/mcore/cmd/VersionCommand.java
Normal file
84
src/com/massivecraft/mcore/cmd/VersionCommand.java
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
package com.massivecraft.mcore.cmd;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.plugin.PluginDescriptionFile;
|
||||||
|
|
||||||
|
import com.massivecraft.mcore.cmd.MCommand;
|
||||||
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
|
import com.massivecraft.mcore.util.Txt;
|
||||||
|
|
||||||
|
public class VersionCommand extends MCommand
|
||||||
|
{
|
||||||
|
public static final String NOT_SPECIFIED = Txt.parse("<em><silver>not specified");
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final Plugin plugin;
|
||||||
|
public Plugin getPlugin() { return this.plugin; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public VersionCommand(Plugin plugin, String permissionName, String... aliases)
|
||||||
|
{
|
||||||
|
this.plugin = plugin;
|
||||||
|
|
||||||
|
if (permissionName != null)
|
||||||
|
{
|
||||||
|
this.addRequirements(ReqHasPerm.get(permissionName));
|
||||||
|
}
|
||||||
|
this.setDesc("display the plugin version");
|
||||||
|
|
||||||
|
this.addAliases(aliases);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// OVERRIDE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void perform()
|
||||||
|
{
|
||||||
|
PluginDescriptionFile pdf = this.getPlugin().getDescription();
|
||||||
|
|
||||||
|
String name = pdf.getName();
|
||||||
|
String version = pdf.getVersion();
|
||||||
|
String website = pdf.getWebsite();
|
||||||
|
|
||||||
|
String description = pdf.getDescription();
|
||||||
|
if (description != null) description = Txt.parse("<i>"+description);
|
||||||
|
|
||||||
|
String authors = null;
|
||||||
|
List<String> authorList = pdf.getAuthors();
|
||||||
|
if (authorList != null && authorList.size() > 0)
|
||||||
|
{
|
||||||
|
authors = Txt.implodeCommaAndDot(authorList, "<aqua>%s", "<i> ", " <i>and ", "");
|
||||||
|
authors = Txt.parse(authors);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.sendTitle();
|
||||||
|
this.sendEntry("name", name);
|
||||||
|
this.sendEntry("version", version);
|
||||||
|
this.sendEntry("website", website);
|
||||||
|
this.sendEntry("authors", authors);
|
||||||
|
this.sendEntry("description", description);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendTitle()
|
||||||
|
{
|
||||||
|
sendMessage(Txt.titleize("Plugin Version & Information"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendEntry(String key, String value)
|
||||||
|
{
|
||||||
|
sendMessage(Txt.parse("<pink>%s: <aqua>%s", Txt.upperCaseFirst(key), value == null ? NOT_SPECIFIED : value));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user