Mods / Natural Trail Mod

Category: #Cosmetics #QoL
Author: Grifthegnome
Side: Both
Created: Jan 21st at 1:51 AM
Last modified: Feb 23rd at 10:05 PM
Downloads: 6425
Follow Unfollow 249

Latest file for v1.19.3:
trailmod_1.0.7.zip 1-click install


If you find a bug, have a suggestion, want to playtest pre-release builds, or talk, feel free to join my Discord Server

Like this Mod? Check out some of my others: Outlaw ModBrutal Story

This is a simple mod I threw together for my own server to make moving through the wilderness more emersive.

Before running this mod on an existing game world, please, please, please, backup your gameworld and test the mod on a clean level so that you are sure you like what it does. This mod makes permanant changes to your gameworld that are not easy to revert.

For now, it adds three things:

-Evolving Trails, Roads, and Highways: All characters and animals will trample grass and disturb brush making natural trails. Players walking along the same routes will find their path slowly evolves into an increasingly developed trail. These trails slowly return to nature if they are not used regularly. Each level of path provides a slightly better movement speed bonus.

-Dynamic Snow Trails: All characters and animals walking through the snow will compact the snow and leave a trail in the snow. 

-Ice Lake Breakage: This adds a tiny chance that lake ice will break when standing on it. 

Note On World Map: I recommend playing his mod with Color Accurate World Map: True, as you will be able to see your trails evolve on the map over time.

Experiencing Weird Textures?: Double "maxTextureAtlasWidth" and "maxTextureAtlasHeight" in clientsettings.json, this should resolve the issue.

Supported Languages

English

French (Thanks to Laerinok)

Japanese (Thanks to RikeiR)

Spanish & Latin American Spanish (Thanks to Sir Ryu)

Config Quick Tips Guide

With the config settings now available I thought I would write a quick guide to settings, everyone has diffrent tastes, so ask yourself some of these questions and then tune your config settings in a clean world where mistakes are just happy accidents. :)

Sounds

-Hate the sound of nature being crushed under your feet? foliageTrampleSounds = false

-Love the sound of nature being crushed under your feet? foliageTrampleSounds = true

Animals

-Don't want any animals rooting and tearing up the landscape? onlyPlayersCreateTrails = true.

-Want to be able to tell where animals have been active and follow their trails through the grass when you chase them? onlyPlayersCreateTrails = false.

-Want only large animals and humanoids to trample stuff? minEntityHullSizeToTrampleX = 0.5 & minEntityHullSizeToTrampleY = 0.75

-Want everyone stomping on everything all the time? minEntityHullSizeToTrampleX = 0.0 & minEntityHullSizeToTrampleY = 0.0

Flowers

-You want to preserve your garden? flowerTrampling = false

-Flowers are getting in the way of adventure? flowerTrampling = true

Ferns

-You like ferns? fernTrampling = false

-You hate ferns? fernTrampling = true

Grass

-You <3 your lawn? onlyTrampleFoliageOnTrailCreation = true

-You always want to be able to backtrack? onlyTrampleFoliageOnTrailCreation = false

Trail Devolution

-You only want the heavily trafficked routes to stick around? trampledSoilDevolveDays = (A low number like 2, 3, or 4)

-You hate trying to maintain young trails and get them going? trampledSoilDevolveDays = (A high number like 7 to 14)

-You like the idea of exploring abandoned trails/use it or lose it trails? trailDevolveDays = (A low number like 7 to 14)

-You want your established trails to stick around with little maintainance? trailDevolveDays = (A high number like 60+)

Trail Evolution

-Want normal grass blocks to have a high tollerance to you romping around? normalToSparseGrassTouchCount = (A high number like 3 or 4)

-Want grass to wear quickly so you don't get lost in the wilderness? normalToSparseGrassTouchCount = default value

-Want temporary trails that don't stick around more than a few days? trampledSoilToNewTrailTouchCount = (A high number like 5+)

-Want temporary trails to become real trails quickly? trampledSoilToNewTrailTouchCount = (A low number like 2 to 3)

-Want trails to upgrade quickly? Halve or quarter the newToEstablishedTrailTouchCount, establishedToDirtRoadTouchCount, and dirtRoadToHighwayTouchCount values.

-Want reaching Highway level to be your life's work? Double or tripple the newToEstablishedTrailTouchCount, establishedToDirtRoadTouchCount, and dirtRoadToHighwayTouchCount values.

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.0.7 3344 Feb 23rd at 10:05 PM Show trailmod_1.0.7.zip Install now
v1.0.6 1565 Feb 7th at 4:41 AM Show trailmod_1.0.6.zip Install now
v1.0.5 403 Feb 5th at 6:50 AM Show trailmod_1.0.5.zip Install now
v1.0.4 120 Feb 5th at 12:23 AM Show trailmod_1.0.4.zip Install now
v1.0.3 78 Feb 4th at 10:29 PM Show trailmod_1.0.3.zip Install now
v1.0.2 245 Feb 4th at 4:14 AM Show trailmod_1.0.2.zip Install now
v1.0.1 456 Jan 22nd at 7:51 PM Show trailmod_1.0.1.zip Install now
v1.0.0 214 Jan 21st at 1:53 AM Show trailmod_1.0.0.zip Install now

153 Comments (oldest first | newest first)

💬 OBEDIA, 2 days ago

This mod is so freaking good! Running on 19.7. server with a lot of mods.

💬 SneedoDevito, 5 days ago

Very cool mod. I've noticed when you're in creative you lose the ability to create trails when you walk over grass, could you implement a way to toggle that on/off in the config?

💬 Tels, Apr 18th at 8:26 PM

Really love this mod! Are you interested in a German translation?

And here is some feedback:

 

  • The current "stuff breaks when you trample it" sound is a bit too loud and startling for me. So I'd love to have a not-as-loud sound for "breaking" the foliage. Maybe the hustling sound the player makes when going through bushes?
    * The break sounds seams to always play on peat, but rarely on soil blocks?
    * We do have some areas that are trampled all over, possible because of some small animals like hares, or birds (we also have the critters mod on). To what values would one set

 "minEntityHullSizeToTrampleX": 0.0,                                                                                                                                               
 "minEntityHullSizeToTrampleY": 0.0

to prevent small anials like hares to trample paths?

 

Thank you again for this wonderful mod!

💬 GrifthegnomeAuthor, Apr 13th at 7:24 PM

Takarias

Happy to help!

💬 Takarias, Apr 12th at 6:47 PM

Grifthegnome

Wow, I just logged on to play some and thought I'd check on this mod in the off chance you had seen my comment and, lo and behold, here you are with instructions on how to hack it!

It's worked perfectly, no issues on my end. Incredible service.

💬 GrifthegnomeAuthor, Apr 12th at 5:28 PM

Takarias

Hi There! So I should be able to add that for a future version of the mod.

For now, you can still make the change yourself in your local files.

If you go into trailmod/assets/trailmod/blocktypes/trail.json

Inside that file, you will find the following entry:

    walkspeedmultiplierByType:{
        "*-new" : 1.1,
        "*-established" : 1.15,
        "*-veryestablished" : 1.20,
        "*-old": 1.25  
    },

If you set all those numbers to 1.0, the trails will not affect your movement speed:

walkspeedmultiplierByType:{
        "*-new" : 1.0,
        "*-established" : 1.0,
        "*-veryestablished" : 1.0,
        "*-old": 1.0  
    },

Hope this helps!
💬 Takarias, Apr 12th at 6:12 AM

Would it be possible to add a config setting to disable the speed benefits from the path blocks added by this mod? I love this mod for the aesthetic, but I want the speed bonus to still be earned through manually developing infrastruture. Also, a setting for breaking ice that you're walking on.

Thanks for the incredible mod! I'm playing vanilla for my first world, but I had to make an exception for this mod because organic desire paths are something that has always fascinated me and I've wanted them in a game since forever.

💬 GrifthegnomeAuthor, Apr 11th at 11:00 PM

Maltiez

Hey there! I'll take a look at integrating thats first chance I get.

💬 Maltiez, Apr 10th at 11:20 AM

Pinged you in discord about config lib support (should be extremely easy to add, just one asset file, and be very convenient for players to use).

💬 GrifthegnomeAuthor, Apr 9th at 10:36 PM

GrishkoJiggers
Hey there! I can look at that for a furture version, are you thinking it would be a per-player thing or something and admin could toggle?

💬 GrishkoJiggers, Apr 9th at 12:28 AM

Hi, great mod-- would it be possible to make this feature toggleable? We'd love to be able to turn it off when we're at home and turn it on for long adventures to avoid our town village looking like the dustbowl. If not, no worries! Thanks for your work.

💬 GrifthegnomeAuthor, Mar 27th at 10:56 PM

effgee

Sounds good! Appreciate it!

💬 effgee, Mar 27th at 2:56 PM

Hi again Grift

 

I can't rememeber exactly what was happening. There were too many various mods with issues that are mostly fixed now and I'm going to try this mod out again and see if I can debug it further for you.

 

Grifthegnome

💬 Dnd, Mar 26th at 3:41 AM

New players to my server are reporting a large W or F on the blocks that become trails. The server was updated to 1.19.5

💬 GrifthegnomeAuthor, Mar 18th at 6:13 PM

