Mods / The Nightwatcher

Category: #Creatures #QoL #Utility
Author: Buggi
Side: Both
Created: Nov 16th 2021 at 6:29 AM
Last modified: Mar 21st at 4:02 AM
Downloads: 11606
Follow Unfollow 136

Latest file for Various v1.19.x:
NightWatcher-119-2.1.0.zip 1-click install


Once placed the Nightwatcher prevents Entities from spawning in a radius around it. You decide what he watches for in the watcher_config.json. By default he blocks drifters, bears, and wolves. Add/remove Entity code values of anything you wish to block.

An example is in Vintagestory\assets\survival\entities\land there's a locust.json, inside that file is code: "locust"

"locust" is the value you would add to the watcher_config list to block all the variants of locusts from spawning in the radius.

The radius is configurable, Default radius is 128.

v2.0 MAJOR FEATURE - Now can block Rifts from spawning in the effective radius! 
Blocking Rifts does so no matter if there's a storm or not. If you wish for storms to allow Rifts anywhere, let me know.

v1.6 MAJOR FEATURE - Now can block ANY entity as long as you put the code part in the config.

"BlockCodes" is an array that defaults to this:
"BlockCodes": [
"drifter",
"bear",
"wolf"
],

All you need to do is add/remove the first code part of the entity you wish to block with the Nightwatcher. (See above)
This will still respect "BlockDuringStorm" and shut down all entity blocking during a Temporal Storm if this is false.

You may catch him looking around once in awhile, don't be alarmed, he remains steadfast in his duties.

Crafting requires a temporal gear, a straw dummy, and gold plate. So not an early game option.

As always, my YouTube channel is dedicated to moddable games and VS is just plain fun to mod and play. 
Check out my channel here:
https://www.youtube.com/c/FlexibleGames

I'm always on the lookout for mod ideas.
Support me if you want via Patreon: https://www.patreon.com/flexiblegames

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v2.1.0 2469 Mar 21st at 4:02 AM Show NightWatcher-119-2.1.0.zip Install now
v2.0.0 429 Mar 7th at 7:57 PM Show NightWatcher-1.19-2.0.zip Install now
v1.8.0 97 Mar 7th at 5:37 PM Show NightWatcher-1.19-1.8.zip Install now
v1.7.0 525 Feb 16th at 10:30 PM Show NightWatcher-1.19-1.7.zip Install now
v1.6.0 483 Feb 5th at 6:14 PM Show NightWatcher-1.19-1.6.zip Install now
v1.5.0 1403 Aug 28th 2023 at 4:24 PM Show NightWatcher-1.18-1.5.zip Install now
v1.4.0 1704 Apr 10th 2023 at 9:11 PM Show NightWatcher-1.18-1.4.zip Install now
v1.3.0 1552 Aug 31st 2022 at 8:13 PM Show NightWatcher_v1.3.0.zip Install now
v1.2.0 2057 Jan 11th 2022 at 3:49 AM Show NightWatcher-v1.2.zip Install now
v1.1.0 514 Nov 17th 2021 at 6:51 PM Show NightWatcher-v1.1.0.zip Install now
v1.0.0 373 Nov 16th 2021 at 6:30 AM Show NightWatcher-v1.0.0.zip Install now

24 Comments (oldest first | newest first)

💬 blueblynd, Apr 12th at 5:30 AM

Love this mod! A note for fellow users is to try to remember how realistic Vintage Story's ecosystem strives to be - a lacking of wolves in the area has quickly led to an antlike overabundance of hares swarming my house, so you might have to be prepared to add multiple animals to the block list until you're essentially pausing the food chain in that radius xD

