Annotation handler

Hello, all who use sponge know about it that it used.
Why annotation start Sponge?

ex: @SpongeEventHandler, can be @EventHandler.
I don’t understand why everywhere giving Sponge.

Because forge already has @EventHandlers.

I think everything in the implementation starts with “Sponge” is so that it doesn’t “collide” with the class names from the API.

Well but there is for developers Spigot API where isn’t access to forge. Why name it Spongexxxx?

Sponge is built on top of forge? I don’t quite understand what you’re saying and what Spigot has to do with is.

Prevents naming conflicts where a developer would otherwise have to type org.spongepowered.ClassName, which IMO is ugly. Should be easier for new plugin developers to remember the API class names as well.

Reminds me of one of the blog posts on Coding Horror. I think Atwood calls it Smurf naming

1 Like

I definitely want to rename that when I get a chance. @Subscribe (although used by Guava) or another alternative would be appropriate.