Inactive [SEC/MECH] LWC v4.1.1 :: Lightweight Protection for Chests, Furnaces, Dispensers, and more! [1.2]

Discussion in 'Inactive/Unsupported Plugins' started by Hidendra, Jan 17, 2011.

  1. Offline

    Hidendra

    LWC v4.1.1 3/1/2012
    [​IMG] Download
    [​IMG] Bleeding-edge builds
    [​IMG] Feature requests, Suggestions and Issues
    [​IMG] IRC - Live Chat ( irc.esper.net #LWC )
    [​IMG] github
    [​IMG] wiki (not fully up to date yet, sorry!)
    [​IMG] Donate


    DevBukkit
    Using LWC

    [​IMG] Modules
    Modules are seperate plugins much like LWC but extend LWC in some way, usually by giving extra functionality. While there may be more than already listed here, these modules are ones that are officially supported by LWC and maintained by the same author (Hidendra).

    [​IMG] LWC-Economy 1.30 - [​IMG] Download
    Configuration file: plugins/LWC/iconomy.yml

    LWC-Economy allows players to buy protections with economy money. At the moment, iConomy, BOSEconomy and Essentials are supported (have an Econ plugin that you want supported? PM me!) It can be configured on a per-user and per-group basis. It does not use Register.

    Aside from purchasing, when a user removes a protection, they will also be refunded what they initially paid for the protection.

    Discounts can also be given to each individual group, player, or by default. A discount is defined by giving X amount of protections for Y price, e.g 5 protections for free (0). After getting 5 protections for free, they pay full price again. They cannot get another discount again unless one of the following becomes true: a. an admin manually resets them b. the discounted amount of protections is increases (e.g increasing from 5 to 6 will mean said player gets 1 more for free) or c. the discount price itself changes (which means they will again get 5 protections for the new price.)


    What can be protected?
    • Chests
    • Dispensers
    • Furnaces
    • Doors
    • Signs
    • Trap doors
    • Anything else! Protections can be customized to anything you wish.

    Features
    • Plug 'n play! LWC handles all dependency resolution -- you just put LWC.jar in your plugins directory
    • Has reached a level where its routinely safe and stable.
    • Protections can be: Public, Password, and Private (by User and/or Groups)
    • If the block has a persistent inventory (ex. chest), LWC can protect it! (Unless the server owner disabled the protection of a specific block!)
    • Limits of how many protections a user or group can lock
    • Small memory footprint. No flat files.
    • For chests, only 1 side of the chest needs to be protected. The plugin saves space by dynamically linking connected chests as protected
    • Much, much more. This post would be extremely long if I were to post every feature LWC has to offer.

    Translations

    If your server would benefit more from a version of LWC in your native tongue, or you just want to do it because LWC is awesome, I'm open to allow translations to (almost any) language. Almost all LWC messages are editable.
    Locale files can be UTF-8, but are limited by Minecraft's charset (Latin-1.)

    The current and latest English locale can be found here:
    https://raw.github.com/Hidendra/LWC/master/src/lang/lwc_en.properties

    Currently, the following languages are officially bundled with LWC:
    • German - de - @Dawodo
    • Polish - pl - @Geoning @dudsonowa and @andrewkm
    • French - fr - @Cehel
    • Dutch - nl - @MadZero & @aoa2003
    • Czech - cz - @hofec
    • Swedish - sv - @christley
    • Russian - ru - @IlyaGulya - requires a Cyrillic font mod for the MInecraft client
    • Spanish - es - Raul " @RME " Martinez & David " @DME " Martinez
    • Danish - da - @TCarlsen

    Changelog (open)

    11/29/2011
    LWC 3.54
    • FIX: Exploit related to Showcase & LWC
    • /lwc admin report has been fixed

    9/22/2011
    LWC 3.53
    • FIX: All Permission plugins will now work as they should. In SuperPerms, lwc.protect will default to true. if you are using Permissions 2/3/GroupManager/etc, lwc.protect will default to false

    9/20/2011
    LWC 3.52
    • FIX: Permissions 2/3 stopped working correctly in 3.51

    9/19/2011
    LWC 3.51
    • lwc.protect has been changed to be default false again in SuperPerms

    9/16/2011
    LWC 3.50
    • Remove the permission metadata from defined commands so the endless onslaught of "LWC throwing Dave error !" stops

    9/16/2011
    LWC 3.49
    • FIX: Double console output

    9/15/2011
    LWC 3.48
    • 3.48 and 4.00 alphas can now be interchanged without receiving errors.
    • FIX: lwc.protect now defaults to true for SuperPerms, so Permissions 2/3 can be used without receiving Dave errors

    9/11/2011
    LWC 3.47
    • NEW: iConomy 6 support. LWC-Economy does not need to be updated, only LWC.jar

    9/11/2011
    LWC 3.46
    • FIX: The Redstone event was not being propagated via the new events

    9/10/2011
    LWC 3.45
    • FIX: plugins/LWC/locale/lwc.properties (Locale override) could not create new key values such as grass, stone, etc.
    • Feature: The "nospam" mode now hides notices.
    • Feature: Double wooden doors will now also auto open when opening them. They must both be protected.

    9/10/2011
    LWC 3.44
    • FIX: LWC would not auto reconnect to MySQL after sitting idle for a few hours

    9/3/2011
    LWC 3.43
    • NEW: Native PermissionsEx (PEX) support
    • NEW: /lwc admin purgebanned can now take -remove as an argument to also remove the removed blocks & item contents (e.g: /lwc admin purgebanned -remove)
    • FIX: An exception would be thrown when using /lwc admin cleanup while using SQLite
    • FIX: A Bukkit bug would throw an exception when a block was pushed above a chest via piston
    • FIX: The /permissions command on PermissionsBukkit 1.2 (not 1.1) was not working correctly.
    • The Polish localization has been updated courtesy of @Geoning

    LWC-Economy 1.30
    • NEW: Native Essentials Econ support
    • NEW: type: has been added to discounts (very latest iconomy.yml) to allow you to revert to the old way of how discounts were given (default: EXACT, old way: TOTAL)
    • NEW: Refunds can now be disabled by making iConomy.refunds false

    8/28/2011
    LWC 3.42
    • The flag "EXEMPTION" has been added to allow you to exempt flags from commands such as ADMIN PURGE and ADMIN EXPIRE; it prevents the protection from being removed unnecessarily. It can only be activated by LWC admins. Use /cexempt on or the usual /lwc flag exempt on
    • FIX: Some servers were experiencing a freezing issue on startup which is now fixed
    • FIX: Disabled modes were not properly disabled, despite being told the mode was disabled.

    8/26/2011
    LWC-Economy 1.21
    • FIX: On some servers LWC-Economy would not bootstrap itself into LWC correctly
    • LWC is unaffected, but due to how automatic provisioning works, the binary will be different from the last due it modifying the build number in /lwc admin version

    8/25/2011
    3.41
    • FIX: Servers with autoUpdate set to true would find 3.40 would crash all of the time due to a stackoverflow exception.
    • FIX: PermissionsBukkit /permissions command was unusable due to LWC making it load when the server first started, not when it normally would.

    8/25/2011
    LWC-Economy 1.20
    • LWC-iConomy.jar has now become LWC-Economy.jar -- please update accordingly.
    • BOSEconomy is now supported alongside iConomy. No extra setup is necessary for either!
    • Money paid for protections can now be refunded when you destroy the protection, even if the person who paid (the owner) is offline.
    • Discounts now give out the exact amount of protections for the discounted price. For example, if 'newCharge' is set to 0 and 'amount' is set to 5, a player will be able to create 5 protections for free after it takes effect.

    LWC 3.40
    • Almost all current LWC Module events have been deprecated. They have been replaced with events such as: `onProtectionInteract(LWCProtectionInteractEvent event)`
    • Fixed PermissionsBukkit compatibility: some commands did not work correctly
    • `/lwc admin cleanup` has accelerated to warp 5
    • Servers without any Permissions plugin would find anyone would have LWC Admin access
    • The mode "nospam" has been added to prevent protection creation messages from popping up (e.g "created protection successfully.") Use /cnospam or /lwc mode nospam, which toggles it on and off.
    • Protection history. LWC now logs all protection creations/destructions -- in the future, this may log chest access, but if it happens it will be a separate plugin such as LWC-Economy
    • -remove flags have been added to `/lwc admin expire` and `/lwc admin purge <player>` to remove the associated protection block. For example, if you use `/lwc admin purge -remove Hidendra`, it will remove all protections by Hidendra, and also all of the blocks protected in the world, along with any chest contents.
    • If LWC loses connection to MySQL, LWC will prevent access to chests until the connection is regained. This is to prevent stealing from chests if the connection is somehow lost and cannot be immediately regained.
    • Pistons can no longer destroy protected doors and so on.
    • Multitude of bug fixes and minor corrections
    • Minor optimizations

    3.31
    • PermissionsBukkit is now officially supported. LWC will still work on builds pre-1000
    • lwc.blockinventory has been renamed to lwc.deny - please take note
    • Fixed a bug where protections would be loaded from any world
    • Fixes to the Danish translation

    3.30
    • Added core.ignoreExplosions to core.yml to allow an admin to allow creeper explosions / TnT to destroy protections
    • Protections will now keep track of the last time they were interacted with
    • Added the command /lwc admin expire to allow you to expire protections that have not been used in so long. Example: /lwc admin expire 2 weeks
    • Added the command /lwc admin purgebanned to remove protections of every played in banned-players.txt
    • Added the command /lwc admin query to allow raw queries on the physical database
    • Drop transferring could not be disabled, it is now fixed.
    • Various bug fixes

    7/5/11
    3.21
    • Fix "fetch size" error
    • Removed the auto-removal of the very old players table

    7/4/11
    3.20

    • Very important bug fix for those who are using MySQL and prefixes. Prefixes will now work correctly and any issues arisen from MySQL usage should now be resolved
    • Fixed lang-defined block names being used in core.yml - protections instead of the english variant, otherwise all protections are broken.

    Credits
    • It's not all about me! I've tried my hardest and /lwc credits was the result. It turns out there is a lot more people I am extremely thankful to than can fit on one chat page, so instead it scrolls.
    • Many, many people helped with LWC in vastly different ways and it's impossible to credit every single person accurately, thus I missed a few people.

    Translations
    This update introduces three more languages: Russian, Spanish, and Dutch.
    • Russian - @IlyaGulya - requires a Cyrillic font mod for the Client
    • Spanish - Raul " @RME " Martinez
    • Spanish - David " @DME " Martinez
    • Dutch - @Tcarlsen

    Chunk corruption workaround
    • Have you ever noticed, when you /cinfo'd something, it said "That air is not registered"? Or when chests randomly stop working? If you get this a lot, you are most likely affected by an issue in Bukkit where chunks will mysteriously report Air (or some other block) for each block in the chunk. Please refer to this bug report on Leaky Bukkit: http://leaky.bukkit.org/issues/656
    • @morganm graciously found a way to workaround this issue, and it involves forcing every single protection to be cached and some other magical tidbits (without getting too technical.) To enable this, open up plugins/LWC/core.yml and then change bukkitBug656workaround to true. If you don't see it under core:, add it:
      Code:
          bukkitBug656workaround: true
      

    Behaviour
    • Trap doors are now available as a default protection for any new configurations: they will not automatically add themselves to existing LWC configurations
    • The default value for magnet.yml - perSweep has been changed from 20 to 40
    • The command /lwc debug has been added to test your permissions and show you precisely what you have access to
    • LWC now displays the git commit and Jenkins build (ci.griefcraft.com) in version strings (e.g /lwc admin version or /lwc admin report).

    6/16/11
    3.11
    • Translation: Swedish! Thank you @christley!
    • Bug fix for block placement

    6/16/11
    3.10
    • Translation: Czech! Thank you @hofec
    • The default value for core.showMyNotices has been changed to false (does not affect current installs.)
    • Burning furnaces have been fixed
    • Iron doors have been fixed
    • Redstone fix
    • Fixed auto register allowing registrations without having lwc.protect
    • Feature: auto openable Iron Doors. On by default -- iron doors (including double doors) will open (or close) when you click them provided they are both protected and you have access to them. "openAndClose," which closes the door automatically after x seconds (3 by default) is available but currently may not work as expected (works oppositely for doors facing North or South; doors will stay open.)
    • Trap doors (aka hatches) have been added to the default protection list. However, if you have an existing core.yml, and want trap doors, you either need to delete core.yml and restart the server (thus redownloading it) or adding trap_door to protections.blocks, e.g
      Code:
              trap_door:
                  enabled: true
                  autoRegister: off
      

    6/11/11
    3.06
    • Sign names have been normalized to "Sign" (e.g Wall sign and Sign post are shown as just Sign)
    • Added locale values for "you" and block names (chest, furnace, dispenser, wooden_door, iron_door, and so on.) Custom block names can be defined if you have custom protections.
    • Dutch translation -- thank you to @MadZero and @aoa2003

    6/08/11
    3.05
    • Notices will be shown correctly to admins when showMyNotices is disabled.

    6/08/11
    3.04
    • Limit the amount of queries the Magnet module can use (can be changed with magnet.perSweep, default 20. Delete magnet.yml to auto-regen it). On larger worlds, this was a severe issue
    • magnet.enabled now works correctly

    6/07/11
    3.03
    • MySQL prefix is now working as it should
    • Minor fix with the cache update in 3.02

    6/07/11
    3.02
    • Cache null protections as well, to prevent massive redstone spam

    6/07/11
    LWC 3.01

    Thank you so much to the many, many people who provided feedback and suggestions on 3.00.
    This changelog may be incomplete as I probably missed some obscure changes.

    Translations
    The following languages are now available in LWC:

    Lists support
    • LWC supports the Lists plugin which allows you to create a list for your protections to use. Anyone in this list attached to the protection can access your protection
    • When modifing/creating the protection, use l:ListName or list:ListName, e.g: /cmodify l:Test or /cprivate l:Test

    Configuration
    • lwc.properties is now gone. It has been replaced by multiple .yml files, e.g core.yml, limits.yml, worldguard.yml, and so on.
    • Your old lwc.properties is still automatically converted.

    Limits
    • The old in-database limits has been fully removed. It is replaced by an on-disk alternative, limits.yml. This very easily allows much more in-depth limits management (e.g only: 5 chests, 2 furnaces, 0 doors)

    Custom protections
    • It is now extremely easy to create your own custom protections, or remove existing ones (core.yml -> protections:). For example, this is how you would make Note Blocks protectable, and allow people to play them (But not change the note!):
    Code:
            note_block:
                enabled: true
                ignoreLeftClick: true
    

    API
    • [I hope] final major revision to the LWC Api. New additions will allow other plugins to hook into LWC much more easily and do things that were not possible before. Features can be seamlessly integrated into LWC as if they were in LWC itself.
    • PhysDB.getPrivateAccess is now deprecated -- please use protection.getAccess instead!
    • Protections can be more easily modified utilizing methods in their objects: save() (queued save), saveNow(), remove(), removeCache() (just removes the protection from the cache, not the database), and update() (just updates the cached protection, save()/saveNow() already does this)

    LWC Modules
    • Modules can be thought of as a plugin inside LWC itself -- more or less they will change LWC's behaviour in some way, depending on the module.
    • Very easily implemented by developers: cancel protection registrations, cancel that damn protection message, and way more! More info on the wiki.

    Admin customization
    • There are now a ton of permissions nodes; there is one for each admin command. For example, for every Admin command, you could use: lwc.admin or lwc.admin.*. For just "find" and "forceowner", you could give a group/player the following: lwc.admin.find and lwc.admin.forceowner. Full list on the wiki.
    • Please note that lwc.admin.* only grants all Admin commands; lwc.admin still has a higher authority over the former (e.g, lwc.admin is considered the owner of any protection, while lwc.admin.* is not !!)

    Player customization
    • Like the admin commands, the main LWC commands can now be customized via permissions. lwc.protect still functions the same (all functionality); some examples of new nodes are: lwc.create or lwc.create.* (create anything), lwc.create.private (only be able to create private protections), lwc.info (/cinfo), lwc.modify (/cmodify), lwc.unlock (/cunlock), and so on. Full list on the wiki.
    • Please note that without lwc.protect, you need to manually assign flags. E.g: lwc.flag.* or lwc.flag.redstone / lwc.flag.magnet

    Magnet flag
    • The chest will act as a magnet and suck up nearby items (within a 3 block radius.) This can be very useful for automatic farms (e.g animals or crops.) It is compatible with double chests.
    • Can also specify items that these special chests will not pick up (in magnet.yml)
    • Compatible with Double Chests

    iConomy
    • It is now possible to sell protections with the fully optional LWC-iConomy bridge module. You just throw LWC-iConomy.jar into your plugins folder and then edit iconomy.yml in plugins/LWC/ when it's generated on the next startup!
    • You can also allow players to have a certain amount of protections at a reduced price (or even free) e.g free protections while you have less than 5 (but regular price after that.)

    Performance
    • LWC now does major caching of protections in memory. Previously, LWC hit the database everytime a protection is opened; now they are routinely stored in cache without a huge hit on memory usage (very minimal.) It can be increased from the default of 10000 if you wish in core.yml (core.cacheSize). More will most likely be cached in the future
    • Access rights are now stored with Protections (for the curious, it uses an OUTER JOIN, so just 1 query.)
    • Protections are precached (as many as possible) when the server is started
    • Lots of bug fixes (mostly miscellaneous.)

    Other
    • MySQL prefix can now be configured (if you change it with an existing MySQL install, it will fix that automatically, don't worry!)
    • /cpersist or /lwc mode persist now acts as a toggle for the mode
    • Added the following aliases: /cpersist , /cdroptransfer , /cmagnet , and /cadmin
    • /climits displays your protection limit and how many protections you have protected.
    • Minor changes all around

    Cheers

    4/18/11
    2.31
    • Security bugfix regarding an issue in minecraft itself (thanks sycot)

    4/09/11
    2.30
    • Native German translation! If you wish to use LWC in German, please change "locale" in lwc.properties to de. Many thanks to @Dawodo for doing the translation!
    • /lwc admin cleanup will now show the correct values instead of variable names when outputting results
    • enforce-worldguard-regions is now compatible with WorldGuard 5.x
    • Redstone is now changed again. All set redstone flags are reset. Redstone will obey the deny-redstone config value (which is false by default), meaning if it is set to false, you need to explciitly set the flag to disable redstone (/lwc flag redstone on), and if it is set to true, all doors prevent redstone by default so you need to set the flag to allow redstone.

    4/06/11
    2.21
    • Minor bug fixes

    4/06/11
    2.20
    • By default, redstone WILL NOT open doors (at the moment, it appears dispensers are unaffected, hopefully they will be fixed in CraftBukkit). In order to allow redstone to open your door, you need to issue this: /lwc flag redstone on. Using /lwc flag will show you the available protection flags -- these are "switches", only on/off (only redstone flag exists at the moment)
    • Bug fix: Protections will auto protect themselves again when being placed

    4/05/11
    2.12
    • Official support for RB builds >600 now that I am back home
    [hit max thread length]


    enjoy, gents
     
  2. Offline

    JakeNova

    So, I just installed this plugin, reloaded, and now all the commands and permissions are set up properly. Only problem is, when a person types /lwc -c password 1, they are correctly prompted to left click the block they want protected, but when they do, nothing happens. I have sqlite installed on my server and it works with BB, so that shouldn't be the problem. I haven't messed with any of the settings in the .properties file. Any help is greatly appreciated! Thanks for the amazing plugin!
     
  3. Offline

    Valtrix

    Same thing has happened to my server
     
  4. Offline

    jacktiggs

    Whenever I launch the server, this happens once it loads LWC:
    Code:
    LWC    [1.491]    Loading SQLite
    java.sql.SQLException: no such table: protections
        at org.sqlite.DB.throwex(DB.java:288)
        at org.sqlite.NestedDB.prepare(NestedDB.java:115)
        at org.sqlite.DB.prepare(DB.java:114)
        at org.sqlite.Stmt.executeUpdate(Stmt.java:102)
        at com.griefcraft.sql.PhysDB.doUpdate150(PhysDB.java:248)
        at com.griefcraft.sql.PhysDB.load(PhysDB.java:578)
        at com.griefcraft.lwc.LWC.load(LWC.java:417)
        at com.griefcraft.lwc.LWCPlugin.onEnable(LWCPlugin.java:293)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:135)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:425)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:175)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:74)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:55)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:171)
        at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:158)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:110)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:209)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    
     
  5. Offline

    Hidendra

    Did you just start a fresh lwc.db?

    Are you using the latest LWC and CraftBukkit?
     
  6. Offline

    sumTard

    Is there a way to make chests only be protectable with this plugin when inside a defined region?

    Im not sure if that is what "enforce-worldguard-regions=" is for, or "only-protect-in-cuboid-safe-zones="
     
  7. Offline

    Hidendra

    Yes.
    Change enforce-worldguard-regions to true, and then if you only want new protections to be allowed in any define region, use * in the worldguard-allowed-regions (which is default). If you only wanted, say "test1" and "test2" regions to be protectable, you'd use
    Code:
    worldguard-allowed-regions=test1,test2
    
    only-protect-in-cuboid-safe-zones is from hMod, so pretty much you could remove it if you wanted to ;)
     
  8. Offline

    scar413

    sorry for asking, but is there a ETA for the next update including default protected chests?
     
  9. Offline

    M1nurThr3t

    ok so i am running into this issue and it seems that it may be due to myhome?
    any ideas if it is?
    Just tried removing it and get the same issue

    Code:
    2011-02-13 09:53:29 [INFO] Starting minecraft server version Beta 1.2_01[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:29 [INFO] Loading properties[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:29 [INFO] Starting Minecraft server on *:25565[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:29 [INFO] This server is running Craftbukkit version git-Bukkit[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]-0.0.0-387-g065aac0-b300 (MC: 1.2_01)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:29 [INFO] Preparing level "world"[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:29 [INFO] Preparing start region[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:30 [INFO] Preparing spawn area: 77%[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]plugins\Essentials\spawn.yml[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loading shared objects[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]Config  [1.491] Loaded 9 config entries[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Native library: lib/native/Windows/amd64/sqlitejdbc.dll[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]Feb 13, 2011 9:53:32 AM org.bukkit.plugin.SimplePluginManager loadPlugins[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]SEVERE: Could not load plugins\Permissions.jar in plugins: null[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]org.bukkit.plugin.InvalidPluginException[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]ava:79)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]java:117)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager[/SIZE][/SIZE]
    [SIZE=2][SIZE=2].java:82)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:53)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:171)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:158)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:110)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:209)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]Caused by: java.lang.reflect.InvocationTargetException[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[/SIZE][/SIZE]
    
    [SIZE=2][SIZE=2]        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)[/SIZE][/SIZE]
    
    [SIZE=2][SIZE=2]        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]rce)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at java.lang.reflect.Constructor.newInstance(Unknown Source)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]ava:77)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        ... 8 more[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]Caused by: while parsing a block collection[/SIZE][/SIZE]
    [SIZE=2][SIZE=2] in "<reader>", line 81, column 13:[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]                - 'essentials.*[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]                ^[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]expected <block end>, but found Scalar[/SIZE][/SIZE]
    [SIZE=2][SIZE=2] in "<reader>", line 82, column 16:[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]                - 'myhome.home.basic*'[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]                   ^[/SIZE][/SIZE]
    
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockSequenceEntry.produce([/SIZE][/SIZE]
    [SIZE=2][SIZE=2]ParserImpl.java:520)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.jav[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]a:203)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:158)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]:230)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]:230)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]:230)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)[/SIZE][/SIZE]
    
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]tructor.java:124)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.bukkit.util.config.Configuration.load(Configuration.java:73)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:46)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        at com.nijikokun.bukkit.Permissions.Permissions.<init>(Permissions.java:[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]74)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]        ... 13 more[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [INFO] Loaded Essentials build 183 by Zenexer, ementalo, Eri[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]s, and EggRoll[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [INFO] Loaded EssentialsBan b183 by Zenexer, ementalo, Eris,[/SIZE][/SIZE]
    [SIZE=2][SIZE=2] and EggRoll[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [INFO] Loaded EssentialsHelp b183 by Zenexer, ementalo, Eris[/SIZE][/SIZE]
    [SIZE=2][SIZE=2], and EggRoll[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [INFO] Loaded EssentialsHome build 183 by Zenexer, ementalo,[/SIZE][/SIZE]
    [SIZE=2][SIZE=2] Eris, and EggRoll[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -admin[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -create[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -free[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -info[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -p[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -modify[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -unlock[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loaded command: /lwc -owners[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] -> PLAYER_QUIT[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] -> ENTITY_EXPLODE[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] -> BLOCK_INTERACT[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] -> BLOCK_DAMAGED[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]LWC     [1.491] Loading SQLite[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]PhysDB  [1.491] Creating physical tables if needed[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]MemDB   [1.491] Creating memory tables[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]SQLite  [1.491] Using: Native[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [INFO] [MYHOME]: 0 homes loaded[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [SEVERE] [MYHOME] Permissions isn't loaded, there are no res[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]trictions.[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [INFO] MyHome 1.8 enabled[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]SignLift version 0.3 is enabled :)[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]Whitelist: Trying to load whitelist and settings...done.[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]Whitelist version 1.9 is enabled![/SIZE][/SIZE]
    [SIZE=2][SIZE=2]2011-02-13 09:53:32 [INFO] Done! For help, type "help" or "?"[/SIZE][/SIZE]
    [SIZE=2][SIZE=2]
    [/CODE][/SIZE][/CODE][/SIZE][/CODE][/SIZE]
     
  10. Offline

    Incendia

    Can you make a protection mode where people can view, but not modify?
     
  11. Offline

    AskCharlie

    Any idea about this error Hidendra?
     
  12. Offline

    Hidendra

    Permissions is setup wrong :p

    Is the lib or minecraft folder read only?

    It is on the list for when Bukkit supports it :)

    Tomorrow ;)
     
  13. Offline

    Drakia

    Hidendra, just a request from a plugin author who integrates with your plugin, could you make sure that every build gets a new version number? I had people using "1.491" but it lacked the function I was using, and looking at your gitHub there were 5 or 6 commits that used the 1.491 version number.
     
  14. Offline

    Dreadreaver

    +1
     
  15. For some reason, when i do the /lwc admin limit # g:groupname , it says that it changes the limit, but it doesn't effect anything. For now, i just applied the -global so everyone has the same limit, but it would be REALLY nice to be able to give different groups different amounts :)
     
  16. Offline

    dragonking

    i would love to have a command to remove protection on a chest, since i dont want neither admins or mods to be able to view/modify others chests, but at the same time want admins/mods to be able to remove protection in case of a player forgetting a password or something.
     
  17. Offline

    Hidendra

    You can :p. /cremove or /lwc -r protection

    Is the group a Permissions group?

    I try to, but the original plan for 1.5 was different, so I had to stray from doing that. Now though it'll be back to a new version everytime I break something again! (or add something useful, of course)
     
  18. Yes it is
     
  19. Offline

    Hidendra

    Is it in the same case as it's defined as in Permissions? i.e default may not work if it's named Default
     
  20. Offline

    stkeroro

    limits per groups seems broken.
     
  21. Offline

    Hidendra

    It uses inheritance, so that may be affecting it, or the new version of Permissions did something. I'll test it more to see if it really is on LWC's end, though
     
  22. Well, i tried Default, default, and all other assortments of groups. I tried it when the group wasn't the default group, i tried it when it had no 'parent' group to inherit permissions from... it just doesn't seem to work :(
     
  23. Offline

    Hidendra

    I see. Yeah, it's a problem with LWC. the update with it fixed will be out soon (a ! shouldve been a =. Yay!)
     
  24. Offline

    Kainzo

    Code:
    LWC     [1.491] Loaded command: /lwc -admin
    LWC     [1.491] Loaded command: /lwc -create
    LWC     [1.491] Loaded command: /lwc -free
    LWC     [1.491] Loaded command: /lwc -info
    LWC     [1.491] Loaded command: /lwc -p
    LWC     [1.491] Loaded command: /lwc -modify
    LWC     [1.491] Loaded command: /lwc -unlock
    LWC     [1.491] Loaded command: /lwc -owners
    LWC     [1.491] -> PLAYER_QUIT
    LWC     [1.491] -> ENTITY_EXPLODE
    LWC     [1.491] -> BLOCK_INTERACT
    LWC     [1.491] -> BLOCK_DAMAGED
    LWC     [1.491] Using Nijikokun's permissions plugin for permissions
    LWC     [1.491] Loading SQLite
    java.sql.SQLException: no such table: protections
            at org.sqlite.NativeDB.throwex(NativeDB.java:210)
            at org.sqlite.NativeDB._exec(Native Method)
            at org.sqlite.Stmt.executeUpdate(Stmt.java:152)
            at com.griefcraft.sql.PhysDB.doUpdate150(PhysDB.java:248)
            at com.griefcraft.sql.PhysDB.load(PhysDB.java:578)
            at com.griefcraft.lwc.LWC.load(LWC.java:417)
            at com.griefcraft.lwc.LWCPlugin.onEnable(LWCPlugin.java:293)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:135)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:425)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:175)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:74)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:55)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:171)
            at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:158)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:110)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:209)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    PhysDB  [1.491] Creating physical tables if needed
    MemDB   [1.491] Creating memory tables
    SQLite  [1.491] Using: Native
    
    Thoughts? This was 1.491 and 325.
    --- merged: Feb 15, 2011 12:02 AM ---
    Cross that - updated to newest (though same version and file size and it fixed it)
     
  25. Offline

    Hidendra

    Some people have requested the ability to protect boosters they use on their minecarts.
    Though I have no plans with LWC to move towards a "conventional" protection plugin, you can technically do this in 1.5.
    LWC will now protect the block under doors and Wall Signs will also protect the wall they're placed on. So this means if you place a sign on the side of a block (i.e a booster) and protect it, the block it is attached to will also be protected! (signs that stand up only protect the block under it)

    LWC 1.50
    • Devs: various methods renamed or added. canAccessChest/canAdminChest is renamed to can[..]Protection.
    • added: canAdminProtection(Player, Block) , canAccessProtection(Player, Block)
    • Blocks can be auto-protected. Change auto-register-as from none to either private or public (the type to register as). Doors currently do not work with this
    • Groups/players can be blocked from opening any inventory with the Permission node lwc.blockinventory (Even if they have access they WILL be blocked!)
    • The block below doors will now be protected
    • The door below signs is protected, and the wall holding Wall signs will also be protected
    • Admins/mods will be notified if they open a protected anything
    • Group limits are fixed (again)
    • Other various bug fixes
     
  26. Offline

    scar413

    awesome, big thanks. great update.
     
  27. Offline

    kyojuceles

    Hello. I use your plugin well.

    I suggest you that your plugin function.

    Do you have a plan that login issue of authorize plugin(http://forums.bukkit.org/threads/610)?

    If you have it, add function that it is ignore BetterShop plugin commands without not signin, please

    Thx for reading.
     
  28. Offline

    Hidendra

    What login issue?
     
  29. Offline

    mutiny

    Code:
    2011-02-15 00:14:00 [INFO] [�c[admin]mumblerit�f]: but you cant lock?
    Feb 15, 2011 12:14:01 AM org.bukkit.plugin.SimplePluginManager callEvent
    SEVERE: Could not pass event BLOCK_DAMAGED to LWC
    java.lang.NullPointerException
            at com.nijiko.permissions.Control.getGroups(Control.java:451)
            at com.griefcraft.lwc.LWC.enforceProtectionLimits(LWC.java:756)
            at com.griefcraft.listeners.LWCBlockListener.blockTouched(LWCBlockListener.java:508)
            at com.griefcraft.listeners.LWCBlockListener.onBlockDamage(LWCBlockListener.java:98)
            at org.bukkit.plugin.java.JavaPluginLoader$22.execute(JavaPluginLoader.java:231)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:214)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:347)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Feb 15, 2011 12:14:02 AM org.bukkit.plugin.SimplePluginManager callEvent
    SEVERE: Could not pass event BLOCK_DAMAGED to LWC
    java.lang.NullPointerException
            at com.nijiko.permissions.Control.getGroups(Control.java:451)
            at com.griefcraft.lwc.LWC.enforceProtectionLimits(LWC.java:756)
            at com.griefcraft.listeners.LWCBlockListener.blockTouched(LWCBlockListener.java:508)
            at com.griefcraft.listeners.LWCBlockListener.onBlockDamage(LWCBlockListener.java:98)
            at org.bukkit.plugin.java.JavaPluginLoader$22.execute(JavaPluginLoader.java:231)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:214)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:347)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    
    when people hit unlocked chests, no longer can lock them either, does not happen to lwc.admin
     
  30. Offline

    maxsteele

    I don't know if anyone has reported this yet:

    You can get around people locking doors with one simple item: a wooden pressure plate.

    If a door is marked private by a person, anyone can come along, place a pressure plate in front of the door, and when they step on it the door will open, regardless of lock status.
     
  31. Offline

    axebyte

    I get the same error as the guy above me. craftbucket 320
     

Share This Page