Features & Suggestions for Sponge

This is a thread for features that you would like to see implemented that have not been implemented or were impossible to implement in the Bukkit API. Forge accessible API features are suggested to be posted as well. This thread is used to spark ideas for @sk89q and the Sponge team much like the Sponge Client Features & Suggestions Thread does.

  1. Gravity (blocks that fall if there is no block below them [toggable option], or how high a player can jump)
  2. Permissions System
  3. A Dimension API, or an easy way to add multiple dimensions.
  4. Rewrite the Reload System/Framework, or an easy way to reload plugin configurations.
  5. Reload Individual Plugins or Config Files
  6. Tab Completion In Console
  7. Forge Mod API (Be Able to interact with modded blocks and etc by having mod in build path and check if the server has that mod, and listen for different events that happen with custom items or entities, modify modded entities like you could modify vanilla entities using NMS.)

Of course, these things should be added once the Core API is complete.

Huh? Looks more like ideas for mods / plugins… I don’t think that should be included into sponge itsself because it seems very case specific.

1 Like

@TBotV63
Ok, but what do you think should be included…

Personally, I’d either leave it the way it is, or completely change up the way the underlying server works. New entity management etc. But as I haven’t had a chance to work with this new API or Sponge in general, I can only assume it’d be like an enhanced forge server. I personally think that something that is definitely important, and very generic that has always been an issue between modded and bukkit were permissions. Some unified way of allowing for a permissions system would be cool.

1 Like

An easy way to add more dimensions, or at least an API or loose base for plugin developers to work off of for dimension plugins. Multiple dimensions is a feature I’ve always loved in Minecraft servers, and if there’s an easy, streamlined, resource-efficient way to get that done, I’d be very happy.

2 Likes

I’d suggest changing the reload feature a bit… Bukkit’s way of reloading tended to leave some plugins broken as well as occasional memory leaks.

Either that, or add a feature to reload only the plugin configurations

2 Likes

I totally agree with @Tsrizchris with the rewrite of the /reload or completally remove /reload as it can break plugins or corrupt files. I prefer if it was rewritten as such a command could be useful if implemented properly.

  • TangentSpy

https://mojang.com/2014/06/lets-talk-server-monetisation/
There is one exception to this rule – capes! We have a lot of fun making cool capes for extra-special members of our community and Minecon attendees. We’d like to keep them as exclusive as possible. So, yeah, no capes please, even if you’re giving them away for free.

That’s true i woud like a reload function where doesn’t actualy reload the server almost like a Server restart, but maybe like a file where you put the Stuff for example Plugin’s and so that shoud get reloaded.

Gravity calculations are potentially pretty resource intensive.

What about floating islands?

 .

                 XXXXXXXXXXXXXXXXXXXXX
         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ZZZZY

When you break a block, it is fast to determine if that block might cause a fall.

If block Y was removed, it breaks all blocks marked Z from the blocks marked X, so it might cause a fall. This can be checked locally.

The engine would have to scan and find all the blocks that are no longer supported though, and that takes time.

I did a plugin ages ago which actually did that :).

It had a rule that a block counted as supported if connected to a block at least 16 blocks distance away. Otherwise, you have to scan to bedrock any time a block is removed.

By the time you know that it might cause a fall you can check the surrounding blocks and if those fall call the same method on them. This creates delay but the same delay is present in vanilla (generated mid-air sand blocks).

The processing is potentially unlimited. What if blocks are supported by unloaded blocks. You need to load those chunks too.

I see it this way the more they add to the server portion the longer and harder updates will be!! Make a killer MOD and Plugin API and be creative!!

1 Like

1.This could be a Sponge feature but this is why plugins exist.I’m sure that someone will make a plugin that does this(adding gravity to blocks or changing player gravity).
2.This is violation of the Mojang EULA.Before you say something about how “The EULA only applies to servers!” if Sponge adds it will be a server feature and there for the server is violating the EULA because it has capes as a feature on the server.
If you do not believe me here is Mojangs EULA post: Mojang EULA and server monetisation!

Personally one of the things I would most like to see is an easier method for control via the console.
For started tab completion on console inputs woudl be really useful but I think more could be done, such as allowing a new sponge instance to connect to an instance one as a form of input (think gnu screen) to make multi op control over ssh easier.
From there it then also makes sense to say associate a minecraft account with each user that is allowed access on the machine which is used to check privilages for commands.
Such a system would make it so much easier to setup and control larger servers

/reload command that actually doesn’t break anything. a.k.a disables the enables them or how ever could reload it without the plugin breaking.

Something that I’m not really quite sure is possible at all, but I’ve seen similar systems made and I’m no Java Wizard, so I figured I’d suggest and maybe see where you guys can take it.

I think if Mojang keeps putting off the implementation of the vanilla mod API then we should look into supporting something similar with Sponge.

For example, how server resource packs may be downloaded and applied as a client joins a server. Is it possible for different files to be downloaded and applied as a player joins a server?

I’m sure you all know what this would mean. It would mean that servers could host content which previously would’ve beeb restricted to client mods. Of course they’d still be client mods in a sense, but it would mean worlds for server owners who want people on their server to access that content to get the full experience of their server.

You used to be able to reload indevidual plugins with hMod, something like that could be done here too.

A simplified form of multiworld management could be added to sponge, which adds very basic config to add worlds to the server, also with the ability to set your own generators on those worlds. I’m thinking about nethrar here for how that would work(although nethrar doesn’t allow you to set your own world generators.).

For world generators you could add the client based flatmap generator to the server(allow you to create a world using the same options that you use on the client.

That are all plugins:

Updated. I have seen the post about Sponge should have X! I feel these things should be added once the core API is built, but feel free to keep making suggestions (these ideas are pretty awesome by the way.)