$35 [FORMATTED] WorldEdit respect WorldGuard

Discussion in 'Archived: Plugin Requests' started by KingWar92, Dec 18, 2011.

Thread Status:
Not open for further replies.
  1. Offline


    Plugin category: FIX

    Suggested name: WorldGuardEdit

    A bit about me: I'm a plugin developer very busy at the moment. I don't have time to make this, but I need it on my server to allow worldedit to some VIP.

    What I want: I would like a plugin to deny WorldEdit's modification of disallowed players in a WorldGuard's region.

    Ideas for commands: None.

    Ideas for permissions: worldguardedit.bypass to use WorldEdit everywhere.

    Similar plugin requests: I don't think any.

    Devs who might be interested in this: @sk89q @Shuski
  2. Offline


    Hum i am unfamiliar with the worldedit api. Best of luck to ya.
  3. Isn't there a "permissions" in the config.yml ? Where you set what players or groups can use WorldEdit...
  4. Offline


    Lol I dont know maybe XD
  5. Offline


    I don't to disallow whole worldedit, just the use of worldedit in a region like my server's Spawn...
  6. Offline


    Er, maybe I am being stupid and have completely miss-understood what you want, but why can't you just use the blocked-cmds flag for the worldguard region (e.g '/region flag [id] blocked-cmds /set,/cut,/paste' and so on...note the single '/' as worldedit uses double //' and worldguard blocked-cmds already puts one in for you).
  7. Offline


    What about if a player select a cuboïd in region and go out of it to execute command ?
  8. Offline


    Ahh good point. There must be a way to block permissions within an area, I'm sure of it.
  9. Offline


    I need to find out it...
  10. Offline


    This is good idea, someone should tell @sk89q :p

    EDIT: Ohh derp he already did :3 *sorry*
  11. Offline


    I will pay 15$ to the developer who manages to make this plugin.
  12. Offline


    Thanks !
  13. Offline


    I've been looking everywhere for a plugin that can do this. I'm actually thinking of coding it myself. With the $15 someone offered earlier, I'd also like to add $20. So $35 all together for a plugin that wouldnt take any time to create. Sk89q should add permission-changing flags to his plugin...but I think he's got enough on his plate (and the other devs who work on the project)
  14. Offline


    This is more complex than you think it is (to avoid exploitation)
    junkboy350 likes this.
  15. Offline


    Well, in theory, it shouldn't be hard, just modify the worldedit part which modifies blocks to add a BlockPlace events from the command sender...but finding the good code section to put it will be tough :/
  16. Offline


    And it need to support worldedit's updates: need to be a totally SEPARATED plugin.
  17. Offline

    Father Of Time

    I think this can be done with the vanilla world guard and world edit via permissions and priority.

    As stated by a previous poster commands can be assigned by a per region basis, so you would simply need to create your regions you don’t want disturbed, set its priority to 100, and then allow players to build regions anywhere, but don’t give them the ability to set their regions priority (regions default to zero priority).

    Even if they make a region lying on top of your region, the region with the higher priority gets the final say, so if they create a region that says they can build with priority 0, and the server region is lying under it with 100 priority that says they can’t build, the cant build flag will take precedence.

    I would say that WorldGuard and WorldEdit are collectively the single best plug-ins in the community… hands down. They are feature rich and often can handle anything you can dream of, as long as you are aware of how to properly configure it.

    The key is to pre make the “server regions” and give them high priorities, once that is done you can then go into your permissions file and hardcode the region permissions to create the behavior you desire.

    I hope this makes sense, good luck with your project!
  18. Offline


    ANSWER: No problems to execute command...
  19. Offline


    I can make it, but it will have to be a modified worldedit, since there's no way to track when worledit blocks change :p
  20. Offline


    Can you do it easy to update ? Like a class to add or something else ?
  21. Offline


    I've made something like this, initally for my coming server. Would have never done it without these requests here. :D (and something like this is not so easy to update but should be possible as long as the world editing code isn't played with)
  22. Offline


    so are you going to release it or..?
  23. Offline


  24. Offline


    Anybody have any updates on this? PlotMe did it, and I've been trying to find one that works to protect WG regions.
  25. Offline


    The reason WorldEdit doesn't do this.. Is because sending a block event 500000 times in a tick is NOT a good idea.
  26. Offline


    This is fairly easy, but selling WorldEdit permissions is bad idea.
  27. Offline


    Me4502 You don't need to call events, you just need to do math.
  28. Offline


    Worldguards database checks are incredibly heavy. Doing it 500000 times would crash a server.
  29. Offline


    I thought of a rather 'simple' way I think of doing it. Granted I haven't tested and I'm making this up after reading the source code on WE, but here is how I'd go about it.

    Create a custom CuboidRegionSelector that extends off the one in his plugin, and simply check if that cuboid selector ever goes into your marked regions. If it does, find the undo command, or execute it for the player. (Edit: Not the undo, but a way to clear or undo that selection) I've done something similar with the PlayerConnection nms class to make a packet listener, which only requires a small bit of reflection to inject your custom region selector into the code. After that I think it wouldn't be too hard to check if one of the functions get called. And if you do it right, you won't have to update it with WorldEdit.

    If someone ends of up doing this you can check on his main plugin class, and you'll see a public function called "public LocalSession getSession(String player)". The LocalSession is where he stores all of the player's settings and region selection. So you can change anything ranging from that player's wand item to the region selector.

    From there you will have your own extended cuboid region selector that gets injected into the LocalSession of each player online.
  30. Offline


    Me4502 You're not checking it 500000 times. You're doing one check for overlapping cuboids.
Thread Status:
Not open for further replies.

Share This Page