ComponentSystem as Plugin

I love the Entity/Component System discussed here:

Maybe it is a good idea to keep the Sponge API as simple and lightweight as possible …
I prefer a simple basic system with modules/plugins, instead a huge library that need massive time to update :wink:

So the Entity System can be a plugin (similar to Citizens or RemoteEntities)
The SpongeApi provides only basic stuff for entites (spawn, kill, teleport).
That also decrease the update time for the SpongeAPI.

Parts that already outside of the API:

  • Protections (WorldGuard)
  • Terraforming (WordEdit, Voxel)
  • Logging (Prism)
  • Economy (Vault)

Maybe it is also a good idea to outsource:

  • World generation stuff

What did you think?

What you’re talking about might make sense if we were making a server. But we aren’t, we’re making an API for a server that already exists. We can’t just turn off all of Minecraft’s entity logic and reinvent it in a plugin.

No, I mean the basic Sponge API has limited interfaces for entities,
but you are right, I miss the point that the server already exists …

Sk89q confirmed it, ComponentSystem will be a seperate submodule/part of the SpongeAPI: