Blothera Thief
Description
What it is
This is a thieving plugin. It allows you to Pickpocket players, Lock pick Chests, and Vanish
Also check out Blothera Assassin, Blothera Archer, Blothera Blocks, Blothera Warp, Blothera Damage, Blothera Chat and Blothera Tools
Also check out the Blothera Kingdom Forums and sign up if you want to see all of the Blothera plugins in action
Note: You cannot steal items that have damage on them or items that have an enchantment on them due to a dupe bug.
commands
NONE
Permissions
- BlotheraThief.*: gives all Blothera Thief permissions
- BlotheraThief.Vanish: Allows a player to vanish
- BlotheraThief.LockPick: Allows a player to lock pick
- BlotheraThief.PickPocket: Allows a player to Pickpocket
- BlotheraThief.PreventPickPocket: Allows a player to stop another player from Pickpocketing them
- BlotheraThief.PickPocketAlert: Allows the player to receive an alert when a player fails at Pickpocketing them
How it works
- In order to Vanish a player must crouch and then right click with the Vanish item (config)
- In order to Lock Pick a player must right click a chest, door, or furnace in survival or adventure mode with the Lock Picking item (config), the chest will open if they succeed.
- In order to Pickpocket a player must crouch and right click a player while in survival or adventure mode with the Pickpocketing item (config), they will then receive a random item from the player's inventory if they succeed.
Config
- VanishItem: The item that is use to vanish
- VanishTime: The amount of time a player is vanished for (Seconds)
- CoolDownTime: The amount of time it takes for the vanish to recharge (Seconds)
- VanishText: The text shown to the player when they vanish
- VanishAlreadyText: The text shown to a player when they try to vanish when they already are
- VanishCoolDownText: The text shown when a player trys to vanish when they're vanish isn't recharged
- VanishStopText: The text shown when a player is out of vanish
- VanishCoolDownDoneText: The text shown when a player's vanish is recharged
- VanishSmokeSize: the sizeof the smoke that forms around the player when they vanish
- LockPickDoorChance: The success rate when someone trys to lock pick a wooden door(1 in _ chance)
- LockPickIronDoorChance: The success rate when someone trys to lock pick a iron door(1 in _ chance)
- LockPickChestChance: The success rate when someone trys to lock pick a chest(1 in _ chance)
- LockPickFurnaceChance: The success rate when someone trys to lock pick a furnace(1 in _ chance)
- LockPickTrapDoorChance: The success rate when someone trys to lock pick a trap door(1 in _ chance)
- LockPickSuccesText: The text shown to a player when they succeed at lock picking ([thing] will be replaced with the block's name that the person lock-picked)
- LockPickFailText: The text shown to a player when they fail at lock picking ([damage] is replaced by how much damage they take)
- LockPickFailUseDamage: If true damage will be given
- LockPickFailBreakItem: If true one of the lockpick items will break that they are holding.
- LockPickFailDamage: The amount of damage a player takes when the fail at lock picking (1 damage = half a heart)
- StealItem: The item a player must use to pickpocket someone
- StealChance: The chance a player has at succeeding when they try to pickpocket someone (1 in _ chance)
- StealAmount: The amount of the item the player steals if the player they are stealing from has more than 1 in a stack
- StealSuccesText: The text shown to player when they succeed at pickpocketing someone ([items] is replaced by how many of what items they stole)
- StealEmptyText: The text shown to a player if the player who they are trying to steal from's inventory is empty
- StealFailText: The text shown to a player when they fail at pickpocketing someone ([damage] is replaced by how much they got hurt when they fail)
- StealFailDamage: The amount of damage the player recieves when they fail at pickpocketing someone
- LockPickItem: The item a player must use to lock pick a chest
- StealAlertText: The text show to a player when a player fails at pickpocketing them
- StealInventoryFull: The text shown to a player when their inventory is full and they try to pickpocket someone
To Do
- Anyone have any suggestions?
Known Bugs
- If anyone finds any please create a ticket for it
U have to lockpick ALL chests? Make a LOCKING system dude!
Suggestion:
Make doors,iron door, chest, furnances, etc have a difference chance of success for said items.
I'm fairly certain this works with all of those because this plugin will set the person able to open the chest very last (Highest priority) so if it get's canceled by one of those plugins and the player succeeds at lock picking the chest it get's un-canceled. The only problem lies when one of those plugins cancels the opening of the chest at the same priority then I'm not quite sure what would happen.
@10se1ucgo
Yeah I wanna know how the lockpicking works too. Does this plugin have it's own chest lock system, or does it use Lockette, Factions, LWC, etc. Other than that it works great :D
Now, How do we lock chests? Does it support Lockette?
Thank you very much for making this plugin I appreciate just how useful it is and how quickly you respond I am advertising this plugin as much as I can so you can get the attention you deserve for your excellent plugins (all of which I have).
@liversnaprocks
There currently isn't anything implemented for that and currently I am busy making 2 or 3 other plugins. When I have more free time (probably over the summer) I'll probably implement that. Thanks for the suggestions
If I am planning on implementing the lockpicking part of this plugin but I want the lockpick item to be removed on fail what would I do?
@liversnaprocks
First of all the point of the damage is to prevent players from spamming it to pickpocket someone or lockpick something. Second the chance is a 1 in _ chance not out of 100. That means that if you have it set to 50 you have a 1 in 50 chance of pickpocketting someone or lockpicking something. I will think about doing the cool down thing though. Thanks for the input and I'm glad you like the plugin.
Hey overall I love the plugin it is great on my rpg server I am just wondering if I can set a cooldown for pickpocketing. I have set pickpocket damage to 0 and want it to stay that way but some players think it is funny to spam style right click on players to rob them very rapidly. I know I might have to change the damage but that would be nice. I am also wondering what how the chance value in the config.yml will convert the numbers. It is currently set to 50 (I assumed out of 100%) but I did a trial and out of 20 times I pickpocketed not one time did it pickpocket, how does the chance work? Otherwise great plugin(s) I really hope to see you making more plugings like this! :[]
@datwerd86
I probably won't do that because I'm not a big fan of putting dependencies on my plugins with the exception of vault for economies.
1 thing id like to see on the to do list
residence and worldguard flags for no lockpick/pickpocket in regions
@jigga_jones
Whoops I accidentally put the wrong plugin.yml in the file that I submitted.
love the idea of this plugin but i got this error when i ran it ?
2012-04-23 23:37:17 [SEVERE] Could not load 'plugins\BlotheraThief.jar' in folder 'plugins' org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:203) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:134) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:320) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:290) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:188) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:475) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: mapping values are not allowed here in "<reader>", line 117, column 30: BlotheraBlocks.OtherItems: ^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:733) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:305) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179) at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:563) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) at org.yaml.snakeyaml.Yaml.load(Yaml.java:411) at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:42) at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:198) ... 7 more