Inbuilt Features in Sponge

I think all of the following should be inbuilt in Sponge

  1. Permissions manager (like PEX)
  2. Economy feature (like Vault)
  3. Basic anticheat system (like anticheat or nocheatclassic)
  4. Complex aliases feature (including tabbed names, tabbed subcommands, and running multiple commands in an alias)
  5. Permission aliases (you can alias sg.vote to sg.vip. not sure if possible)
2 Likes

I’d like to see some sort of optional automatic server restart system. Spigot had it

1 Like

Here we go, again. :smile:

6 Likes

Probably the only thing that would make it into sponge is a permissions handler and “maybe” some ability for aliases like bukkit. The most important thing out of that list that should be in the base server would be the permissions handler. As has been said before, they want to keep the base server simple and leave the more advanced things to the plugins to handle.

1 Like

Not sure the need for Permission Aliases?

2 Likes

I like this idea, Permissions could be split up like this, every plugin has a folder that contains a separate permission file that has groups much like normal, you could name a group teleport and put all of that plugins teleport commands under that group. Then in a central permission file the separate groups could be called in this form pluginname:group or pn:group
(you could alias the plugin name under permissions in the plugin specific permission file). Therefore you could have plugin:teleport under the group owner one day, then under donator the next.

An economy API such as Vault with a few basic commands would be nice, while leaving the heavy lifting like taxes and interest for an external plugin.
In terms of alias I already made a similar idea here (Relative Positioning and Variables) that we could expand on.

@Moonseeker12 …or you could have one plugin that handles all the permissions, instead of having a bloated core.

2 Likes

@octoshrimpy Well Bukkit isn’t really bloated and it has a permissions system.

  1. Yes to the permissions, no to the manager.
  2. I don’t like economy.
  3. Leave anticheat to plugins (except for spam)
  4. Simple command aliases.
  5. Why the permission aliases?

Permission aliases are just there for convenience. You could very well get away with copy and paste.

@octoshrimpy It would not really be bloated. Inheritance and a hierarchical permission system would actually be much easier to maintain and modify. This would also provide a cleaner approach than 1 single file that is hundreds of lines long. In my opinion it would probably be worth going the extra mile with a clean and efficient permission system, since practically every server utilizing plugins requires permissions of some sort in order to function. This cleaner system, in tandem with the more flexible HOCON config system could also help server owners worry less about the little things in setting up a server.

1 Like

Hmm…I’ve examined your comments, and think that aliases and permissions aliases are not required.
I still believe that having a basic feature like Vault API for economy chat and permissions would be essential.
i think one the problems with bukkit was that the core itself was not particularly liked by the community.

1 Like

I would appreciate a permission, economy, and chat api. Not a fully-fledged plugin for any of those built in.

Diversity is good; as is competition to make everyone’s individual plugins the best they can be.

On a personal note, I really don’t even want economy, nor do I really care to have my permission and chat systems locked in to only one option - the Sponge everything-in-one manager.
</$0.02>

2 Likes

I don’t think we need a permissions system but a permissions wrapper which communicates with other permission plugins. e.g.

If(e.GetPlayer().HasPermission(“some.lucky.cat”)) {
System.print(“Cause I’m lucky.”);
}

instead of:
if(PluginName.HasPermission(“some.lucky.cat”)) {
System.print(“Cause I’m lucky.”);
}

This allows most if not all permission plugins to work instead of just one permission plugin. I am pretty sure Vault does this already but I don’t remember.

Having a wrapper also means it would be easier to learn how to check for permissions since you would only need to learn once not a million times.

1 Like

Please read that:

You beat me to it!

The only thing that I think could even be considered to implement into the core is vault. Any other thing simply bloats the core and restricts that user to that particular permission system. Plugins are there for a purpose, make them and use them.

  • permissions… okay, but only as an API feature (so it’s unified), nothing like a complete permissions suite (which is what PEX is)
  • economy: too specific imo. lot’s of servers that will be running sponge don’t want economy. It should be the goal of sponge to provide things that are common, but be as slim as possible at the same time. And economy ain’t one of those things everyone needs.
  • Aliases, command parsers etc are something that should definitely be in and is on the todo for the API afaik.
  • permission aliases: permissions should always be explicit for clarity’s sake.

“Because Sponge DOES NOT add blocks, logging, items, your favorite animal, etc. to the game. It exists to provide the tools necessary for developers to do that,”

However, I’m not asking for blocks, items, etc.
Permissions is something that was in Bukkit, but could heavily be improved upon.

They do plan to improve permissions.