effgee

Hey there! Thanks for reporting this. Are you encountering this issue under a certain set of circomstances?

💬 effgee, Mar 17th at 7:12 AM

This is such a cool mod and really fits in with a no-map server. I am enountering some errors though..

 

17.3.2024 07:09:52 [Server Error] Exception: Object reference not set to an instance of an object.
at Vintagestory.Common.BlockAccessorBase.GetBlock(BlockPos pos) in VintagestoryLib\Common\API\BlockAccessorBase.cs:line 55
at TrailMod.TrailChunkManager.Clean(Single dt)
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 57
at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Server\ServerEventManager.cs:line 123
at Vintagestory.Server.ServerMain.Process() in VintagestoryLib\Server\ServerMain.cs:line 886

💬 Calous, Mar 7th at 3:25 AM

Grifthegnome

sounds reasonable, appreciate the addition of a work around until then. I do like the way you think, something like the reinforcing from the plum and square or selection box from the magic wand tool that you can click on the block, like a reverse hoe or something, hah.

GmanAmatin
I will second the rivers mod with this mod! its good stuff.

 

 

💬 GrifthegnomeAuthor, Mar 7th at 1:33 AM

GmanAmatin

We play with rivers mod on my server and I built and tested the Natural Trails Mod on that server. Since the rivers tend to flatten the landscape along the banks, you tend to get player trails along the rivers, since they're very walkable. There is nothing in the mod the conflicts with rivers mod and I like to think the complement eachother. Just like real-world trails often follow rivers, you get natural looking trails along river banks for the same reason. 

💬 GmanAmatin, Mar 6th at 9:18 PM

Cool looking mod! Question tho, how well does this mod respond too the Rivers mod?

💬 GrifthegnomeAuthor, Mar 6th at 9:14 PM

Calous

I can look at peat and cob trample settings for a future version of the mod.

Soil that is part of a complex progression, like the soil blocks, would be far more difficult to set specific trample/no trample booleans on, because their evolution is contingent on a unbroken progression of blocks.

To me, it seems like rather than specify blocks as decorative by type, giving folks a way to mark blocks as decorative by area seems like the more flexible solve. That's way more work, but is likely the best long-term solve. If you can designated a block or group of blocks as a "protected" and then regardless of block type, they won't trample or evolve. That way people could zone things like flower beds and not have to worry about the details. I'll give some thought on this.

💬 Calous, Mar 6th at 4:01 PM

Anyone have any ideas for decrative grass blocks that you DONT want to turn into trails.

Currently trying cob at 600 when I want to force grass via the config but its not perfect.
 "cobLoseGrassTouchCount": 600,

I am hoping I am just unaware of a soil block that can grow grass that ISNT impacted by this mod for like flower beds and other intentional decrotive places.

Ideally a config option to disable specific soil block akin to flower and fern trampling, maybe;
"cobtrample": false
"peattrample": true
"highqualitysoiltrample": false
...etc
(With how far the current config has already come I almost feel like I am asking too much here, haha)

💬 GrifthegnomeAuthor, Mar 6th at 3:05 AM

Stahl
That is correct.

💬 Stahl, Mar 5th at 9:39 PM

I guess this only works on the snow layer, not the actual snow blocks?

💬 fipil, Feb 28th at 7:55 AM

Grifthegnome

I agree with you, keep the mode simple and don't make it too complex by adding unnecessary stuff which can potentially make problems in future (lags etc).

As Brick wrote, I can easily do some landscaping to prevent chunks from removing by prune.

💬 GrifthegnomeAuthor, Feb 26th at 7:20 PM

fipil

Out of pure curiosity, where are you finding ServerSystemBlockSimulation and the ClientPacketHandlers? Doing a bulk search of VintageStoryAPI, VSCreativeMod, VSEssentialsMod, and VSSurvivalMod renders no results. Is it in the portion of the source code base they don't make available on their GitHub? Just wanted to read it so I can better answer folks questions on the topic in the future. 

If the thing that is driving player-edit-count incrementation is client packets specifying a block addition or removal, then we are totally in the clear. Trail Mod is a 100% server side mod, other than the assets needed for the client to render the custom trail blocks. While I like the idea of working with this system to help preserve trails through a /db prune, the mod is architected as a server side mod and introducing additional client networking packets on block touch sounds like a good way to cause problems on higher traffic servers. It also increases the chance that the mod will break between VS versions, as right now the only core logic the system refrences is the block collision call and the SetBlock call of the block accessor: everything else is more or less self-contained custom logic and should be relatively future proof at the moment.

Glad you dug into this stuff, it's always important to vet these kinds of details. Gonna ping Radfast on the Discord to see if we can get any final clarity. It's good to know that this system occur implicitly when the client makes block edit requests.

The way it's shaping up it's definately looking like Trail Mod doesn't interact with player-edit-count and won't have any baring on /db prune.

💬 fipil, Feb 26th at 5:19 PM

Brick you're right. I can of course do some landscaping to protect my paths. So it's not critical and Grifthegnome can left the mod as is. My points has been primarily about worries that the traces will prevent the prune mechanism. Now I found out that it probably does not influence the mechanism, so it's okay.

💬 Brick, Feb 26th at 1:14 PM

fipil I have been reading this thread and wondering, if you need to keep trails developed into a road safe from pruning, cant you just place some bushes, lanterns, or do a bit of landscaping by breaking or placing blocks along side those main roads to keep them protected from pruning? Also I find it ironic how vanilla way of creating roads is essentially protected from pruning cause for that you dig up dirt and place road blocks manually xD

💬 fipil, Feb 26th at 7:26 AM

Hi Grifthegnome

I was serching a little bit and it seems, that the player-edit-count is stored with chunk into the ServerChunk.BlocksPlaced and ServerChunk.BlocksRemoved properties. The properties are incremented in the ServerSystemBlockSimulation class, in the ClientPacketHandlers, which are handling block place or break. I'm not sure if I understood it correctly, but it seems that this plays a role whenever from client arrives some network packet, holding an information about a player's block place/break action. 

So, as far as I understand it well (and I can be wrong, ofc.:-)) if your mod uses for example the IBlockAccessor.SetBlock(...) method, it's done on server side, so there is not involved any network packet traveling from a client to server. So IMHO it does not influence the numbers. On the other side, if you want to increment those numbers, you should find some way howto do that, for example by loading the chunk itself, incrementing the number and setting the chunk as dirty, so it's saved.

Maybe we should ask Tyron,Radfast or Th3Dilli in the #mod-development channel for that, I'm interested as well, because I'd like to ensure that my mod DjinlandEssentials does not influence those numbers as well :-).

💬 fipil, Feb 25th at 9:07 PM

Grifthegnome

Thank you for the explanation, I'm looking forward to your findings :-). I was thinking about it a little bit more and I've the following thoughts.

  • Yes, you're right. Regarding of the human-made trails, especially the roads and paths evolved by often used paths, imho those should increment the player-edit-count, so those chunks will survive the prune process, because we use it heavily and dont want to lost those paths. It would be nice if we can configure the level of path to be persistent, for example we'll set that the level trampledSoil+higher will survive the prune.
  • Regarding of the animal/mobs made trample foliage+grass stripping, IMHO it should not increment the player-edit-count, so it'll not influence the prune process and prune will remove those chunks. I described it incorrectly in my question, I confused the trails with trampling foliage (english is not my native language) so I'm sorry for that :-).
  • Regarding of the drifters - after adding your mod, I noticed that almost all my grass in my castle garden turned into a soil. I was searching for a reason and noticed, that there is a lot of drifters wandering around and ruining my green and grass :-). So I was thinking about it and it'd be nice to have a possibility to switch it off just for the drifters. But then I tried to increase the minEntityHullSizeToTrampleX/minEntityHullSizeToTrampleY and it solved the problem. So that was the reason for my question regarding of the drifters.
  • Regarding of the Prune process, yes, we plan to do it regularly, at least together with each VS major version upgrade. The game map file is increasing slowly and when it reaches some size 20GB+ we've problems with free disc place on our hosting, because each daily backup takes at least 5GB.

Of course, you can find out that currently there is not a way to control the player-edit-count incrementing, so its impossible to implement features mentioned above :-/. In this case, maybe Tyron will listen to our questions and pleas about it and will add some API stuff allowing that, later :-).

Thank you very much for the amazing mod, Grifthegnome. Keep up this perfect work! I described your mod to our players and everyone wants it to our server! :-)

💬 GrifthegnomeAuthor, Feb 25th at 8:14 PM

fipil

