CLOSED

Status
This thread has been locked.
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

chelsea1124

⚔️professional config and server creator⚔️
Premium
Feedback score
17
Posts
423
Reactions
53
Resources
3
Post what you've tried.

My StaffList Code:
Code:
package me.chelsea1124;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

import static org.spigotmc.SpigotConfig.config;

public class StaffList extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {

        saveDefaultConfig();
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {

        if (cmd.getName().equalsIgnoreCase("staff_reload")) {

            Player player = (Player) sender;

            if (player.hasPermission("reload.reload")) ;
            reloadConfig();
            player.sendMessage(ChatColor.GREEN + "Configuration Reloaded!");
            return false;
        }

        if (cmd.getName().equalsIgnoreCase("staff")) {

            int owners = 0;
            int managers = 0;
            int admins = 0;
            int moderators = 0;
            int helpers = 0;

            for (String st : config.getStringList("owners")) {
                if (Bukkit.getPlayer(st).isOnline()) {
                    owners = owners + 1;
                }

                for (String st : config.getStringList("managers")) {
                    if (Bukkit.getPlayer(st).isOnline()) {
                        managers = managers + 1;
                    }

                    for (String st : config.getStringList("admins")) {
                        if (Bukkit.getPlayer(st).isOnline()) {
                            admins = admins + 1;
                        }

                        for (String st : config.getStringList("moderators")) {
                            if (Bukkit.getPlayer(st).isOnline()) {
                                moderators = moderators + 1;
                            }

                            for (String st : config.getStringList("helpers")) {
                                if (Bukkit.getPlayer(st).isOnline()) {
                                    helpers = helpers + 1;
                                }

                            }
                            sender.sendMessage("§8§m-------------------------------------");
                            sender.sendMessage("§cOwners§7§l:§r +owners+ Online").replaceAll("+owners+", owners);
                            sender.sendMessage("§eManagers§7§l:§r +managers+ Online").replaceAll("+managers+", managers);
                            sender.sendMessage("§eAdmins§7§l:§r +admins+ Online").replaceAll("+admins+", admins);
                            sender.sendMessage("§eModerators§7§l:§r +moderators+ online").replaceAll("+moderators+", moderators);
                            sender.sendMessage("§eHelpers§7§l:§r +helpers+ online").replaceAll("+helpers+", helpers);
                            sender.sendMessage("§8§m-------------------------------------");
                        }

                        return true;
                    }

                }
            }
        }
        return true;
    }
}
 

Stockfish

Sometimes a software developer
Premium
Feedback score
2
Posts
185
Reactions
100
Resources
0
chelsea1124
1. Why are you implementing a listener if you're not using it? If you do plan on using it, don't forget to register it in your #onEnable method.
2. How do you plan on getting a player from a config if you're not storing the player anywhere? Since you've already implemented a listener in your class, listen for when a player joins, check whether the joining player has a specific rank permission, and if they do, cache them.
3. Speaking of which, I'd advise caching the players instead of serializing them inside a config. Don't forget to invalidate the cache when a player leaves the server in order to prevent memory leaks.
 

NoReach__

Feedback score
0
Posts
58
Reactions
16
Resources
0
I suggest making different classes for different things, helps keep things a lot more organised :)
 
Status
This thread has been locked.
Top