(Also wanted to thank you for not giving the Night Watcher the tendency to migrate like most of the other dummy(?)-based items seem to do. It's annoying enough trying to keep my scarecrow near the garden it's supposed to be protecting; I can't imagine needing to track these guys down!)

Very cool work, thank you!!

💬 BuggiAuthor, Mar 30th at 4:28 AM

Circle

Calculation is based on distance between the entity and the nightwatcher, essentially a bubble around it.

💬 SecretFoxfire, Mar 26th at 3:57 PM

Love this mod, couldn't play without it. A question, though: Is the protected area a circle or a square? I'd been assuming it was a 256x256 square, but someone pointed out to me that "radius" might imply a circle, in which case the protected area is smaller than I realized and I'll need to adjust their position to ensure coverage. Thanks!

💬 BuggiAuthor, Mar 7th at 7:59 PM

version 2.0 now includes the feature I've wanted to do for awhile, and that's the ability to also block Rifts from spawning in the EffectRadius of the NightWatcher.

Make sure to delete your old watcher_config.json file in ModConfig to regenerate the default file. Sorry about this, for some reason the config loading process doesn't detect changes to variables, if someone knows how to do this please let me know.

💬 BuggiAuthor, Feb 19th at 6:51 PM

@Kara

"Assembly with same name is already loaded" kind of gives it away there. Did you not delete the old version?  The game does cache some data so that might be the issue.


And it'll only create the config file if the file is missing. This is purely base-game modding API I'm using, nothing special. watcher_config.json is the filename it creates.

💬 RikeiR, Feb 18th at 2:37 AM
💬 Kara, Feb 17th at 12:09 AM

Buggi 
16.2.2024 19:05:04 [Error] [nightwatcher] An exception was thrown when trying to load assembly:
16.2.2024 19:05:04 [Error] [nightwatcher] Exception: Assembly with same name is already loaded
at System.Runtime.Loader.AssemblyLoadContext.g____PInvoke|5_0(IntPtr ptrNativeAssemblyBinder, UInt16* ilPath, UInt16* niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Vintagestory.Common.ModAssemblyLoader.LoadFrom(String path) in VintagestoryLib\Common\API\ModAssemblyLoader.cs:line 34
at Vintagestory.Common.ModContainer.<>c__DisplayClass35_0.b__0(String path) in VintagestoryLib\Common\API\ModContainer.cs:line 449
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToList()
at Vintagestory.Common.ModContainer.LoadAssembly(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 448

It also appears to not be creating a config file via single player. 

Edit: by deleting ALLL of my moddata files, it seems to have fixed this issue. that being said, im not sure which file was for your mod and deleting them all on a server is not an option =P. 

💬 BuggiAuthor, Feb 16th at 10:30 PM

Thanks for reporting the issue! All should be fixed now! <3

💬 BuggiAuthor, Feb 16th at 9:21 PM

Will investigate! Thanks for reporting!

💬 Kara, Feb 8th at 12:52 AM

ASkeleton Our server is experiancing the same issue. i think we are going to revert back to v1.5.0 (1.18.5) as it worked just fine in 1.19. Buggi

💬 ASkeleton, Feb 7th at 4:44 AM

It doesn't seem to be stopping the drifters from spawning at all. Am I missing something?

💬 Kara, Feb 5th at 6:23 PM

Instantly downloading this, for our server <3. love everything you do =D

💬 BuggiAuthor, Feb 5th at 6:14 PM

Just Updated:

MAJOR FEATURE - Now can block ANY entity as long as you put the code part in the config.

"BlockCodes" is an array that defaults to this:
"BlockCodes": [
"drifter",
"bear",
"wolf"
],

All you need to do is add/remove the first code part of the entity you wish to block with the Nightwatcher. 
This will still respect "BlockDuringStorm" and shut down all entity blocking during a Temporal Storm if this is false.

💬 Mendall, Feb 2nd at 12:34 AM

anyone know if this is working in 1.19?

 

💬 BuggiAuthor, Aug 28th 2023 at 4:24 PM

Many thanks for the help fixing this! I've been extremely busy the last couple months so fell behind on updating all these.

💬 Kara, Aug 10th 2023 at 9:48 PM

on version 1.18.8 Fixed Fixed this little guy, on version 1.18.8 


Open nightwater.zip most updated > assets > game > shapes > Entity > Edit the nightwatcher.json file inside. replace the Textures into with what is provided. some of the directed texture's were changed for the strawdummy in vanilla. if the mod dev ever see's this, You are welcome. 
SecretFoxfire

    "textures": {
        "gold": "game:item/resource/plate/gold",
        "face": "game:block/hay/strawdummy/face",
        "tinbronze": "game:entity/humanoid/serapharmor/scale/tinbronze",
        "agedwood": "game:block/hay/strawdummy/agedwood",
        "bamboo-side": "game:block/hay/bamboo-side",
        "bamboo-top": "game:block/hay/bamboo-top"
    },
💬 SecretFoxfire, May 29th 2023 at 6:25 PM

Thank you so much for this mod. Fair and balanced (gold is so hard to find!) but also really necessary for making areas habitable in the long-term.

I have noticed that the texture is broken on 1.18.5 though. It looks fine while carrying it around but once placed the poor thing's face is a question mark 😅

💬 BuggiAuthor, Apr 10th 2023 at 9:14 PM

Updated to 1.18, and yes, now can prevent bear spawns.

💬 BuggiAuthor, Mar 30th 2023 at 6:12 PM

Now there's bears? Do they really spawn frequently enough to justify adding them?

💬 Kara, Mar 20th 2023 at 6:53 AM

able to add bears? xD
would do it myself, but im not sure how to code yet D=

💬 BuggiAuthor, Aug 31st 2022 at 8:14 PM

Updated to 1.17

Added config option for Blocking Wolves
Added config option for Blocking Drifters (So you can JUST block wolves if you want)..
Added config option to control blocking of drifters during temporal storms.

💬 Fank, Apr 15th 2022 at 6:30 PM

How about a nightwatcher addon that disables wolf spawns?

💬 BuggiAuthor, Nov 16th 2021 at 6:20 PM

While it could be done, you can already tweak the radius by editing the watcher_config.json. I didn't want to be able to craft this too early as the early game should be harder.

💬 Polraudio, Nov 16th 2021 at 4:33 PM

Very Nice! This is almost the exact mod i was looking for. Dont suppose you could make different tiers?

Copper:
Does a 32 block area.

Bronze:
Does a 64 block area.

Iron:
Does a 128 block area.

Steel:
Does a 256 block area.

Steel, Gold and Temporal Gears:
Does a 512 block area.

(edit comment delete)