ItemFinder
What is it?
ItemFinder is a plugin which basically allows you to scan through all chests, furnaces, hoppers, and other stuff wich can hold items in your world and see if someone contains a specified item. This is really useful if, for example, you had a bad admin who, before getting banned, has hidden some precious stuff in some chests all around the world, and you don't know where.
How to use
- when you first install the plugin, before starting to search for an item, you have to index all inventory holders in all worlds. To do so, you have to type the command
/itemfinder index
and then typeY
. Indexing all those chest will take a while (depending on world size, it could also take several minutes); - once indexing is done, you can start searching for your items! Simply type
/itemfinder search <item...>
, replacing<item...>
with the IDs or the names of the items you want to find. For example, if you want to find all inventory holders containing iron and diamond sworlds, you would have to type/itemfinder search iron_sword diamond_sword
. Remember that if you want to search something again, you don't need to re-execute the/itemfinder index
command!; - teleport to the locations found and evaluate what to do. If you have ProtocolLib installed, you can teleport to one of them by simply opening the chat and clicking on the desired location.
The plugin has an updater, which basically allows it to update itself when I publish a new version. You can disable it in the config, setting the key autoUpdate
to false
.
Commands
/itemfinder index
: indexes all inventory holders in all worlds;/itemfinder cancel-indexing
: cancels inventory holder indexing;/itemfinder search
: searches for an item in all indexed inventory holders.
Dependencies
To work, this plugin needs to have PowerNBT installed. Additionally, you can also install ProtocolLib if you want to have the additional teleporting utility discussed before.
Permissions
itemfinder.*
: allows the player to use all the ItemFinder commands;itemfinder.itemfinder.*
: allows the player to use all the/itemfinder
commands;itemfinder.itemfinder.index
: allows the player to use the/itemfinder index
command;itemfinder.itemfinder.cancelindexing
: allows the player to use the/itemfinder cancel-indexing
command;itemfinder.itemfinder.seach
: allows the player to use the/itemfinder search
command.
Todo
disable the player to search for an item before inventory holders have been indexed;read region files directly to get all inventory holders;put the indexing code on a separate thread to reduce server lag;- add support for data search;
- make the plugin also scan through all entities, especially minecarfts with furnaces or chests;
- make the plugin also scan through all player inventories;
- make the indexing work with multithreading;
- add the ability to index and search for enchantmets etc..
If you have any suggestions or have found a bug, please tell me!
When are you back from holidays?
@imamo
11 worlds, where one of them is a subterranean with giant caves. Skylands is also available but not activated. Cpu ressources? - only 15 to 25% in use at normal activity.
110 dowloads! Wow! I'm really happy to see so much interest in my plugin!
@fungreenfox
Lol! It looks like you have a really huuuge world :P I'll see if I can do something as son as I'm back from my holiday :)
@Jleeevinnn
You're right! I'll gonna do that as soon as I'm back from my holiday :)
@fungreenfox
I'm on holiday right now. Gonna fix that asap :)
Been looking for this for so long!!!
We need a way to find "bad" items, maybe a search option to find everything enchanted OP (protection 5+), etc.
Program was schedulet to be uninstalled and not doing anything.
http://dev.bukkit.org/paste/9028/
Lol for me, its gonna take 5.3 days to index my worlds. I hope this is just proximately.
Beside, there is no lag, and i can hardly see its using more than 1% more cpu than normally.
Any way to speed this up for an Octa Core CPU?
Confirmed, I am unable to login for 5.3 days, NO WAY. After an hour of waiting, it had reached 1% done.
There is also missing a command for stopping the indexing.