Great questions! So Trail Mod's block changes don't ever have an owner. Trail blocks are set in the world, by the world. The player that caused the trail block transformation isn't stored anywhere. What is stored is the number of times a trail block has been touched and the last time they were touched, but this is not associated with the player edits system. There's nothing explicit in the logic that touches the player edits count and there is no awareness in the system that players are the cause of block changes. What I haven't been aware of is what Vintage Story constitutes as a "player edit." I did a quick search of the code base for where this logic lives and haven't been able to find it. However, on the Discord, Radfast (one of the developers) said the following, "It is based on the number of chunk edits by players. Chunk "edits" means the aggregate number of blocks in that chunk which have been placed, or removed, by player's direct actions, meaning block placement while building, or pickaxe/axe/shovel/bare hands etc. actions to break blocks." If this is the implementation, then Trail Mod will work with the prune functionality as only direct player edits to chunks count. I want to be more sure than that though, I'm gonna pull down a local copy of my server and run some db prune tests to see what kind of results I get. I want to eliminate the case where the developers assumed that any break or placement change to blocks is caused by players and increments the edit count. Will get back to you on this as soon as I have a clear answer. :) What I will say is that if you are deleting and remaking the chunks on a regular basis, Trail Mod may not be a good fit for that use case, as it relies on chunks persisting and updating over time. The mod is designed around the idea that if you go to a place frequently by a set route, you can get there faster the more often you travel the route. Deleting chunks won't break the mod, but it does rob you of the benifit of persistant upgrading roads and paths. Just a thought.

As for the question about dividing trail making into players, animals, and drifters. The mod only supports trail block creation supported by player movements. Animals and other creatures can trample foliage and strip grass, but they don't evolve trails. Is your hope to turn off grass trampling for drifters while maintaining animal grass trampling?

💬 fipil, Feb 25th at 5:09 PM

Grifthegnome  VS is counting the number of player edits per chunk or per chunk column (i dont know if it's per chunk or ch.column) and store it to database (since the v1.18). Thanks to this counting, we can now since 1.19 use the /db prune + vacuum commands to shrink database - it'll remove all chunks with the count lower then a provided treshold, for example 5, so all chunks with our settlements, buildings and cities remains untouch, but all other chunks we just walked through, is removed. Whenever player visits a chunk, it's created again. This is essentials new feature, long time awaited, because our server map file has now 28GB size (9GB compressed as a backup) and after prune+vacuum it has only 2,5GB size.

Important question for us is if your mod is incrementing the the number of player edits when making trails? If yes, then it's a dealbreak for us, we cannot use your mod (although we love it!), because it completely kills the above described mechanic.

It is necessary that your mod does not increment player edits during making trails (incl evolution and devolution, simply all block changes). Please would it be possible to do that?

💬 fipil, Feb 25th at 3:54 PM

Hi, please does drifters make trails as well?
If yes, would it be possible to distinguish them in the configuration, so I can switch on animals trails, player trails and drifters trails separetely?

💬 OlafGunnerson, Feb 24th at 5:06 PM

Grifthegnome 

Fantastic news! Thanks so much for adding the fern trampling config! 

💬 Brick, Feb 24th at 12:41 PM

Grifthegnome Thanks!

💬 fipil, Feb 23rd at 11:27 PM

Grifthegnome Yes, we'll test it heavily and fine tune configuration, before we put it to our server. But this is really what I was thinking about, recently. Did you read my mind? 😄

💬 GrifthegnomeAuthor, Feb 23rd at 11:19 PM

fipil

Glad it's something you've been looking for! Be sure to backup your world before installing and test the mod in a clean world.

💬 fipil, Feb 23rd at 11:16 PM

Wow! This looks like a mod I dreamed of! 😀

I'm going to try it.

💬 GrifthegnomeAuthor, Feb 23rd at 10:15 PM

OlafGunnerson Brick WickedSchnitzel

The fern trampling config feature is in.

You can now specify in the config file which creatures trample grass and foliage based on hull size. After doing some cursory testing, if you want to eliminate rabbits, racoons, foxes, and other things of that size, I reccomend minEntityHullSizeToTrampleX = 0.5 and minEntityHullSizeToTrampleY = 0.75

Please note that if you set the min box size too large, you will also eliminate players, as they too are beholden to these hit box minimums.

💬 GrifthegnomeAuthor, Feb 23rd at 10:07 PM

1.0.7 is Now Live!

Bringing new community requested config options, a minor bug fix, and Spanish Language Localization (Thanks to Sir Ryu!)

As always, please backup and delete your old mod config to see the new config options.

Always, always, always backup your world, server, etc before installing a new version of this mod.

💬 GrifthegnomeAuthor, Feb 23rd at 9:14 PM

Aspenizcool

Neat idea! I can look at this for a future version.

💬 GrifthegnomeAuthor, Feb 23rd at 8:21 PM

Brick

I'll do an investigation and see what this would take.

💬 Brick, Feb 23rd at 12:46 PM

Grifthegnome Honestly, that huge list sounds does sound like a pain in the butt to configure, if that minimum hitbox feature works and easier to implement than the list - I think it will be great. And then if it would be possible to change that 0.5 number to 0.7 or 0.2 depending on someones preference in the config file,  that would be fantastic!

💬 Aspenizcool, Feb 23rd at 5:59 AM

after tweaking the settings some loving the mod
maybe add some holdable or wearable item that can speed up path making?
some stone roller or something

just running back and fourth to make a path on my homestead lol

💬 GrifthegnomeAuthor, Feb 22nd at 9:29 PM

Brick WickedSchnitzel

Glad you're enjoying it!

I can look into that for the next version of Trail Mod.

I believe WickedSchnitzel requested the same/a similar feature. My question is, do you want to have to maintain a huge list of all creatures that do or do not trample grass, or would you prefer to set a single minium hitbox size for grass trampling in the config? For example, rather than saying rabits don't trample grass, raccons don't trample grass, foxes don't trample grass, etc, you could say: any creature that is smaller than 0.5, 0.5 blocks will never trample grass, regardless of whether they're a modded or a vanilla creature. Does that solve the case you guys are hoping to address or do you want very granular per-entity control?

 

💬 Brick, Feb 21st at 3:13 PM

Love this mode, is it possible to whitelist the animals that can create dirt pathways and stomp grass? I am a bit annoyed when small racoons and rabbits and small critters from other mods decimate the landscape. In the description there is an option to remove all animals' ability to do that, but I'd like to keep it enabled for grown adult animals (apart from any of rabbits, racoons, chicken and modded small critters)

💬 GrifthegnomeAuthor, Feb 20th at 6:12 PM

OlafGunnerson

Hi there! Glad you're enjoying it. I should be able to add a "fernTrampling" config option for the next release.

💬 OlafGunnerson, Feb 20th at 5:05 PM

@Grifthegnome

Really fantastic mod! I was wondering if it would be possible to include ferns in the "flowerTrampling" config option? I use them for decoration the same as flowers, but setting that option to false still sees them destroyed by walking over them. Thanks!

💬 GrifthegnomeAuthor, Feb 18th at 9:00 PM

StraudBeryl

Hi there, this is a Vintage Story texture atlas issue, it occurs across mods. What is happening is the player has too many custom texture mods for the default Vintage Story texture atlas size. Have them double "maxTextureAtlasWidth" and "maxTextureAtlasHeight" in clientsettings.json, this should resolve the issue. They can find the file in their VintageStoryData folder. This should fix the texture issue for this mod and other future mod installations. Let me know if you guys have trouble finding it.

💬 StraudBeryl, Feb 18th at 7:43 PM

Heyya, one of the players on my server is experiencing this strange texture error. When I log in I don't see any similar errors. When I travelled to the location it looked normal. I'm not getting reports anyone else is seeing this.
Player claims they removed the mod folder and reinstalled and this is still broken.

💬 GrifthegnomeAuthor, Feb 14th at 12:26 AM

Eggie

Glad you found a solution!

💬 Eggie, Feb 13th at 11:57 PM

@Grifthegnome I don't thing that's necassary anymore, because it seems like I just fixed it. I did the process of deleting the mod again, and after redownloading it I checked the client config and for some reason the values got reset, so I doubled them again. I load into the world to test again and suddenly it works perfectly! Kinda strange, but I'm glad it works now.

💬 GrifthegnomeAuthor, Feb 13th at 11:35 PM

Eggie

Can you post your client config here? Are you playing a solo game or are you playing online?

💬 Eggie, Feb 13th at 11:13 PM

Hey, so I was having the same weird texture issue that others were having, but I tried your fix of doubling the texture atlas, and it is still happening. I also tried reinstalling the mod and deleting the old config file, but it also didn't help. Any thoughts/suggestions?

💬 GrifthegnomeAuthor, Feb 13th at 9:13 PM

MetallReyton

Will investigate, the game may consider the block lake ice if it contains frozen water.

💬 MetallReyton, Feb 13th at 8:56 PM

I don't know if this behavior is already known, maybe even considered a bug:

With "Primitive Survival" you can create "Furrowed Land" from soil/farmland. In Winter the furrowed land freezes (as it contains water) and then snow is slowly pilling up. Then when walking over the block with the snow, if you walk often enough on the furrowed land with snow, it just dissapeares/gets destroyed and leaves a hole.

I did some testing for this and withouth the Trails mod this seems not to happen.

💬 GrifthegnomeAuthor, Feb 11th at 9:54 PM

B0bb0

Thanks for the feedback! I can definately look into that for a future update. In the short term, the mod includes buildable cairns that you can use to mark out a trail in the snow.

💬 B0bb0, Feb 11th at 2:32 AM

Hi,

Love the mod.  Would you consider making the trails only gather a thin layer of snow?  Like the pathway blocks.  During the winter it is hard to maintain the path if you cannot see it.

Thank you for your creativity and consideration.

💬 GrifthegnomeAuthor, Feb 10th at 2:14 AM

BriskMan7

Sure thing, let me know if you have any issues finding it.

💬 BriskMan7, Feb 10th at 12:07 AM

oh ok thanks

💬 GrifthegnomeAuthor, Feb 9th at 11:37 PM

BriskMan7

Hi there! There is a Readme file included inside the mod .zip that explains how to access the modconfig and what the settings do. It's a file, not a menu.

💬 BriskMan7, Feb 9th at 11:22 PM

How do I use the config menu?
nowhere were it says how acces the config menu

💬 GrifthegnomeAuthor, Feb 8th at 7:15 PM

KeKc

I can look into more detailed grass destruction in a future release.

As for eagle fern, I can add a config not to destroy it in a future version (like the flowers option). When I was prototyping the mod I found that having foliage drop when you trampled it resulted in your inventory constantly filling up with items you didn't want or need and ferns were one of the biggest issues. If you like eagle ferns and want to preserve them I would use onlyTrampleFoliageOnTrailCreation = true until a better solution is added.

💬 KeKc, Feb 8th at 12:00 AM

it would be great if instead of trampling tall grass from a single touch, there would be a chance to do so, so it doesn't immediately get "eaten" but as you walk along the same path more and more of the tall grass becomes trampled. or maybe even a separate "trampled" tall grass block that turns back into regular tall grass quicker than the "eaten" variety

Also why does eagle fern get instantly destroyed?

💬 GrifthegnomeAuthor, Feb 7th at 6:03 PM

Hydromancerx

Glad you found a solution!

💬 Hydromancerx, Feb 7th at 5:51 PM

Grifthegnome

So I tried using Bigger Texture Atlas by Xel  and as you can see it works! Note i didn't edit maxTextureAtlasWidth or maxTextureAtlasHeight. It did it automaticlly!

💬 Chubz, Feb 7th at 4:27 PM

@Grifthegnome

kinda, but not really. what i mean is maybe add a smother transition between trample stages, like medium grass to short grass etc, and ofc configurable numbers of touches :)

 

