GlowstoneMC / Glowstone-Legacy

An open-source server for the Bukkit Minecraft modding interface
Other
363 stars 122 forks source link

[Sponge] Extra metadata #585

Open gdude2002 opened 9 years ago

gdude2002 commented 9 years ago

It's obviously pretty early to be thinking about Sponge, but something that's jumped out at me with Sponge plugins is how little metadata there actually is to work with.

So, is there some way we can allow plugins to specify additional metadata, assuming Sponge doesn't add one themselves?

I'd suggest perhaps a glowstone.yml or glowstone.json file in the plugin JARs - it wouldn't interfere with any other Sponge implementations, but it may be a nice way of allowing plugins to specify things they need for the library management stuff (#143 and #419).

Of course, this would make such things manual for non-Glowstone users - while this would be good for us, I don't think it'd make the Sponge team too happy. Then again, they may be inclined to catch up? ;)

turt2live commented 9 years ago

What do you mean by metadata? The term could be applied to nearly anything.

gdude2002 commented 9 years ago

I mean.. Metadata. Bukkit has plugin.yml. Sponge just has plugin name and plugin ID. There's no version information, no dependency list, no list of commands and permissions, nothing like that.

turt2live commented 9 years ago

I thought so. I just wanted to clarify, thanks :)

SpaceManiac commented 9 years ago

Sponge does actually support a dependency list through dependencies= on the @Plugin annotation. The other points are valid, of course, and if we have metadata that we want plugins to provide it doesn't seem wholly unreasonable to spec out an extra file in the jar.

gdude2002 commented 9 years ago

@SpaceManiac I pointed out various useful missing metadata in #spongedev last night, so maybe they'll come up with something. Still, glowstone-specific metadata can't hurt.

Oh, they also mentioned a package manager. I think that'll be a Sponge plugin though.

dequis commented 9 years ago

Ehhh, sponge problems, let them sort out a solution. They will take care of their side of the implementation and they will find issues with it, I don't see why we should ask plugins to provide glowstone-specific metadata. It's like saying that plugin authors need to support glowstone explicitly.

it may be a nice way of allowing plugins to specify things they need for the library management stuff

Bukkit plugins don't do this, at least not for the libraries that caused most issues for us (the sql drivers that were shaded in craftbukkit, etc). And for sponge, why should this be something specific for us, that the other implementation somehow doesn't need?

gdude2002 commented 9 years ago

And for sponge, why should this be something specific for us, that the other implementation somehow doesn't need?

Who said we'd need it? It'd just make life easier for the players. If we support this, and the official sponge impl doesn't, then we have the better server. If we support this and they follow suit, then everyone wins.