"Foundation" - Common APIs and Plugin Infrastructure Manager

“Foundation” is a set of common APIs, and manages a thing i’d like to call a Plugin Infrastructure. Foundatio, will be useless on itself, but it allows developers to create plugins with ease, and it concentrates on rapid plugin development, cross-plugin compatibility, flexibility and efficienty.
Foundation in built out of Foundation Modules. These modules are the implementation of the APIs. A few modules we’re likely going to include are:

General Server Management

General server management is an essential part of any server. Plugins using this API are able to create complex and essential server management features, like dynamic MOTDs etc.

General User Management

General User Management is also an essential part of any server. Advanced kicking/banning, player lookup, inventory management etc. is available in the API, and are easy to implement in your plugin.


There are a lot of requests for scripting in plugins. With Foundation, implementing a scripting engine is very easy to do. Instead of having a lot of interpreters running on your server, Foundation will handle all scripts per plugin. We're going to include interpreters for Javascript, Python and Lua, and the engine will be able to compile these scripts into Java class files, so the performance will be optimized, instead of having multiple interpreters running on your server.

World Manipulation

You're able to implement things like Cuboid selections and Polygon selections in your plugin, manipulate blocks, generate structures ingame (Dynamic Structure Generation; DSG) etc. You're free to do anything you like to do.


You're able to create a plugin which manages jails, prisoners etc. very quickly.


You're able to manage a player's balance, create your own banking system, account systems, payment methods etc. We're trying to create features which will represent the real-world's economy system.

Chat, Permissions, Logging, Signs, Mechanics

I'm going to explain these later on.

If you’d like to help with the development, please contact @Kornagan or @Exstar or create a pull request. We’d like you to give us ideas, feedback, support or whatever you like.

Github: https://github.com/FoundationDriven/Foundation
Website: [Link here]
Docs: [Link here]
IRC: #foundation on irc.esper.net

This is the old post, but i’ve changed it since the projects purpose changed:

“Foundation” is a project i’m planning to work on. It’s going to be a lightweight and cleaner version of Essentials from Bukkit. I am working to get some plans together, and thinking about features and possibilities. However, i would like to know what you like to see in the plugin.
This is my goal for now:

  • The plugin is as easy to use as Essentials (and as close to).
  • The plugin is as fast as possible.
  • The plugin is as small as possible (no "junk" included)
There are a few things i want to know from you: what/which commands do you want to see in the final product (and do you want the "inbox system" back)? What do you think about this? Please let me know! Edit: i've created a GitHub repo. However, not many things will be done after the API is a bit more usable. https://github.com/FoundationDriven/Foundation Are you interested in helping us out? Also, let me know!

I don’t know what I want to see, because I don’t know what Sponge can fully offer yet.

1 Like

Please more modularization. I don’t like Essentials because it’s way too big with way too many things which could possibly be moved to an own plugin.


@Shadow1Raven Yes, i totally agree with you. My vision is just to have a clean modular plugin which provides good core functionality.

1 Like

Ikr, there’s so much stuff in essentials that doesn’t need to be there. They might as well make a new plugin for it called Essentials Unessentials… xD

1 Like

Here’s what to not add: /nuke


@BitByte I can’t say that better :wink:

I call a copy of Ultimate Core!

My first name was “Core” too, but because bukkit didnt aprove the name I changed it to Ultimate Core. It has only handy features and no /nuke features. I am currently rewriting it to make it faster.


EDIT: Not longer, the idea behind this changed

1 Like

@Bammerbom Thanks for mentioning, rename it soon!

1 Like

SpongeCore would be a better name in my opinion.

My suggestion: “Elementary”

@Shadow1Raven I really like that name! Going to think about it!

Do you have skype? I would like to follow the project and I can help you if you need this.

@Bammerbom I let you know!

Can you make it more customizable ? would be awesome for example :
Command /home etc… in Simplecore.jar
/nuke etc… in stuffnotfunnyforserveradminstrator.jar ?


@Miodo I am going to think about it, but probably in another way. I indeed want some flexibility in it.

1 Like

@Shadow1Raven I pick that name for now. I’m not sure if it’s permanent, but i like it for now!

1 Like

If the Essentials team supports Sponge then I’m certain everyone will just use Essentials unless you plan to offer more. I honestly couldn’t care less due to the fact that I have my own (private) framework that makes creating “essentials” features easy.

Essentials is very powerful in some areas, I suggest you improve on other areas that might stand out to be not good enough.

I’m happy to help !

@SupaHam Thanks for your feedback!