Mods / Lost and Found

Tags: #Other #Utility
Author: Centur1on
Side: Server
Created: Nov 2nd at 9:57 AM
Last modified: 5 days ago
Downloads: 1090
Follow Unfollow 120

Latest release (for Vintage Story 1.21.5, potentially outdated):
lostandfound_1.1.0.zip  1-click install


Lost and Found adds a new feature to the game - all items dropped on the ground no longer just despawn, upon despawning they get added to a global pool of items that can be panned out by players or dug up during terraforming!

That means, that item lost by one player can be found by other players.
Someone can find someone's old equipment and use it, or even get a written parchment or a book and read it!


There is a toggle between global and local modes of Lost and Found mod working.
When global mode is used, lost items can be found anywhere in the world.
When local mode is used, lost items can only be found in certain amount of chunks around the place they were lost in.
Check the mod config for more information (see the spoiler below).

Mod Config

Mod Config is server-side.
Config file is created when player creates a world and enters it with mod LostAndFound on.
Mod Config can be found at %appdata%/VintagestoryData/ModConfig/LostAndFound.json

Default contents of LostAndFound.json (for manual creation of config file or restoring original values):
{
 "useNearbyChunksOnPanning": false,
 "radiusNearbyChunksOnPanning": 8,
 "useNearbyChunksOnBreaking": true,
 "radiusNearbyChunksOnBreaking": 8,
 "chanceOfDropOnPanning": 0.05,
 "chanceOfDropOnBreaking": 0.005,
 "allowVanillaDropOnPanning": true,
 "allowLostItemDropOnPanning": true,
 "allowLostItemDropOnBreaking": true,
 "blacklistLostItems": [
  "game:soil-verylow-none" // Example, look below for a table of blacklist items/blocks that you might want to add
 ],
 "whitelistBlocksToBreakForLostItems": [
  "game:soil-verylow-none" // Example, look below for a table of whitelist blocks that you might want to add
 ],
 "allowBlacklistLostItemToBeFound": true,
 "maxStackSizeToDrop": 1,
 "allowItemsWithPerishTimeToBeAddedToItemPoolAndToBeFound": false,
 "deleteBlacklistedItemsFromSaveFile": false
}

Comments:
useNearbyChunksOnPanning - use local or global mode on panning. If true, players can only pan out lost items in radiusNearbyChunksOnPanning around the chunk they are currently in.
radiusNearbyChunksOnPanning - amount of chunks from the chunk the player is currently in. It is used when local mode on panning is on.
useNearbyChunksOnBreaking - use local or global mode on block breaking. If true, players can only find lost items via block breaking in radiusNearbyChunksOnBreaking around the chunk they are currently in.
radiusNearbyChunksOnBreaking - amount of chunks from the chunk the player is currently in. It is used when local mode on block breaking is on.
chanceOfDropOnPanning - chance of a lost item drop on panning.
chanceOfDropOnBreaking - chance of a lost item drop on block breaking.
allowVanillaDropOnPanning - allow the game to drop it's own item as well as the lost item. If true, if a lost item was found by a player, there is an ingame chance that an item from the game's pool will also spawn in as in vanilla.
allowLostItemDropOnPanning - allow drop of the lost item on panning. If you don't want lost items to drop on panning, set to false. If false, vanilla code will not be affected by allowVanillaDropOnPanning.
allowLostItemDropOnBreaking - allow drop of the lost item on block breaking. If you don't want lost items to drop on block breaking, set to false.
blacklistLostItems - an array of items' code domain:path. Items that are present here will not be added to the global hidden pool of items but can still be found by players if they were in the save file before you added them to the blacklistLostItems.
whitelistBlocksToBreakForLostItems - an array of blocks' code domain:path. Blocks that are present here will be used for the block breaking to work.
allowBlacklistLostItemToBeFound - allow getting of the lost item without checking if it's blacklisted. If set to false, it will not drop this item. Also if there were lost items saved in the save file, and then you add them to blacklist and set this parameter to false, saved lost items will not be deleted from file (not in the case of deleteBlacklistedItemsFromSaveFile being true). Could be useful if you want to allow getting of a certain saved item after some time, like allow drop of copper tools in copper age and so on.
maxStackSizeToDrop - maximum stack size of lost item dropped. Chances of dropping certain amount are equal to 1/maxStackSizeToDrop.
allowItemsWithPerishTimeToBeAddedToItemPoolAndToBeFound - allow perishable items to be added to the item pool and to be found. If set to false, perishable items that are already present in the save file, will not be deleted from save file (not in the case of deleteBlacklistedItemsFromSaveFile being true).
deleteBlacklistedItemsFromSaveFile - allow deletion of all the blacklisted items from the save file when the next world save happens (or /autosavenow called). If allowItemsWithPerishTimeToBeAddedToItemPoolAndToBeFound is set to false, perishable items will also be deleted from save file.