ps. i have no idea how this ping in comments works...

💬 GrifthegnomeAuthor, Feb 7th at 4:03 PM

Chubz

Glad you're enjoying it! For now, I would use onlyTrampleFoliageOnTrailCreation = true. This will only break grass when a trail is created. Let me know if that improves/solves your issue.

💬 Chubz, Feb 7th at 3:51 PM

thanks for the great mod! it would be wonderful if there is also a config for the grass, so i could change number of touches and it wont became "eaten" after traversing it once

💬 GrifthegnomeAuthor, Feb 7th at 3:44 PM

Laerinok

Thanks for handling that while I was off the clock! :)

💬 Laerinok, Feb 7th at 10:11 AM

Sp0wN

👍

💬 UA_Shaman, Feb 7th at 9:02 AM

Laerinok
Perhaps you are right, in a few seconds I will tell you whether it is so

Yes you're right. That's the old config. Uninstalled and downloaded the server again got a new one. Thanks for the help!

💬 Laerinok, Feb 7th at 8:35 AM

Sp0wN

Hello,

My feeling is it's an old config file from a previous version of the mod. You must delete it for the new version one appears.

💬 UA_Shaman, Feb 7th at 8:12 AM

Grifthegnome
Hello. I am testing your mod on the server, should all variables appear in the settings file when the mod is first started? Because I have only 4 lines in the file, should it be like that?
"dirtRoadsOnly": false,
"foliageTrampleSounds": true,
"onlyPlayersCreateTrails": false,
"flowerTrampling": true
There are no more settings...
I am creating a new world, so to speak, from a clean slate.

💬 GrifthegnomeAuthor, Feb 7th at 4:44 AM

1.0.6 is Now Live!

This version brings the much requested customizable trails config, as well as Japanese localization (Thanks to RikeiR!)

These config setting expose everything, and I do mean everything. Please remember, with great power comes great responsiblity, if these values are tuned improperly you can do damage to your game world that is hard to fix. ALWAYS make backups of your gameworld and ALWAYS test this stuff on a clean world, I can't over state this.

See Changelog for detail config documentation. Let me know if you have questions!

💬 GrifthegnomeAuthor, Feb 6th at 11:39 PM

Aspenizcool

I'm currently looking at what it would take to get trample config settings out for folks. If maxTextureAtlasHeight and maxTextureAtlasWidth aren't in your config, I would try adding them and setting them both to 4096, they are vaules that are read by the game, and we have established that making this change fixes the issue.

Calous

Sure thing, happy to help where I can!

Hydromancerx

Good to know, I would try the maxTextureAtlasHeight/Width fix detailed in the mod description, that should fix your texure issue.

💬 Hydromancerx, Feb 6th at 11:19 PM

Grifthegnome I am running the current version (1.9) of VS.

💬 Calous, Feb 6th at 11:10 PM

Appreciate the option for no flower breakage in the config. My flowers and bees thank you.

 

💬 Aspenizcool, Feb 6th at 10:50 PM

i really like this mod but il have to wait until that config happens
walked back and fourth on my lawn for a few seconds and it looked like a steamroller ran over it lol

on another note i was getting weird textures but theres no maxTextureAtlasHeight in my clientsettings.json to double

💬 GrifthegnomeAuthor, Feb 6th at 5:36 PM

MetallReyton

Hi there! A config for how quickly trails evolve and devolve is the most requested feature, so I will try to add it sooner than later because everyone has diffrent desires from the mod and that's totally awesome. There are a lot of factors involved in the way the trail evolution tuning is timed, if you make trail developement too fast it tears up the landscape, if you go to slow they never develop at all. The current vanilla settings are a ballance that was the result of a few weeks of testing trying to find a spot between the two extremes. The current tuning also has the wilderness survival mode in mind, where players often have no map and need a clear visual indicator of where they came from. The grass stages also have additional constraints, as grass regrowth in Vintage Story is rapid and random, I was trying to limit the number of custom blocks I had to use to stand up the concept, but I specifically had to introduce the trampled soil blocks to create a midground between native dirt and trails. The Trampled soil blocks look and function exactly like the normal bare dirt blocks, except they do not regrow grass, but they return to grass much more quickly than the established trails. This is essentially to reserve blocks temporarilly that can become trail. But yes, to your question, if the trail tuning doesn't skew slightly agressive the grass will always overgrow the trail, sometimes in 5 minutes or less. In earlier itterations with more gentle tuning, we were struggling to get trails to extend outside the perimter of our base. If that sounds appealing to folks, I'd be happy to dig those numbers up and share them with folks when I release a config patch. I'm more than happy to add config settings for people to tune the trails how they want, I want people to enjoy the content in whatever way makes them happy. :)

 

Gonya

That is definately strange and unintended, the code is written specifically to ignore anything in the reed category of plants: cattails, papyrus, sedge, etc, but the water/ice may be creating an edge case. I will mess around in creative and see if I can reproduce your issue. Thanks for reporting it!

 

Dronzo

Can you go into a bit more detail about the issue you're experiencing? If it's a bug I'd be happy to dig into it an release a hot fix. Is the issue that you are destroying a trail block, putting down a medium or low dirt block, and having it turn into trail immediately upon stepping on it again? Or are you putting down dirt and trampling back into trail over time?

 

AlphaRay

