garbagemule / MobArena

MobArena plugin for Minecraft
GNU General Public License v3.0
195 stars 150 forks source link

Join Sign? #238

Closed tim-savage closed 10 years ago

tim-savage commented 10 years ago

Why doesn't this plugin have a join sign? Or am I missing it in the documentation? I realize there are other plugins that allow commands to be issued when a sign is punched, but I'd like to avoid installing yet another plugin, just to be able to place one single join sign. Since this plugin already implements other types of signs with player interactions, it wouldn't require an additional event listener. Is there another reason for not having this feature?

garbagemule commented 10 years ago

The reason is that, like you said, there are plugins that allow commands to be issued when a sign is punched. I personally like the composable aspect of the Unix philosophy - why bloat MobArena with logic to handle join signs when there are perfectly decent plugins that do that exactly? The philosophy of plugins is.. well, pluggability, modularity. Need a certain feature? Install a plugin that specializes in that feature.

The bloatophobia (as I call it) swings both ways. You'd rather not install an additional plugin because it bloats your server, and I'd rather not spend time and effort on something that has already been done because it bloats the code base, and.. well, it's already been done.

Additional listeners or not, it requires more code. Code that I have to A) implement, B) test, and C) maintain. You (or someone else) can do A, and possibly B (depending on how thorough I consider the performed tests to be), but at the end of the day, I'm the one who has to do C (which includes A and B every time something breaks).

Fork the source code, implement this feature yourself, and then make a pull request. If it's simple enough for my taste, I'll pull it, but either way, you'll have a patch you can apply to the most recent source code at all times.

tim-savage commented 10 years ago

Thank you for the quick reply. It is a perfectly reasonable explanation.