Re-written VoxelDoop

Making Minecraft do cool stuff. Also complaining about Java.

Re-written VoxelDoop

Postby Peter200lx » Mon Mar 12, 2012 1:39 pm

Hello, I'm a server admin who greatly liked the idea of your VoxelDoop plugin. However, as many have noted it didn't have support for permissions. Following your suggestions on this forum, I decompiled your code and looked into adding in permission support. The actual act of checking permissions is no-longer dependent on any one plugin as bukkit now has built in support for the .hasPermission() function. However, as I read through the code, it felt like it had been grown from doing just some tools, to using more over time. As such, I felt like a ground-up reworking would provide a better base. I have over the course of a month written a plugin with just two of the tools, but which could fairly easily be expanded to include more. To be clear, this is a complete re-write of the code, not using yours as anything more than an inspiration.

I'm mentioning this here because my code is open source, and so any possible improvements could be used in an updated version of VoxelDoop if the developers here are interested. You guys had a great idea, and I wanted to reciprocate by thanking you for it, and if possible help provide a cleaner base for an updated VoxelDoop.

Let me know if you have any thoughts or suggestions.

http://dev.bukkit.org/server-mods/yadp/

Code is at: https://github.com/Peter200lx/yadp

Peter Olson

PS. I'm also working on a reworked VoxelAir, but while it works currently, I still want to improve my version before I release it on dev.bukkit.org
Peter200lx
Carpenter
Carpenter
 
Posts: 29
Joined: Mon Mar 12, 2012 1:21 pm

Re: Re-written VoxelDoop

Postby psanker » Mon Mar 12, 2012 2:36 pm

Appreciated, but I advise you to hook into the Permissions framework used by VoxelGuest 4. That has support for much more than just Superperms (Dinnerperms).
Image
psanker
Staff
Staff
 
Posts: 837
Joined: Mon Oct 03, 2011 8:22 pm

Re: Re-written VoxelDoop

Postby Peter200lx » Mon Mar 12, 2012 2:51 pm

I haven't tested my plugin with VoxelGuest, but if it works like some of the other permissions plugins, it should provide a backend for the .hasPermission() function. I know that I can use PermissionsEx without having to specifically import that plugin. I was hoping to be entirely permission system agnostic, which is the advantage of using the .hasPermission() function. If for some reason VoxelGuest can't support that interface, then is there any documentation on how a plugin would use VoxelGuest? I did a quick search and couldn't find any. However, it would still be best if there was some way for VoxelGuest to support the prescribed interface that Bukkit provides, as that's kind of the point so that plugins don't have to know what is controlling permissions on the server.

Also, if you so desire, permissions can be turned off with my plugin in config.yml, and the tools controlled simply by disabling them there.
Peter200lx
Carpenter
Carpenter
 
Posts: 29
Joined: Mon Mar 12, 2012 1:21 pm

Re: Re-written VoxelDoop

Postby psanker » Mon Mar 12, 2012 3:00 pm

Nah, I didn't mean depend on VoxelGuest. I meant pull out the com.thevoxelbox.permissions package from it and check permissions with PermissionsManager.getHandler().hasPermission().
Image
psanker
Staff
Staff
 
Posts: 837
Joined: Mon Oct 03, 2011 8:22 pm

Re: Re-written VoxelDoop

Postby Peter200lx » Mon Mar 12, 2012 3:30 pm

I currently have no com.thevoxelbox.permission package in my plugin. Pulling that into my plugin would be making me handle specific permission plugins. Whereas I want to not worry about who is providing permissions at all and let the bukkit api handle which permission plugin is providing the back-end. I do not need support for enabling or disabling permissions in my plugin, so PermissionsManager from VoxelGuest would add a lot of dead-wood as its purpose is much broader in scope then what I need.

Here is the interface I'm using:
http://jd.bukkit.org/doxygen/d8/db9/int ... 272f376b91

This doesn't rely on me pulling any code from VoxelGuest, and it works with multiple permission plugins that register to provide the back-end interface to the above referenced function. Ideally VoxelGuest registers as the default permission handler, and my call to .hasPermission() linked above would be automatically routed to VoxelGuest.
Peter200lx
Carpenter
Carpenter
 
Posts: 29
Joined: Mon Mar 12, 2012 1:21 pm

Re: Re-written VoxelDoop

Postby psanker » Mon Mar 12, 2012 3:43 pm

I dislike Bukkit permissions, ergo I have multiple permissions systems supported: PEX, bPermissions, and Dinnerperms.
Image
psanker
Staff
Staff
 
Posts: 837
Joined: Mon Oct 03, 2011 8:22 pm

Re: Re-written VoxelDoop

Postby Peter200lx » Mon Mar 12, 2012 4:44 pm

I'm not sure what you are driving at. My plugin should support every one of those listed plugins, plus ones that haven't been written yet that use the standard interface. I have tested my plugin with PEX without any issues, and if you wish to push the point, I'll test my plugin with each of the permissions systems that you listed tonight, as I'm pretty sure they should all work. What I'm trying to show is that using the .hasPermission() function built into bukkit will work with more plugins then a class built to only support specific permission plugins.
Peter200lx
Carpenter
Carpenter
 
Posts: 29
Joined: Mon Mar 12, 2012 1:21 pm

Re: Re-written VoxelDoop

Postby Peter200lx » Mon Mar 12, 2012 9:05 pm

I have now tested my plugin with PEX, bPermissions, PermissionsBukkit (Dinnerperms) and GroupManager. They all work fine without having to pull in a separate permission "wrapper" class. Maybe that wrapper adds support for more commands then just checking permissions, but I have need for nothing other then .hasPermission().

However, this whole discussion has been getting away from my main point of the new plugin. I hope that the code might be of use for improving VoxelDoop, but in either case I wanted to let you know about work that your plugins had inspired.
Last edited by Peter200lx on Tue Mar 13, 2012 11:37 am, edited 1 time in total.
Peter200lx
Carpenter
Carpenter
 
Posts: 29
Joined: Mon Mar 12, 2012 1:21 pm

Re: Re-written VoxelDoop

Postby Gavjenks » Mon Mar 12, 2012 10:12 pm

Thanks man, that sounds really nifty.

I'm just writing to say that any VoxelPlugineers out there who want to take this and run with it, you are welcome to do so. I'm the main developer for the rewritten VoxelDoop 2.0, but I'm really distracted with a real life engineering project recently, and especially haven't been in a coding mood.

I don't have any possessiveness over it, though, so you guys can use this or not or update that or whatever your little hearts desire, no worries.
Gavjenks
Supporter
Supporter
 
Posts: 914
Joined: Sat Oct 01, 2011 7:32 pm

Re: Re-written VoxelDoop

Postby Peter200lx » Fri Mar 16, 2012 11:50 pm

Just a quick update, I have changed from my work on yadp to a re-rewritten framework called ToolBelt. This should provide a much cleaner interface for adding new tools. I currently have it in beta while verifying that the framework is solid, but to the user and server admin it should behave the same as yadp. The only difference is for coders, for whom the process of adding new tools should be much simpler now.

Also, I've added two new tools, the paintbrush, and a "leap" tool, based off of part of VoxelAir.

http://dev.bukkit.org/server-mods/toolbelt/

Code: https://github.com/Peter200lx/ToolBelt
Peter200lx
Carpenter
Carpenter
 
Posts: 29
Joined: Mon Mar 12, 2012 1:21 pm


Return to Mods and Plugins

Who is online

Users browsing this forum: No registered users and 3 guests