New "Essentials" plugin

I was thinking of making a new plugin, sort of like Essentials was; with a long list of commands. If I were to do this, what sort of features would you expect to see in this type of plugin (I already have a few in mind).

Please list those commands (and avoid duplicates if possible).

Thanks :slight_smile:

1 Like

If you do create this, please consider the following:

  • Have Separate Modules.1
  • Create an API with it. 2
  • Document everything3

As for commands, here are what I find are needed as a ‘core’:

  • Help
    • A very comprehensive help system.
  • Seen
    • Keeping track of when a player was last online has proven very useful.
  • Teleport
    • A better TP system than the default one. (/tp ) Requests are also a must
  • Mail
    • Most people will most likely disagree with this one, but I’ve always used it when possible.
  • HelpOp
    • Having a way for players to send messages just to Ops (and with perms) was always nice.
  • Tell / Reply
    • It’s there by default but I enjoyed Essentials more. (formatting, colors, etc)

That’s all I can think of right now. :smiley:

[1] - Make ‘Fun’ commands such as ‘/nuke’ in a separate jar file. IE: Essentials_Eco.jar, Essentials_Management.jar, Essentials_Fun.jar, etc…
[2] - Make it easy to hook into your plugin. I always hated that plugins never really communicated very well…
[3] - Assume the users know nothing and document everything. This has always been lacking… (Even I’ve done it many times)

5 Likes

A system of configurable and sub-value specific item aliases, enchantment aliases and /item and /give commands I found most helpful from Essentials. And it’s sign utilities to buy/sell/warp/time/weather, etc

Trying to differentiate to inexperienced MC users that Essentials retains it’s own list of aliases for items can be a bit strange, so in a plugin of mine, I’ve enabled it to fetch a Material or Enchantment using Essentials’s methods if it’s installed to alleviate that confusion, so having an API to access that would also be helpful.

1 Like

Also integrate a very well made money system with the ability to check balances through commands or signs.

Do you have any ideas on how to make it “[…] very well made […]”? What kind of system would you like to see?

It’s so hard to split those modules. I looked at the essentials code.

It would be great to have some kind of data tracking core plugin that has no commands, but a powerful API that can be used by other plugins.

Like this, but with more fields:

1 Like

Could you elaborate?

@boformer I agree. If this plugin will be as large as Essentials, It would benefit from this type of structure as well as help others hook into it and add to the functionality.

@Pink__Slime That was in response to @Hilliard20914’s post.

I’m interested in seeing what people would want and need from an economy plugin.

As far as economy goes, I’d think just a place to store the numerical currency, provide an option for a currency symbol at least (always hoped Essentials had a more configurable currency symbol/name, but only supports a symbol afaik), a way to alter that balance, and a way to check a transaction’s status (success/failure, etc). Someone may be able to add a bit more to this, but seems like the jist of it, albeit the transaction status that I’m thinking of from Bukkit was handled via Vault. It may be worth having a self-disabling economy if another plugin is detected to handle it, but I’m not sure how the Economy service via Sponge’s API will work or if it’ll handle that much.

PluginAPI.jar

Would be a nice api structure… But possibly built-into the Plugin.jar so you couldn’t remove it.

There wouldn’t be much of a point for an API that sits as a separate module. It’d be an API (the module) on top of an API (this plugin) on top of an API (Sponge), and would seem silly. As per modular structures, any API they’d need for the modules, would generally be contained in the core plugin, if it is useful for more than one module; whereas module-specific API can be per-module, unless it is deemed a useful function outside of that module.

Aside from that, unless there’s tasks specific to this plugin in said API that I’d need to hook into, I don’t think I’d want my plugin to depend on another plugin just for it’s API unless it’s specifically for an API (like JSONAPI or Vault).

2 Likes

Well from my opinion you should:

Add custom language support so people can change it how they want it.

Add a file like commandisabler soy people can disable any command that they don’t really need. This will help with performance of server and reduce the amount of ram taken by one plugin. Example: command: /spawn: disable/enable

Thx for reading my idea.

I have never participated in any of the faux economies on a server. Why pay for something I can get/do myself? What’s the big hurry, the game will be there tomorrow. I only see economy needed on a RPG type of server when you are limited on what you can do, which blocks you can break, etc.

What I see as needed in as server essentials are:

  1. Protection
    1. Protection from placing or removing blocks in a given area.
      1. Owner defined areas
      2. Individual builds
      3. Door/Chest/Furnace/Stand
    2. Ability to roll back.
  2. Chat Enhancements
    1. Prefix/Suffix
    2. Colors
    3. Officers Only
    4. Filters
      1. Swear
      2. Spam
      3. Advertisement
    5. Mail (for offline messages)
    6. Group Chat
  3. Teleporting
    1. Portals
    2. /tpa
    3. /tppos (OP only)
    4. /tp (OP only)
    5. /home
    6. /back
    7. /warp
  4. Improved Help
    1. Request help from OP
    2. Popup window which holds more information than help in the chat window
    3. Ticketing system for times when no OP is on
  5. Banking
    1. Exp bank
      1. Possible to use Experience as currency? That would make money worth something :wink:
1 Like

Essentials is like the internet: It contains what you’re searching for, but it’s totally junk-crowded.

You can really say it’s written well and pretty easy to use, but in my opinion, it’s a plugin for beginners who want to setup their server fast and to do as few on their own as possible.

I’d recommend AdminCMD. It’s more or less an uncrowded, clean and organized version of Essentials. And there’ll be a rewritten Sponge-version soon - I can’t wait for it ^^

So what I would like to see in every plugin is: Don’t crowd it with junk.

I could help you document it. Or code it, that too

@OffLuffy The reason for the symbol limitation is because this symbol is used to determine if a player inputs a money cost. This, combined with signs character limit and eco signs, required some restriction. This restriction does not effect ingame messages due to the ‘currency’ locale message.

@Feuerstern_ Im not sure why ease-of-use is considered a newbie only thing.
Either way goofy commands are planned to get their own jar.