"Foundation" - Common APIs and Plugin Infrastructure Manager

@Niall7459 These commands are basic Minecraft commands. It would be very useless, for us and for you, to implement them again.

Thats what i just said, Minecraft should handle those commands``

/Heal & /Smite are cool commands, What about /god & /thor

We’re trying to make this as light as possible, but maybe we could see later on.

Foundation will come with an API for economy support.

~ButterDev

@Kornagan FoundationFun: /nuke /kittycannon etc.

That’s my priority after core :wink:

1 Like

Ima change the name to FoundationGiveTheAdminsAMigrane. Or something like that.

1 Like

I think that this is the most popular Essentials-like plugin out there. Who agrees with me?

@ButterDev I think it is. The possibilities are not limited to only Essential-like stuff, but also a wider range of catagories.

1 Like

@Exstar wanna chat on the IRC?

Does this mean that the plugin consists of:

Foundation.Jar
FoundationFun.Jar
FoundationChat.Jar

Because can’t you just put it all in one:

Foundation.jar

and do something like Sk89 did in CommandBook where disabled components won’t even be loaded into the plugin.

If I recall that correctly, CommandBook is loading it’s functionality from class and jar files as well, they’re just bundled with the plugin in a zip.

I believe that Kogan commented something about Foundation wanting to implement the Minecraft_server.jar console GUI… it was somewhere along… Sponge Should Have a GUI - #5 by Niall7459

Foundation.jar will be the main plugin,
FoundationFun.jar will be an optional module
FoundationRPG.jar will be an optional module.
Currently, none of the modules are planned to be bundled with the main plugin.

To make some things clear: Foundation will be a plugin that contains a set of common APIs and implementations, like for chat, permissions, manipulation, administration etc. The modules (plugins that use the APIs and implementations) are doing all of the hard work: they do a specific job, and they control it. You can expect modules like

  • Server administration
  • Chat system
  • Javascript scripting system
  • Jail system
  • Teleportation
    Developers can also make their own plugins using the APIs.
1 Like

@Exstar, that is what I want to hear :smile:. The perfect API.

In a plugin I’m writing currently, I’ve modularized sections of it that are built-in, and just have toggles in the main config, although, it’s arguable that this isn’t an ideal way to do it as the code is still loaded, even if disabled. Suppose I’d agree, but I’m not sure how negligible the difference is. I’d be fine if this plugin were written this way, but depending on how monstrous the unused modules can be, may be better to have it as separate .jars entirely. If that’s done, I’d honestly rather those modules be inside of the base plugin’s data folder, probably in a ‘modules’ sub-folder, instead of separate plugins entirely like Essentials did. That may also encourage others to use your API and be able to drop their own custom modules into the modules folder, and may also enable devs to easily customize modules as they need. I’m not personally familiar with how to hot-load external jars, so no idea how difficult that would be (which is why I haven’t done it myself XP) Personal opinion though; Good luck!

An other suggestion: Add an «anti-death-on-tp» function when there is a server/client lag after a teleportation.

I made a plugin to fix it: http://dev.bukkit.org/bukkit-plugins/nodeathontp/
Source: http://www.tabinol.me/websvn/wsvn/NoDeathOnTp

If my suggestion is accepted, feel free to take source code.

I hate it when a new minecraft version is released and it adds features to a command and then a plugin like essentials ruins it.

I Wouldn’t really mind if it didn’t come with a jail system

Sounds like a good plan to me. Didn’t think to have both dependent plugins and modules, but definitely a good way to go I’d think. Although I’m not entirely sure what the pros/cons of a plugin vs a module depending on Foundation would be, other than access to init states prior to Foundation’s initialization.

@Niall7459
The idea of Foundation being modularized means that you’d be able to disable or remove the Jail system, but others who want it can still use it.