Here are the codes for items/blocks that you might want to insert in blacklistLostItems.

Blacklist Items

This list contains codes for: chiseled blocks, stick, soil, sand, gravel, stone, fruits, mushrooms.
NOTE: As of update v1.1.0 you can use wildcards (*) to add all the items of the type to the list, for example, if you want to add all the codes for soil, simply add: "game:soil-*" instead of all the possible codes.

"game:chiseledblock",

"game:stick",

"game:soil-verylow-none",
"game:soil-low-none",
"game:soil-medium-none",
"game:soil-compost-none",
"game:soil-verylow-verysparse",
"game:soil-low-verysparse",
"game:soil-medium-verysparse",
"game:soil-compost-verysparse",
"game:soil-verylow-sparse",
"game:soil-low-verysparse",
"game:soil-medium-verysparse",
"game:soil-compost-verysparse",
"game:soil-verylow-normal",
"game:soil-low-normal",
"game:soil-medium-normal",
"game:soil-compost-normal",

"game:sand-andesite",
"game:sand-chalk",
"game:sand-chert",
"game:sand-conglomerate",
"game:sand-limestone",
"game:sand-claystone",
"game:sand-granite",
"game:sand-sandstone",
"game:sand-shale",
"game:sand-basalt",
"game:sand-peridotite",
"game:sand-phyllite",
"game:sand-slate",
"game:sand-bauxite",

"game:sandwavy-andesite",
"game:sandwavy-chalk",
"game:sandwavy-chert",
"game:sandwavy-conglomerate",
"game:sandwavy-limestone",
"game:sandwavy-claystone",
"game:sandwavy-granite",
"game:sandwavy-sandstone",
"game:sandwavy-shale",
"game:sandwavy-basalt",
"game:sandwavy-peridotite",
"game:sandwavy-phyllite",
"game:sandwavy-slate",
"game:sandwavy-bauxite",

"game:gravel-andesite",
"game:gravel-chalk",
"game:gravel-chert",
"game:gravel-conglomerate",
"game:gravel-limestone",
"game:gravel-claystone",
"game:gravel-granite",
"game:gravel-sandstone",
"game:gravel-shale",
"game:gravel-basalt",
"game:gravel-peridotite",
"game:gravel-phyllite",
"game:gravel-slate",
"game:gravel-bauxite",

"game:stone-andesite",
"game:stone-chalk",
"game:stone-chert",
"game:stone-conglomerate",
"game:stone-limestone",
"game:stone-claystone",
"game:stone-granite",
"game:stone-sandstone",
"game:stone-shale",
"game:stone-basalt",
"game:stone-peridotite",
"game:stone-phyllite",
"game:stone-slate",
"game:stone-bauxite",
"game:stone-obsidian",
"game:stone-kimberlite",
"game:stone-scoria",
"game:stone-tuff",
"game:stone-halite",
"game:stone-suevite",
"game:stone-whitemarble",
"game:stone-redmarble",
"game:stone-greenmarble",

"game:fruit-saguaro",
"game:fruit-breadfruit",
"game:fruit-blueberry",
"game:fruit-cranberry",
"game:fruit-redcurrant",
"game:fruit-whitecurrant",
"game:fruit-blackcurrant",
"game:fruit-pineapple",
"game:fruit-redapple",
"game:fruit-pinkapple",
"game:fruit-yellowapple",
"game:fruit-cherry",
"game:fruit-peach",
"game:fruit-pear",
"game:fruit-orange",
"game:fruit-mango",
"game:fruit-lychee",
"game:fruit-pomegranate",
"game:fruit-yellowapple",

