Area Protection using Signs (Sign Protect)

Discussion in 'Archived: Plugin Requests' started by Machinimatt, Jan 30, 2012.

  1. Offline

    Machinimatt

    Plugin category: Protection

    Suggested name: Sign Protect

    A bit about me: I'm a Super-Mod for the minecraft server Legendary Craft

    What I want: Ok what I would like is a plugin that allows users to quickly generate a protected area by placing a sign

    The idea is simple enough:
    • A default user places a sign on some land
    • They type on the sign
      1. [SP]
      2. <region name>
      3. <cuboid size>
      4. <owner's name>
    • When they click done, the sign would create a region from sky to bedrock in the specified size (so size 10 would make a 10x10) and with the specified region name, around the block the sign is placed on.
    • Each group in the permissions plugin (I use bPermissions) could be set up to have different region size limits by entering e.g. ProtectionLimit: 400 in the meta data section
    • When a region is created this plugin would also need to create fences around the regions border.
    • The plugin would also need to have a simple command structure using /sp as the base command. So players can add their friends to a region they own using /sp addmember <friend>
    • The regions would also be unable to overlap or pass through any other SP regions or any World Guard Regions, if the defined area would overlap the plugin returns a message saying 'regions overlapping'
    • The plugin would need to keep track of how many blocks members have 'owned' so if they reach the limit set in the meta data section they would be unable to make more regions without removing old regions first.
    • The sign and fences would be removable after the region is created if the user chooses to remove them
    • Admins would need to be able to create regions with a tool e.g. A feather. Similar to WorldGuard you select two points by right and left clicking with the tool then use a define command e.g. /sp define <region> <owner> this would then create a region as a cuboid from sky to bedrock between the two points for the defined user.
    When I'd like it by: ASAP

    Ideas for commands:

    <required> and (optional)


    /sp ? - shows available commands
    /sp near - lists nearby regions
    /sp addmember <user> (region) - adds a user as a member in the current region or the defined region if specified
    /sp addowner <user> (region) - adds a user as an owner in the current region or the defined region if specified and gives user owner permissions for the region
    /sp delmember <user> (region) - removes a user as a member in the current region or the defined region if specified
    /sp delowner <user> (region) - removes a user as an owner in the current region or the defined region if specified and sets them as a member
    /sp info (region) - shows region info like center cords, region name, region owners and added members in the current region or the defined region if specified
    /sp flag info (region) - shows current flag settings in the current region or the region specified
    /sp flag <flag> (region) - toggles the given flag between true or false in the current region or the defined region if specified
    /sp rename (region) <name> - change the name of the current region or the defined region if specified
    /sp limit (player) - show the area restriction limits for yourself or the player specified
    /sp list (player) - shows the names and center cords for all the regions you own or for the player specified

    Ideas for permissions:
    Permissions:
    signprotect.*:
    description: "All signprotect commands."
    children:
    signprotect.user
    signprotect.admin

    signprotect.user
    description: "Recommended User permissions."
    default: op
    children:
    signprotect.create
    signprotect.near
    signprotect.own.addmember
    signprotect.own.delete
    signprotect.own.info:
    signprotect.own.addowner
    signprotect.own.removemember
    signprotect.own.removeowner
    signprotect.own.rename
    signprotect.own.limit
    signprotect.own.list

    signprotect.flag.all
    description: "Access to edit all flags."
    default: op
    children:
    signprotect.flag.pvp
    signprotect.flag.chest
    signprotect.flag.lever
    signprotect.flag.button
    signprotect.flag.door
    signprotect.flag.mobs

    signprotect.admin
    description: "Recommended Admin permsisions."
    default: op
    children:
    signprotect.admin.create
    signprotect.admin.delete
    signprotect.admin.removeowner
    signprotect.admin.addowner
    signprotect.admin.addmember
    signprotect.admin.removemember
    signprotect.admin.info:
    signprotect.admin.rename
    signprotect.admin.limit
    signprotect.admin.flag
    signprotect.bypass
    signprotect.unlimited

    Descriptions:

    signprotect.near
    description: "Use /sp near to find nearby regions."
    signprotect.create
    description: "Create regions."
    signprotect.own.addmember
    description: "Add members to regions you're an owner of."
    signprotect.own.addowner
    description: "Add owners to regions you're an owner of."
    signprotect.own.removemember
    description: "Remove members from regions you're an owner of."
    signprotect.own.removeowner
    description: "Remove owners from regions you're an owner of."
    signprotect.own.delete
    description: "Delete regions you're an owner of."
    signprotect.own.rename
    description: "Rename regions you own."
    signprotect.own.limit
    description: "Find the area restriction limits for yourself."
    signprotect.own.list
    description: "Find the information about regions you own."
    redprotect.flag.pvp
    description: "Toggle the pvp flag."
    signprotect.flag.chest
    description: "Toggle the chest access flag."
    signprotect.flag.lever
    description: "Toggle the lever usage flag."
    redprotect.flag.button
    description: "Toggle the button access flag."
    signprotect.flag.door
    description: "Toggle the door opening flag."
    signprotect.flag.mobs
    description: "Toggle the mob spawning flag."
    signprotect.admin.create
    description: "Create regions with selection tool."
    signprotect.admin.delete
    description: "Delete any region."
    signprotect.admin.removeowner
    description: "Remove owners from any region."
    signprotect.admin.addowner
    description: "Add owners to any region."
    signprotect.admin.addmember
    description: "Add members to any region."
    rsignotect.admin.removemember
    description: "Remove members to any region."
    signprotect.admin.info:
    description: "Get info from any region."
    signprotect.admin.rename
    description: "Rename any region"
    signprotect.admin.limit
    description: "Find the area restriction limits for other players"
    signprotect.admin.list
    description: "Find the information about regions other players own."
    signprotect.admin.flag
    description: "Toggle flags on other's regions"
    signprotect.bypass
    description: "Build, break, or PvP In any region"
    signprotect.unlimited
    description: "Make any number of regions."

    Similar plugin: redprotect by ikill

    Here is a video showing my idea, and how it could work
     
  2. Offline

    Windwaker

    I like the idea, would this be public or private? I could make this for you but I have some ideas to propose....

    1. Sign text should probably go something like:
      1. [Protect]
      2. <name>
      3. 10x10x10 <= 3 dimensions and if only 2 are given it extends from sky to bedrock
      4. <ownersname>
    2. I would make it completely seperate from WorldGuard - Easier to maintain
     
  3. Offline

    Machinimatt

    It's for a public server and yeah your suggestions are good, but my server already uses World Guard so if this plugin could be integrated with World Guard admins would be able to set flags, add or remove members, delete regions, expand regions etc by using World Guard commands, otherwise it means writing similar commands into this plugin
     
  4. Offline

    Windwaker

    I would really rather not use WorldGuard for the following reasons:
    • The plugin would most likely break frequently
    • I would have to stay up-to-date with all WG changes
    • It has a bunch of features we don't need for this plugin
    • The plugin would still include the features you need
    When I asked if it was public or private I meant, do you mind if it is released to the public, or would you want only your server to have it?
     
  5. Offline

    Machinimatt

    I don't mind it being released publicly, but would prefer private.
    Making it separate from World Guard would be ok if admins were given permission to edit any region.
     
  6. Offline

    Windwaker

    Yes I could do that, do you have Skype so I have an easier way of contacting you? I can start this tomorrow.

    And my philosophy is that if it's private, I do charge, if it's public I don't but I do appreciate donations as this is on the bigger side.
     
  7. Offline

    Machinimatt

  8. Offline

    Windwaker

    Alright, why don't I just contact you through PM on bukkit.org then.
     
  9. Offline

    Machinimatt

    yeah sure
     
  10. This is not true:
    • The plugin would only call basic WG API calls.
    • The API of WG is pretty stable (more stable than the bukkit API itself!).
    • Maintaining a protection plugin is much more hard than hooking into one (as I'm the maintainer of BananaRegion I know what I'm talking about).
    Machinimatt PMed you.
     
  11. Offline

    Windwaker

    Fair enough, but I do not agree that protection plugins are hard to maintain. Cuboid management is really easy and I would rather just do it on my end as I can see no downside
     
  12. Offline

    Machinimatt

    Okay I have found what I was looking for, and it has World Guard integration :D
     
  13. Offline

    Windwaker

    What was it that you found may I ask?
     
  14. Offline

    Royalgamer06

    Yes what?
     
  15. Nothing public...
     

Share This Page