Protections Library - Vault for Protections

Discussion in 'WIP and Development Status' started by Minnymin3, Apr 11, 2014.

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

    Minnymin3

    What do people think about a vault-like plugin for protections. I'm working with a plugin right now and am putting together some support for multiple plugin's protections (worldedit block protection, factions block protection, etc.) and wanted to get the input of the forums. Does this seem like something you would use? What features should it have? What should its name be? Stuff like that.
     
  2. Offline

    97WaterPolo

  3. Offline

    Minnymin3

    Could a moderator move it to Plugin Development?
     
  4. Offline

    SoThatsIt

    This would be very cool
     
  5. Offline

    xTrollxDudex

    97WaterPolo likes this.
  6. Offline

    RawCode

    this will have very limited use, since "normal" server hosters wont install multiple protection systems at once.
     
  7. Offline

    SoThatsIt

    and do people install multiple economy, chat or permissions plugins? no.

    This is to provide global functionality so your plugin can work with 10 different servers using 10 different protection plugins instead of having to implement each one by yourself.
     
  8. Offline

    Jade

    Moved to a more appropriate section.
     
  9. Offline

    Minnymin3

    Well actually... People install worldedit and factions together or worldedit and towny. This is also so that plugins could depend on 10 or 20 different protections plugins without having to do much or check for each plugin.

    I've begun working on this. I have worldedit, towny and factions done already. Which other plugins would you like to see? Also I need a name for it

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  10. Offline

    Sleaker

    Worldedit/Worldguard already contains everything necessary for a protections API, attempting to wrap multiple types of these in yet another layer leads to problems. Vault is able to do what it does with permissions/economy because you don't have more than one installed at a time so it can benefit from the services manager. Unfortunately anything related to protections wont resemble how Vault works due to the complexity of functions allowed.

    For instance, how do you agnostically allow protected region creation?

    A test-suite on what is allowed is generally possible, but you're going to get into some large design issues/problems when you try to allow modifications simply because not all protection plugins allow the same types of behaviors.
     
  11. Offline

    turt2live

    Another issue is describing what a "region" would be.

    Obviously WorldGuard comes to mind, but what about town protection plugins? Arenas? Skyblock? All of those are "protected" regions, but do very different things and have different layers to them (such as in towns where you may have a 3+ layers compared to WorldGuard where there are (realistically) 2 layers).
     
  12. Offline

    RawCode

  13. Offline

    Minnymin3

    Sleaker
    Well yeah it wouldn't be that much like vault in functionality but in usage and idea it is similar.
    turt2live
    Well there would be methods such as canBuild() and that would check towny factions and worldguard to see if any of them block building. This would allow plugin devs to check permissions a lot more easily when doing things that relate to block changing.
     
  14. Offline

    RawCode

    i will post a bit later method to check canBuild() globally and detect any "locking" plugin.

    actually this is very very easy if you know how java works.

    little spoiler x extends PlayerCanBuildEvent
     
  15. Offline

    AoH_Ruthless

    RawCode
    I don't think he was asking for help on the method but giving a hypothetical instead.
     
  16. Offline

    RawCode

  17. I actually started to create a system like this and things are going fairly well. I've splitted up the lib in two parts; block and region protection. The Block-protection is aimed for plugins that provide single-block protection, like LWC etc. The Region-protection is aimed for plugins like Factions, WorldGuard, etc... The system is very basic and not finished at all and I still need to figure out a "flag" system but a basic Region system is ready. You can follow it's progress here: https://github.com/CaptainBern/Yggd...ain/java/com/captainbern/yggdrasil/protection . If you feel like helping me out; feel free to fork and PR :)
     
  18. Offline

    Minnymin3

    Last edited by a moderator: Jun 7, 2016
Thread Status:
Not open for further replies.

Share This Page