[SEC/MECH] SimpleChestLock 1.2.2 - Simplified chest locking [1.5.1-R0.2]

Discussion in 'Archived: Plugin Releases' started by DemmyDemon, May 16, 2011.

  1. Offline

    DemmyDemon

    IMPORTANT NOTICE:

    This plugin is no longer being developed.
    I know I've said that there will be no replacement for this before the Official Plugin API, but thanks to some very generous donations I've been inspired to make a Bukkit-based replacement.

    It's called KonseptLocks and will hopefully be hosted on dev.bukkit.org as soon as I can get it properly tested.

    While it will be similar to SCL in many ways, it will not feature the "combination lock" system, as feedback tells me it's hardly ever in use.

    It will not be compatible with SCL and will have a completely new locking file system, which will hopefully remedy any and all "oops, all your locks are gone" problems. If you have 3600 locks you fear you will have to re-lock, don't worry; I'll make an SCL importer for KonseptLocks.


    SimpleChestLock - Simplified chest locking:
    Version: v1.2.2

    Veeery simplified (for the users, anyway) chest locking, sort of like LockChest and others, but very simplified.
    Simply slap a chest with a stick, and it's locked. Only you can access it.
    Slap it with a stick again, and it'll be open for everyone.

    [chest]+[stick]=:cool:

    NOTE: May only lock the chest actually slapped with the stick, depending on settings.
    This means that two people can share a double chest, but it also means that if you forget to lock one half you might as well not have bothered.
    Make sure the settings are configured to do what you want!

    Features:
    • Lock chests slapstick-style!
    • Lock jukeboxes, furnaces, dispensers or whatever you want! Configurable!
    • Doors, trap doors, levers, buttons and pressure plates supported, but see the note below!
    • Configure a different key if you don't like sticks.
    • Lock it with a combination, if you want. (see "Using combinations" below)
    • Lock it for someone else, if you need to.
    • Limit locking using WorldGuard region restriction. (Entirely optional!)
    • Trust system, so you can share the stuff you lock. (see "Trust system" below)
    • Limit system, so you can set how many items users can lock. (see "Using limits" below)
    • Decide who locks what (see "Who locks what?" below)
    • Uses the Bukkit built-in permissions system.
    • Share a chest or door with someone by locking half each on a double-chest or double-door (optional, using the lockPair option).
    • Locked chests can be made to suck in items.
    • Protects locked blocks against destruction.
    • Keep those pesky griefers out of your stuff!
    • Your suggestion here (Except iConomy, that's not going to happen)
    Quick Step Guide for Noobs (by Davecraft) (open)

    1. Install SimpleChestLock, see http://wiki.bukkit.org/Installing_Plugins for details.
    2. Add a permission plug-in http://plugins.bukkit.org (search "permissions") to handle the permission nodes.
    3. Watch the video (see the "Video demonstration by BrandonHopkins" part.)
    4. Add permission variables (see the "Permission Nodes" part) in the permissions plug-in directory. See documentation for your chosen plugin on how to do this.
    5. Edit your settings.yml file. See the "Configuration" part for explanation of the values.
    6. To get the permissions working, see the example under "Who can lock what?"
    7. Enjoy!
    Video demonstration by BrandonHopkins (Somewhat outdated) (open)
    Video demonstration by SeaborgiumMC (open)
    Video tutoral in German by Mamuschkas (open)

    A note on doors, levers, pressure plates and buttons

    When it comes to doors, levers, pressure plates and buttons (DLPB), this plugin only affects who can use them and destroy them.
    That means it does not concern itself with iron doors at all, since nobody can use them, and it does not impact how a door reacts to, for example, redstone current.
    Also, if you place an iron door, and then a button beside it, then lock that button, it's still unsafe: Anyone can come along and place a button or lever on the other side of the door.
    That's why the DLPB functionality is only intended to compliment other plugins, such as WorldGuard.
    This is how I use it: The WorldGuard region allow usage of all buttons and levers, but disallows building. Now I can use SCL to lock the levers and buttons I want protected, and nobody can get around it because WorldGuard will keep them from placing buttons and levers, or digging around them.

    Download SimpleChestLock

    Downloaded over 74.000 times!
    Source Code

    Commands (open)
    /scl reload
    Reloads the chests file and settings -- WILL DISCARD ANY CHEST LOCKS SINCE LAST LOAD, so /scl save first if you don't want that!
    Takes an optional argument; the file to save to. If no file name is given, Chests.txt is used.

    /scl trust
    Takes a lot of arguments, but the basics are add, remove, list and clear.
    Read more about trust under the "Trust system" spoiler!

    /scl save
    Save the chests file right now, rather than wait for the plugin to be disabled to do so. Note that the plugin will also autosave every 5 minutes or so, just in case the server crashes.
    Takes an optional argument; the file to save to. If no file name is given, Chests.txt is used.

    /scl limit
    Shows how many items you can lock, if you're limited.

    /scl status
    Tells you how many items each player has locked, and the total amount of locked items.

    /scl as <user>
    If a user is given, all chests locked from now on will be locked in that user's name.
    If no user is given, all chests locked from now on will be in your own name.
    Very handy for admins that don't like it when users risk their life's savings by leaving them open to public access.
    Careful with this! If you have simplechestlock.command.as permission, but not simplechestlock.ignoreowner, you can lock yourself out of chests as you can't unlock it again!
    Permissions nodes (open)
    This plugin uses the following permissions:
    • simplechestlock.command.reload - Access to /scl reload
    • simplechestlock.command.trust - Access to the /scl trust commands
    • simplechestlock.command.save - Access to /scl save
    • simplechestlock.command.status - Access to /scl status
    • simplechestlock.command.as - Access to /scl as <user>
    • simplechestlock.ignoreowner - Unlock any item, use any item.
    • simplechestlock.ignoreRegion - Don't ask for WorldGuard's permission, even when it's enabled.
    • simplechestlock.nolocklimit - Lock as much as you want, even when limiting is on
    • simplechestlock.lock - Access to locking blocks
    • simplechestlock.usecombo - Access to locking with a combination lock
    If you have defined usePermissionsWhitelist in Configuration (details below), you can specify what blocks are lockable using the locktype permission set.
    Note that you still need the simplechestlock.lock permission to lock stuff, even when whitelisting is activated.
    • simplechestlock.locktype.Lockable_Name_Here - Gives permission to lock Lockable_Name_Here blocks (see " Lockable blocks" below)
    • simplechestlock.locktype.chest - ..for example, gives access to lock chests.
    • simplechestlock.locktype.* - Lock any lockable item.
    This plugin also defines the following nodes for convenience:
    • simplechestlock.* - Full access - Sets simplechestlock.command.*, simplechestlock.ignoreowner, simplechestlock.lock, simplechestlock.locktype.*
    • simplechestlock.command.* - Access to the commands - Sets simplechestlock.command.reload, simplechestlock.command.save, simplechestlock.command.status, simplechestlock.as, simplechestlock.trust
    Lockable blocks (open)

    If you want to enable the permissions-based white-list, use these names:
    • chest
    • furnace
    • burning_furnace
    • dispenser
    • jukebox
    • wooden_door
    • lever
    • stone_button
    • trap_door
    • stone_plate
    • wood_plate
    • brewing_stand
    • enchantment_table
    • fence_gate
    This is fully configurable (see "Configuring lockables" section below), but remember that the permissions are all lower case!
    Who can lock what? (open)

    To define who can lock what, you need two components.
    First, you have to enable it in the config.yml:
    Code:
    usePermissionsWhitelist: true
    Next, you have to define permissions.
    In this example a user called someDude will have permission to lock chests and trap doors.

    Note that this is just an example and might look different for your permissions plugin.
    See "Permission nodes" for more details and "Lockable blocks" for the list of blocks you can lock.

    Code:
    users:
        someDude:
            permissions:
                - simplechestlock.lock
                - simplechestlock.locktype.chest
                - simplechestlock.locktype.trap_door
    Please note that even with a locktype allowed you still have to give simplechestlock.lock!
    Configuring lockables (open)
    The term "a lockable" is used here to describe a block that this plugin will facilitate the locking of.
    This is entirely configurable, but unless you know what you are doing you should back everything up before making changes. This can have disastrous consequences for your lock file and possibly your whole server, depending on how things are set up. Handle with care.

    The different lockables sections do this:

    lockable
    This is a simple list of all the blocks that are to be considered lockable. A standard block only needs to appear here.
    Keep in mind that a block must always appear here, even if it's also in a different section.

    protectiveAura
    This is the list of blocks that will have protective auras on them. Useful for stopping people from using hoppers to suck your stuff out of chests.
    Remember that you must also enable the useProtectiveAuras option, which is off by default!

    lockPair
    This is the list of blocks that will be locked in pairs if the lockpair setting is active.
    The default is chests and wooden doors, because of double chests and double doors.

    leftLock
    This bit is obsolete, as it stems from the time when you could still left-click doors to open them etc.

    lockVertical
    This is a list of blocks that have a natural "top" and "bottom" part. Currently, this is only doors, but who knows what might be relevant in the future. When a block listed here is locked SCL will search above and below it for it's other half and lock it as well, ignoring the lockpair setting.

    canSuck
    This section details what blocks will attempt to suck up items. In theory, any block with a container can suck up items (like a furnace), but only chests and dispensers have been tested, so use caution.
    If the lockedChestsSuck option is disabled, this section is entirely irrelevant.

    Default values:
    Code:
    lockables:
        lockable:
            - CHEST
            - DISPENSER
            - JUKEBOX
            - ENCHANTMENT_TABLE
            - BREWING_STAND
            - WORKBENCH
            - FURNACE
            - BURNING_FURNACE
            - LEVER
            - STONE_BUTTON
            - TRAP_DOOR
            - FENCE_GATE
            - STONE_PLATE
            - WOOD_PLATE
            - WOODEN_DOOR
            - BEACON
        protectiveAura:
            - CHEST
            - DISPENSER
        lockPair:
            - CHEST
            - WOODEN_DOOR
        lockVertical:
            - WOODEN_DOOR
        canSuck:
            - CHEST
            - DISPENSER
    So, what blocks can I make lockable?
    Short answer: Pretty much all of them.
    Long answer:
    It has to be a block bukkit knows of, and has a Material associated with.
    For a list of materials, have a look at the Material.java file in the Bukkit project on GitHub.

    Note that materials must be specified in UPPER CASE and otherwise exactly as Bukkit expects them!


    As of 1.0.2 you can also use numerical IDs, allowing custom blocks and stuff.
    Thanks go out to @albatrossen for that little fix.

    Trust system (open)

    In order to manage trust, you need the simplechestlock.command.trust permission!

    To add Bob to your trusted friends: /scl trust add bob
    To list your trusted friends: /scl trust list
    To remove Bob: /scl trust remove bob
    To clear the whole list: /scl trust clear
    To give access to everyone: /scl trust add *

    That last one, giving permission to *, is intended for just locking something so it's protected and can't be locked by anyone else. For example for an admin to lock the donation box to prevent it's destruction, but still have it open for people to put in donations.

    You can trust a whole group!
    Just /scl trust add g:dudes where "dudes" is the name of a group. Note that this isn't magic, it checks for the permission group.dudes, like how WorldGuard checks groups and as is emerging as a group check standard.

    Trust is in the locked item and persists there!
    This means that when you lock something, your current trust list is copied to the item, and stays there. If you want to modify an items trust you'll have to unlock it and lock it again with a new list. Changing your trust list will not alter already locked stuff.
    Perhaps you trust Bob to open that door, but not to access that chest? Perhaps you want * to activate that button, but not that switch?

    The trust lists get saved so you don't need to re-type it all the time. The downside, of course, is that you can get entangled in it and loose track. Just /scl trust clear to get out of that, or /scl trust list if you want to review who you'll trust for the next lock.

    Keep in mind that when you lock a chest for someone, using /scl as Bob for example, you are applying Bob's trust on the item. Keeping an up-to-date list of who he trusts is Bob's problem!

    You can combine combo-locking and trust just fine, and anyone not listed as trusted for that item will have to supply a valid combo.
    Configuration (open)

    Upon first run, the plugin will create plugins/SimpleChestLock/settings.yml
    Default values:
    Code:
    usePermissionsWhitelist: false
    checkUpdates: true
    whitelistMessage: true
    lockpair: true
    lockedChestsSuck: false
    suckRange: 3
    suckInterval: 100
    suckEffect: true
    verbose: false
    preventExplosions: true
    useProtectiveAuras: false
    key: 280
    keyDurability: 0
    comboKey: 352
    comboKeyDurability: 0
    useKeyDurability: false
    consumeKey: false
    openMessage: true
    useLimits: false
    lockLimits:
        example: 10
        anotherexample: 20
    lockables:
        lockable:
            - CHEST
            - DISPENSER
            - JUKEBOX
            - ENCHANTMENT_TABLE
            - BREWING_STAND
            - WORKBENCH
            - FURNACE
            - BURNING_FURNACE
            - LEVER
            - STONE_BUTTON
            - TRAP_DOOR
            - FENCE_GATE
            - STONE_PLATE
            - WOOD_PLATE
            - WOODEN_DOOR
            - BEACON
        protectiveAura:
            - CHEST
            - DISPENSER
        lockPair:
            - CHEST
            - WOODEN_DOOR
        lockVertical:
            - WOODEN_DOOR
        canSuck:
            - CHEST
            - DISPENSER
    usePermissionsWhitelist (boolean, default: false)
    true: Use permissions whitelist and players will only be able to lock blocks specially allowed by their beloved admin. See permission format and list of lockables to use above.
    false: All players can lock any of the lockable blocks.

    whitelistMessage (boolean, default: true)
    true: If a player attempts to lock a block he/she is not whitelisted for, a rather snappy red message is sent informing them of the error of their ways.
    false: If a player attempts to lock a block he/she is not whitelisted for nothing happens, not even a message, and certainly not any locking.

    lockpair (boolean, default: true)
    true: When locking one half of a double chest or double door, the other half is locked too.
    false: Each half is locked indevidually.

    lockedChestsSuck (boolean, default: true)
    true: Locked chests will attempt to "suck" objects in, causing them to disappear and go into the chest for storage. Intended for unattended farms, for example.
    false: Locked chests will leave everything alone, just as if it wasn't locked.
    Note that the sucking can be a little CPU-intensive on very large servers, so tune your suckRange and suckInterval (below) to suck shorter and less often if this gives you lag spikes.

    suckRange (meters, default: 3)
    Defines roughly the number of meters (blocks) away from a chest it will attempt to suck. This counts all directions in 3D, but with simplified math for performance, so it's not entirely accurate, but more than close enough.

    suckInterval (ticks, default: 100)
    Defines the number of ticks to wait between each suck attempt. Note that items must have existed at least one suckInterval before they can be sucked, so if your timing is exactly right you can have an item take exactly twice this time to get sucked in.
    On a well-tuned server there are 20 ticks per second, making the default a 5 second interval.

    suckEffect (boolean, default: true)
    true: When an item is moved from the ground to a chest, make a loud CLICK noise at the chest.
    false: OMGSTFU I CAN'T STAND THE CONSTANT CLICKING!!!!

    useWorldGuard (boolean, default: false)
    true: You need WorldGuard's build permission for the current region to lock stuff.
    false: WorldGuard is not consulted with regard to locking of blocks.

    verbose (boolean, default: false)
    true: The plugin will excessively inform you about all it's inner workings via the console.
    false: The plugin will keep it's console output to a minimum.
    Useful for tracking down problems, for example.

    checkUpdates (boolean, default: true)
    true: The plugin asks http://minecraft.webkonsept.com/plugins/ for the latest version of this plugin and tells you if the one you have isn't the newest release version.
    false: ET does not phone home.
    Note: The check happens when the plugin enables, meaning it only happens when you restart the server. If this is a popular feature I'll add a command to chek it as well.

    useProtectiveAuras (boolean, default: false)
    true: New blocks can not be placed next to locked ones.
    false: Only double-lockables are restricted in placement (old behavior).

    preventExplosions (boolean, default: true)
    true: The plugin will prevent explosions that would take out locked chests.
    false: Ignores explosions and just let them happen.
    Useful for when you have a different plugin protecting chests, or simply want people to be able to "blow the safe".

    useProtectiveAuras (boolean, default: false)
    true: The plugin will prevent the placement of any block right next to a locked block, unless you own that block.
    false: SCL does not meddle in the placement of blocks, meaning stuff like hoppers can be placed to extract items from locked chests.

    key and comboKey (item ID, defaults: 280 and 352)
    This is the item ID of your key. The defaults are Stick and Bone respectively.
    Use a listing like Minecraft Data Values to look up the ID of the item you want to use.

    useKeyDurability (boolean, default: false)
    true: Turn on durability checking (see below option)
    false: Turn the durability checking off.

    keyDurability and comboKeyDurability (damage value, default: 0)
    If your key is an item with multiple durability states, such as a custom Spout item or a sapling, you can use these settings to tune exactly what damage value you want to lock/unlock with.
    Does nothing unless useKeyDurability (above) is enabled.

    consumeKey (boolean, default: false)
    true: When you lock a block, the key disappears in payment of locking.
    false: Locking just locks, and does not eat the key.

    openMessage (boolean, default: true)
    true: A message is displayed when you open a chest, letting you know it's locked, who owns it (if it's not you) and who is trusted to access it besides you (if it's yours).
    false: Opening a chest you have access to gives no chat message.
    Note that regardless of this setting, a message is given if access was denied.

    useLimits (boolean, default: false)
    true: lockLimits as described in "Using limits" below are applied.
    false: all lockLimits are ignored and all users can lock whatever they please.

    lockLimits (configuration section, default is just an example)
    For details on this, please see then "Using limits" spoiler below.
    Using combinations (open)
    Combos are made of wool. To use them, set the first three items in your hotbar as wool. The combination is the colors of the wool.
    Use a bone (by default) to lock with that combination.

    If the setting openMessage is enabled, opening something you locked with a combination will show you the combo.
    To open something someone else locked with a combination you have to have three pieces of wool in the beginning of your hotbar. If you do, you're granted access as if you owned it, with no restrictions.
    If the combination is wrong, you'll be notified.
    Using limits (open)
    To use limits you have to use both permissions and options.
    First, let's have a look at the options.
    Code:
    lockLimits:
        example: 10
        anotherexample: 20
    Here, example and anotherexample are lock limit names.
    Keep an eye on these names when we move into the permissions.

    Remember that these permissions settings might not work with your permissions plugin, and is just an example.
    Code:
    users:
        someUser:
            permissions:
                simplechestlock.locklimit.example
        someOtherUser:
            permissions:
                simplechestlock.locklimit.anotherexample
      oneMoreUser:
            permissions:
                simplechestlock.locklimit.anotherexample
                simplechestlock.locklimit.example
        anAdmin:
            permissions:
                simplechestlock.nolocklimit
    Now someUser can lock 10 items, someOtherUser can lock 20 and oneMoreUser can lock 10 for example and 20 for anotherexample, for a total of 30.
    anAdmin can lock however much he/she wants, because of the nolocklimit permission.

    For details on the lockables section, see the "Configure lockables" above.


    Changelog:
    Version 1.2.2
    • Updated "Check for update" libs and compiled against newer bukkit.
    • Tested and found working very well with both 1.4.7 and 1.5.x
    Version 1.2.1
    • Removed some debug info output accidentally left in (right click entities message)
    Version 1.2
    • Optionally projects an "aura" around locked items. This is for stuff like Tekkit, so pipes can't be placed on chests to pump out the goodies inside.
    • Phones home to ask if there's a new version yet, so it can tell you when it's update time.
    • Some work done on entity protection, but nothing working yet.
    Version 1.1.1
    • (1.1.0 was never released due to bugs)
    • More consistent lockables checks
    • Performance improvements for lock checks
    • Explosion protection is now optional
    Version 1.0.2
    • albatrossen fixed invalid block IDs and added support for numerical IDs (both in "lockables" configuration)
    Version 1.0.1
    • Fixed where interacting with a combo-locked chest could generate a NullPointerException. Thanks to Wondrej for a detailed bug report making it easy to reproduce.
    Version 1.0.0
    • Option to check for WorldGuard build permission before allowing locking
    • Fix for item dupe bug if users are exceptional at item pickup timing and sucking is on
    • Fix for item consumption not happening if you have more than one in your hand.
    • Configurable locking, finally! You can now set what blocks are lockable!
    Version 0.20.1
    • Fixed bug where people could break blocks they didn't own.
    Version 0.20
    • Implemented group trust
    • Implemented key consumption
    • A good deal of cleanup internally, and some minor fixes.
    Version 0.19
    • Implemented suckInterval and suckEffect settings
    • Implemented whitelistMessage setting
    Version 0.18
    • Implemented limiting system so you can control how many items each user can lock
    • Made it possible to specify the durability ("Damage value") of keys, enabling the use of (for example) Spout custom items.
    (Older versions were stripped due to post size limitations)
     
  2. Offline

    Ricky Bhatti

    i cant setup permissions can some give me a example??
     
  3. Offline

    DemmyDemon

    This depends a lot on what Permissions plugin you're using, and what permissions you want to give.
    The best way to get help is to first figure out what permissions you want to give, and then talk to the permission plugin's author(s) about it. They will help you get the hang of their plugin.

    Once that is clearer to you, I can assist you a lot better in what permissions have what effect.
     
  4. Offline

    Steelstiletto

    I understand that you can add item id's to the list to add custom blocks to the lockable list. What is the format for items with damage values? If I have the Iron chests mod added, is the format just

    Code:
    lockables:
        lockable:
    ...
            - 181:2
    ...
     
  5. Offline

    DemmyDemon

    I'm sorry, that's not supported yet. I'm currently between ISPs and can't really do much (both my test and production servers are remote), and as this is a fairly large change I'll have to test it significantly.
    For now, however, I suggest simply making block 181 lockable in all variations.
     
  6. Offline

    Vladimuffin

    Hey. I just have to say, I love the concept behind this plugin. I got it to work for just me (for just one afternoon) then logged on the next day and it was broken =( I have to give you a little forewarning, I am using McMyAdmin which I'm not 100% comfortable with. I have read through the forum and attempted to use information from other people's problems, but I just can't get it. I am running GroupManager. when I /scl reload i get:

    9:04:58 PM CONSOLE:[WARNING] Unexpected exception while parsing console command
    9:04:58 PM CONSOLE:exception executing command 'scl' in plugin SimpleChestLock v1.0.0-beta3
    9:04:58 PM CONSOLE:java.lang.IllegalArgumentException: The permission simplechestlock.locktype.* is already defined!
    Any ideas??

    GOT IT!!! apparently the silly admin (myself) used simplechestlock.locktypes.* theres no s in types.It's a really nice plugin. Thanks for all you hard work and the awesome plugin support you provide your users.

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

    DemmyDemon

    You're very welcome!
    Great that you got it going while I was still asleep ^___^

    Apparently, I even do psychic support where I beam the answer into the users brain while I sleep. :cool:
    I wish.
    Thank you for your support!

    BTW, I urge you to upgrade to the newest version, if that's even possible in McMyAdmin? I've never used those admin console things for Minecraft/Bukkit, so I have no idea.

    At this time, 1.0.2 is the latest and greatest, and it fixes a couple of issues since the version you have.
    Not a critical upgrade, but if people use combo-locked chests a lot you will get a lot of log noise.
     
  8. Offline

    DiamondAir

    Will it be updated to R4 anytime? :)
     
  9. Offline

    DemmyDemon

    I wasn't aware that there were any problems?
    I haven't formally tested it myself, so I can't just update the thread title, but I can't see why there would be problems.
     
  10. Offline

    DiamondAir

    After I updated, it had many errors, but I got to work fine now, thanks for replying though :)
     
  11. Offline

    DemmyDemon

    Sure thing.

    I've now tested it with 1.2.5-R4, so I'll likely be updating the topic soon-ish.
     
  12. Offline

    korishiva

    I'm having problems with the permissions part. I downloaded and installed PermissionsBukkit. I'm really a noob in this >< Would be great if you gave link to a good permissions plugin and could show us how to cofig that part. (feks. giving us the text to fill in the permissionsbukkits config.yml)
    I really want to keep the chests safe on my server, but I guess I can't without the permissions :/
     
  13. Offline

    DemmyDemon

    Personally, I use bPermissions as I find it a lot easier to work with than PermissionsBukkit.

    As I'm sure you understand, I don't provide support for other people's plugins, but bPermissions is very well documented and even has a web GUI to make it easier to deal with.
     
  14. Offline

    korishiva

    Thank you :) I'll see if that makes more sense to me than PermissionsBukit did x)
     
  15. Offline

    DemmyDemon

    Best of luck to you, and once you get the hang of assigning permissions in general I can help you with the SCL-specific bits if you still need/want it.
     
  16. Offline

    Azatha

    We're having a bit of an odd problem on our server. Everyone can lock chests just fine, but anyone of the same permissions rank or higher can open each others chests. Everyone has the same permission settings regardless of rank, and no ones used the trust system, either.

    I've set my permissions to:

    simplechestlock.command.trust: true
    simplechestlock.command.reload: false
    simplechestlock.command.save: false
    simplechestlock.command.status: false
    simplechestlock.command.as: false
    simplechestlock.ignoreowner: false
    simplechestlock.nolocklimit: true
    simplechestlock.lock: true
    simplechestlock.usecombo: true
    simplechestlock.locktype.*: true

    And can't seem to figure out what I've done wrong to cause the issue. What could fix this?
     
  17. Offline

    DemmyDemon

    That's very odd in deed!
    Are they ops? Ops get ignoreowner by default, but even then you've overridden and said false there.

    Puzzled about this for sure.

    Can you please turn on verbose mode, show me your configuration and the verbose log?
    Also, any other plugins that might have a say in opening of chests?
     
  18. Offline

    Azatha

    Our server is very small, so everyone is an op. But like you said though, I've overriden it with the false ignore owner node. We don't have any mods that do anything with chests besides yours, as we've kept our mods very minimal.

    2012-06-22 10:49:55 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja wants to use Sehkola's wooden door
    2012-06-22 10:49:55 [INFO] [SimpleChestLock 0.19 VERBOSE] Permission granted: Nastajja->(simplechestlock.ignoreowner)
    2012-06-22 10:49:55 [INFO] [SimpleChestLock 0.19 VERBOSE] This block is locked with a normal key
    2012-06-22 10:49:55 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja was let into Sehkola's wooden door, ignoring owner.
    2012-06-22 10:49:56 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja wants to use Sehkola's wooden door
    2012-06-22 10:49:56 [INFO] [SimpleChestLock 0.19 VERBOSE] Permission granted: Nastajja->(simplechestlock.ignoreowner)
    2012-06-22 10:49:56 [INFO] [SimpleChestLock 0.19 VERBOSE] This block is locked with a normal key
    2012-06-22 10:49:56 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja was let into Sehkola's wooden door, ignoring owner.
    2012-06-22 10:49:58 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja wants to use Sehkola's chest
    2012-06-22 10:49:58 [INFO] [SimpleChestLock 0.19 VERBOSE] Permission granted: Nastajja->(simplechestlock.ignoreowner)
    2012-06-22 10:49:58 [INFO] [SimpleChestLock 0.19 VERBOSE] This block is locked with a normal key
    2012-06-22 10:49:58 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja was let into Sehkola's chest, ignoring owner.
    2012-06-22 10:50:01 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja wants to use Sehkola's chest
    2012-06-22 10:50:01 [INFO] [SimpleChestLock 0.19 VERBOSE] Permission granted: Nastajja->(simplechestlock.ignoreowner)
    2012-06-22 10:50:01 [INFO] [SimpleChestLock 0.19 VERBOSE] This block is locked with a normal key
    2012-06-22 10:50:01 [INFO] [SimpleChestLock 0.19 VERBOSE] Nastajja was let into Sehkola's chest, ignoring owner.

    Looks like it's ignoring owner, even though it's set to false. :s
     
  19. Offline

    DemmyDemon

    It does look like that. Perhaps there's a problem with the override, making it grant the permission even when it's set to false.
    It sure looks that way.

    What permission handling plugin are you using? Have you talked to the author about it giving permissions that have been explicitly revoked?
     
  20. Offline

    Azatha

    We're using PermissionsBukkit. I've not contacted them, as I've not had this problem with any of our other mods. I suppose I could, or I could just wait until the next update and see what happens.
     
  21. Offline

    DemmyDemon

    No, but your other mods haven't been relying on negative permissions in this way.
    Hmm...

    Also, if everyone is an op, why lock stuff from each other? I don't see the point.
    Locking the chests will indicate their owner, even if they can open it at will, so if all you're after is saying "This is Bob-Harry's stuff" then you've succeeded.

    Furthermore, I see no reason they would fix or change anything for their next version if they are unaware of the problem. I urge you to at least post in their thread or whatever.
     
  22. Offline

    Azatha

    Will do, though I do have false nodes in other mods as well, and they work. As for the op thing.. it's a lot of close friends, but some tend to take things from chests when not looking. Don't want to insult and say they can't be an op, but preventing them getting in chests is still necessary.

    I'll see what I can find out.
     
  23. Offline

    DemmyDemon

    You could edit plugin.yml inside the .jar and remove op permission from the node there.
    Also, giving someone op status is the same as saying "I trust you implicitly with my server, do as you please". This is strange to combine with not letting them in your chests.
     
  24. Offline

    Inferredz

    I am trying to set up the permissions using PermissionsEx and I'm not getting it to work properly. None of my other players can lock or unlock chests or anything unless they are Ops, and I can not have other people aside for my moderators set as Ops. I need to get this fixed if possible. Any help please?
     
  25. Offline

    DemmyDemon

    Sure.

    What permissions are you giving? (No need to paste the whole permissions file, just the relevant bits!)
    Also, please turn on the verbose option and show me what that puts in your server log when you try and lock.
    While you're in there, please get the whole configuration fine and share that with me, too.

    It'd be great if you used the "Code" function for pastes.
     
  26. Offline

    Inferredz

    This is the config.yml in permissionsex

    permissions:
    backend: file
    backends:
    file:
    file: permissions.yml
    superperms:
    parent-nodes: true
    createUserRecords: true
    allowops: true

    This is the permissions.yml that is supposed to be doing the work.
    groups:
    default:
    default: true
    permissions:
    - modifyworld.*
    - simplechestlock.lock
    users:
    abbybird12:
    group:
    - default
    permissions:
    - simplechestlock.lock
    Inferredz:
    group:
    - default

    The permissions commands that I am using are right here:
    This plugin uses the following permissions:
    • simplechestlock.command.reload - Access to /scl reload
    • simplechestlock.command.trust - Access to the /scl trust commands
    • simplechestlock.command.save - Access to /scl save
    • simplechestlock.command.status - Access to /scl status
    • simplechestlock.command.as - Access to /scl as <user>
    • simplechestlock.ignoreowner - Unlock any item, use any item.
    • simplechestlock.nolocklimit - Lock as much as you want, even when limiting is on
    • simplechestlock.lock - Access to locking blocks
    • simplechestlock.usecombo - Access to locking with a combination lock
    If you have defined usePermissionsWhitelist in Configuration (details below), you can specify what blocks are lockable using the locktype permission set.
    Note that you still need the simplechestlock.lock permission to lock stuff, even when whitelisting is activated.
    • simplechestlock.locktype.Lockable_Name_Here - Gives permission to lock Lockable_Name_Here blocks (see " Lockable blocks" below)
    • simplechestlock.locktype.chest - ..for example, gives access to lock chests.
    • simplechestlock.locktype.* - Lock any lockable item.
    This plugin also defines the following nodes for convenience:
    • simplechestlock.* - Full access - Sets simplechestlock.command.*, simplechestlock.ignoreowner, simplechestlock.lock, simplechestlock.locktype.*
    • simplechestlock.command.* - Access to the commands - Sets simplechestlock.command.reload, simplechestlock.command.save, simplechestlock.command.status, simplechestlock.as, simplechestlock.trust
     
  27. Offline

    DemmyDemon

    I meant the SimpleChestLock configuration, not the PEX one.
    For example, I need to know if you have usePermissionsWhitelist enabled.
    I also need to see the verbose log, like I said.

    Furthermore, there is no need to quote the OP. I wrote it, I know what's in it.

    [edit] Re-ordered some stuff to be less confusing, but I'm still not native a English speaker, and still operating under my minimum of caffeine... ;-)
     
  28. Offline

    merangel

    I'm new to editing permissions for plugins, previously when i put a plugin on my server it automatically created a folder in the plugins folder for that plugin, but it hasn't for this one. Its just the .jar, the plugin does work on my server, but I want to change it so that people can't lock doors, but I can't find where the permission file for this plugin is.

    My server is hosted by minecraft layer, and i'm using the McMyAdmin control panel with FileZilla.

    I know i'm stupid
     
  29. Offline

    DemmyDemon

    That's very odd. It's supposed to create a directory below plugins called SimpleChestLock with two files in it. One called config.yml and one called chests.txt.
    The fact that you can lock stuff tells me that it's storing stuff in chests.txt, or restarting the server would unlock everything...
    Erm... I have zero experience with that, so I don't know what to tell you... Does FileZilla have a "Refresh" button? Perhaps you're just seeing an old cache of the plugins dir?
    The term is "inexperienced", and we've all been there. It's not like I was born a programmer.

    Anyway, do the locked stuff become unlocked when you restart the server? If not, then it is being saved, and I urge you to look harder for plugins/SimpleChestLock/config.yml in there... If not, then Strange Stuff has happened and I've got some serious work to do replicating the problem.

    Best of luck.
     
  30. Offline

    Wondrej

    Hey,
    I would like to give a option of making a suck chest only for certain people, can it be set, or is it just general setting for all locked chests?

    Thanks
     
  31. Offline

    DemmyDemon

    Hmm, it currently doesn't do this, but it's quite possible to make it happen, I guess.
    We'll see what I come up with to solve it.
     

Share This Page