Plugin category: Admin Tool Suggested name: Chest Look-Up What I want: To be-able to type a command and open a players chest. When a player places a Chest down it will add it to the chestid.yml Chestid.yml or better a SQLite Database Code: chestid.yml player: testbuddy: chestid: 40 loc: {x: -581.0, y: 64.0, z: -582.0} type: Single # is a SingleChest status: inactive # user has not place item into chest display: 0 # 0 = False loreitemcheck: no chestid: 42 loc: {x: 583.0, y: 64.0, z: 585.0} type: Double # is a DoubleChest status: active # user has place item into chest display: 1 # 1 = True loreitemcheck: yes chestid: 43 loc: {x: 587.0, y: 64.0, z: 588.0} type: Double # is a DoubleChest status: active # user has place item into chest display: 1 # 1 = True loreitemcheck: no Config.yml Code: config.yml # Configuration Version configVer: "0.1" defaults: #Check For Lore Items loreitemcheck: true #Hide empty chest from Chest Lookup hideempty: true #Disable chest look up for op (does not log chest ops place down) #[WARNING] setting this to false may impact performance on your server disableop: true #Disable chest look up for creative players (does not log chest creative players place down) #[WARNING] setting this to false may impact performance on your server disablecp: true #Chest item Check (Active) # Pleace # to remove from check #Example: #- "1" #Stone ChestLookup: - "1" #Stone - "2" #Grass - "3" #Dirt - "4" #Cobblestone - "5" #Wooden Plank (Oak) - "5:1" #Wooden Plank (Spruce) - "5:2" #Wooden Plank (Birch) - "5:3" #Wooden Plank (Jungle) - "6" #Sapling (Oak) - "6:1" #Sapling (Spruce) - "6:2" #Sapling (Birch) - "6:3" #Sapling (Jungle) - "7" #Bedrock # - "8" #Water # - "9" #Water (No Spread) # - "10" #Lava # - "11" #Lava (No Spread) - "12" #Sand - "13" #Gravel - "14" #Gold Ore - "15" #Iron Ore - "16" #Coal Ore - "17" #Wood (Oak) - "17:1" #Wood (Spruce) - "17:2" #Wood (Birch) - "17:3" #Wood (Jungle) - "18" #Leaves (Oak) - "18:" # Leaves (Spruce) - "18:2" #Leaves (Birch) - "18:3" #Leaves (Jungle) - "19" #Sponge - "20" #Glass - "21" #Lapis Lazuli Ore - "22" #Lapis Lazuli Block - "23" #Dispenser - "24" #Sandstone - "24:1" #Sandstone (Chiseled) - "24:2" #Sandstone (Smooth) - "25" #Note Block - "26" #Bed (Block) - "27" #Powered Rail - "28" #Detector Rail - "29" #Sticky Piston - "30" #Web - "31" #Tall Grass (Dead Shrub) - "31:1" #Tall Grass - "31:2" #Tall Grass (Fern) - "32" #Dead Shrub - "33" #Piston # - "34" #Piston (Head) - "35" #Wool - "35:1" #Orange Wool - "35:2" #Magenta Wool - "35:3" #Light Blue Wool - "35:4" #Yellow Wool - "35:5" #Lime Wool - "35:6" #Pink Wool - "35:7" #Gray Wool - "35:8" #Light Gray Wool - "35:9" #Cyan Wool - "35:10" #Purple Wool - "35:11" #Blue Wool - "35:12" #Brown Wool - "35:13" #Green Wool - "35:14" #Red Wool - "35:15" #Black Wool # - "36" #Piston (Moving) - "37" #Dandelion - "38" #Rose - "39" #Brown Mushroom - "40" #Red Mushroom - "41" #Block of Gold - "42" #Block of Iron - "43" #Stone Slab (Double) - "43:1" #Sandstone Slab (Double) - "43:2" #Wooden Slab (Double) - "43:3" #Cobblestone Slab (Double) - "43:4" #Brick Slab (Double) - "43:5" #Stone Brick Slab (Double) - "43:6" #Nether Brick Slab (Double) # - "43:7" #Quartz Slab (Double) - "44" #Stone Slab - "44:1" #Sandstone Slab - "44:2" #Wooden Slab - "44:3" #Cobblestone Slab - "44:4" #Brick Slab - "44:5" #Stone Brick Slab - "44:6" #Nether Brick Slab # - "44:7" #Quartz Slab - "45" #Brick - "46" #TNT - "47" #Bookcase - "48" #Moss Stone - "49" #Obsidian - "50" #Torch - "51" #Fire # - "52" #Mob Spawner - "53" #Wooden Stairs (Oak) - "54" #Chest - "55" #Redstone Wire - "56" #Diamond Ore - "57" #Block of Diamond - "58" #Workbench # - "59" #Wheat (Crop) - "60" #Farmland - "61" #Furnace # - "62" #Furnace (Smelting) # - "63" #Sign (Block) # - "64" #Wood Door (Block) - "65" #Ladder - "66" #Rail - "67" #Cobblestone Stairs # - "68" #Sign (Wall Block) - "69" #Lever - "70" #Stone Pressure Plate # - "71" #Iron Door (Block) - "72" #Wooden Pressure Plate - "73" #Redstone Ore # - "74" #Redstone Ore (Glowing) # - "75" #Redstone Torch (Off) - "76" #Redstone Torch - "77" #Button (Stone) - "78" #Snow - "79" #Ice - "80" #Snow Block - "81" #Cactus - "82" #Clay Block - "83" #Sugar Cane (Block) - "84" #Jukebox - "85" #Fence - "86" #Pumpkin - "87" #Netherrack - "88" #Soul Sand - "89" #Glowstone # - "90" #Portal - "91" #Jack -O -Lantern - "92" #Cake (Block) - "93" #Redstone Repeater (Block Off) # - "94" #Redstone Repeater (Block On) # - "95" #Locked Chest - "96" #Trapdoor # - "97" #Silverfish Stone # - "97:1" #Silverfish Cobblestone # - "97:2" #Silverfish Stone Brick - "98" #Stone Bricks - "98:1" #Mossy Stone Bricks - "98:2" #Cracked Stone Bricks - "98:3" #Chiseled Stone Brick - "99" #Brown Mushroom (Block) - "100" #Red Mushroom (Block) - "101" #Iron Bars - "102" #Glass Pane - "103" #Melon (Block) - "104" #Pumpkin Vine - "105" #Melon Vine - "106" #Vines - "107" #Fence Gate - "108" #Brick Stairs - "109" #Stone Brick Stairs - "110" #Mycelium - "111" #Lily Pad - "112" #Nether Brick - "113" #Nether Brick Fence - "114" #Nether Brick Stairs - "115" #Nether Wart - "116" #Enchantment Table - "117" #Brewing Stand (Block) # - "118" #Cauldron (Block) # - "119" #End Portal - "120" #End Portal Frame - "121" #End Stone - "122" #Dragon Egg - "123" #Redstone Lamp # - "124" #Redstone Lamp (On) - "125" #Oak -Wood Slab (Double) - "125:1" #Spruce -Wood Slab (Double) - "125:2" #Birch -Wood Slab (Double) - "125:3" #Jungle -Wood Slab (Double) - "126" #Oak -Wood Slab - "126:1" #Spruce -Wood Slab - "126:2" #Birch -Wood Slab - "126:3" #Jungle -Wood Slab - "127" #Coca Plant - "128" #Sandstone Stairs - "129" #Emerald Ore - "130" #Ender Chest - "131" #Tripwire Hook - "132" #Tripwire - "133" #Block of Emerald - "134" #Wooden Stairs (Spruce) - "135" #Wooden Stairs (Birch) - "136" #Wooden Stairs (Jungle) # - "137" #Command Block # - "138" #Beacon - "139" #Cobblestone Wall - "139:1" #Mossy Cobblestone Wall - "140" #Flower Pot (Block) - "141" #Carrot (Crop) - "142" #Potatoes (Crop) - "143" #Button (Wood) - "144" #Head Block (Skeleton) - "144:1" #Head Block (Wither) - "144:2" #Head Block (Zombie) - "144:3" #Head Block (Steve) - "144:4" #Head Block (Creeper) - "145" #Anvil - "146" #Trapped Chest # - "147" #Weighted Pressure Plate (Light) # - "148" #Weighted Pressure Plate (Heavy) # - "149" #Redstone Comparator (Off) # - "150" #Redstone Comparator (On) # - "151" #Daylight Sensor # - "152" #Block of Redstone # - "153" #Nether Quartz Ore # - "154" #Hopper # - "155" #Quartz Block # - "155:1" #Chiseled Quartz Block # - "155:2" #Pillar Quartz Block # - "156" #Quartz Stairs # - "157" #Activator Rail # - "158" #Dropper - "256" #Iron Shovel - "257" #Iron Pickaxe - "258" #Iron Axe - "259" #Flint and Steel - "260" #Apple - "261" #Bow - "262" #Arrow - "263" #Coal - "263:1" #Charcoal - "264" #Diamond Gem - "265" #Iron Ingot - "266" #Gold Ingot - "267" #Iron Sword - "268" #Wooden Sword - "269" #Wooden Shovel - "270" #Wooden Pickaxe - "271" #Wooden Axe - "272" #Stone Sword - "273" #Stone Shovel - "274" #Stone Pickaxe - "275" #Stone Axe - "276" #Diamond Sword - "277" #Diamond Shovel - "278" #Diamond Pickaxe - "279" #Diamond Axe - "280" #Stick - "281" #Bowl - "282" #Mushroom Stew - "283" #Gold Sword - "284" #Gold Shovel - "285" #Gold Pickaxe - "286" #Gold Axe - "287" #String - "288" #Feather - "289" #Gunpowder - "290" #Wooden Hoe - "291" #Stone Hoe - "292" #Iron Hoe - "293" #Diamond Hoe - "294" #Gold Hoe - "295" #Wheat Seeds - "296" #Wheat - "297" #Bread - "298" #Leather Helmet - "299" #Leather Chestplate - "300" #Leather Leggings - "301" #Leather Boots - "302" #Chainmail Helmet - "303" #Chainmail Chestplate - "304" #Chainmail Leggings - "305" #Chainmail Boots - "306" #Iron Helmet - "307" #Iron Chestplate - "308" #Iron Leggings - "309" #Iron Boots - "310" #Diamond Helmet - "311" #Diamond Chestplate - "312" #Diamond Leggings - "313" #Diamond Boots - "314" #Gold Helmet - "315" #Gold Chestplate - "316" #Gold Leggings - "317" #Gold Boots - "318" #Flint - "319" #Raw Porkchop - "320" #Cooked Porkchop - "321" #Painting - "322" #Golden Apple - "322:1" #Enchanted Golden Apple - "323" #Sign - "324" #Wooden Door - "325" #Bucket - "326" #Bucket (Water) - "327" #Bucket (Lava) - "328" #Minecart - "329" #Saddle - "330" #Iron Door - "331" #Redstone Dust - "332" #Snowball - "333" #Boat - "334" #Leather - "335" #Bucket (Milk) - "336" #Clay Brick - "337" #Clay - "338" #Sugar Cane - "339" #Paper - "340" #Book - "341" #Slime Ball - "342" #Storage Minecart - "343" #Powered Minecart - "344" #Egg - "345" #Compass - "346" #Fishing Rod - "347" #Clock - "348" #Glowstone Dust - "349" #Raw Fish - "350" #Cooked Fish - "351" #Ink Sack - "351:1" #Rose Red Dye - "351:2" #Cactus Green Dye - "351:3" #Coca Bean - "351:4" #Lapis Lazuli - "351:5" #Purple Dye - "351:6" #Cyan Dye - "351:7" #Light Gray Dye - "351:8" #Gray Dye - "351:9" #Pink Dye - "351:10" #Lime Dye - "351:11" #Dandelion Yellow Dye - "351:12" #Light Blue Dye - "351:13" #Magenta Dye - "351:14" #Orange Dye - "351:15" #Bone Meal - "352" #Bone - "353" #Sugar - "354" #Cake - "355" #Bed - "356" #Redstone Repeater - "357" #Cookie - "358" #Map - "359" #Shears - "360" #Melon (Slice) - "361" #Pumpkin Seeds - "362" #Melon Seeds - "363" #Raw Beef - "364" #Steak - "365" #Raw Chicken - "366" #Cooked Chicken - "367" #Rotten Flesh - "368" #Ender Pearl - "369" #Blaze Rod - "370" #Ghast Tear - "371" #Gold Nugget - "372" #Nether Wart Seeds - "373" #Water Bottle - "373:16" #Awkward Potion - "373:32" #Thick Potion - "373:64" #Mundane Potion - "373:8193" #Regeneration Potion (0:45) - "373:8194" #Swiftness Potion (3:00) - "373:8195" #Fire Resistance Potion (3:00) - "373:8196" #Poison Potion (0:45) - "373:8197" #Healing Potion - "373:8198" #Night Vision Potion (3:00) - "373:8200" #Weakness Potion (1:30) - "373:8201" #Strength Potion (3:00) - "373:8202" #Slowness Potion (1:30) - "373:8204" #Harming Potion - "373:8206" #Invisibility Potion (3:00) - "373:8225" #Regeneration Potion II (0:22) - "373:8226" #Swiftness Potion II (1:30) - "373:8228" #Poison Potion II (0:22) - "373:8229" #Healing Potion II - "373:8233" #Strength Potion II (1:30) - "373:8236" #Harming Potion II - "373:8257" #Regeneration Potion (2:00) - "373:8258" #Swiftness Potion (8:00) - "373:8259" #Fire Resistance Potion (8:00) - "373:8260" #Poison Potion (2:00) - "373:8262" #Night Vision Potion (8:00) - "373:8264" #Weakness Potion (4:00) - "373:8265" #Strength Potion (8:00) - "373:8266" #Slowness Potion (4:00) - "373:8270" #Invisibility Potion (8:00) - "373:16385" #Regeneration Splash (0:33) - "373:16386" #Swiftness Splash (2:15) - "373:16387" #Fire Resistance Splash (2:15) - "373:16388" #Poison Splash (0:33) - "373:16389" #Healing Splash - "373:16390" #Night Vision Splash (2:15) - "373:16392" #Weakness Splash (1:07) - "373:16393" #Strength Splash (2:15) - "373:16394" #Slowness Splash (1:07) - "373:16396" #Harming Splash - "373:16398" #Invisibility Splash (2:15) - "373:16417" #Regeneration Splash II (0:16) - "373:16418" #Swiftness Splash II (1:07) - "373:16420" #Poison Splash II (0:16) - "373:16421" #Healing Splash II - "373:16425" #Strength Splash II (1:07) - "373:16428" #Harming Splash II - "373:16449" #Regeneration Splash (1:30) - "373:16450" #Swiftness Splash (6:00) - "373:16451" #Fire Resistance Splash (6:00) - "373:16452" #Poison Splash (1:30) - "373:16454" #Night Vision Splash (6:00) - "373:16456" #Weakness Splash (3:00) - "373:16457" #Strength Splash (6:00) - "373:16458" #Slowness Splash (3:00) - "373:16462" #Invisibility Splash (6:00) - "374" #Glass Bottle - "375" #Spider Eye - "376" #Fermented Spider Eye - "377" #Blaze Powder - "378" #Magma Cream - "379" #Brewing Stand - "380" #Cauldron - "381" #Eye of Ender - "382" #Glistering Melon (Slice) - "383:50" #Spawn Egg (Creeper) - "383:51" #Spawn Egg (Skeleton) - "383:52" #Spawn Egg (Spider) - "383:54" #Spawn Egg (Zombie) - "383:55" #Spawn Egg (Slime) - "383:56" #Spawn Egg (Ghast) - "383:57" #Spawn Egg (Zombie Pigmen) - "383:58" #Spawn Egg (Endermen) - "383:59" #Spawn Egg (Cave Spider) - "383:60" #Spawn Egg (Silverfish) - "383:61" #Spawn Egg (Blaze) - "383:62" #Spawn Egg (Magma Cube) - "383:65" #Spawn Egg (Bat) - "383:66" #Spawn Egg (Witch) - "383:90" #Spawn Egg (Pig) - "383:91" #Spawn Egg (Sheep) - "383:92" #Spawn Egg (Cow) - "383:93" #Spawn Egg (Chicken) - "383:94" #Spawn Egg (Squid) - "383:95" #Spawn Egg (Wolf) - "383:96" #Spawn Egg (Mooshroom) - "383:98" #Spawn Egg (Ocelot) - "383:120" #Spawn Egg (Villager) - "384" #Bottle of Enchanting - "385" #Fire Charge - "386" #Book and Quill - "387" #Written Book - "388" #Emerald - "389" #Item Frame - "390" #Flower Pot - "391" #Carrot - "392" #Potato - "393" #Baked Potato - "394" #Poisonous Potato - "395" #Empty Map - "396" #Golden Carrot - "397" #Head (Skeleton) - "397:1" #Head (Wither) - "397:2" #Head (Zombie) - "397:3" #Head (Steve) - "397:4" #Head (Creeper) - "398" #Carrot on a Stick - "399" #Nether Star - "400" #Pumpkin Pie - "401" #Firework Rocket - "402" #Firework Star - "403" #Enchanted Book # - "404" #Redstone Comparator # - "405" #Nether Brick (Item) # - "406" #Nether Quartz # - "407" #TNT Minecart # - "408" #Hopper Minecart - "2256" #Music Disk (13) - "2257" #Music Disk (Cat) - "2258" #Music Disk (Blocks) - "2259" #Music Disk (Chirp) - "2260" #Music Disk (Far) - "2261" #Music Disk (Mall) - "2262" #Music Disk (Mellohi) - "2263" #Music Disk (Stal) - "2264" #Music Disk (Strad) - "2265" #Music Disk (Ward) - "2266" #Music Disk (11) - "2267" #Music Disk (Wait) ################################## #Add Lore items into Chest Look Up #command: /clul add &6Teleport Bow #Colors: # &7 = Trash # &f = Common # &a = Uncommon # &9 = Rare # &5 = Epic # &6 = Legendary ################################## Chestlookuploreitems: lorename: -"&6Godly Sword" # Display name -"&5Teleport Bow" #Flag Chest #Checks ID then amount if amount is exceeded Flag chest Blacklist: - "264" amount: 100 Notes: This plugin would be (classed) for newly opening servers but not restricted to that as someone said they had over (400+) chest alone in there starting area. Once installed chestlookup.jar would only register newly place chest from users and not pre-existing ones because there would be no info on them. On top of that there are generated chest with in worlds as-well with no owner for some server. chestlookup.jar would only look for 1.player placing a chest down. 2.log the chest that is place down as inactive 3.only flag chest as active if a item from the owner places a item into chest. Q:What if i wanted all my pre-exiting chest added? A:Not every plugin is prefect to do this i would suggest breaking the chest, and replacing it down with your desired items in it. Take note this is optional and not required. Q:Why would i want this plugin? A:The Idea for this plugin is for admins to have little more control over players chest contents. Like other plugins out there nocheatplus, antixray , invmaster and ect there is no prefect plugin to complety stop people from cheating or stealing from others and this plugin would be no exception but it would help find items that where taken or if someone is using x-ray and loads there chest with tons of diamond. This cuts out the time and effect to go search for someones chest open them or break them looking for whatever to find out if someone did use x-ray or toke something from someone or find out your mods have been giving godly items to players. Typing a command as easy as /clu MrSneaky and it listing the ids for that persons chests Then typeing /clu MrSneaky 45 to open that chest right where you stand not having to go look for it just to look at the contents of the chest or when typing /clu MrSneaky the Ids display and you see the ID has been flagged with items that over exceed the item that you blacklisted in the config. break down: #name of the player testbuddy: #chestid is the id of the chest that is placed down by the user chestid: #location of the chest loc: {x: 587.0, y: 64.0, z: 588.0} #The type the chest is Single or Double type: Double # is a DoubleChest #Has a player placed a item into Chest inactive (no), active (yes) status: active # user has place item into chest #Will this chest be displayed when the command /clu <name> is used 1=(yes) 0=(no) #This will default as 0 intell a player puts an item into chest making active display: 1 # 1 = True #loreitemcheck states (yes) or (no), (yes meaning yes a lore item is in chest), #(no meaning no lore item is in chest) by default this will be 0 intell a player place a lore item #into chest, it will check with the config to see if that item is been added to the list if not #loreitemcheck will state no. lore items must be added to the list if you wish for this flag to #work. loreitemcheck: no Ideas for .DB to replace chestid.yml if needed: database.db (i personally don't know how this would be implemented but i think the dev would but still wanted to add it as an option) Ideas for .yml: config.yml chestid.yml Ideas for commands: /clu (Name) TestBuddy Chest id's 40: empty (hide from list change in config) 42:Flaged,loreitem (Flaged: chest has items that has exceeded the allowed amount.) (loreitem: letting you know there is a lore item in chest) /clu (Name) (ID) (lets you Views and edit player chest, online and offline) /clul add (Color+LoreName) (add's lore item to the config) Ideas for permissions: #for admins -chestlookup.* #for admins or mods - chestlookup.command # for groups you dont want logged for place a chest down or a trusted player -chestlookup.bypass.chest #when placing a chest in a region with the name <regionname> it will not add it to chestid.yml for worldguard -chestlookup.byass.<regionname> When I'd like it by: Soon if you could but don't wish to rush you, Thank you.
Great idea. Could be very useful. You didnt mention wut would be in the config.yml. I wish I could help but I have enough projects already.
Hey thanks glad you like it. The Config.yml was Optional idea just put it there if someone did make it i don't know what they would add in there the idea is kind of easy this is for admins only i was aiming at. (Just updated it to say Optional)
Can someone make this plug in really cool idea and I think a lot of us would like to have something like this
Just a thought, players will most likely place decoy chests... an advanced feature would be to order the chest list by the worth of it's contents.
I was thinking of something much more complicated. Have a config that includes all items and their base worth. Calculate the overall items worth based on any enchantments it may have. If that seems too complicated you could just have a default worth and manually set certain items such as diamonds. Just some ideas.
I know essentials has /invsee and /endchest but they don't have just normal chests. Maybe send the suggestion to them to add the feature?
thanks for the suggestion but i don't use essentials plug i think trying to add this kind of suggestion to them would get looked away at. I added more thought sadly i dont know how i go about with enchants and ect but i have updated and added more
This is a pretty detailed (and useful!) request. If someone wants to start this, I'd be glad to assist.
i know some plugins have problems IDing items due to the Colon Code: - "373:8262" #Night Vision Potion (8:00) i thought maybe in casing the id in a double quote would maybe fix that but now im having thought of maybe to try and safeguard it even more like. Code: - "373@8262" Replacing the Colon with the Ampersat (aka) AT symbol i know it's due-able and would love some feedback on a dev who has maybe used this method to confirm it is better or not. p.s. this plugin is not being made by anyone atm that i know of but i want to try and update it and cover all my area's so im not leaving out anything that maybe important if the plugin is made =)
The other colon is within a comment so it wouldn't be loaded anyway. Unless you are trying to parse it yourself.
That or just don't save the data that often. If it is not any sort of flat file then you wouldn't need comments anyway.
the list shows - "373:8262" #Night Vision Potion (8:00) but #Night Vision Potion (8:00) is just showing the name of it in the end its only - "373:8262" anything with an # just disreguard This is true it may need this but not many plugins started off with a MySQL database they take time to integrate so starting small and improving it would be the kick off then with time like any other plugin you add more to it. i have added a few more things to the list #Disable chest look up for op (does not log chest ops place down) #[WARNING] setting this to false may impact performance on your server disableop: true #Disable chest look up for creative players (does not log chest creative players place down) #[WARNING] setting this to false may impact performance on your server disablecp: true For permissions i changed it some #for admins -chestlookup.* #for admins or mods - chestlookup.command # for groups you don't want logged for place a chest down or a trusted player -chestlookup.bypass.chest EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Saving all chest contents to MySQL for every chest is the best way, iterating in MySQL is easy-ish, and doesn't require looping through every chest looking for one item while loaded in flatfile. Best of luck, noraver, great idea.
Thank you Husky Yes MySQL would be nice maybe at some point i also thought of a database.db same way coreprotect, LWC, PreciousStones, QuickShop, ServerBounty and more all log info into a database.db i think saving all chest content to a mysql maybe little over i think all that info maybe access from the Level.dat or a players .dat file in the world folder sadly im a noob and don't know how to make a plugin but i will try my best to get as much info as i can to hoply get this plugin made =) added few things like some notes,breakdown and some other info that maybe helpful to whoever is looking at this. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
maybe or maybe not lol..after hours of trying and failing hard hehe i even got errors on this so ya lol maybe it can be a start. it was a try cant blame me Code: public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!this.plugin.isWorking) { sender.sendMessage("text"); return true; } if (args.length == 0) return false; try { if (args[0].equals("help")) { sender.sendMessage(ChatColor.AQUA + "Chest Look-Up help:"); sender.sendMessage(label + " clu <playerName>"); sender.sendMessage(label + " clu <playerName> <chestID>"); return true; } int[] uses; long[] times; int i; if ((args[0].equals("Clu")) && (args.length >= 2)) { String pName = args[1].toLowerCase(); int playerId = -1; int pSize = this.plugin.players.size(); for (int player = 0; player < pSize; player++) { if (((String)this.plugin.players.get(player)).toLowerCase().startsWith(pName)) { playerId = player; pName = (String)this.plugin.players.get(player); break; } } if (playerId == -1) { sender.sendMessage(ChatColor.RED + "Player '" + args[1] + "' was not found."); return true; } } if ((args[0].equals("cluid")) && (args.length >= 2)) { if (!(sender instanceof Player)) { sender.sendMessage(ChatColor.RED + "text"); return true; } ChestLocation chestToOpen = (ChestLocation)this.plugin.chests.get(Integer.parseInt(args[1], 36)); World world = Bukkit.getWorld((String)this.plugin.worlds.get(chestToOpen.worldID)); if (world == null) { sender.sendMessage(ChatColor.RED + "text"); return true; } BlockState blockState = block.getState(); if (blockState == null) { sender.sendMessage(ChatColor.RED + "text"); return true; } Block block = world.getBlockAt(chestToOpen.x, chestToOpen.y, chestToOpen.z); if (block == null) { sender.sendMessage(ChatColor.RED + "text"); return true; } Player player = (Player)sender; InventoryHolder chest = (InventoryHolder)blockState; player.openInventory(chest.getInventory()); return true; } if (!(blockState instanceof InventoryHolder)) { sender.sendMessage(ChatColor.RED + "text"); return true; } }