Hi there, so I just want to quickly clarify, animals and creatures can trample grass in the mod, but only players create modified blocks, there will only be custom trail blocks where players travel. In addition, animals trampling anything can be turned off in the mod config. When I first started working on the prototype for this mod, I was in the same boat as you about special blocks: I though I wouldn't need them. The original prototype used native grass, dirt, packed dirt, and stone path blocks. However, I quickly discoverd that there are all kinds of gameplay issues that occur from using these native blocks that I couldn't control. You can't control trail grass regrow rate, identifying which block states need to be saved to memory so that block evolution and devolution persists through saves becomes weird super fast, gameplay mechanics like pottery pits and charcoal mounds can break in certain cases, you can't easily give people speed bonuses for their upgraded paths (because you would be making people faster on all packed dirt for example), and the number of upgrade tiers are highly limited (there's only dirt, packed dirt, and stone paths). In addition, stone paths don't support a lot of the game's normal block mechanics and the game never expected objects on a normal block to suddenly be positioned over a stone path block, so stuff would just break. However, the straw that broke the cammel's back was that in that model of using native blocks, the underlying soil quality was destroyed when the trail upgraded. In the current version, all the custom trail blocks, when broken, drop the exact tier of dirt that occupied the location before the block became trail. So if you accidently trample a portion of terra preta that you want back, you're all good. With the native block model, that terra preta was gone forever, and that wasn't a problem I felt I could ignore. Yes, I agree that using custom blocks makes the mod less future proof (although this mod is touching parts of the game that change less frequently than my other project Outlaw Mod). Yes, removing it means those blocks are missing from the game world, which is why I have a disclaimer in big red letters on this exact topic at the top of the mod page. However, the version of the mod that only uses native blocks has a whole slew of issues that make it really, really bad. I know because I built it first, played it for a week with friends and went, "well that's not gonna work." Then I shot it into the sun and made this version based on what I had learned. I'm never gonna claim that it's perfect, but it works the way it works for very specific reasons I encountered during development. If the mod ever becomes defunct, the blocks themselves can still be loaded into the game via a content mod without the additional trail development logic to maintain the existing trails as they are, because the block assets are indepentent of the actual mod code. This may not be a satisfactory answer, but it's the one I can provide. I hope this helps clarify things. :)

💬 AlphaRay, Feb 6th at 3:08 PM

LenKagamine  

AlphaRay

You do know that happens with any mod you disable right? Any blocks the mod changes to it's new block would OFC have a problem in vanilla"

 

Sure - but here almost all ground blocks are damaged, when you and all creatures/animals have converted these.   And not e.g. a plant block every 100 blocks.  And normally you never deactivate such mods, because they are running correctly.  What if in next version this mod is not compatible?  You start the game and whole surface of your map is full of white damaged blocks.. yey.
I see not need to create "special" blocks here. There are normal blocks without gras and paths in vanilla..so why not to use these?

💬 Gonya, Feb 6th at 9:18 AM

I am having drifters dying on top of an ice block with cattails in the water. Upon the drifter body lingering the blocks of ice end up breaking underneath and destroying the entire cattail, leaving only the root item behind. Seems unintended? If the player breaks the ice block the cattail is just fine.

💬 Laerinok, Feb 6th at 8:11 AM

Hello,
Same as Mesrune. I set "maxTextureAtlasHeight" to 4096 and it fixed the issue.

👍

💬 MetallReyton, Feb 6th at 7:21 AM

Many thanks for your work! The mod is great, I love the idea of trails being created by walking the same ways over and over again, feels very organic.

Would it be possible to change the amount of "steps" for "grass" to change to "patches of grass"? Or individually set up the amount of "steps" for every evolving to the next stage? For me it seems too fast for the trail to evolve, especially from grass to the patches of grass. But i think everyone sees this different. Or is it rather the issue of the grass changing back faster to grass again before a trail develops?

Additionally, but maybe that would change with the above adaptation, i have noticed that some plants (e. g. Eagle Fern), get immediately destroyed when i walk over them, could be due to the block underneath changing or maybe these blocks behave like the object grass, which is destoryed when walking aswell?

💬 Dronzo, Feb 6th at 6:29 AM

Wouldn't happen to be a way to turn the trail blocks into regular dirt blocks is there? I tried replacing it with low and medium dirt but only for it to turn back into a trail. I'm trying to have green grass around my home.

💬 GrifthegnomeAuthor, Feb 5th at 9:03 PM

Hydromancerx Laerinok LarekFlynn

Doubling "maxTextureAtlasWidth" and "maxTextureAtlasHeight" in clientsettngs.json should resolve your texture issue.

💬 GrifthegnomeAuthor, Feb 5th at 9:00 PM

radfast

Hey, I just wanted to ping you to get eyes on this texture atlas issue, it sounds similar to the one that was addressed in 1.9.0. The comments below should provide additional details about the issue.

💬 GrifthegnomeAuthor, Feb 5th at 8:51 PM

WolfyCowGirl101

Excellent, will update the mod details with this!

💬 WolfyCowGirl101, Feb 5th at 8:36 PM

Okay my friend's atlas was:
"maxTextureAtlasWidth": 4096,
"maxTextureAtlasHeight": 2048,
This might be the problem lol as mine was:
"maxTextureAtlasWidth": 4096,
"maxTextureAtlasHeight": 4096
Edit: IT WORKS WOOOO

💬 GrifthegnomeAuthor, Feb 5th at 8:27 PM

Mesrune

Ah! I bet folks are hitting the maximum number of textures allowed in their texture atlas and that is forcing them to use a bad value. That's a good catch!

💬 Mesrune, Feb 5th at 8:13 PM

Grifthegnome :

I just double the value of "maxTextureAtlasWidth" and "maxTextureAtlasHeight" in clientsettings.json, and the texture's good!

 

At least, it work for me.

💬 GrifthegnomeAuthor, Feb 5th at 7:52 PM

Hydromancerx WolfyCowGirl101 Laerinok LarekFlynn

By any chance are any of you running a version of Vintage Story that is pre-1.19.0? There is a known texture atlas issue that was fixed in 1.19 that makes the wrong texture render on objects in certain circomstances. It was apparently a game-wide bug. Asking because I may need to ping the Vintage Story devs if this issue is occuring in 1.19.0 or above. 

💬 WolfyCowGirl101, Feb 5th at 7:51 PM

Okay thank you.

💬 GrifthegnomeAuthor, Feb 5th at 7:24 PM

WolfyCowGirl101

This is an issue that has been reported by a few diffrent users, and other people on their server are not experiencing the issue. I'm currently trying to determine what all the players with the issue have in common, as the nature of the bug indicates it's some factor outside the mod that is causing the issue. Players with and without the issue have matching server mod lists and it happens across opperating systems. The textures that players with the issue see are diffrent every time, but they always look like textures I've never seen in the vanilla game, which indicates that its how the client is reading values from the game's texure atlas. Can you send me a list of any client-side mods he might have installed that are diffrent from what you have installed? Any kind of graphical enhancement packs, client texture packs, etc would be prime culprits. Unfortunately, this is one of those Guess Who kind of issues where you just have to eliminate factors until you arrive at a cause, because it's something about the specific players machine or game client that is causing the problem.

💬 WolfyCowGirl101, Feb 5th at 6:55 PM

image

@Grifthegnome
This screenshot of my friend is showing the paths to be very strangely colored instead of the intended look.
Oddly it works for me but his pov shows this.
If you need anything else to help debug it. I'll try my best to find it.

💬 GrifthegnomeAuthor, Feb 5th at 6:51 AM

Changes for 1.0.5 (Hotfix) is now live!

-Introduces a fix for an edge case where a creature with no selection box touches the ground.

💬 GrifthegnomeAuthor, Feb 5th at 6:48 AM

Maamessu

No worries, it seems that the issue you are encountering is seperate from the one I addressed. The Exception your server is throwing is tricky because the builds I release are optimized for release rather than debugging, so the exception is not saying which object inside the function call is null. I am going to release one more hotfix for an edge case I found in the function where your error is occuring that I am fairly certain is the issue occuring on your server. I think it might be related to an entity (game object), likely from another mod, with no selection box colliding with the ground, which is a case my code is not handling gracefully in 1.0.4.

Once I get the hot fix in, if it does not fix your issue, I might need to get some more info to help me pin point exactly where the bad data is comming from.

If the issue still occurs on the 1.0.5 hotfix, I might need a copy of your save and mod list so I can replicate your crash locally, then I can kill it dead. Would you happen to have a save file and mod list that I could use to replicate your issue?

💬 Maamessu, Feb 5th at 5:16 AM

Sorry it took a bit to get back to you. Unfortunately still getting an error on the latest hotfix version:

5.2.2024 05:15:19 [Server Error] Exception: Object reference not set to an instance of an object.

at TrailMod.TrailChunkManager.BlockCenterHorizontalInEntityBoundingBox(Entity ent, BlockPos blockPos)

at TrailMod.OverrideOnEntityCollide.OnEntityCollideOverride(Block __instance, IWorldAccessor world, Entity entity, BlockPos pos, BlockFacing facing, Vec3d collideSpeed, Boolean isImpact)

at Vintagestory.API.Common.Block.OnEntityCollide_Patch1(Block this, IWorldAccessor world, Entity entity, BlockPos pos, BlockFacing facing, Vec3d collideSpeed, Boolean isImpact)

at Vintagestory.API.MathTools.CollisionTester.ApplyTerrainCollision(Entity entity, EntityPos entitypos, Single dtFac, Vec3d& outposition, Single stepHeight, Single YExtra) in VintagestoryApi\Math\CollisionTester.cs:line 175

at Vintagestory.GameContent.EntityBehaviorControlledPhysics.DisplaceWithBlockCollision(EntityPos pos, EntityControls controls, Single dt) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 343

at Vintagestory.GameContent.EntityBehaviorControlledPhysics.TickEntityPhysics(EntityPos pos, EntityControls controls, Single dt) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 226

at Vintagestory.GameContent.EntityBehaviorControlledPhysics.TickEntityPhysicsPre(Entity entity, Single dt) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 214

at Vintagestory.GameContent.EntityBehaviorControlledPhysics.onPhysicsTick(Single deltaTime) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 180

at Vintagestory.GameContent.EntityBehaviorControlledPhysics.onPhysicsTickServer(Int64 elapsedMS) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 139

at Vintagestory.Server.ServerSystemEntityPhysics.DoWork() in VintagestoryLib\Server\Systems\World\EntityPhysics.cs:line 96

at Vintagestory.Common.LoadBalancer.SynchroniseWorkToMainThread() in VintagestoryLib\Common\LoadBalancer.cs:line 79

at Vintagestory.Server.ServerSystemEntityPhysics.OnServerTick(Single dt) in VintagestoryLib\Server\Systems\World\EntityPhysics.cs:line 92

at Vintagestory.Server.ServerMain.Process() in VintagestoryLib\Server\ServerMain.cs:line 886

💬 Aksyl, Feb 5th at 5:07 AM

What if grass got flattened into the direction of travel, as tall grass wants to do when it is stepped on. Grass is actually naturally predisposed to this to minimize damage from trampling and then stands up on its own after some time to get back to collecting sunlight. Not only is the behavior helpful for tracking purposes, but more realistic, and then if that constantly flattened grass doesn't ever get to stand back up, it then dies off in those patches.

💬 Hydromancerx, Feb 5th at 1:48 AM

Grifthegnome - Windows

💬 GrifthegnomeAuthor, Feb 5th at 1:39 AM

@Lodey

Glad you're enjoying the mod! Configureable path evolution and devolution is a feature that shouldn't be hard to add for a future release. 

💬 Lodey, Feb 5th at 1:31 AM

Great mod! Love it! Any chance for a future release getting a config for how quickly a path gets created or returns to nature?

💬 GrifthegnomeAuthor, Feb 5th at 1:19 AM

Laerinok Hydromancerx @LarekFlynn

Quick question, since you all are having the same texture rendering issue, are you all running the game on linux by any chance? I ask because another user reported the same texture issue you all were having and they were running linux, all the windows users on their server were not having the issue.

💬 GrifthegnomeAuthor, Feb 5th at 12:24 AM

Maamessu

1.0.4 (Hotfix) is Now Live

This is a targeted bug fix for an issue reported by Maamessu.

💬 GrifthegnomeAuthor, Feb 4th at 11:55 PM

Maamessu

Testing a change locally for you. Will release it as soon as I know its working as intended. I haven't been able to repro this locally, but I'm covering a case this exposed where a block becomes invalid before the snow above it can update. Thanks again for reporting it!

💬 Maamessu, Feb 4th at 11:21 PM

Just generated in a temperate climate, but there are snow covered peaks nearby.

And yeah, the server is running on Linux and I am also playing on Linux (different machines/distros).

💬 GrifthegnomeAuthor, Feb 4th at 11:07 PM

Maamessu

Thanks for reporting this, will take a look. Quick question, is it currently snowy on the server, or no?

Fairly certain I know what is happening will have a hotfix for you ASAP.

The linux info is also good to know, I will have to find out if the others having the issue are also on linux.

💬 Maamessu, Feb 4th at 11:00 PM

Log is being spammed by this error on repeat with the new version on a new world:

4.2.2024 17:57:43 [Error] Exception: Object reference not set to an instance of an object.
at TrailMod.TrailChunkManager.BlockCenterHorizontalInEntityBoundingBox(Entity ent, BlockPos blockPos)
at TrailMod.OverrideOnEntityCollide.OnEntityCollideOverride(Block __instance, IWorldAccessor world, Entity entity, BlockPos pos, BlockFacing facing, Vec3d collideSpeed, Boolean isImpact)
at Vintagestory.API.Common.Block.OnEntityCollide_Patch2(Block this, IWorldAccessor world, Entity entity, BlockPos pos, BlockFacing facing, Vec3d collideSpeed, Boolean isImpact)
at Vintagestory.API.MathTools.CollisionTester.ApplyTerrainCollision(Entity entity, EntityPos entitypos, Single dtFac, Vec3d& outposition, Single stepHeight, Single YExtra) in VintagestoryApi\Math\CollisionTester.cs:line 175
at Vintagestory.GameContent.EntityBehaviorControlledPhysics.DisplaceWithBlockCollision(EntityPos pos, EntityControls controls, Single dt) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 343
at Vintagestory.GameContent.EntityBehaviorControlledPhysics.TickEntityPhysics(EntityPos pos, EntityControls controls, Single dt) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 226
at Vintagestory.GameContent.EntityBehaviorControlledPhysics.TickEntityPhysicsPre(Entity entity, Single dt) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 214
at Vintagestory.GameContent.EntityBehaviorControlledPhysics.onPhysicsTick(Single deltaTime) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 180
at Vintagestory.GameContent.EntityBehaviorControlledPhysics.onPhysicsTickServer(Int64 elapsedMS) in VSEssentials\Entity\Behavior\BehaviorControlledPhysics.cs:line 139
at Vintagestory.Server.ServerSystemEntityPhysics.DoWork() in VintagestoryLib\Server\Systems\World\EntityPhysics.cs:line 96
at Vintagestory.Common.LoadBalancer.SynchroniseWorkToMainThread() in VintagestoryLib\Common\LoadBalancer.cs:line 79
at Vintagestory.Server.ServerSystemEntityPhysics.OnServerTick(Single dt) in VintagestoryLib\Server\Systems\World\EntityPhysics.cs:line 92
at Vintagestory.Server.ServerMain.Process() in VintagestoryLib\Server\ServerMain.cs:line 886

💬 Mesrune, Feb 4th at 10:59 PM

Same as other's had, or still have, I have some issues with the texture of the trail path.

The problem is : I'm the only one with this issues on my server. We all have the same modlist.
I don't know if this is relevant, but I'm on linux, they're on windows 10.

Of course, this isn't a big deal, it's just... ankward.

💬 GrifthegnomeAuthor, Feb 4th at 10:31 PM

Hotfix 1.0.3 is now live!

Added three config options pertaining to feedback I recieved. I reccomend deleting you existing mod config and then setting the settings using a test world. Please see the change list for details.

Mod is now available localized in French.

💬 GrifthegnomeAuthor, Feb 4th at 8:06 PM

I will have a hotfix out as soon as I know it is stable, it adds the following:

  1. Some revisons to grass trampling. Experimenting with grass being trampled down to the lowest level when walked on, but it will not break until trail level 1.
  2. Flowers will only break at trail level 1.
  3. Config Setting to disable the foliage break sound.
  4. Config Setting to make it so only players make trails and disrupt foliage. (This is until I have time to allow people who specify which creatures make trails)
  5. Config Setting to turn off flower trampling entirely.
  6. French language localization (Thanks to Laerinok)

 

💬 CKitt, Feb 4th at 7:52 PM

My only complaint is that it can be a very bumpy experience, traipsing through the snow!

💬 GrifthegnomeAuthor, Feb 4th at 7:51 PM

Laerinok

Thank you for the French translation! I will include it in the next update!

💬 Thap, Feb 4th at 5:56 PM

What a cool mod. Will definitely check it out when I update to 1.19!

💬 GrifthegnomeAuthor, Feb 4th at 5:43 PM

WickedSchnitzel

I'll look into that, in the short term I'll look at a config setting that specifies all creatures or players only, until I can get a more robust solution up and running.

💬 GrifthegnomeAuthor, Feb 4th at 5:41 PM

AlphaRay

Unfortunately, I just remembered that the Vintage Story asset remapper does not support remapping multiple block types on to one block. So I can't write a remapper script that directly remaps trail blocks back to native soil blocks. I'll look at other options for reverting trail blocks in the future, but for now I would either load a world backup, or remove and replace the blocks in creative mode.

💬 WickedSchnitzel, Feb 4th at 4:08 PM

Wanted to suggest an option to prevent (certain) animals from destroying grass as well, but AlphaRay did that already. Small animals should not do that, so i would suggest a whitelist where 'player', 'pig', 'bighorn' etc are included already and people/ admins could just add or remove the entities they (don't) want to behave like that.

💬 GrifthegnomeAuthor, Feb 4th at 4:02 PM

Alindrome WickedSchnitzel AlphaRay Aksyl

I'll take a look at grass, flower options, and sound options. I'll also look at options to prevent animals from trampling stuff. For context, on my server we do a lot of hunting, and we like to know where animals have been foraging/rooting and use trample brush to help find game, but it makes sense that folks don't want rabbits trampling their flowers, so I'll get on supporting that.

AlphaRay, i just saw your post, if I catch you in time, don't break all the blocks just yet, i'm gonna write a removal script mod that will revert trail mod blocks back to their default soil blocks. Seems like a good thing to have just in case anyone wants to revert the mods changes in any case. The last thing I want to do is cause anyone distress.

As for the texture atlas issues, I need to find a way to reproduce them, I'm fairly certain its caused my some factor external to the mod itself.

💬 LenKagamine, Feb 4th at 3:22 PM

AlphaRay

You do know that happens with any mod you disable right? Any blocks the mod changes to it's new block would OFC have a problem in vanilla.

💬 AlphaRay, Feb 4th at 2:39 PM

WARNING:   DO NOT USE THIS MOD @Version 1.0.2

There is a bug with the path blocks. After the mod is deactivated all blocks changed by the mod are broken:
https://discord.com/channels/302152934249070593/454909656230526976/1203718183635263508

Grifthegnome   Please check this.  Something is wrong with the block type/id.
-------------------------------------------------------------------


Alindrome & WickedSchnitzel said all i wanted to say :D
Additional suggesion:  Animals should not destroy grass...especially small one.  Animals from critters mod (like squirrell) are destroying grass too...no paths i want to have

💬 WickedSchnitzel, Feb 4th at 1:27 PM

I'd suggest to add an option to disable the sound of grass getting removed, if possible.

💬 Alindrome, Feb 4th at 12:40 PM

Hey! Thanks so much for making this, it's super cool!! Can't wait to see where you end up with it!

I find the grass breaking so quickly a bit... distressing? Everywhere you go you've got block breaking noises. This mechanic also destroys flowers instanly without dropping anything, which hurts my heart a little bit as I like to have them everywhere around my base.

Here's some ideas:

  • Grass:
    • Shorten the grass one step when trodden on instead of breaking it. You could prevent grass from turning patchy until the grass is fully worn away.
    • Or, maybe make it so that grass only breaks when the soil under it is turning into trampled soil?
  • Flowers:
    • Only break flowers when path turns into wilderness trail?
    • Or give a config option to never break flowers

Now I'm off to fully play around with this :D 

💬 Laerinok, Feb 4th at 11:34 AM

Grifthegnome

Hello, It seems the handbook doesn't display.
And this is the french translation

EDIT: I guess I it's not the texture intended. You can see my mods list in the chat windows

Picture Full size

💬 Aksyl, Feb 4th at 7:58 AM

I think walking over it shouldn't immediately trample sprouted grass. If anything, sprouted (eaten or greater) should be able to withstand being walked on. Maybe have it check for adjacency of sprouted grass too?

💬 GrifthegnomeAuthor, Feb 4th at 7:49 AM

Hydromancerx

They definately should not look like that. It looks very similar to the issue LarekFlynn was reporting. It's likely a conflict with another mod that touches the game's texture atlas. If you could post your modlist that would be great. I can compare it with LarekFlynn's list and see if there might be any culprits that would be causing an issue.

💬 Hydromancerx, Feb 4th at 7:37 AM

Are the trails suposed to look like this?

💬 LarekFlynn, Feb 4th at 7:35 AM

My current run has these mods:

<3>detonateredux@1.1.1, degrees1499@1.0.0, acorns@0.5.3, aculinaryartillery@1.0.16, advancedsmithing@1.3.0, africanmonitorlizards@1.0.7, Armorlite@1.1.0, arrowheadsrecovery_fork@1.0.0, asianmonitorlizards@1.0.1, axleinblocks@1.0.18, bamboom@0.2.1, bandedgeckos@1.2.0, beardeddragons@1.0.0, betterbricks@1.1.1, bettershears@1.0.0, buckets_stack_to_5@1.0.1, buzzwords@1.6.0, cairns11bigcairn@1.1.0, cellardoor@1.4.0, chiseltools@1.10.2, claycasting@1.1.4, Clothez@1.0.0, compass2@3.0.0, landformoverhaul@0.0.2, coreblast@0.1.2, creaturescan@1.0.6, directstrongtannin@1.0.0, driedpeat@1.0.3, dye_recipes_fix@1.0.0, easyjam@1.0.0, evaporite@1.0.0, extraclayforming@1.0.0, morecropsfix@1.0.6, fernslikegrass@1.1.0, fibersfromtwine@1.0.1, fieldsofgold@2.1.6, firewoodfrombamboo@1.0.0, flourbags@1.0.2, caninae@1.0.9, capreolinae@1.0.5, machairodontinae@1.0.1, pantherinae@1.0.9, free_stone_drops_when_broken@1.0.1, giantgouramis@1.0.2, hammercrushed@1.0.0, HangingOilLamps@1.0.1, healthiertrees@1.0.0, hideandfabric@1.3.0, immersivecorpsedrop@1.0.2, ingotheating@1.0.2, juicyores@1.0.0, knappingmastery@1.0.1, knobtailedgeckos@1.2.1, lanternliner@0.1.0, leopardgeckos@1.2.2, lessdeadlymushrooms@1.19.0, lowershield@1.0.0, millwright@1.1.3, moreclay@1.0.2, morecrystals@1.1.0, moredrygrass@0.2.0, morenails@1.1.0, moreparchment@1.0.0, MoreTorchHolders@1.0.0, MoveLikeKaji@0.0.5, nacatfish@1.0.1, nadarters@2.0.0, nasalamanders@1.0.0, newworldgianttortoises@1.0.3, pondfrogsiii@1.2.3, newzealandfrogs@1.1.1, nowaterproofinventories@1.0.1, unochre@1.2.0, oils@1.0.0, pondfrogsi@1.2.3, orepulverizer@1.1.1, pacificnewts@1.3.1, PartialLandslides@1.0.0, peacockbasses@1.1.2, pipeleaf@1.3.0, primitivesurvival@3.4.5, propickfix@1.0.0, unpfix@1.0.0, quicklimepk@1.0.0, rainfrogs@1.2.1, resinglue@0.0.3, rlmoonsun@0.1.1, salmonfix@1.0.0, salty@1.0.1, she1fish@1.2.0, shepherdmod@1.0.2, simplerails@1.0.0, speararrowheadbits@1.1.0, SpeedBoostCraftables@1.0.2, spiderwebtwine@0.0.1, sticksarefirewood@1.0.0, sticksfromfirelogs@1.3.0, thecritterpack@0.8.4, toolsneedcattails3@0.0.1, toolsplus@1.0.1, truesunfishes@1.1.2, usefuldrifterloot@1.0.3, game@1.19.3, zoombuttonreborn@1.6.0, abcsreborn@0.1.5, all_crates_matter@1.0.0, alpinestory@0.2.0, ancienttools@1.5.12, animationmanagerlib@0.5.2, beehivekiln@1.5.1, betterbloomeriesreborn@1.0.5, betterfirepit@1.1.4, betterpoultice2@1.0.2, betterstonepath@1.0.3, blacksmithenhancements@1.0.4, bodyheatbar@1.0.1, butchering@1.4.4, cancrops@0.2.1, canjewelry@0.2.9, carryon@1.7.4, Clumps@1.0.0, commonlib@2.3.2, composter@1.1.0, creaturekilledby@1.0.0, cuniculture@1.0.2, expandedfoods@1.6.8, extrachutes@1.0.0, extrainfo@1.7.0, farmlanddropssoil@1.4.0, helfavorite@0.3.3, fenceclimbable@1.0.0, fishing@1.1.5, fromgoldencombs@1.4.25, furniturelibrary@1.0.11, golb@1.0.0, glowingprojectiles@1.1.3, hardcoreutilities@1.2.0, herbarium@1.0.4, immersivewoodchopping@0.6.1, immersivewoodsawing@0.1.1, itemframe@1.0.0, sailboat@1.2.7, liquidcontainers@1.2.0, lubricant@1.2.2, medievalexpansion@3.13.1, metaltongs@1.1.3, meteoricexpansion@1.2.5, moreanimals@1.3.3, morepiles@1.5.0, moreplaster@1.0.2, mouse4and5@1.0.0, mcrate@1.2.0, naturalnight@2.1.0, nohandsfp@1.0.1, noheatresistantinventory@1.0.2, petai@2.2.3, pileful@1.1.2, postsandbeams@1.2.0, claywheel@1.1.0, resingluetools@0.0.5, rivers@2.0.0, scarecrow@1.4.3, simplecloth@1.0.2, simplestep@1.1.4, starvation@1.0.4, stonebakeoven@1.1.3, survivalexpanded@0.2.0, toolworks@1.4.2, usefulstuff17@1.3.1, vanillacratecompatibility@1.0.0, vanvar@3.3.0, creative@1.19.3, vsimgui@0.3.3, survival@1.19.3, whatbagwasthatagain@1.0.1, woodbarrels@1.0.4, woodchests@1.1.0, woodfp@1.0.0, workbenchexpansion@1.8.0, xlib119@0.7.4-dev.119, metalrecovery@0.1.19-pre.1, beehivekilnwithclay@1.0.0, betterbamboo@1.0.2, bugnetcompatibility@1.0.1, bullseye@2.5.2, cancropsprimitivesurvivalcompat@1.0.2, constructionsupport@0.1.2, dowsedinsalt@1.0.0, em@2.5.0, extraoverlays@1.4.0, feverstonehorses@1.6.0, flammablefirestarter@1.0.1, fsmlib@0.2.2-pre.4, maltiezbows@1.0.1, morefloors@1.3.0, onestick@1.0.1, pickupartist@0.2.0, pickupfast@1.0.2, playercorpse@1.9.0, helquickstack@0.4.2, slowfuel@1.0.0, stainedbeams@1.0.0, stonepiles@1.1.2, stonequarry@3.2.1, tallowcandles@0.1.0, thermalfracturing@0.2.0, treetapping@1.0.0, wildcraftfruit@1.1.0, wildcrafttree@1.0.0, xskills119@0.7.5-dev.1191, bricklayers@2.5.0-pre.2, maltiezcrossbows@0.1.4, maltiezfirearms@0.4.0-pre.3, statushudcont@2.1.1, tailorsdelight@1.2.2, bricklayerglassmakingcompat@1.0.2

💬 GrifthegnomeAuthor, Feb 4th at 6:59 AM

LarekFlynn

Currently, trail speed development speed is not configureable. I can look into adding speed of trail development in a future release of the mod.

As for the textures on the side of the blocks, the trail blocks are using the game's default dirt textures, do you have any mods installed that change or remap textures? If I could get the mod list you are running that would help me troubleshoot your issue. It looks like the blocks are getting their texture from the wrong position in the texture atlas.

💬 LarekFlynn, Feb 4th at 6:09 AM

The sides of the trail blocks have odd textures for me.

Also can the speed of foliage trampling be configured?

💬 GrifthegnomeAuthor, Feb 4th at 4:17 AM

Natural Trail Mod 1.0.2 is now live!
This version of Natural Trail Mod brings the promised evolving trails and some minor adjustments to snow trails.

Please note, this version of the mod will make changes to the geo of your world, so please backup any existing world where you intend to use this mod for and test the mod on a clean world to be sure you like what it does.

Please see the changelog for full details. Please send me feedback, bugs, and thoughts!

💬 Caoimhe, Feb 3rd at 11:27 PM

Looking at the screen shots its kind of unnatural how flat the trails work out to be. Vintage story has the tech for blocks of different heights, the gravel blocks when panning. What you might consider is making some of the more advanced paths a level or two shorter than a full block. This should help give the feel of the dirt getting impacted into the ground and being lower than the surrounding terrain.

💬 GrifthegnomeAuthor, Feb 2nd at 8:43 PM

This is the same scene on my server as I posted before, but with a new config setting,

"dirtRoadsOnly": true
 
This makes all trails of all levels above dirt road look like a dirt road. They function the same on the back end, but they will never look like stone path. I made this change on the rendering end, so I don't have to worry about changes introducing issues into the trail creation system.
💬 GrifthegnomeAuthor, Feb 2nd at 5:09 PM

Maus_Gamer Marlim

That's totally fair, it's very true that roads don't just magically build themselves. I did that for two reasons, one is so that folks can tell when a trail upgrades: there are in total 5 levels of custom trail block, and I'm not much of an artist, so coming up with 5 distinct visual upgrades for dirt was a challenge beyond my skillset. I used default game texture assets becaue all my art endevours looked gross :P. The other was purely aesthetic, I liked the idea of little wilderness camps evolving over many hours into towns with paved roads, but I didn't want to build those roads. That being said, from an emersive realism stand point: it absolutely doesn't make sense that roads would become paved because feet. With that in mind, I can look at adding a client config flag that allows players to set dirt only visuals on their client. All the blocks involved in the trail are custom, so the textures can be anything because they're not tied to any of the default game blocks. I'll probably add a config option like clientDirtRoadsOnly: true/false. This would mean that the upgrades tiers don't change on the server, but every upgrade above dirt road would render as a dirt road for the local player. In theory, each player could set this value seperately and see the type of trail they want. In the future, I can look into capping the upgrade level on the server using config settings, but at this stage, doing that could introduce issues into what is an otherwise stable build, and I'm hoping to get folks a solid version into folks hands without delay. I appreciate feedback!

💬 Marlim, Feb 2nd at 4:11 PM

Oh ok.
I agree with you, it doesn't make sense for a little road to turn into stone because it has high foot traffic.

💬 Maus_Gamer, Feb 2nd at 3:43 PM

Judging by the screenshots, i think the dirt paths eventually transforms into stone paths. If so, i'd prefer to limit the trails to just dirt roads and let the player decide or not to upgrade to stone paths.

💬 Marlim, Feb 2nd at 1:27 PM

If the traffic on the road is heavy, it turns into stone paths?

💬 GrifthegnomeAuthor, Feb 2nd at 6:34 AM

This is a bit of a teaser for folks, the trails on this map were generated entirely through walking as a friend and I played over the last week. I've reached a build that is stable, but I'm gonna hammer on it a few more days just to be certain. If I don't encounter anything major by the weekend, I'll relase Natural Trail Mod 1.0.2 with evolving trails and roads. In the mean time, for folks who are intrested, here are some of the paths generated by the current release canidate build. These were all generated in real time, over time, by our natural travel through the environment. The more highly trafficed the route, the more developed the trail/road becomes. They also return to nature over the months if they are not regularly used. I also added the abiltiy to make cairn trail markers so you can mark trails and help define routes you can see in the winter. Let me know what ya think!

 

💬 Bushranger, Jan 31st at 1:21 PM

That sounds incredible. I love dynamic trails in games and it is rare to see. What an awesome addition :)

💬 GrifthegnomeAuthor, Jan 29th at 7:29 PM

Caoimhe

I totally get what you're saying. I tried implementing a random probability model but moved away from it, as the resulting trails weren't reliable or particularly aesthetic. I currently have a system implemented locally that I am soak testing on my own server that uses custom trail blocks and evolves a trail from trampled dirt all the way up to a major stone highway based on frequency of foot traffic. It also handles the deevolution of unused trails over time. So far, the results are performant and promising. For folks who are intrested this is the system as currently implemented:

These rules apply to all creatures

1. Walking over grass, flowers, and small plants tramples them and slowly wears the grass off soil blocks. This looks particularly neat in grasslands and thickets, as you start to get a nature trail feel. (Crouching prevents foliage trampling) (Crops and Large Plants like reeds are immune)

2. After a block is walked on enough it gets worn down to a bare soil block. (This leads to naturally worn down areas where animals are eating and foraging heavily).

Beyond this point, only players can progress blocks into trails and roads, each level provides a slightly better walk speed enhancement (To reward you for establishing good routes)

3. A soil block that is stepped on enough becomes a trampled soil block.

4. A Trampled Soil Block becomes a Wilderness Trail.

5. A Wilderness Trail becomes an Established Trail.

6. An Established Trail becomes a Dirt Road.

7. A Dirt Road becomes a Highway.

Note: All of these blocks maintain their soil fertility value, so trails will not destroy the underlying soil quality. Destroying a trail block will drop the base soil block type.

All trail blocks devolve level-by-level back towards bare soil over time if they are not used.

The system is currently tuned so that trails only evolve into higher tiers if they are used heavily and regularly, so dirt roads and highways will only occur in and around player bases and major thoroughfares.

I am currently testing extensively, eliminating gameplay issues as I find them, as any mod that modifies world geo a runtime has to use particular caution.  That said, when I do release the system, I highly reccomend folks backup their worlds, and test the mod on a clean world, just to be certain you like what you see, as this mod will modify your world heavily and irreversibly with prolonged use.

💬 Caoimhe, Jan 27th at 3:32 AM

@Grifthegnome Tracking frequency sounds like a lot of work and a lot to track. A random probability would take up far less resources, and would still track frequency simply by virtue of the probabability getting rolled more frequently. You can do a different probability for the path to progress to the next step for each level of progress and a timer for it to revert to the previous step. A more well worn path would take much longer to return to a less used state. Paths should appear naturally and fade naturally too. Simply making the first step almost always progress to the second would make tracking possible, which would be really cool.

💬 GrifthegnomeAuthor, Jan 26th at 10:49 PM

DarkThoughts

Correct, I am currently working on a system for tracking how frequently trodden a block is to allow me to slowly evolve it from block with grass to bare dirt block, to packed dirt block, to path, etc. It wouldn't be based on chance so much as freqency of use. So the more creatures and players walking a route, the more quickly it would become a trail. Basically, if you walk the same routes frequently, they will evolve into roads over time. That's the dream.

A key note being I'm going to absolutely exclude farm fields.

I also have changes I'm testing locally for creatures of diffrent sizes leaving diffrent trail widths.

💬 DarkThoughts, Jan 26th at 6:01 PM

Footpaths meaning in the grass? I'm guessing by entities walking over things having a chance to reverse the growth of the grass block and eventually turning the soil blocks into packed dirt?

💬 Tels, Jan 26th at 5:16 PM

Wonderful, I've always dreamed of a more dynamic landscape! This mod reminds me of "Dirt Path" from Factorio. \o/ Please continue to work on this.

💬 Marlim, Jan 25th at 11:36 PM

I'm looking forward to seeing the trails form with the traffic.

💬 Marlim, Jan 25th at 5:20 PM

I liked the idea of this mod, it makes the world more dynamic!

💬 Coleroni, Jan 23rd at 11:08 PM

can we get some screenshots pls?

💬 GrifthegnomeAuthor, Jan 23rd at 7:38 PM

Aksyl

That would be a pretty easy change to make, I'll look into it for the next version.

💬 Aksyl, Jan 22nd at 11:40 PM

I suggest only making the lake ice break only if there's water underneath. I assume this isn't already the case due to lack of mention in description.

💬 GrifthegnomeAuthor, Jan 22nd at 10:32 PM

ElegantChimp

Thanks for the feedback! I'll definately look into some of this stuff in the next itteration.

💬 ElegantChimp, Jan 22nd at 10:08 PM

I love the mod, one of those simple yet makes since kind of mods. I had some ideas that I would love to see implemented if your interested.

First, I would like to see a config for the chance for ice to break.
Also, I would love to see some variety to the chance to break ice. I'm thinking it would be nice to have it so that the colder it is, the less likely ice would break. Something like -20c has a 1% chance, -10c has a 5% chance, and so on. Also it would be interesting if running/sprinting had a higher chance then walking.
Finally, I noticed that there is little to no difference between the tracks of different animals. A bear and a chicken have the same trail in width. Hard to answer with the block limitation, but maybe you could limit how many layers of snow broke when something walked over the snow depending on the size, such as a chicken will only damage the top layer, while a bear will break all but the last layer (how it seems to be set up now for everything).

That all being said, I love the mod and in its current state I will definitely use it.

💬 DanaCraluminum, Jan 22nd at 7:07 AM

Please add image

💬 JecoDraco, Jan 21st at 6:10 PM

Awesome!!!

💬 bringitonwimps, Jan 21st at 3:56 PM

OMG!.. YES PLEASE!

💬 ATree, Jan 21st at 4:09 AM

:-O

(edit comment delete)