"game:mushroom-fieldmushroom-normal",
"game:mushroom-almondmushroom-normal",
"game:mushroom-beardedtooth-normal-north",
"game:mushroom-chickenofthewoods-normal-north",
"game:mushroom-dryadsaddle-normal-north",
"game:mushroom-pinkoyster-normal-north",
"game:mushroom-tinderhoof-normal-north",
"game:mushroom-whiteoyster-normal-north",
"game:mushroom-reishi-normal-north",
"game:mushroom-funeralbell-normal-north",
"game:mushroom-deerear-normal-north",
"game:mushroom-livermushroom-normal-north",
"game:mushroom-pinkbonnet-normal-north",
"game:mushroom-shiitake-normal-north",
"game:mushroom-flyagaric-normal",
"game:mushroom-bitterbolete-normal",
"game:mushroom-blacktrumpet-normal",
"game:mushroom-chanterelle-normal",
"game:mushroom-commonmorel-normal",
"game:mushroom-deathcap-normal",
"game:mushroom-devilstooth-normal",
"game:mushroom-devilbolete-normal",
"game:mushroom-earthball-normal",
"game:mushroom-elfinsaddle-normal",
"game:mushroom-golddropmilkcap-normal",
"game:mushroom-greencrackedrussula-normal",
"game:mushroom-indigomilkcap-normal",
"game:mushroom-jackolantern-normal",
"game:mushroom-kingbolete-normal",
"game:mushroom-lobster-normal",
"game:mushroom-orangeoakbolete-normal",
"game:mushroom-paddystraw-normal",
"game:mushroom-puffball-normal",
"game:mushroom-redwinecap-normal",
"game:mushroom-saffronmilkcap-normal",
"game:mushroom-violetwebcap-normal",
"game:mushroom-witchhat-normal"


Here are the codes for blocks that you might want to insert in whitelistBlocksToBreakForLostItems.

Whilelist Blocks

This list contains codes for: soil, sand, gravel.
NOTE: As of update v1.1.0 you can use wildcards (*) to add all the items of the type to the list, for example, if you want to add all the codes for soil, simply add: "game:soil-*" instead of all the possible codes.

"game:soil-verylow-none",
"game:soil-low-none",
"game:soil-medium-none",
"game:soil-compost-none",
"game:soil-verylow-verysparse",
"game:soil-low-verysparse",
"game:soil-medium-verysparse",
"game:soil-compost-verysparse",
"game:soil-verylow-sparse",
"game:soil-low-verysparse",
"game:soil-medium-verysparse",
"game:soil-compost-verysparse",
"game:soil-verylow-normal",
"game:soil-low-normal",
"game:soil-medium-normal",
"game:soil-compost-normal",

"game:sand-andesite",
"game:sand-chalk",
"game:sand-chert",
"game:sand-conglomerate",
"game:sand-limestone",
"game:sand-claystone",
"game:sand-granite",
"game:sand-sandstone",
"game:sand-shale",
"game:sand-basalt",
"game:sand-peridotite",
"game:sand-phyllite",
"game:sand-slate",
"game:sand-bauxite",

"game:sandwavy-andesite",
"game:sandwavy-chalk",
"game:sandwavy-chert",
"game:sandwavy-conglomerate",
"game:sandwavy-limestone",
"game:sandwavy-claystone",
"game:sandwavy-granite",
"game:sandwavy-sandstone",
"game:sandwavy-shale",
"game:sandwavy-basalt",
"game:sandwavy-peridotite",
"game:sandwavy-phyllite",
"game:sandwavy-slate",
"game:sandwavy-bauxite",

"game:gravel-andesite",
"game:gravel-chalk",
"game:gravel-chert",
"game:gravel-conglomerate",
"game:gravel-limestone",
"game:gravel-claystone",
"game:gravel-granite",
"game:gravel-sandstone",
"game:gravel-shale",
"game:gravel-basalt",
"game:gravel-peridotite",
"game:gravel-phyllite",
"game:gravel-slate",
"game:gravel-bauxite"

Mod Compatibility
All mods that use base game attributes should be compatible.

Thanks to VladVertov for helping test the mod.

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.1.0 lostandfound 222 5 days ago lostandfound_1.1.0.zip 1-click install

New config options added, please check Mod Config spoiler in the mod description for more info!
-Added: wildcards can now be used in the blacklist and whitelist configs.
-Added: can allow adding of perishable items to the item pool in the config. Useful if you don't want to have items that perish, like food, in the item pool.
-Added: maximum stack size of items dropped is configurable. Chance of getting different amounts is uniform and is equal to 1 divided by maximum stack size defined in mod config.
-Added: can allow lost items from blacklist to be found in the config. Useful if you want to keep the items in the save file, but disallow players to get it till they get to some milestone/age etc.
-Added: deleting of blacklisted items from save file, defined in the config.
-Added: server audits on players' getting items using this mod.

1.0.1 lostandfound 295 Nov 30th at 8:39 AM lostandfound_1.0.1.zip 1-click install

-Fixed: client-side warning log should no longer appear, as the network channel between server and client are not needed for this mod

1.0.0 lostandfound 411 Nov 2nd at 10:28 AM lostandfound_1.0.0.zip 1-click install

Initial Release
Upd: Mod is server-side only, so made its type server. Also removed assets folder as it is not needed for this mod


27 Comments (oldest first | newest first)

Tulikettu, 4 days ago

