Add tooltips for f show.

Refactor tooltip methods to be shared across command classes.
This commit is contained in:
drtshock
2014-11-13 13:49:13 -06:00
parent 43826d986f
commit c4f4036e1d
6 changed files with 103 additions and 135 deletions

View File

@@ -12,10 +12,14 @@ import com.massivecraft.factions.struct.ChatMode;
import com.massivecraft.factions.util.*;
import com.massivecraft.factions.zcore.MPlugin;
import com.massivecraft.factions.zcore.util.TextUtil;
import net.milkbowl.vault.permission.Permission;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.RegisteredServiceProvider;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
@@ -42,6 +46,8 @@ public class P extends MPlugin {
// Persistence related
private boolean locked = false;
public static Permission perms = null;
public boolean getLocked() {
return this.locked;
}
@@ -112,6 +118,7 @@ public class P extends MPlugin {
getServer().getPluginManager().registerEvents(blockListener, this);
saveDefaultConfig();
setupPermissions();
// since some other plugins execute commands directly through this command interface, provide it
this.getCommand(this.refCommand).setExecutor(this);
@@ -120,6 +127,12 @@ public class P extends MPlugin {
this.loadSuccessful = true;
}
private boolean setupPermissions() {
RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
perms = rsp.getProvider();
return perms != null;
}
@Override
public GsonBuilder getGsonBuilder() {
Type mapFLocToStringSetType = new TypeToken<Map<FLocation, Set<String>>>() {
@@ -306,6 +319,10 @@ public class P extends MPlugin {
return players;
}
public String getPrimaryGroup(OfflinePlayer player) {
return perms == null ? " " : perms.getPrimaryGroup(Bukkit.getWorlds().get(0).toString(), player);
}
public void debug(Level level, String s) {
if (getConfig().getBoolean("debug", false)) {
getLogger().log(level, s);