So, I have seen people that can't do some things like permissions.yml, or what plugins are good for what, I once made pre-made servers, but I really couldn't continue updating them around my programming, school, and various other things, so I am going to make this guide, with permissions.yml examples, for people that need it.
You then need to create a script, different depending on OS (Operating System), for Windows 7, it's the following (if you are using JAVA 7, change jre6 to jre7):
@ECHO OFF
SET BINDIR=%~dp0
CD /D "%BINDIR%"
"%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -jar craftbukkit.jar
PAUSE
There are many good plugins, but a server needs to have enough to make the server good, but not so many that the server lags. I have composed some essential plugins, and some other good ones. When I say could be swapped for, I mean the one I state first is the best at the job, the others are not so good.
Also, if you're brand new to making the server, I would recommend Essentials over CommandBook. Not because it's better/more efficient, but because it is a bit simpler and newer people are more familiar with it.
Also, if you're brand new to making the server, I would recommend Essentials over CommandBook. Not because it's better/more efficient, but because it is a bit simpler and newer people are more familiar with it.
Yeah, I know, my example permissions.yml files are designed so there is one for each style of server I listed, so it's like pre-made servers, but they just download the plugins themselves - Mainly because I have no time to constantly upload to Dropbox every Bukkit RB and every Minecraft update and stuff.
Feedback, is this too complicated for a /list command?:
onfig = getConfig();
getDataFolder().mkdir();
File Config = new File(getDataFolder() + File.separator + "config.yml");
Config.createNewFile();
if (!config.contains("Permissions.Enabled.List")) config.set("Permissions.Enabled.List", Boolean.valueOf(false));
if (!config.contains("Permissions.Enabled.Toggle")) config.set("Permissions.Enabled.Toggle", Boolean.valueOf(true));
if (!config.contains("Permissions.OpOverride")) config.set("Permissions.OpOverride", Boolean.valueOf(true));
if (!config.contains("Permissions.Denied")) config.set("Permissions.Denied", "&4[Playerz] &fYou aren't allowed to use this command.");
if (!config.contains("List.NumberOfGroups")) config.set("List.NumberOfGroups", Integer.valueOf(1));
if (!config.contains("List.DisplayPrefix")) config.set("List.DisplayPrefix", Boolean.valueOf(true));
if (!config.contains("List.DisplaySuffix")) config.set("List.DisplaySuffix", Boolean.valueOf(true));
if (!config.contains("List.Prefix")) config.set("List.Prefix", "&6----------------------[&ePlayerz&6]-----------------------");
if (!config.contains("List.PlayerAmount")) config.set("List.PlayerAmount", "&3There are (&6%ONLINEPLAYERS%&3/&6%MAXPLAYERS%&3) players online.");
int ga = config.getInt("List.NumberOfGroups");
for (int cc = 1; cc < ga + 1; cc++) {
if (config.contains("List." + cc)) continue; config.set("List." + cc, "&3Group " + cc + ": &6%GROUP" + cc + "%");
}
if (!config.contains("List.Suffix")) config.set("List.Suffix", "&6-----------------------------------------------------");
if (!config.contains("Broadcast.RunOnStart")) config.set("Broadcast.RunOnStart", Boolean.valueOf(false));
if (!config.contains("Broadcast.Interval")) config.set("Broadcast.Interval", Integer.valueOf(300));
if (!config.contains("Broadcast.DisplayPrefix")) config.set("Broadcast.DisplayPrefix", Boolean.valueOf(true));
if (!config.contains("Broadcast.DisplaySuffix")) config.set("Broadcast.DisplaySuffix", Boolean.valueOf(true));
if (!config.contains("Broadcast.DisplayPlayerAmount")) config.set("Broadcast.DisplayPlayerAmount", Boolean.valueOf(true));
if (!config.contains("Broadcast.DisplayGroups")) config.set("Broadcast.DisplayGroups", Boolean.valueOf(true));
if (!config.contains("Broadcast.Start")) config.set("Broadcast.Start", "&4[Playerz] &fAutomatic list broadcasts started.");
if (!config.contains("Broadcast.Stop")) config.set("Broadcast.Stop", "&4[Playerz] &fAutomatic list broadcasts stopped.");
saveConfig();
} catch (IOException e1) {
e1.printStackTrace();
}
if (config.getBoolean("Broadcast.RunOnStart")) {
tid = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
public void run() {
try {
Playerz.broadcastMessage();
}
catch (IOException localIOException)
{
}
}
}
, 0L, config.getInt("Broadcast.Interval") * 20);
}
try
{
Metrics metrics = new Metrics();
metrics.beginMeasuringPlugin(this);
}
catch (IOException localIOException1) {
}
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
Player player = null;
if ((sender instanceof Player)) player = (Player)sender;
if ((commandLabel.equalsIgnoreCase("list")) || (commandLabel.equalsIgnoreCase("who")) || (commandLabel.equalsIgnoreCase("players"))) {
if (config.getBoolean("Permissions.Enabled.List")) {
if ((player == null) || (player.hasPermission("playerz.list")) || ((config.getBoolean("Permissions.OpOverride")) && ((player == null) || (player.isOp()))))
{
int maxplayers = getServer().getMaxPlayers();
Player[] names = getServer().getOnlinePlayers();
if (config.getBoolean("List.DisplayPrefix")) {
if (player == null)
this.logger.info(noColors(config.getString("List.Prefix")));
else {
player.sendMessage(addColors(config.getString("List.Prefix")));
}
}
String playeramount1 = StrReplace("%ONLINEPLAYERS%", names.length, config.getString("List.PlayerAmount"));
String playeramount2 = StrReplace("%MAXPLAYERS%", maxplayers, playeramount1);
if (player == null)
this.logger.info(noColors(playeramount2));
else
player.sendMessage(addColors(playeramount2));
Player[] aplayer1;
int l = (aplayer1 = sender.getServer().getOnlinePlayers()).length;
int pp = config.getInt("List.NumberOfGroups");
String[] sentencez = new String[99];
for (int j = 0; j < l; j++) {
Player p = aplayer1[j];
for (int ppc = 1; ppc < pp + 1; ppc++) {
if (p.hasPermission("playerz." + ppc)) {
if (sentencez[ppc] == null)
sentencez[ppc] = (p.getName() + ", ");
else {
sentencez[ppc] = (sentencez[ppc] + p.getName() + ", ");
}
}
}
}
for (int ppc = 1; ppc < pp + 1; ppc++) {
if ((player == null) && (sentencez[ppc] != null))
this.logger.info(noColors(StrReplace("%GROUP" + ppc + "%", sentencez[ppc].toString(), config.getString("List." + ppc))));
else if ((player != null) && (sentencez[ppc] != null))
player.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", sentencez[ppc].toString(), config.getString("List." + ppc))));
else if ((player == null) && (sentencez[ppc] == null))
this.logger.info(noColors(StrReplace("%GROUP" + ppc + "%", "none", config.getString("List." + ppc))));
else if ((player != null) && (sentencez[ppc] == null)) {
player.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", "none", config.getString("List." + ppc))));
}
}
if (config.getBoolean("List.DisplaySuffix")) {
if (player == null)
this.logger.info(noColors(config.getString("List.Suffix")));
else
player.sendMessage(addColors(config.getString("List.Suffix")));
}
}
else
{
player.sendMessage(addColors(config.getString("Permissions.Denied")));
}
}
else {
int maxplayers = getServer().getMaxPlayers();
Player[] names = getServer().getOnlinePlayers();
if (config.getBoolean("List.DisplayPrefix")) {
if (player == null)
this.logger.info(noColors(config.getString("List.Prefix")));
else {
player.sendMessage(addColors(config.getString("List.Prefix")));
}
}
String playeramount1 = StrReplace("%ONLINEPLAYERS%", names.length, config.getString("List.PlayerAmount"));
String playeramount2 = StrReplace("%MAXPLAYERS%", maxplayers, playeramount1);
if (player == null)
this.logger.info(noColors(playeramount2));
else
player.sendMessage(addColors(playeramount2));
Player[] aplayer1;
int l = (aplayer1 = sender.getServer().getOnlinePlayers()).length;
int pp = config.getInt("List.NumberOfGroups");
String[] sentencez = new String[99];
for (int j = 0; j < l; j++) {
Player p = aplayer1[j];
for (int ppc = 1; ppc < pp + 1; ppc++) {
if (p.hasPermission("playerz." + ppc)) {
if (sentencez[ppc] == null)
sentencez[ppc] = (p.getName() + ", ");
else {
sentencez[ppc] = (sentencez[ppc] + p.getName() + ", ");
}
}
}
}
for (int ppc = 1; ppc < pp + 1; ppc++) {
if ((player == null) && (sentencez[ppc] != null))
this.logger.info(noColors(StrReplace("%GROUP" + ppc + "%", sentencez[ppc].toString(), config.getString("List." + ppc))));
else if ((player != null) && (sentencez[ppc] != null))
player.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", sentencez[ppc].toString(), config.getString("List." + ppc))));
else if ((player == null) && (sentencez[ppc] == null))
this.logger.info(noColors(StrReplace("%GROUP" + ppc + "%", "none", config.getString("List." + ppc))));
else if ((player != null) && (sentencez[ppc] == null)) {
player.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", "none", config.getString("List." + ppc))));
}
}
if (config.getBoolean("List.DisplaySuffix")) {
if (player == null)
this.logger.info(noColors(config.getString("List.Suffix")));
else {
player.sendMessage(addColors(config.getString("List.Suffix")));
}
}
}
}
else if (commandLabel.equalsIgnoreCase("playerz")) {
if (config.getBoolean("Permissions.Enabled.Toggle")) {
if ((player == null) || (player.hasPermission("playerz.toggle")) || (player == null) || ((config.getBoolean("Permissions.OpOverride")) && (player.isOp())))
{
if (running == 1) {
Bukkit.getServer().getScheduler().cancelTask(tid); running = 0;
if (player == null) this.logger.info(noColors(config.getString("Broadcast.Stop"))); else
player.sendMessage(addColors(config.getString("Broadcast.Stop")));
} else {
tid = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
public void run() {
try {
Playerz.broadcastMessage();
}
catch (IOException localIOException)
{
}
}
}
, 0L, config.getInt("Broadcast.Interval") * 20);
running = 1;
if (player == null) this.logger.info(noColors(config.getString("Broadcast.Start"))); else
player.sendMessage(addColors(config.getString("Broadcast.Start")));
}
}
else {
player.sendMessage(addColors(config.getString("Permissions.Denied")));
}
}
else if (running == 1) {
Bukkit.getServer().getScheduler().cancelTask(tid); running = 0;
if (player == null) this.logger.info(noColors(config.getString("Broadcast.Stop"))); else
player.sendMessage(addColors(config.getString("Broadcast.Stop")));
} else if (running == 0) {
tid = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
public void run() {
try {
Playerz.broadcastMessage();
}
catch (IOException localIOException)
{
}
}
}
, 0L, config.getInt("Broadcast.Interval") * 20);
running = 1;
if (player == null) this.logger.info(noColors(config.getString("Broadcast.Start"))); else
player.sendMessage(addColors(config.getString("Broadcast.Start")));
} else if (running == 2) {
if (player == null) this.logger.info(noColors(config.getString("Broadcast.AllFalse"))); else {
player.sendMessage(addColors(config.getString("Broadcast.AllFalse")));
}
}
}
return false;
}
public static void broadcastMessage() throws IOException {
int maxplayers = Bukkit.getServer().getMaxPlayers();
Player[] names = Bukkit.getServer().getOnlinePlayers();
if (config.getBoolean("Broadcast.DisplayPrefix")) {
for (Player playah : Bukkit.getServer().getOnlinePlayers()) {
if (config.getBoolean("Permissions.Enabled.List")) {
if (playah.hasPermission("playerz.list"))
playah.sendMessage(addColors(config.getString("List.Prefix")));
}
else {
playah.sendMessage(addColors(config.getString("List.Prefix")));
}
}
}
if (config.getBoolean("Broadcast.DisplayPlayerAmount"))
for (Player playah : Bukkit.getServer().getOnlinePlayers())
if (config.getBoolean("Permissions.Enabled.List")) {
if (playah.hasPermission("playerz.list"))
playah.sendMessage(addColors(StrReplace("%MAXPLAYERS%", maxplayers, StrReplace("%ONLINEPLAYERS%", names.length, config.getString("List.PlayerAmount")))));
}
else
playah.sendMessage(addColors(StrReplace("%MAXPLAYERS%", maxplayers, StrReplace("%ONLINEPLAYERS%", names.length, config.getString("List.PlayerAmount")))));
int l;
int pp;
Object sentencez;
if (config.getBoolean("Broadcast.DisplayGroups"))
{
Player[] aplayer1;
l = (aplayer1 = Bukkit.getServer().getOnlinePlayers()).length;
pp = config.getInt("List.NumberOfGroups");
sentencez = new String[99];
int ppc;
for (int j = 0; j < l; j++) {
Player p = aplayer1[j];
for (ppc = 1; ppc < pp + 1; ppc++) {
if (p.hasPermission("playerz." + ppc)) {
if (sentencez[ppc] == null)
sentencez[ppc] = (p.getName() + ", ");
else {
sentencez[ppc] = (sentencez[ppc] + p.getName() + ", ");
}
}
}
}
for (int ppc = 1; ppc < pp + 1; ppc++) {
if (sentencez[ppc] == null) {
for (Player playah : Bukkit.getServer().getOnlinePlayers()) {
if (config.getBoolean("Permissions.Enabled.List")) {
if (playah.hasPermission("playerz.list"))
playah.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", "none", config.getString("List." + ppc))));
}
else
playah.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", "none", config.getString("List." + ppc))));
}
}
else {
for (Player playah : Bukkit.getServer().getOnlinePlayers()) {
if (config.getBoolean("Permissions.Enabled.List")) {
if (playah.hasPermission("playerz.list"))
playah.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", sentencez[ppc].toString(), config.getString("List." + ppc))));
}
else {
playah.sendMessage(addColors(StrReplace("%GROUP" + ppc + "%", sentencez[ppc].toString(), config.getString("List." + ppc))));
}
}
}
}
}
if (config.getBoolean("Broadcast.DisplaySuffix"))
for (Player playah : Bukkit.getServer().getOnlinePlayers())
if (config.getBoolean("Permissions.Enabled.List")) {
if (playah.hasPermission("playerz.list"))
playah.sendMessage(addColors(config.getString("List.Suffix")));
}
else
playah.sendMessage(addColors(config.getString("List.Suffix")));
}
public static String addColors(String string)
{
string = string.replaceAll("&0", ChatColor.BLACK);
string = string.replaceAll("&1", ChatColor.DARK_BLUE);
string = string.replaceAll("&2", ChatColor.DARK_GREEN);
string = string.replaceAll("&3", ChatColor.DARK_AQUA);
string = string.replaceAll("&4", ChatColor.DARK_RED);
string = string.replaceAll("&5", ChatColor.DARK_PURPLE);
string = string.replaceAll("&6", ChatColor.GOLD);
string = string.replaceAll("&7", ChatColor.GRAY);
string = string.replaceAll("&8", ChatColor.DARK_GRAY);
string = string.replaceAll("&9", ChatColor.BLUE);
string = string.replaceAll("&a", ChatColor.GREEN);
string = string.replaceAll("&b", ChatColor.AQUA);
string = string.replaceAll("&c", ChatColor.RED);
string = string.replaceAll("&d", ChatColor.LIGHT_PURPLE);
string = string.replaceAll("&e", ChatColor.YELLOW);
return string = string.replaceAll("&f", ChatColor.WHITE);
}
public String noColors(String string)
{
string = string.replaceAll("&0", "");
string = string.replaceAll("&1", "");
string = string.replaceAll("&2", "");
string = string.replaceAll("&3", "");
string = string.replaceAll("&4", "");
string = string.replaceAll("&5", "");
string = string.replaceAll("&6", "");
string = string.replaceAll("&7", "");
string = string.replaceAll("&8", "");
string = string.replaceAll("&9", "");
string = string.replaceAll("&a", "");
string = string.replaceAll("&b", "");
string = string.replaceAll("&c", "");
string = string.replaceAll("&d", "");
string = string.replaceAll("&e", "");
return string = string.replaceAll("&f", "");
}
public static String StrReplace(String search, String replace, String subject)
{
StringBuffer result = new StringBuffer(subject);
int pos = 0;
while (true) {
pos = result.indexOf(search, pos);
if (pos == -1) break;
result.replace(pos, pos + search.length(), replace);
}
return result.toString();
}
}
Yes. Just. Yes. But actually, I was looking for feedback on my guide
But if you really can't simplify a /list command more than that (I presume you can), http://irc.lc/esper/bukkitdev/AmberK, or just make an ArrayList that has everyone on and show it in chat, that works also
EDIT: Just showed that to my friend, and he just went:
Yes. Just. Yes. But actually, I was looking for feedback on my guide
But if you really can't simplify a /list command more than that (I presume you can), http://irc.lc/esper/bukkitdev/AmberK, or just make an ArrayList that has everyone on and show it in chat, that works also
EDIT: Just showed that to my friend, and he just went:
'That person is a codenub'
Lol, that's not my code... xD
Mine's a bit more like this, having problem grabbing the users on pex, but meh.
And yes, I'm a code nub. Been doing it for less than a month :)Most of those variables in the p.sendmessage are currently set to ints, while I make them prettier
Also, you should be using the same variable for everything, and that should be CommandSender, not Player, in case you were using Player.
Anyway, you should code RageMod, it's not a waste of time like a /list command, when there are multiple plugins that list people and whether they're staff or not already.
Once downloaded, rename it to craftbukkit.jar (just craftbukkit if you don't see .jar at the end already). Delete your old craftbukkit.jar file, and replace it with this one.
If you have an online host, then you're done with this part. If you homehost, read on:
For the sake of startup scripts, I'm going to do this now. The one that I personally recommend you use is here:
@ECHO OFF
SET BINDIR=%~dp0
CD /D "%BINDIR%"
java -Xincgc -Xmx1G -jar craftbukkit.jar
PAUSE
You can change the "-Xmx1G" to whatever you need for space. For instance, two gigabytes would be "-Xmx2G", and 512megabytes would be "-Xmx512M".
Always have your server named craftbukkit.jar when using this, and within the same folder, and it will always work.
So, I have seen people that can't do some things like permissions.yml, or what plugins are good for what, I once made pre-made servers, but I really couldn't continue updating them around my programming, school, and various other things, so I am going to make this guide, with permissions.yml examples, for people that need it.
Step 1. Acquiring Bukkit
Bukkit can be found here: http://dl.bukkit.org...craftbukkit.jar, for the latest recommended build.
You then need to create a script, different depending on OS (Operating System), for Windows 7, it's the following (if you are using JAVA 7, change jre6 to jre7):
For other OS, see this guide: http://wiki.bukkit.o...ing_up_a_server
Step 2. Plugins
There are many good plugins, but a server needs to have enough to make the server good, but not so many that the server lags. I have composed some essential plugins, and some other good ones. When I say could be swapped for, I mean the one I state first is the best at the job, the others are not so good.
For all servers:
Nocheat or kNoHax:
http://dev.bukkit.or...er-mods/nocheat
http://dev.bukkit.or...rver-mods/nohax
StopTalkingAutoBan - http://dev.bukkit.org/server-mods/stab
WorldEdit - http://dev.bukkit.or...mods/worldedit/ - Download from http://build.sk89q.com
WorldGuard - http://dev.bukkit.or...ods/worldguard/ - Download from http://build.sk89q.com
Vault - http://dev.bukkit.or...rver-mods/vault
CommandBook - http://dev.bukkit.or...ods/commandbook - Download from http://build.sk89q.com (could be swapped for Essentials or AdminCmd).
PermissionsEx - http://dev.bukkit.or...s/permissionsex (Could be swapped for bPermissions or PermissionsBukkit)
Modifyworld - Comes with PermissionsEx
ChatManager - Comes with PermissionsEx (could be swapped for iChat / HeroChat / EssentialsChat)
For all servers with a lot of spare RAM:
Orebfuscator - http://dev.bukkit.or...s/orebfuscator/
For an RPG server:
mcMMO - http://dev.bukkit.or...ver-mods/mcmmo/
Jobs - http://dev.bukkit.or...rver-mods/jobs/
Heroes - http://dev.bukkit.or...er-mods/heroes/
iConomy - http://dev.bukkit.or...r-mods/iconomy/
MobArena - http://dev.bukkit.or...-mods/mobarena/
ChestShop - http://dev.bukkit.or...mods/chestshop/
Spout - http://dev.bukkit.or...rver-mods/spout
For a survival server (no griefing):
Towny - http://dev.bukkit.or...ver-mods/towny/
For a deathban PVP server:
TimeOut - http://dev.bukkit.or...r-mods/timeout/
Factions - http://dev.bukkit.or...-mods/factions/
For a regular PVP server:
Factions -http://dev.bukkit.org/server-mods/factions/
Step 3. Permissions
I have composed some example permissions.yml files (only work with PermissionsEx), one for each of the setups above, here they are:
RPG Server:
AmberK's Example PEx File That Has No Relevance To The Listed Plugins:
I have not yet made the other example permissions.yml files, they will be made another time.
For those with plenty of spare RAM:
Also, if you're brand new to making the server, I would recommend Essentials over CommandBook. Not because it's better/more efficient, but because it is a bit simpler and newer people are more familiar with it.
Thanks, added to main post.
Also, any other suggestions are welcome.
Also to note, the documentation on pex has example files as well. http://dev.bukkit.or...s/permissionsex
Yeah, I know, my example permissions.yml files are designed so there is one for each style of server I listed, so it's like pre-made servers, but they just download the plugins themselves - Mainly because I have no time to constantly upload to Dropbox every Bukkit RB and every Minecraft update and stuff.
Yes. Just. Yes. But actually, I was looking for feedback on my guide
But if you really can't simplify a /list command more than that (I presume you can), http://irc.lc/esper/bukkitdev/AmberK, or just make an ArrayList that has everyone on and show it in chat, that works also
EDIT: Just showed that to my friend, and he just went:
'That person is a codenub'
Lol, that's not my code... xD
Mine's a bit more like this, having problem grabbing the users on pex, but meh.
And yes, I'm a code nub. Been doing it for less than a month :)Most of those variables in the p.sendmessage are currently set to ints, while I make them prettier
No no no, you're doing it wrong!
The proper way to do it is (no code, I haven't got any, but I have made this before):
1) Make an ArrayList when the plugin starts.
2) Add whoever joins to the ArrayList
3) Remove whoever leaves from the ArrayList
4) On /list, send a message saying online players, then fetch and show the ArrayList in chat form.
And for the pex groups thing, just make multiple ArrayLists. Also, I'm going to make your code simpler.
Also, you should be using the same variable for everything, and that should be CommandSender, not Player, in case you were using Player.
Anyway, you should code RageMod, it's not a waste of time like a /list command, when there are multiple plugins that list people and whether they're staff or not already.
I used that merely because I was able to make it work with player and console.
Also, I'm not trying to list every player. I merely want to list some of the higher groups, which I've solved by this point.
nope.avi - I mean that when you send messages, you shouldn't be sending them to Player, you should be sending them to CommandSender.
Not to mention the fact you're using §, when you should be using ChatColor.COLOUR
Edit: Hows this?
And way different than what I've done in the past.... 5 hours.
My point exactly.
PLEASE HELP! .(~).
Do this. It saves lives.
groups:
guest:
default: true
permissions:
- commandbook.who
- commandbook.help
- commandbook.rules
- commandbook.spawn
- commandbook.say.me
- commandbook.time.check
prefix: '&7[guest]&f'
suffix: '&7'
options:
rank: '1000'
rank-ladder: guest
builder:
default: false
permissions:
- commandbook.whereami
- commandbook.whereami.compass
- commandbook.clear
- commandbook.mute
- commandbook.warp.list
- commandbook.warp.teleport
- commandbook.kit.list
- commandbook.kit
- essentials.afk
- essentials.back
- essentials.balance
- essentials.chat.color
- essentials.home
- essentials.ignore
- essentials.mail
- essentials.mail.send
- essentials.msg
- essentials.msg.color
- essentials.msg.format
- essentials.pay
- essentials.protect
- essentials.sethome
- essentials.signs.use.*
- essentials.signs.create.disposal
- essentials.signs.create.mail
- essentials.signs.create.protection
- essentials.signs.create.trade
- essentials.signs.break.disposal
- essentials.signs.break.mail
- essentials.signs.break.protection
- essentials.signs.break.trade
- essentials.time
- essentials.tpa
- essentials.tpaccept
- essentials.tpahere
- essentials.tpdeny
- essentials.warp
- essentials.warp.list
- essentials.worth
- bukkit.command.plugins
prefix: '&2[builder]&f'
suffix: '&7'
options:
rank: '950'
rank-ladder: builder
Mod:
default: false
options:
rank: '900'
rank-ladder: mod
prefix: '&5[Mod]&f'
suffix: '&7'
permissions:
- commandbook.kick
- commandbook.mute
- commandbook.freeze
- commandbook.warp.set
- essentials.clearinventory
- essentials.delwarp
- essentials.kit.*
- essentials.mute
- essentials.setwarp
- essentials.signs.create.*
- essentials.signs.break.*
- essentials.spawner
- essentials.spawner.*
- essentials.thunder
- essentials.time
- essentials.time.set
- essentials.tphere
- essentials.unban
- essentials.weather
- bukkit.command.ban.ip
- bukkit.command.ban.player
- bukkit.command.plugins
Admin:
default: false
options:
rank: '850'
rank-ladder: admin
prefix: '&3[Admin]&f'
suffix: '&7'
permissions:
- commandbook.ban
- commandbook.warp.remove
- commandbook.freeze
- commandbook.thor
- commandbook.heal
- commandbook.god
- commandbook.shock.other
- commandbook.warp.teleport.other
- commandbook.weather
- commandbook.time
- commandbook.setspawn
- commandbook.give
- commandbook.give.other
- commandbook.give.infinite
- commandbook.give.stacks
- commandbook.give.stacks.unlimited
- worldedit.butcher
- worldedit.butcher.lightning
- worldedit.wand
- worldedit.region.set
- worldedit.history.undo
- -essentials.backup
- -essentials.essentials
- -essentials.setspawn
- -essentials.reloadall
- -essentials.plugin
- essentials.*
- essentials.sethome.multiple
- bukkit.command.give
- bukkit.command.help
- bukkit.command.kill
- bukkit.command.list
- bukkit.command.me
- -bukkit.command.op
- -bukkit.command.op.give
- -bukkit.command.op.take
- bukkit.command.plugins
- bukkit.command.reload
- bukkit.command.save
- bukkit.command.save.disable
- bukkit.command.save.enable
- bukkit.command.save.perform
- bukkit.command.say
- bukkit.command.stop
- bukkit.command.teleport
- bukkit.command.tell
- bukkit.command.time
- bukkit.command.time.add
- bukkit.command.time.set
- bukkit.command.version
- bukkit.command.whitelist
- bukkit.command.whitelist.add
- bukkit.command.whitelist.disable
- bukkit.command.whitelist.enable
- bukkit.command.whitelist.list
- bukkit.command.whitelist.reload
- bukkit.command.whitelist.remove
- bukkit.command.ban
- bukkit.command.ban.ip
- bukkit.command.ban.player
- bukkit.command.kick
- bukkit.command.unban
- bukkit.command.unban.ip
- bukkit.command.unban.player
HeadAdmin:
default: false
options:
rank: '800'
rank-ladder: heada
prefix: '&5[Head&3Admin]&f'
suffix: '&7'
permissions:
- '*'
Owner:
default: false
options:
rank: '1'
rank-ladder: owner
prefix: '&4[Owner]&f'
suffix: '&f'
permissions:
- '*'
users:
obsidian_prince:
permissions:
- '*'
group:
- Owner
prefix: '&8[co owner]&f'
lord_of_sarcasm
permissions:
- '*'
group:
- Owner
prefix: '&8[co owner]&f
pls tell me what i did wrong