SpongeDocs Pop Quiz #4

It rises again, from the depths of oblivion, the random interrogating monster that is the

Sponge Docs Pop Quiz

In this fourth instalment of our ongoing investigation into what really matters, I present to you the following three enquiries. If you have the time and inclination, please respond at your leisure for the edification of all.

  1. How important are chest/door locking plugins/mods to your Minecraft experience?
    There are many different aspects of Minecraft that players get used to. How important do you rate locking plugins (eg. LWC, Lockette) in the general scheme of things?

  2. Should use of reflection in plugins be discouraged?
    There is a range of opinion on how reflection should be used (if at all) in Sponge plugins.

  3. How can we improve the organisation and readability of Plugin Docs pages?
    Feedback strongly suggested that the artificial break-up of Plugin development docs into Basic and Advanced sections is more annoying than useful. This is currently being fixed. Can you suggest better ways of organising docs for plugin development?

Thanks again for tuning in to Radio FLARD, and be sure to check in again for next week’s exciting instalment. Measures may be imprecise, all quantitativity is uncalibrated, and there are no fish in the kettle.

1 Like
  1. For servers I ran, I tended to just lock the ability to touch an area entirely. Much cleaner for my needs.

  2. Without reflection, CraftIRC’s loading system completely falls apart! Reflection is fantastic for many purposes that don’t even touch Sponge.

  3. Add more FLARD.

1 Like
  1. I think the chunk claim system is more cleaner. But plugins should warn players if they place chests outside their protected area. Plugins like LWC and lockette doesn’t look usefull to me.
    LWC lags the server if your disks are slow and aren’t using SQL. Also both plugins lack the ability to easily (I say easily) share your chests with your friends.
  2. NMS doesn’t exist anymore. And its relatively annoying to reflect minecraft classes. Sponge could provide a mapping service. Its easier to reflect SpongeMappings.getClass(net.minecraft.server.EntityPlayerMP") than class.forName("abc"). How the exact implementation should be done is unknown for me :stuck_out_tongue:. But the mappings file is just available out their. So we just need something to properly read it.
  3. No idea :confused:.
1 Like
  1. I prefer Chunk claiming too, but to give visitors the possibility to explore your server a lock/protection tool is mandatory.

  2. Uhm. I saw the discussion in #spongedev, but havn’t decided pro/con yet.

  3. I suggest using logical grouping of topics when possible. Reducing the number of pages (-> merging some of them where appropriate) might help too. Redesigning all /index pages might also be helpful, as those pages give a good overview over the subsection/section you’re currently in.

1 Like
  1. Very. From a server owners perspective it helps keep down the crap that gets inflicted on admin staff by nefarious players.

  2. I think using reflection correctly and in a beneficial way should be encouraged. Like anything thing else it can be very useful, but become a real issue if abused.

  3. No opinion.

1 Like
  1. As a developer I don’t know
  2. Sure
  3. No suggestions here but can line wrapping be disabled on mobile, the code looks horrible with it.

Lol

  1. I generally used to use chest locking plugins as a simple way for people to keep “honest people honest” so to speak.
    A friend building on your region is probably not going to grief you too hard, or maybe prank you from time to time, but would they be tempted to “borrow” a few diamonds from time to time? Absolutely. I see chest protection and region protection as 2 separate issues. Making it as simple as “slap a sign on that chest to protect it” makes it hella easy for new players to protect their stuff, along with autoclaims from grief protection.

  2. Depends, accessing internals using reflection should be discouraged, but reflection is very useful, it needs to be used sparingly or else you can run into performance issues though if you don’t know what you are doing. You can easily access minecraft internals on SpongeVanilla or SpongeForge anyway, you don’t really need to do any nightmare reflection stuff unless the field / method you are accessing isn’t public. In which case letting users know that it is a “Sponge mod” instead of a “sponge plugin” should be encouraged as well as stating the platforms it was made for as it might not work on glowstone for example.

1 Like

I mean NMS still exist if you decompile it. But for plugins it should be obscured right ?
Can you explain why you say Lol ? I have the feeling I am missing something… :cry:.

In CraftBukkit, only class names and methods/fields we used were given non-obfuscated mappings. This meant that, other than classes, the only thing you would be touching in NMS that had a name was stuff we were already touching for API (and thus you probably wouldn’t need to touch it)