Thanks for this update. It's not exactly what I expected, but it implements over 90% of the mechanics I wanted.

Ysa, 5 days ago

This is such an awesome idea and so immersive!

EnderMelody, 5 days ago

that was fast, thanks for the update and the mod!

SiiMeR, 6 days ago

Could the white and blacklists support wildcards?

SiiMeR, Dec 8th at 1:46 PM

I have another idea that came from the players of my server. What if you could have tool modes on the pan to choose the radius you would like to pan? Maybe it could be like presets like 8 chunks radius, 16 chunks radius, and maybe 32 chunks radius.

Centur1on , Dec 8th at 4:48 AM

SiiMeR EnderMelody Thank you for your suggestions, I am working on an update that adds all these options

EnderMelody, Dec 8th at 1:35 AM

would you be able to add a config option that blocks any item with a spoil time from being added into the pool that way  i dont have to manually blacklist every single food item. it doesnt really make sense to find food way past its spoil time anyways.

SiiMeR, Dec 2nd at 7:23 PM

Would it be possible to use the blacklist to ignore items being panned if they're already in the pool ?

 

I have a problem where there is a bunch of trash already in the pool so I would have to edit the JSON in the Saves folder. It would be easier if the blacklist was also applied upon panning, not just upon despawning

 

 

SiiMeR, Dec 2nd at 1:44 PM

Is it possible for you to implement such a feature that if the local pool contains multiple of 1 item there is a random chance of receiving more than 1? The 2000 carrots aint gonna pan themselves :D 

Centur1on

osayra, Nov 30th at 9:06 PM

this is so so cool 

Guimoute, Nov 30th at 4:47 PM

Excellent idea. I just hope you have a filter in place so that only relevant items are sent to the pool, not 5000 stacks of stones and bones. 

Centur1on , Nov 30th at 8:40 AM

SiiMeR Should be fixed in v1.0.1. Glad to hear that players like it! If you notice any other issues please tell, will try my best to fix them ASAP.

SiiMeR, Nov 29th at 1:05 PM
29.11.2025 15:04:26 [Warning] Improperly configured mod. Server sends me channel name LostAndFound, but no client side mod registered it.
 
I'm seeing this warning in the client-main.log, so something might be off
SiiMeR, Nov 29th at 11:09 AM

The mod is now being used on the Chronicles of Time roleplay server. People are having a blast with it and there are no apparent issues so far.

Centur1on , Nov 3rd at 2:41 PM

SiiMeR Simply add "game:chiseledblock" to the blacklist. All the chiseled blocks have that code.
By the way, as tested, chiseled blocks don't save their attributes/states/blocks used right now. I will see if I can fix that, or I will simply make it hardcoded to exclude them from adding to the global item pool.

SiiMeR, Nov 3rd at 1:32 PM

How easy would it be to blacklist any chiseled block? That is mostly trash so if I could fully remove it from the pool it would be great

Centur1on , Nov 3rd at 7:53 AM (modified Nov 3rd at 9:57 AM)

Tulikettu Will check that today. As for decomposition mechanic, it sounds interesting, will think about adding it
UPD: Tested, mod is server-side. Made the necessary changes to mod page and mod itself

Izunundara When fishing is out in vanilla I will certainly make an update for it

Tulikettu, Nov 3rd at 7:08 AM

It would be great to add something like decomposition, since, for example, a piece of parchment buried in the ground would be hard to find in a couple of years. And another question: does this mod use the mechanics that caused it to be labeled as a Both-type?

Lodish, Nov 2nd at 11:19 PM

Very good idea, this would be wonderful on any long lasting server. 

Tulikettu, Nov 2nd at 10:29 PM

I've been wanting something like this for a long time

Izunundara, Nov 2nd at 8:53 PM

Oh hey I love this mechanic in Haven and Hearth, I hope we can get this working with Fishing as well lmao

Hydromancerx, Nov 2nd at 6:20 PM

Maybe this will teach people to pick up their trash. lol

Vortex8055, Nov 2nd at 5:42 PM

One of the coolest concepts for a server with friends I have seen in my personal opinion

 

Calbain, Nov 2nd at 2:12 PM

This is a solid feature... I can imagine servers 'seeding' the global pool with treasure, or in local mode dropping a ton of metal bits around a particular mountain or river.

Azraile, Nov 2nd at 12:43 PM

oh good there is a black list...... all rocks should be on that list by default and sticks with how often people just toss them especialy stone from minging 

El_Neuman, Nov 2nd at 11:22 AM

wow, that's on of the most immersive and atmospheric mods!!

SiiMeR, Nov 2nd at 10:44 AM

Lovely idea, this can be huge for roleplay server with more history.