Jump to content
  • 1.22.0-pre.1 - Fishing, Mechanisms, Metalworking and More!


    Dear Extraordinary Survivalists
    v1.22.0-pre.1, a preview release, can now be downloaded through the account manager (section "Other Goodies").

    Preamble
    Its a crispy cold winter day here at Anego Studios HQ and I get the privilege to write another one of these. What could be better than a snowy day, hot coffee and a juicy fat game update blog post 😁  And ... looks like we will manage to hit our aspirational release cadence - 7 months, to the day, have passed since the preview release for the last version, 1.21.0-pre1.

    The goal of this update was to enrich Vintage Story with new game mechanics to the max! I personally spent a lot of time writing code for many of the planned features in this update. If I had to pick a favorite, it was programming the new 'displayable' system that lets you place items on shelves with voxel precision. It originally started out as a request by Saraty to have clothing shelves - but I already knew where this would be going.... As soon as we would add clothing shelves, players and team members alike would request these shelves to be usable also for other items. And vice versa, for clothing to fit on the old shelves. So I set out to just solve this once and for all - with a universal shelf placement system. It was an intriguing coding journey - going off by intuition at first, to eventually finding tidbits of elegance in some of the solutions, to a fully working system that created a solid, modular and readable code architecture. We will be adapting this new system to the old storage blocks as well, eventually.

    It's been a hectic last few weeks. Many in the team are rushing to squeeze in as much content as possible before we get to a feature freeze. Meanwhile we had the arduous task of moving the hosting of the main site to our own hardware while minimizing downtime, we are actively hiring, several new projects are in planning and I lament that this frosty Latvian winter will likely kill off my blackberry bush 😅

    Project Nex and Project Glint are also beginning to really take off, with the Glint team impressing me with their clever use of existing game engine features in ways I never expected. We'll get to show stuff on both projects Soon

    But this blog post is about Vintage Story and dayum do we have much to present to you this time! Get yourself comfortable, it will take some time to get through all of this.
     

    Pre-Release Disclaimer
    1. This first preview release is an unfinished update, mostly intended for modders and very adventurous players. You will encounter major bugs, overpowered or underpowered features, incomplete content, possible performance issues and crashes.
    2. Further preview releases (including fixes for bugs in pre.1) will only be posted in Discord #news and on info.vintagestory.at and not on this blog. As usual, a new v1.22 blog post will then come when the first full release candidate (rc.1) is ready.
    3. If testing 1.22 on an old world from 1.21 or earlier, we strongly recommend making a backup copy before loading the world in 1.22.
    4. We advise against starting a new permanent world with 1.22.0-pre.1. Pre-releases tend to break things. We specifically intend to add new worldgen in later preview versions after pre.1 (but before rc.1). You should therefore plan on starting a new world again, once rc.1 is available. 
    5. We recommend disabling all your previously installed mods when testing 1.22.0-pre.1, until the mods have had a chance to update for 1.22.
    6. For moddersIt's very possible that we introduced mod API changes that are not intentional. If you come across something incompatible with your 1.21 mod and it does not look intentional, please do let us know and we might be able to adjust that in a subsequent release. 


    September Roadmap Scorecard 
    In September 2025, I announced a 1.22 feature roadmap - we got most of it into this update with some exceptions and caveats:

    • Quenching, Tempering and Grinding wheel
      These are new game mechanics that let you alter the properties of a tool or weapon, but in a balanced way. Please be aware that this is our first preview release, so as with all newly added mechanics this might be underpowered or overpowered. We will balance things as we build towards a stable release.
       
    • Fishing (Rod) System
      Probably one of the most anticipated mechanics, this is a thing now. The catching mechanic itself is usable but not fully polished for now because just getting there was big undertaking. We had to do a large amount of tweaking for fishing to even make any sense and remain balanced in VS. Here's a summary:
      • Fish no longer spawn in puddles (tiny ponds)
      • Freshwater fish no longer limited to just 1 kind - there's now over 20 varieties of freshwater fish
      • Melee attacking a fish makes them escape instantly
      • A killed fish is no longer an entity that sinks to the bottom and needs to be harvested - instead it turns into a collectible dead fish
      • Fish can be cut for fish fillet for cooking (in a later pre can be cooked on the firepit as a whole)
      • Added a decent fishing rod & line physics simulation, which was a personal pet peeve of mine
      • Fishing an area depletes it, so you cannot endlessly fish in the same place
      • Fishing is diverse - you get different fish based on the climate and the location you are at
      • The fishing rod lets you catch the actual fish you see in the water but also beyond that you might get extra catch - for example (but not only!) juvenile variants of the same fish
      • You need fish bait. Without it, fishing takes a lot longer. We added a worm grunting system and 2 new crops for you to acquire a few types of fish bait
      • Worm grunting lets you collect earthworms in warm and wet areas, but also depletes locations if over-used
      • Caught fish can be made into a trophy item using taxidermy. Including a few very rare special catchables...
         
    • Rivers
      The roadmap entry mentioned "researching the feasibility of Rivers". We did just that. Around 300 man-hours of it. It's not quite there yet, but we will keep working on it. River generation is something that, if we add it, we want it to be a high quality addition, so this will take time. 
       
    • Procedural dungeons: Not yet part of 1.22.0-pre.1 but we feel confident that at least a first proof of concept will still be in 1.22.0 stable. 
       
    • Status Effects System and Item Heating Overhaul: Will have to be postponed to another update, unfortunately.
       
    • Berry bush rework: Still planned for 1.22
    • Elevators: Nope, but likely instead Sawmills for 1.22
    • Waterwheel: Is in the game, but needs more work.
    • Beyond that, we plan to further tweak pre.1 content. Amongst other things:
      • Add heat resistant mechanical power blocks
      • Fix spur gears having placement limitations
      • In-wall axles need a rework

     

    1.22 notice to players
    Several game mechanics have changed in ways you might not expect and which you may need to prepare for.

    • Item heating: We intended to completely overhaul item heating but alas, we haven't managed to tackle this yet. As as interim solution, heated items in the firepit no longer reset their temperature after one item in the stack has been smelted/cooked. But also heating duration is now proportional to their stack size.
       
    • Mechanical power changes: Please be aware that once we reach v1.22.0 stable, existing mechanical power builds that have been up-geared at least 3 times will ignite. You can test your game world (make backups first!) in any of the pre-releases or release candidates to see if your mechanical power builds are at risk - in these preview releases they will only emit smoke but not catch fire. We hope to still add to 1.22.0, second tier, sturdier mechanical power parts to counteract this change. Please also be aware that, placing windmills too close to each other will now cause turbulence and reduce their effectiveness by 50%. You can now craft a newly added Large Windmill instead, to satisfy your dreams of ultimate power. 
       
    • Nibblers: We've discovered a bug that prevented animals like hares from eating player-planted crops since 1.19. This is now fixed. Make sure to protect your crops!
       
    • Glacier Ice: Any glacier ice block placed by a player will now turn into a variant that will melt if ambient temperature is above freezing. Any previously placed glacier ice will not melt like this, until broken and placed again.
       
    • Spears: Iron spears have been added but, in turn, spears of tiers below iron have been nerfed.

     

    Screenshots and Gifs

    Added cabinets and much improved storage system, allowing voxel-precision mixed item placing on cabinets, including books, clothing, chiseled figurines, all previously storable 1.21 items, and more! Cabinets are wood typed and can be upgraded with cabinet doors.
    cabinets.thumb.png.c75963259ca08e4f6543ea2e90a7830b.png

    Added mannequins to display your clothing
    mannequins.thumb.png.8e0c4d2e42f624c5396b80e809c91d42.png

    Added over 20 species of freshwater fish
    fishy.thumb.png.6071249b630a716ddffee58736d0270e.png

    Fish behavior rework. They now quickly escape melee weapons and killed fish are collectible as a whole
    vroooom.gif.99e756131672159408cd9ae06c7d812f.gif


    Added fishing system
    fishingpole3.gif.98828a9018b6c3e44fa1ad056361756c.gif

    Added Taxidermy for caught fish. Displayable on the antler mount block - now renamed to just "Wall mount"
    taxidermy.thumb.png.7daa35e2d5c1acfb8184399e48a076aa.png


    Major forge rework. Updated model, added optional bellows, added metal tongs, fuel types matter now, and more
    forgerework.gif.ea7d2ac830f639f517006645fd36204b.gif

    Tool head quenching and tempering system: Quench items to improve their power value or durability (but not both)
    quenching1.gif.38bd58b5b3ea2345953de86117d2b4b0.gif

    Added grinding wheel. Lets you sharpen tools for a critical hit bonus (WIP)
    sharpening2.gif.92c4b935a72a31e7f04635634f6b124a.gif


    New type of rivulets: The Rapids. A comparison with the standard rivulet on the right
    rapidwater2.gif.3e0b5e66c7658fc541cf59ec3af8d469.gif


    Added waterwheels
    waterwheel2.thumb.gif.7123c725f99a261b14503f9a07ed9010.gif

    Mechanical power upgrades: Added large windmill, in-wall axles and spur gears (WIP)
    mechpower.thumb.gif.6366b31a5aced46630da5e7b94c95986.gif

    Too high speeds can now overheat mechanical power blocks, and starting from 1.22.0 stable will ignite
    singing2.gif.63261f3153cf123b1c2e4ea2163add78.gif


    Fully rebuilt trader outposts
    trader1.thumb.png.c4cc9d5b19449296fab48ecf5f7ab4da.png trader2.thumb.png.a6dc1825cdfee1e6dbd7ec92d847538d.png trader3.thumb.png.383e02d9166438779cf51e7ef4580a94.png

    Trader clutter: By 1.22.0 stable, trader outposts will be further individualized to the type of trader inhabiting the place
    tradertables.thumb.png.0a4a52ecbfc56dbd8093322f0f078a0a.png


    Oil & Fat mechanic rework
    oil.thumb.png.9aca9c920eb2551fc4809306796f8580.png


    Added iron and steel spears. Each spear now has its own spear head model
    spearheads.thumb.png.8e8d736145028f95372e58bac5348c12.png


    Boar rework: Full model overhaul. Added huge variant, warthogs and red river hogs. 
    hogs.thumb.png.2c8ef5108be8fa05ffa15a06e3bd504f.png

    Two new farm-able crops: Fennel and Licorice - specifically added for fishing
    crops.thumb.png.a3343bd6e46bb8f1308ec1930ea56ef3.png

    Eight new Mushrooms
    mushroom.thumb.png.108e62b773bf88d5e1a76da420aebc9f.png

    Added side effects from eating certain mushrooms
    psychedeliceffect2.gif.769ea1173c86034552d6436ea54a6102.gif


    Four new flowers: Bluebell, Ghost pipe, Daffodils and Mugwort
    bluebells.thumb.png.431a14cb3f470b93f42d3157ad707475.png

    gostpipe.thumb.png.a619a366bdbedc2d3aec7a04e5eb6f77.pngmugword-daffodil.thumb.png.e044fc2d51d0beb54a43130273499115.png

    Refined tule plant textures
    tule.thumb.png.84fd69817836c76541204d113e3c0f91.png

    Added 6 new hair colors
    haircolors.thumb.png.e8f6b87c0f40cd20b237f1a89b9ad8eb.png

     

    Papyrus chests now have their own model and texture
    papyrus.thumb.png.ce83bb2094fd5bdec9a72d6d6e3745bc.png

    Sleek doors texture rework and they now have a glass window
    doors.thumb.png.6aabfe0cdf4f2789ac3d8de8190fd0ab.png

    Oil lamp model reworked and ground storable
    oillamps.thumb.png.a3b99a54ad613a4fb8a67e3b8b016537.png

    Added wood typed ladders
    ladders.thumb.png.473effe8b7e2c27d632e3b11cd056c41.png

    Added 8 new variants of storage vessels
    vessels.png.36ba2d3db39a5110b10ecb6dc751fc64.png
     

    Added earthy orange ceramic color
    earthyorange.thumb.png.1bafe7d32b180e3446aea920725be48a.png


    Added travertine rock type and block variants
    travertine.thumb.png.90c4182d6934fea3646687c73be4e001.png

    Added survival mode craftable clay tiles
    tiles.thumb.png.b95906f572b9309bbe5d76606852edc5.png

    Tweaked glass textures. Smaller frame and textured reflections
    glass.thumb.png.f8ef06f88e07ee6de6cac58302873c47.png

    More new blocks: Aged acacia planks, aged bookshelf, fence and scroll rack (the previous aged ones are now "very aged"), leather decor, smaller lanterns and light mudbrick slabs
    agedblocks.thumb.png.5dbc2bb1b70a760dd459586b9b1ef419.png

    Can now attach chiseled figureheads to sailboats
    chiseledfigurehead.thumb.png.0315de768c637c26585d833a6125c5cc.png

    Added crowbar for easier removal of wooden beams
    crowbar.thumb.png.ae67527ab16e55546ab271bac2b5c0f5.png

    Added crock labels for fruit jam
    jamlabels.thumb.png.70c2406443f116d0d9cabb4d70194c3d.png

    Placed backpacks can now be opened
     openablebackpacks2.gif.36745c74052d1933911ceb6a2ef4da4c.gif

    Creative mode tool: Can now place decor (such as moss or dust) on most blocks
    overlays.thumb.png.d2a39c7e223db522c5415bba5aaa59b1.png

    Creative mode tool: Added entity mover wand
    entitymover2.gif.62ad6bee8afca03ba47a0663ba21820c.gif

    Game updates

    • Feature: Fishing System
      • Fish rework
        • Added over 20 species of freshwater fish
        • Fish now require large bodies of water to spawn
        • Killed fish no longer sink to the bottom, requiring to be harvested. Instead they float up as a collectible item
        • Fish now flee very quickly if melee attacked.
      • Fishing pole
        • Craftable fishing pole from sticks or bamboo
        • Casting with a fishing pole launches a bobber, which floats on the water and signals when a catch happened
        • The fishing pole catches fish that you can physically see and sometimes also small, juvenile versions
        • You can also (very) rarely catch 8 rare collectibles exclusive to the fishing system.
      • Fish distribution system
        • Fishing in the same location eventually depletes the fish in that area
        • Different types of fish can be found at different locations, so you will need to travel to find every kind of fish.
      • Fishing bait
        • Without bait, catching a fish will take much, much longer 
        • Added Earthworms and Worm Grunter to catch earth worms. Earth worms frequency depends on rainfall and temperature and also depletes over time if over-harvested in a given location
        • Can now cook stink baits from fennel and licorice plus meats and dough.
      • Fish collecting
        • Dead fish can be preserved (taxidermy) and placed on mounts for display. Added zinc sulfate and crushed sphalerite, which is required for the taxidermy process.
    • Feature: Forge rework
      • Added fancier Forge model
      • Tongs now have durability. 1 durability point is subtracted per each item picked up
      • Added metal tongs, which provide 10x to 100x the durability of wooden tongs
      • Added bellows. Reaching higher temperatures in your forge now requires a bellows
      • Forge fuel types. Fuel quality now determines heating temperatures and duration
      • Can now also heat up tool heads in the forge
      • Creatures standing on lit forges will now get damaged
      • Glowing hot ingots can ignite unlit coal in the forge
    • Feature: Quenching and Tempering system
      • You can now improve their power or durability of tool heads by quenching them, but at the risk of potentially destroying the tool instead
      • The chance of destruction can be reduced by tempering the tool, but with diminishing returns each time you temper
      • Quenching can be done in barrels of water or pools
      • Throwing hot items onto lake ice will cool them down and may melt the ice
      • Covering the tool heads with clay before the quench increases durability, if uncovered increases the power value
    • Feature: Tool buffing system with the grinding wheel
      • Added grinding wheel to sharpen bladed weapons
      • A sharpened weapon adds a critical hit chance, at the cost of durability. A critical hit is +100% damage
    • New Sound Tracks
      • Added "Latvia" sound track, plays at Latvian latitudes 😉
      • Added 4 village exclusive tracks, one per season
    • Feature: Added footstep sounds to the wolf and the bear
    • Feature: Allow chiseled blocks to be placed on sailboats
    • Feature: New collectibles and craftables
      • Feature: Added craftable clay tiles in all standard clay colors, which can further be turned into blocks and slabs
      • Feature: Added new small lantern
      • Feature: Added iron and steel spears, but de-buffed the lower tier spears
      • Feature: Added travertine stone, which can be made into ashlar and tiles
      • Feature: Raccoons and foxes now drop species-specific hides, which can be made into fur hats
      • Feature: Added oils (flax/linseed, olive, fat). Raw fat now can spoil, and can be cooked into rendered fat, which does not spoil. Liquid rendered fat will solidify after several hours. The solid item form of rendered fat (for use in grid recipes) is obtained by dumping the solidified fat from the container it's in, onto the ground.
      • Feature: Steel anvils can now be crafted in survival
      • Feature: Added pot pies - this allows you to create mixed meat & vegetable pies
      • Tweak: Added wood-typed ladders
      • Tweak: Added light mudbrick slabs. Allow low fertility soil in mudbrick slab recipes
      • Tweak: Added "earthy orange" ceramic color for pit-kilned red clay items
    • Feature: Added 4 types of survival mode craftable mannequins (full body, leg, head, torso) which allow you to display your clothing
    • Feature: New flora
      • Added 2 new farmable crops - fennel and licorice. Both will spawn in the wilderness, and can be used to make stinkbait for fishing. Fennel is also an edible vegetable, but licorice is not
      • Added four new flowers! Bluebell, mugwort, ghost pipe and daffodils
      • Added 8 new rare mushrooms. Most with visual "side effects" when eaten. (Honey mushroom, Blue Meanie, Fool's Conecap, Gold Cap, Liberty Cap, Sickener, Wavy Cap, Laughing Jim)
    • Tweak: Block overhauls
      • Glass texture is now redone: full blocks have a smaller frame and all glass blocks now have textured glass reflections
      • Ceramic oil lamps have a new model, and are no longer made from bowls. They can also now be hung from the ceiling
    • Feature: Mechanical power updates
      • Feature: Added large windmill
      • Feature: Added in-wall mechanical power axles
      • Feature: Added waterwheel (WIP). Needs to be placed on rapids (fast-moving water)
      • Tweak: Nerf! Windmills now cause turbulence within a radius 1.5 times the sail diameter (meaning 15 blocks distance required between two maxed windmills) 
      • Tweak: Creative rotor is now roughly 7x more powerful, uses a similar torque display as the windmill and allows independent adjustment of speed
      • Tweak: Helve hammer no longer has exponential power cost as speed goes up [it caused mech. networks to oscillate heavily]
      • Tweak: Starting from 1.22.0 stable (so not yet!) mechanical power blocks will ignite if they rotate too fast. They will smoke for a while before igniting, for an early warning
      • Fixed: Axle stands on north-south oriented axles that are attached under a block were incorrectly rotated
    • Feature: Added 4 small optional side quests offered by the villagers
    • Feature: Added 6 new seraph hair colors the player can select from in the character creation screen
    • Feature: Hacked locust improvements
      • Feature: Tuning spear now has an additional tool mode allowing you to call back your tamed locust
      • Feature: Can now heal and revive hacked locust with metal parts
      • Fixed: Hacked locust jumping after player as if attempting to attack them
    • Quality-Of-Life improvements
      • Feature: Held bags that are placed on the ground can now be interacted with
      • Feature: Added crowbar, which lets you remove the most recently added support beam from a block
      • Feature: You can now attach crocks to the elk's left and right front storage locations (they will not, however, have labels shown while attached)
      • Feature: When hovering over or grabbing a wearable item in your inventory, the proper slot for that item in your character inventory will be highlighted
      • Tweak: Allow bulk placement of metal bits in ground storage
      • Tweak: Flower pots can be placed on shelves
      • Tweak: Can now slice pies using knife in crafting grid
      • Tweak: Dirty pots can now be stored on the elk, like regular cooking pots
      • Tweak: In the map, the "Add Waypoint" dialog now remembers previous Waypoint names and suggests them. Suggested names can now be deleted with a single backspace stroke.
      • Tweak: The red in-game error texts now have a black border around them to make them easier to read
      • Tweak: Bowls show satiety of remaining food portion only when the bowl has less than a full portion of a meal in it
      • Tweak: When drinking out of a bowl, you must split the stack to drink, like all other bowl actions
      • Tweak: Can now use a shovel to dig up cattail roots, faster than using a knife
      • Tweak: Exiting the game via Alt+F4 (or [X] in the game window) now fully saves your world
      • Tweak: No more 1-second delay on picking up mined items
      • Tweak: Collapsed chests in ruins now fall apart into chest rubble once they are empty
      • Tweak: More intense low health / low satiety alarm visuals
      • Tweak: Collectible tool tip "Attack power: -{0} hp" is now "Attack power: {0} damage"
      • Tweak: The Controls settings tab now correctly shows again if a keybind conflicts with another keybind
      • Tweak: When using 1-click mod install, the game autofocuses now
      • Tweak: Mod manager improvements: mods are now downloaded in parallel; mod release retractions are now respected
      • Tweak: Block remapping on game version updates now applied automatically on first run of new game version. The dialog "This save game was created with an older version of the game ... a remapping and reload is required" should now be a thing of the past [and /fixmapping applyall should now never be necessary]
      • Fixed: You can no longer waste a poultice attempting to heal a fully dead elk
      • Fixed: Multiple issues with selection boxes of support beams
      • Fixed: Player viewing direction jumping after exiting an inventory
      • Fixed: 9 year old bug in the cinematic camera system where sections of the path were running at different velocities (credit: ImNuts42)
    • New In-World Interaction capabilities
      • Feature: Oil lamps now use the ground storage system - in other words one can place them in quadrants, and mixed with other items
      • Feature: Can now remove the head of a ground placed bear pelt
      • Feature: Sieves, and saddle blankets can fit onto shelves
      • Feature: Liquid containers on shelves can be interacted with directly
      • Feature: There is now a new ground processing system that allows for simple crafting processes of ground placed items
        • Can now scrape ground placed soaked hides
        • Can carve bone flutes from ground placed bones
        • Can saw long bowstave into recurve bowstave on the ground
        • Can shear parchment out of scraped small hide on the ground
        • Can smash ore chunks on the ground using a hammer
      • Tweak: Tool heads can now be placed on the ground
      • Tweak: Weapons can now be placed on antler mounts (but not tools)
      • Tweak: Stick, cattail, and papyrus piles now hold 2-3x more items.
      • Tweak: A pile of thatch on the ground now holds up to 18 items
      • Tweak: Papyrus tops pile transfer quantity raised to 3
         
    • Gameplay balance affecting changes
      • Tweak: Grain crops now have half the yield in grain and fiber, but spawn in patches twice as large during world generation. The net effect to be requiring larger fields for equivalent grain production compared to previous versions
      • Tweak: Iron and Steel spears added. Other spears nerfed to make room for them
      • Tweak: Glacier ice and packed glacier ice that have been collected and placed again will begin to melt, if the local temperature is above freezing
      • Tweak: Improvised armor now also requires rope
      • Tweak: Armor stand now has more intuitive attaching of items
      • Tweak: Can no longer grid craft stuff from hot items
      • Tweak: Hunter backpack recipe can now produce two backpacks from one huge pelt. Using a large pelt returns a small pelt, in addition to the backpack. Using a huge pelt for fur gloves returns 1 small pelt.
      • Tweak: Treasure Hunter trader offers only a 25% discount on subsequent elk purchases in exchange for another eidolon vessel
      • Tweak: Added a few usable storage blocks to the Resonance Archives entrance
      • Tweak: Reduced spawn radius of mobs in the Devastation Area, so players are more likely to encounter them
      • Tweak: Removed grid crafting crock sealing recipe in favor of other (in-world) methods
      • Tweak: Horsetail no longer qualifies as bee or butterfly feed
      • Tweak: Reviving a player no longer restores satiety to 50%, now leaves it unchanged
      • Tweak: Balanced with the addition of small lanterns, the original large lantern now costs twice the glass and metal 
      • Fixed: Crop growth was 10% faster and consumed 10% less nutrients than intended
      • Fixed: Salt lake beds were not generating during worldgen (in very dry and warm areas)
      • Fixed: Farmland crops consumed slightly less soil nutrients than intended
      • Fixed: With stacks of items in the firepit, finishing cooking one item no longer resets the temperature of the input stack, but a stack's warm-up time is now longer for larger stack sizes
      • Fixed: Material transmutation/dupe glitch with chiseled blocks (technical info: Output chiseled blocks no longer have multiple of the same materials plus only consume every unique input material once)
      • Fixed: Peanuts did not give a satiety bonus in meals
      • Fixed: Cassava would dry out even while in a meal
      • Fixed: Resonance Archives gasifier would burn fuel too quickly
      • Fixed: Baking an item in an oven would reset the spoilage timer
      • Fixed: Cheese wheel would reset freshness each time a slice was cut off
      • Fixed: Lava that turned water into basalt/obsidian did not delete the water
      • Fixed: Very broken behavior when lava flowed into a water source block (turned water source block into basalt in large strange patterns)
      • Fixed: Luxury trader was still selling gold omok pieces
         
    • Creature behavior changes
      • Tweak: In closed spaces, Bowtorns now evade the player more intelligently - and if they can't they will begin firing on you
      • Tweak: Sun bears will now break skeps and steal berries off bushes
      • Tweak: Slightly slower creature look around speeds
      • Tweak: Saltwater fish spawning now more accurately matches where the species would exist in real life
      • Tweak: Panda and brown bamboo spawns changed to overlap, so pandas appear with bamboo more often. Panda range has moved south, and brown bamboo range has moved north
      • Tweak: Brown bears will drop a little more fat
      • Fixed: Animals would never eat planted crops
      • Fixed: 23 types of butterflies never spawned
      • Fixed: Bighorn sheep now live in dryer regions rather than wetter ones
      • Fixed: Inconsistencies in raccoon climate conditions
      • Fixed: Missing minimum temperature for tang fish spawns
         
    • Creative Mode additions
      • Feature: Can now place decor layers, such as moss, on almost all blocks (not only full blocks): for example, storage vessel or chest (but placement on plants is not possible)
      • Feature: Added leather decor overlay block - "sheet of stitched leather"
      • Feature: Added aged acacia plank blocks
      • Feature: Added "veryaged" variants of wood fence, bookshelf, and scroll rack.
      • Tweak: Add chiselable full block stone path
      • Tweak: Added ruined metal door variants
         
    • Tweak: Thrown stone improvements
      • Bricks, stonebrick, refractory bricks are now also throwable
      • Fixed: thrown stones could still deal damage even when PvP was disabled or the attackplayers/attackcreatures permission was revoked.
      • Fixed: thrown stones would make no thud sound if they landed close to the throwing player
      • Fixed: when skipping stones, splash particles would not spawn and some stones could get forever stuck floating above water
         
    • Handbook improvements
      • Feature: Handbook search is more flexible with better results
      • Feature: Handbook shows which animal eats which food, on food pages
      • Feature: Handbook shows trappable animals on trap pages
      • Feature: Show what plants can go in which flowerpots and planters in the handbook
      • Tweak: Handbook now shows items that can be created at various workstation blocks, like fruit press or anvil
      • Tweak: Show the days or years required for an item to perish in the handbook, rather than only the hours
      • Tweak: Animal traps and troughs included in storable information in handbook
      • Tweak: Omok table and pieces included in storable information in handbook
      • Tweak: Show destroyed animal traps in the handbook
      • Tweak: Handbook display of smithing recipes improved
      • Tweak: Handbook display of metal molding improved
      • Tweak: Better spacing for beehive kiln results in the handbook
      • Tweak: Quern handbook entry now mentions that the quern can be powered by hand, as well as by machinery.
      • Tweak: Searching the Command Handbook, search results in long pages go to the (first) position of the search text
      • Fixed: Handbook wattle and daub entry incorrectly stated the initial daub application as 10 items (it is actually 6).
      • Fixed: Handbook will properly show the grid crafting recipes on the appropriate nugget pages instead of all on the copper nugget page
    • Visual fine tuning
      • Feature: Added fruit labels for jam on crocks
      • Tweak: Improved OIT rendering system which should fix oddities when half transparent geometry is on top of others (e.g. clouds behind windows)
      • Tweak: Scene shader tweak  - prevent complete whiteness on overly bright surfaces
      • Tweak: Tule model and texture reworked
      • Tweak: Spears have new spear head models, each metal with a unique design.
      • Tweak: Sleek wooden doors now have a glass plane and have a smoother and more bespoke texture
      • Tweak: Lowered the threshold for villagers to get a frost overlay, and made the face never freeze over
      • Tweak: Cow parsley, heather, western gorse and orange mallow flowers now uses the old, more simplified model again
      • Tweak: Anvils now use holdbothhandslarge idle animation, rather than holdbothhands.
      • Tweak: Aged and very aged wood textures should now be more consistent across all blocks and items. Renamed "aged wood" to "aged oak"
      • Tweak: Nicer first person hand transform for slabs
      • Tweak: Papyrus chest now has separate shape from reed chest
      • Tweak: Tool heads now have sockets where appropriate
      • Tweak: Iron and steel pickaxes have revised model
      • Tweak: Ratlines now have knots at the intersections
      • Tweak: Wolf holds its tail straighter and lower
      • Tweak: Bear textures revised, and each bear now has its own model, to avoid drastic json scaling
      • Tweak: Cooking pot model now has rope cradle when attached to elk
      • Tweak: Seraph rendered into GUIs are now animated
      • Tweak: Saltpeter and other powders and crushed materials scaled up to be more visible when dropped on the ground
      • Tweak: Redid Brass Ruby Brooch model to more match original vision
      • Tweak: Stone path stairs and slabs now extend 1 voxel 'below ground' to cover the gap that can be left by regular path blocks.  Stone paths now use wildcards to randomize texture, rather than alternates.
      • Tweak: Updated existing leather colors to be less bright. Added running stitch variant for all leathers.
      • Tweak: Messy12 ground storage changed to be spaced more evenly
      • Tweak: Better line up text lines and checkboxes/sliders in the settings interface tab
      • Tweak: Weather system: Don't spawn snow storm particles when above 5°C
      • Tweak: Fixed items way to strongly wind affected when in hands
      • Fixed: Long standing visual bug where harvesting reeds sometimes overextended the players arm
      • Fixed: Pie dough sides were unusually dark when placed besides blocks
      • Fixed: Make particles use proper multiblock collision
      • Fixed Fortune Teller Hip Scarf model z-fighting with gambeson
      • Fixed: Some block breaking overlays were incorrectly applied
      • Fixed z-fighting on sloped (main) roof segments
      • Fixed: Seraphs shoulders clipping through in "hold both hands" pose
      • Fixed: Camera jitters and ridden elk occasionally stopping when mods modified too much player data
      • Fixed: Animation jerkiness on traders
      • Fixed: One line break too much in the block info HUD in some cases
      • Fixed: Stretched UVs on axle and aged armorstand
      • Fixed: Some tool heads had bad origins and so would do crazy flips when tossed
      • Fixed: Flowing lava blocks now start their particles at the correct height
      • Fixed: Some texts off vertically by 1 pixel
      • Fixed: Incorrect feathers texture on arrows
      • Fixed: Player yaw jitter when closing chat window while in overhead camera mode
      • Fixed: Short rotation flicker right after placing certain blocks (with rotatable block entities)
      • Fixed: Rare flashes of X-ray vision when breaking blocks next to a chunk boundary
      • Fixed: Seraph from the character dialog clipping through creative inventory
      • Fixed: Holding a pulverizer frame would obstruct player view significantly
      • Fixed: 'Plain glasses' lenses were not on transparent renderpass, and so had X-ray vision
    • Tweak: Sound additions
      • Lots of internal preparatory work for foot steps sounds
      • Charlemagne entity has a new sound set
      • Added more Wolf sounds for variation
      • Added 2 dive attack sounds to the second boss
      • Seraph hurt sounds are now shorter when the damage is low or when it's from frost or poisoning
    • Tweak: Performance tweaks
      • Changing the graphics quality preset is now 4 times faster (1s lag instead of 4s lag)
      • Improve loading times with many mods installed (json patching times 47s => 3.6s). Contribution by tehtelev
      • Improve loading times with many mods installed (recipe loading times 21s => 8s). Contribution by tehtelev
      • Improve loading times of certain handbook pages from 10-14 seconds to instant when mods "A Culinary Artillery" and "Expanded Foods" are installed
      • Further 400k objects removed from permanent heap (mainly duplicate strings)
      • Reduced client-side lag spikes caused by various commonly used blocks
        • Ground storage, toolrack, shelves and similar utility blocks [Technical info: BEContainerDisplay types  - Display Case, Ground Storage, Toolrack, etc... now generate meshes off the main thread]
        • Flowerpots and planters [Technical info: only tesselate one plant shape max. per container, defer pot tesselation and transforms to tesselation thread]
        • Small increase in loading time for doors and toolracks
      • Further reductions in Matrixf and vector object creation
      • Further reductions in Vec2f and Vec3f object creation in many places
      • Explosion shell vectors calc now uses FastVec3f not Vec3f
      • Further low level matrix improvements in animations; reduce memory pressure on client
      • Many low level matrix operations moved from heap to stack
      • Re-use some matrices and vectors at low level
      • Reduced heap memory pressure from selection box ray-tracing. With thanks to dedgrant
      • Fixed memory leak when displaying skep or basket trap in inventory or handbook
      • Fixed potential memory leak in forge
      • RAM and heap saving, SnowAccum system now uses a value type [ServerMapChunk.SnowAccum is now a float[] not a ConcurrentDictionary]
      • Particles - reduce RAM requirements and heap pressure
      • General improvements to SQLiteDbConnectionv2, less heap pressure for multiplayer server
      • Added LOD2 shapes and textures for all clutter bookshelves
      • Very minor, but system-wide rendering optimization [Technical info: Don't call EnableVertexAttribArray every render call, not necessary as per OpenGL spec]
    • Tweak: In-game guidance tweaks
      • Feature: Crocks, pots, and bowls with meals now show interaction help when ground placed
      • Tweak: Lowered the itemstack hover info HUD a bit so that it does not cover up the stack size of the item in your mouse slot
      • Fixed: Show only workable items in anvil interaction help
      • Fixed: Interaction help for mortally wounded elk said "Revive player"
    • Tweak: Game Server tweaks
      • Tweak: AntiAbuse system partially revived. Off by default, but when enabled in the serverconfig.json it will decline block interactions when they are too far away from the player
      • Tweak: When a server has more than 50 players, join/leave and death messages no longer get printed to chat (configurable in servermagicnumbers.json field "PublicJoinLeaveDeathMessagesThreshold")
      • Tweak: Join, Leave and Death messages now also sent to all player groups the player is part of
      • Tweak: Allow the server heartbeat/register to master server also work in standby mode
      • Tweak: Added more audit logging when trading and using the action house
      • Tweak: Multiple Serverconfig StartupCommands would not work if there was a space in front of a command
      • Fixed: Command /serverconfig entityspawning 0 did not disable entity spawning right away and vice versa did not enable it right away when it was disabled before
      • Fixed: Possible server exception on player death
      • Fixed: On a dedicated server when using a malformed welcome message it would disconnect/crash each client on login.
    • Tweak: Command Tweaks:
      • Tweak: Most /wgen commands can now be called from console
      • Tweak: Added /serverconfig blockTickChunkRange
      • Tweak: Added worldgen command /wgen regenrange
      • Tweak: Now /entity spawn command can optionally also specify the generation, eg. generation=3
      • Tweak: New command /entity findnpc to count the villagers or find a specific one
      • Tweak: New command /entity list to list the types of all loaded entities, and count them
      • Tweak: Add alias /wcc for the worldconfigcreate command
      • Tweak: Fixed typo in command /dev per-player-lootable-reset
      • Tweak: add client ping to /stats and /list clients commands
      • Tweak: Removed no longer working /wgen regenr and /wgen regenrc commands
      • Tweak: Wireframes display command can now be abbreviated to .debug wf
      • Fixed: /wgen regen did not reload the deposits files
      • Fixed: When using /wgen regen the GeneratedStructures list could be restored only partially, the actual in-world structures/blocks should have be mostly unaffected by that
      • Fixed: .we command no longer working to open/close the world edit ui
      • Fixed: GameTickListener debug command /debug tickhandlers dump dcentity not working
      • Fixed: Command .chb expcmds did not make sure the ModConfig folder exists
    • Tweak: Ladder tweaks
      • Wood ladders can connect as one ladder, crude and rope cannot connect to others
      • Wood ladders can be sawed back into boards
      • Ladders made entirely of sticks have their own model, separate from ladders made from planks
      • Crude ladders cannot support themselves on the ground or the ceiling and require a wall for support
    • Tweak: Water tweaks
      • Tweak: Rivulet riverbed carver. Somewhat more neatly integrates the rivulets into the world. (WIP, temporarily disabled in -pre.1)
      • Tweak: Also spawn rivulets on mountain sides
      • Tweak: Water now spreads faster
      • Tweak: Flowing water shader tweaks
      • Fixed: Flowing water with NE,SE,SW,NW directions was not visually flowing diagonally
    • Tweak: Change Linux icon from xpm to png since xpm may not be supported on newer systems
    • Tweak: "Antler mount" is renamed to "Wall mount".
    • Tweak: Palisade walls and stakes now prevent animals from walking on them, like regular fences.
    • Tweak: Ovens now no longer allows igniting of non-fuel, such as pies
    • Tweak: Allow liquids to be chiseled only in creative mode
    • Tweak: Removed fish carcass clutter block, because there is a dedicated fish carcass block
    • Tweak: Debarked and tree trunk 'veryaged' and 'veryagedrotten' textures modified for consistency
    • Fixed: Fixes npc dialogue link text cut off in some cases
    • Fixed: Cassava that dried out in a meal due to a bug no longer has an incorrect name nor gives no nutrition
    • Fixed: Oven would give incorrect error message when trying to add non-bakeable items
    • Fixed: Scrolling in dropdowns near bottom of the screen shows all items properly
    • Fixed: The grid recipe to force clay brick slabs into a certain orientation was missing
    • Fixed: Pies with default full top crust style would not stack properly if cycled through crust types
    • Fixed: Bear foot sliding, brown and polar bear chasing after tiny creatures (baby hares and chicken), and not attacking animals they chase
    • Fixed: Entering and exiting the water while holding the sprint key would slow you to a walk even with the precise control scheme
    • Fixed: Holding down the sprint key before starting to move would still start off with walking  
    • Fixed: Armor stands could only be placed at edges of blocks
    • Fixed: Color accurate worldmap: Still used vintage colors until the map was opened
    • Fixed: Clouds going black when using [x] Override default values from the world edit control panel
    • Fixed: Traders and Villagers would execute the option after the "What did you got to trade?" which mostly was the "Whats your name?" option and so reveal their name at the same time as openting the trading menu
    • Fixed: Empty triggered animal traps would not drop block if broken
    • Fixed: Empty triggered animal trap would give back trap when picked up rather than just basket
    • Fixed: Prevent the trader menu to be opened by multiple players, which can crash the game
    • Fixed: Falling maple seeds did not fall with reduced gravity
    • Fixed: Crash when Ctrl+scrolling up on the firepit input slot
    • Fixed: Rotation of clayforming for watering cans matches output
    • Fixed: On some occasions, traders walking away from player during conversations and standing still after conversations
    • Fixed: Some ropes not properly loading from a savegame to client side. Explanation: We did not re-broadcast when a cloth system became active, we did not update the state on chunk loads although we check all chunks if they are loaded on each clothsystem
    • Fixed: Some damage effects still applying on damage over time types of damage (e.g. instant huge red overlay when eating fly agaric)
    • Fixed: Drinking more or less than 1L of wine all at once will properly vary how intoxicated you become
    • Fixed: Dragging to place ingredients into cooking pot would not evenly distribute items
    • Fixed: Mechanical power blocks, World Edit selection tool grow/shrink buttons and other parts of the game now work in other dimensions
    • Fixed: Sub-decors (e.g. cave art) now preserved in World Edit move area, mirror area and repeat area operations
    • Fixed: Removed downwards exponential acceleration of entities that use passive physics behavior
    • Fixed: Fall damage inconsistency, added player stat "fallDamageThreshold"
    • Fixed: On a brand new world, the client game calendar would be paused and/or slightly desynced from the server time for a minute, causing the sun to jump after 25 in-game minutes
    • Fixed: After a client-side crash, the game kept running until the Crash Reporter window was closed
    • Fixed: Removed uncraftable soaked bear pelts
    • Fixed: Cutting snow covered grass with a knife did not yield dry grass
    • Fixed: Missing horns on female goats, also they can fight back now
    • Fixed: Items dropped by mechanically powered querns, pulverizers, or chutes could be launched very far when outside of the simulation range (128 blocks from the player)
    • Fixed: "Wide lines have been deprecated" warnings on certain GPUs, eg. Intel UHD
    • Fixed: Ladders would sometimes allow strange interactions between different types
    • Fixed: After healing with an item, a second item in the same slot (from picking up) with a slow interaction process would immediately finish (#6719)
    • Fixed: Logged error for carburizable properties in handbook
    • Fixed: Many repeated logged OpenGL errors on Mac filling up the log file
    • Fixed: Various water plants could have non-matching top and bottom section pieces
    • Fixed: Stone path slabs did not show snowcover. Stone path blocks had hitboxes 1 voxel too tall
    • Fixed: Crash when viewing corrupted rock-typed block
       

    API Updates
    For our modders - please be aware, the game engine and game content have undergone several significant changes

    • Paradigm shift: Since 1.21 you can define tags in Blocks, Items and Entities. As of 1.22 you can now use tags for all crafting recipes. In future updates we will expand tag compatibility to other systems. Though please wait before using these, the syntax might still change in pre2 or pre3
    • Paradigm shift: You can now precisely time creature sounds by defining them as part of the animation meta definitions. This lets you bind a sound to the exact animation frame where the sound should be played, independent of how fast the animation plays. You can define multiple sounds per animation. This is how we added bear and wolf step sounds.
    • We have migrated our source projects from .NET 8 to .NET 10. You will need to install the .net10 sdk to compile our public code.
    • entity.ServerPos is no more. You can still access it but it now redirects to entity.Pos
    • We moved world generation code from the survival mod to the essentials mod, so that total conversion mods can also utilize it
    • CollectibleObject has many of its field turned into methods that also call their respective methods on behaviors
    • Each landform in the landforms.json now must have a unique code. Previously you could use duplicated names. The game will now crash instead.
    • For the red tinting hurt overlay of creatures to work you now need to add "Health" behavior to to the list of client side behavior as well
    • Experimental feature: Mods can now modify the main menu background pictures. If any mods sets one, then the game will disable all vanilla ones.

    Also noteworthy and just for your awareness, there are currently several notable ongoing projects within the VS coder team:

    • The entire code base of Vintage Story now compiles without warnings, consequently we have either fixed or removed our own game engine's use of deprecated features
    • We have a multi-year long goal of switching over to nullable value types in all code files
    • We continued to slowly integrate a comprehensive tags system. New since 1.21:
      • Changed types of tag arrays and renamed them to tag sets
      • Block and item tags merged into general tags
      • General tags have limit of 65k tags now
      • Tag sets now provide API with set methods
      • Modders no longer need to interact with tag ids directly, they are hidden behind the tag set implementation
      • Modders now can register their own tag types
      • NOTE: there may be further changes to tags code before -rc.1 but JSON-only mods should be OK to use tags now
    • We continued to refactor, improve and consistency check all our entity AI Tasks
    • We continued our efforts to un-hardcode game engine and content, to make it easier to patch game content as well as reducing unexpected behaviors when modding the game


    API changelog

    • Feature: Rewrite stone throwing code into its own "CollectibleBehaviorThrowable". Allows one to make an item or block throwable with json changes only
    • Feature: Food in a meal automatically gives a 30% bonus to the base satiety if no in meal nutrition is defined
    • Feature: New server event "HandInteract". Called before any server side hand interact code is executed
    • Feature: New parameter "MinCuboidsPerModel" for ground storable behavior that fixes problem with partial models in ground storage
    • Feature: Item buff feature. Can now buff buffable collectibles e.g. when holding a falx in hands with command "/debug cbuff add sharpened attackpower 1.2" for +20% damage or "/debug cbuff add sharpened attackpower 1 2" for +2 flat damage. Available buffs: attackpower, maxdurability, durability, miningspeed. In code can also define durability of a buff, which is reduced alongside the item durability
    • Feature: Allow BlockBehaviorHarvestable to require a tool
    • Feature: Anvil blocks keep track of their metal tier
    • Feature: Mods can now supply background images for the main menu in their modinfo.json. Currently, if any are supplied then all vanilla ones are disabled.
    • Feature: Added the ability to create custom mixed pie recipes with multiple food categories as fillings
    • Refactor: Major rework of the recipe systems in order to support tags
    • Refactor: Move most of worldgen code to essentials mod and added modularity in some areas so that full conversion mods can use it
    • Refactor: Changed args in capi.StartTrack()
    • Refactor: Move onhurt invulnerable timer code from Entity.cs to BehaviorHealth.cs where it belongs. This however means the Health behavior needs to be client side as well, on all entities. In order to stay backwards compatible, these will automatically get added upon entity load, for now. It will print a warning if that is the case
    • Refactor: GetBehavior(...) methods in Entity now avoid nullref exceptions inside them
    • Refactor: Rename CollectibleBehavior.OnGetMaxDurability to .GetMaxDurability() and altered return value behavior
    • Refactor: Shields now much more mod-dable. The shield code is now type/variant-agnostic
    • Refactor: Rename dirtfloor.json to packeddirt-trampledearth.json, and aridpackeddirt.json to drypackeddirt.json
    • Refactor: BlockUtil.GetKnifeStacks replaced with ObjectCacheUtil.GetToolStacks
    • Refactor: EntityBehaviorRideable and EntityBehaviorGait code cleanup. Now more moddable. Ridden creatures no longer ignore swim sound set from json. Leave blank for silence. Set ridden movement speed only through gait, not through rideable controls. Also allow gaits to have an environment set for land or water, and provides logic for multiple speeds of swimming
    • Refactor: Rename EnumBlockMaterial.Liquid to EnumBlockMaterial.Water
    • Refactor: Lava now has EnumBlockMaterial Lava instead of Liquid
    • Refactor: Merge ItemTagArray and BlockTagArray into CollectibleTagArray
    • Refactor: Cleanup and Document AiTaskManager.ExecuteTask() and .StopTask()
    • Refactor: Made methods of ItemWearable and ItemWearableAttachment virtual, also made private methods protected
    • Refactor: Allow for multiple "AnimationSound" per animation meta. AnimationMeta.AnimationSound is now an array. Make sure to update all anim sounds in your entity json files from animationSound: { ...} to animationSounds: [ { .... } ]
    • Refactor: Added dropQuantityMultiplier to BlockBehavior.OnBlockBroken()
    • Refactor: In AI task json, rename chance, wanderChance, and searchFrequency to executionChance
    • Refactor: Mushroom textures were placed in many individual folders. Now all are under the base 'mushroom' folder.
    • Refactor: Replaced "noConsumeOnCrafting: true", used in the glider schematic itemtype with "consume: false" in the grid recipe
    • Refactor: ItemWearable is now obsolete, replaced by CollectibleBehaviorWearable 
    • Refactor: ItemWearableAttachment is now obsolete, replaced CollectibleBehaviorWearableAttachment
    • Refactor: Many fields of Collectible now more moddable
      • Implemented GetAttackRange for CollectibleBehavior
      • Implemented GetMiningSpeeds for both CollectibleObject and CollectibleBehavior
      • Implemented GetDamagedBy for CollectibleObject
      • Implemented GetTool for CollectibleObject (interaction tooltips still use Tool directly)
      • Implemented GetToolTier for CollectibleObject (interaction tooltips still use ToolTier directly)
      • Implemented GetCombustibleProperties for CollectibleObject (interaction tooltips still use CombustibleProps directly)
      • Replaced NutritionProps with GetNutritionProperties where possible
      • Replaced TransitionableProps with GetTransitionableProperties where possible
      • Implemented GetGrindingProperties for CollectibleObject
      • Implemented GetCrushingProperties for CollectibleObject
      • Implemented GetRequiredMiningTier for Block
    • Tweak: Hides and their various associated items now use the tags system for recipes, with the result that bear hides can now be used directly in the same recipes that only generic hides could be used in directly before.
    • Tweak: 'item-crushed-leadoxide' renamed to 'item-crushed-galena', to better align with standard naming formats.
    • Tweak: Better logging for errors in grid recipes
    • Tweak: New construction options! Structure generation via structures.json now also supports placement: "Shallowwater", supports minForest/maxForest constraints, and fixes some structures generating under water
    • Tweak: The grid recipe loader will now print a warning if a ingredient wildcard never matches
    • Tweak: Allow for custom attribute based grouping of things like shields or bookshelves in the handbook
    • Tweak: Added BroadcastMapRegion to the WorldManager to force send a map region for example after using /wgen regen to update structures debug wireframes
    • Tweak: Correct handling of CollectibleBehavior.OnHandbookRecipeRender. This also means a new argument "ref EnumHandling handling" is added, breaking compatibility with mods implementing this method
    • Tweak: Clothing no longer renders onto seraph skin by default, set collectible attribute "renderOntoSkin" to true to reactivate that
    • Tweak: AnimatableRenderer now supports mixed rendering of opaque and transparent geometry. It'll automatically extract it from the supplied mesh
    • Tweak: Structure placement "Surface" now also checks U blocks
    • Tweak: Removed logged startup warning "Is a {0} mod, but .cs or .dll files were found. These will be ignored.". It served no purpose.
    • Tweak: Added IWearable and IWearableStatsSupplier interfaces, which are now used in new behaviors
    • Tweak: Implemented following methods for CollectibleBehavior: RequiresTransitionableTicking, ConsumeCraftingIngredients, UpdateAndGetTransitionStates. UpdateAndGetTransitionState, GetMergableQuantity and TryMergeStacks
    • Tweak: Metal types of lamellae, chain, and scale items that do not have corresponding armor sets have been removed.
    • Tweak: Ground placed collectibles can now emit light
    • Tweak: Doors can now specify liquidBarrierHeight per block segment
    • Tweak: AnimationMetaData Sounds can now be set to looping
    • Tweak: EntityBehaviorAttachable can now set useShiftAttach: true in json to use the shift key for attaching and deatching
    • Tweak: Sound tracks can now be structure specific
    • Tweak: Allow liquid containers to set custom drink portion sizes in JSON
    • Tweak: Improve loading times with many mods installed (recipe loading times 21s => 8s, json patching times 47s => 3.6s). Contribution by tehtelev
    • Tweak: When json patches target a missing file, log an warning to the main log file instead of a debug entry in the debug file
    • Tweak: EntityBehaviorAttachable can now set useShiftAttach: true in json to use the shift key for attaching and detaching
    • Tweak: Allow entities to specify useSlotPrefix: true in attributes to allow other shapes to be added to it with a different texture by adding the slotCode to the texturePrefixCode
    • Tweak: Can now defined a "frostOverlayThreshold" an entity type json attributes to change the temperature at which an entity is 100% frosted over
    • Tweak: Can now configure ground storage messy12 positioning
    • Tweak: Made prevPlayerPos public in GuiElementMap
    • Tweak: Made world map color randomization configurable
    • Tweak: Made button background color not hardcoded
    • Tweak: Game now warns you if you have attachment point codes duplicated, as it results in undefined behavior
    • Tweak: Two new MeshData methods, .Scale() and .Rotate() with no origin specified, will scale/rotate around the block center point
    • Tweak: Renderpass Decor is now available, used for decor overlay layers; see vanilla overlays for examples
    • Tweak: add BlockType attribute "allowOverlays: false" to prevent moss, dust and other overlays from being applied; can also in rare cases use "allowOverlays: true" to force allowing of overlays where they would normally be auto-disabled (eg. on transparent blocks or ice blocks)
    • Tweak: BEQuern.cs move all private fields and methods to protected
    • Tweak: Add font stroke to debug screen text to make it more readable
    • Tweak: Mods can now add a assest/mymod/config/remapentities.json which then gets automatically merged with the games entity remappings, please do not replace assets/game/config/remapentities.json unless you really really want to overwrite the entire vanilla entity remappings
    • Tweak: Mods can now add a assest/mymod/config/remaps.json which then gets automatically merged with the games remappings, please do not replace assets/game/config/remaps.json unless you really really want to overwrite the entire vanilla remappings
    • Tweak: Allow custom shape for harvestable skep mesh
    • Tweak: Make the game engine more tolerant towards missing files
    • Tweak: Add ability to remove a mod asset origin
    • Tweak: Improve support for framebuffer rendering. Added capi.Render.GenTexture(), rename capi.Render.FrameBuffer to capi.Render.CurrentFrameBuffer, can now also get capi.Render.CurrentFrameBuffer, added capi.Render.OrthoMode() and capi.Render.PerspectiveMode()
    • Tweak: EnumSoundType moved from Vintagestory.API.Client to Vintagestory.API.Common (since it may be used by the server as part of SoundAttributes)
    • Tweak: AnimationSound now supports 'chance' of the sound being played
    • Tweak: Can now bulk edit transforms of variantgrouped collectibles
    • Tweak: Much cleaner implementation for adding support to custom transforms editing via the transform editor. Instead of weird save/load/close stuff, instead register to event bus events "onsettransform" and "ongettransform". See ItemTongs.cs for example
    • Tweak: Added HabitatSize property to spawning conditions, only works for animals with Habitat=Underwater or Habitat=Sea. Default HabitatSize is 2
    • Tweak: Added animal spawn maps. This lets you further constrain animal spawn to certain regions only. Example implementation: Fish spawn
    • Tweak: Items and Blocks can now define a "ParticlesTextureCode" to specify where block/item breaking particle colors should come from
    • Tweak: When checking the nutrition properties for liquid inside of containers, fallback to the default for the liquid if per litre properties are not found
    • Tweak: It's now possible for meals to be intoxicating
    • Tweak: It's now possible to specify a non-default groupBy to use when creating an ItemStack slideshow in the handbook
    • Tweak: Trait attributes can now define blend types
    • Tweak: New CollectibleBehavior for harvesting items in ground storage
    • Tweak: Ground storage now uses GetCollectibleInterface to obtain IContainedInteractable, making it possible to add it to collectible behaviors
    • Tweak: LiquidContainerTopOpened now uses IContainedInteractable, Ground Storage code for this interaction removed
    • Tweak: Existing elk sounds moved from creature/hooved/large/elk folder to new creature/animal/mammal/hooved/deer folder, to conform with new shape/texture/entity folder standards.
    • Tweak: IContainedInteractable now has GetContainedInteractionHelp method
    • Tweak: ModMaker Update: Fixes mod maker modinfo creation to be compatible for moddb uploading
    • Tweak: new optional ContainedTextureSource() constructor with callback for off-thread texture uploading
    • Tweak: new optional ITextureAtlasAPI.GetOrInsertTexture() call with callback for off-thread texture uploading
    • Tweak: Chat command can now specify custom syntax explanation for an argument, by appending .WithExplanation() to an argument
    • Tweak: Added CollectibleBehavior.GetAttackPower()
    • Tweak: Allow to change a block after falling. With a new "variantAfterFalling" parameter, it's now possible to change the block after falling, like a broken variant or a variant with a lower shape (in case the shape is less than 15 voxels like the chandelier)
    • Tweak: Renamed IWorldManagerAPI.CurrentWorldName -> CurrentWorldFilepath to better describe itself
    • Tweak: OnTree BlockPatches now respects the TreeType property
    • Tweak: AI tasks can use a single time frame that extends through the night, rather than needing one from evening to midnight and another from midnight to morning
    • Tweak: Renamed InventoryPlayerBackPacks to InventoryPlayerBackpacks
    • Tweak: Added IServerEventAPI.PlayerReady event, which triggers after all mods signal the player is ready to play. Currently used by the character selector, so right now this event only triggers once the player has selected his character (or right away if he selected it already in a previous join). Cleaned up XML documentation for PlayerJoin, PlayerNowPlaying events
    • Tweak: Animal generation check happens from EntityBehaviorHealth instead of BehaviorHealingItem
    • Tweak: BlockEntity tick listeners now log their positions on exception
    • Tweak: Incorrectly formatted strings sent to ILogger methods now will throw compile errors instead of crashing ingame
    • Tweak: Unhardcode antler item names from antler growth behavior
    • Tweak: Changed Entity.ServerPos and Entity.SidedPos to refer to the Entity.Pos property, so they are no longer different from the Pos property. This is to remove confusion about which to use where.
    • Tweak: In EntityBehaviorMultiply, can now provide an array of requiresNearbyEntityCodes from json. On the code side, more fields made accessible.
    • Tweak: Sailboat-mounted lantern no longer uses a separate model. It instead attaches the 'wall' lantern shape to an invisible LANTERNPARENT element in the sailboat shape. One less model to maintain.
    • Tweak: Methods in BehaviorRideableAccessories made protected and virtual
    • Tweak: Duplicated landform/mutation codes in landforms.json are no longer valid. The game will error and exit on startup now. Each landform must have a unique code.
    • Tweak: Allow harvestable skeps to have custom food tags defined in JSON
    • Tweak: Allow custom food tags for ItemStack variants with ICreatureDietFoodTags
    • Tweak: Blockpatch system: Also respect forest value even for UnderTree placement
    • Tweak: Targetable AI tasks can read a TargetOnlyInteractableEntities true/false value from json
    • Deprecation: ItemPoultice moved to Legacy folder. Use BehaviorHealingItem instead.
    • Fixed: EntityVillager modding robustness. Did not respect mod domain, crashed on missing textures or missing sounds, did not allow for single sound voice
    • Fixed: Don't crash when no hotbar is loaded and one uses the offhand slot flip hotkey
    • Fixed: seraph face and body became invisible after .reload textures command
    • Fixed: When loading a world the font size of labeled chests will no longer reset to the default size
    • Fixed: Farmland at low temperatures or low light levels now properly delays crop growth even when temperatures and light levels increase back to acceptable levels
    • Fixed: The termite mound would drop itself instead of termites when their supporting block was removed
    • Fixed: .reload shapes command was not reloading placed blocks properly
    • Fixed: Avoid null reference exception when calling WorldMap.TryAccess when access is not granted despite being unclaimed
    • Fixed: Item/tool/material texture folder contained many redundant and non-standard-sized textures. All textures in this folder have been reassigned to other standard textures, or moved. Spear and spearhead itemtype json texture sections reorganized.
    • Fixed: Properly use loaded metal variants for all types of blocks and items
    • Fixed: Max saturation being reset to 1500 on client side
    • Fixed: Game crashing under `.cf sedi 1` plus spawned projectiles
    • Fixed: Loading of assets is now fully case insensitive internally. Should fix uppercase/lowercase asset loading issues on modded assets
    • Fixed: Crash when parsing json to an AssetLocation using AsObject
    • Fixed: DrawSvg,LoadSvg,LoadSvgWithPadding with no color specified would default to fully transparent now we properly load the color from the SVG and convert it to BGRA for rendering
    • Fixed: Normalize normal vector before packing to stop bit bleeding (PR 55 by phonon)
    • Fixed: BlockLiquidContainerBase TryTakeContent would sometimes give back incorrect stack size
    • Fixed: When eating a liquid container with nutrition properties the player's satiety would become NAN and eventually lead to a crash
    • Fixed: Properly allow for liquid containers that are edible, and will be eaten when empty
    • Fixed: Creative inventory tabs cut off wide text
    • Fixed: CollectibleBehavior.GetRemainingDurability() called CollectibleBehavior.OnGetMaxDurability() instead of .GetRemainingDurability()
    • Fixed: Interaction help itemstack rendering can go oversize
    • Fixed: Rendering ui inventory contents into a framebuffer did not work
    • Fixed: Seaweed and Seagrass had EnumBlockMaterial.Liquid instead of Plant
    • Like 95
    • Wolf Bait 7
    • Cookie time 9
    • Amazing! 20
    • Mind=blown 8
    • Thanks 5
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.