Basic Player to Player in-game email support

I’d like to see the core server have basic player to player communications built in like email

I am NOT saying internet email nor am I saying a full fledged comminicationsions system. Those could be done with plugins.

Rather built in send & receive functions, login notification, e.g. “You have mail” plus basic admin functions like purge and delete_expired etc. It would include database management of the messages. This way plugins can enhance the core messaging system adding sorting / group messaging or client side Graphical interfaces without having to worry about databases or possible security holes.


This IS an API request. It would only be a feature if I were suggestions something other than functions that plugins could call. There would be no sponge commands for this, only the basic API functionality for player to player messaging.

I use other e-commerce APIs that have a basic email API. Its up to me to determine how to implement that as an application.

1 Like

Though I agree that there should be a core API there has been pushback. You would figure there would be a basic API for economy, permissions, etc. but so far the theme is “it’s a plugin thing not a core Sponge API thing”.

In my opinion no,
Otherwise 99% of plugin APIs can be integrated into Sponge and we have no plugin dependency, because everything is in sponge.
You can depend on a plugin that give you this feature :wink:

Ps.: I read your post :slight_smile:
Btw. @Dyprex posted the same as me.

No way whatsoever, this does not even come close to needing be handled by the core API itself, this in no way helps developers interact with the server itself. This is a feature not an API this type of thing will be handled like a plugin like it always has.


It’s one thing to provide an interface, its a different thing to provide an implementation of that interface. What I am looking for is a core interface for permissions, etc. I am OK with installing a plugin to actually provide the services for that interface.


No OP, just no. I’m really starting to think that people don’t bother doing any research on Sponge first or what it’s goals are. They just come here shouting “We want X superfluous feature in this API”

Plugins have been doing this just fine on their own since there were plugins.

Minecraft has a /tell command. Shouldn’t that be enough? : P

Just install essentials or whatever replacement for essentials there will be for sponge if essentials isn’t ported… Essentials may not be modular but it’s not super intensive either…

/Tell only works if the player you want to talk to is online. Often they are not. Player to player messaging would store the message for later retrieval when the user joins.

I’ll let this rest since so many of you think player messaging should be a module not part of the server.

This is quite a superfluous thing for the Spigot API to implement, and quite a bizarre thing in terms of an API. What you seem to be requesting is that Sponge provides an API for inter-server mail, but that’d imply that it’d need a storage file, and in a way, persisting a file specifically for in-game mail without implementing that feature is a strange thing to do. It’s like they’d need to almost fully implement the feature, but then only a command short of it being usable by Sponge itself.


You would figure there would be a basic API for economy, permissions, etc.

I can understand a Permissions API, but not so much an Economy API. It also seems a bit extra as most econ plugins persist their own numerical balances, and supporting that with Sponge would also likely mean it’d need to persist data that may not be used by the server owner. Personally, I’d rather see economy as a plugin-based feature still. Imagine if you didn’t have an economy and always had some pesky Balances.db or something floating around your server files

Again, I think there needs to be a core interface. Implementation could be provide by a plugin. Looking at Vault API the author had to create adapters for all the economy plugins in order to implement a uniform interface so that my plugin can interact with the economy subsystem and not care about the actual implementation. What I am thinking is that there was a common interface already defined, and the author of the economy plugin would implement this interface and my plugin can interface right out of the box. This would not preclude the economy author from providing a richer API set for his plugin.

Whether or not someone wants to label such an interface as “core” is a don’t care. Whether such an interface is in the core namespace I don’t care. What I care about is that as a plugin author I don’t have to keep modifying my plugin to support the N different Economy plugins as they come rolling out. It makes sense to me that there would be a common “standard” to do this, and as such it feels to me that it could be part of “Sponge”.

It sounds like you basically want vault built into sponge. Why not just rely on the vault plugin? It will either be ported or a similar plugin will be made to take its place for sponge. The API itself really does not need to handle an economy, and economy api does not help developers create plugins that interact with the server. A permissions API would be fine because permissions are globally used on pretty much all minecraft servers, even “vanilla” ones but an economy is not. Minecraft is not built to have an economy in it so neither should sponge really, plugins like vault could provide that global API you want.

Foundation is a plugin we’re working on. It will offer most of these things.

Actually I would want a subset of the Vault API binary, specifically the economy interface. The rest is implementation glue to each of the existing economy plugins and beyond the scope of Sponge.

No such thing. If you had /mail on your server, a plugin added it.

And that worked by depending on all of those plugins. Do we really want the API to depend on the plugins that depend on it? Sounds like a recipe for disaster. This just seems like a superfluous way of enforcing one person’s way of doing things so that part of the community has one less plugin to download.

1 Like

The mail command is apart of the essentials plugin.

1 Like

I think you have it backwards. The interface I am talking about is literally a Java interface. The economy plugin would have a component that implements (extends) that interface to provide the functionality, and registers the service during it’s init. From that point on any other plugin that wants to interact with the economy subsystem would look up the service to get a reference.

As for “enforcing one person’s way of doing things”, the Vault API evolved because a common interface was needed. This evolution suggests that such an interface would still be useful in the Sponge universe.

But hey, what do I know.

1 Like

@Kiqkinas and everyone else who want a feture added to sponge: Let me direct you to the API page on Wikipedia