1.19.0

From Vintage Story Wiki
UnderCon icon.png

This page is under construction.
This page is being created, or is in the process of extensive expansion or major restructuring. Until this notice is removed, please do not translate this page. Expect the content of this page to change significantly.

1.19.0
"Dejank Redux"
Release dateJanuary 17, 2024
Development versions
    Version chronology
    ◄ 1.18.0
    ◄ 1.18.15
    1.19.1 ►


    1.19.0, also known as the Dejank Redux Update is an upcoming major update, the main focus of which is to polish existing game mechanics as well as introduce cave-in systems and first-person mode.

    Features

    Overhauled first-person mode

    • Hybrid between the old standard fp mode and the immersive fp mode
    • Player's hands and arms are rendered and their position depends on current actions and items held

    Animal Introductions

    • Added moose, elk, and 11 species of deer
      • Each have several antler variants
    • Added 11 types of goats
    • Ability to catch small tamed animals (generation 5+) with an empty reed chest. Requires one free backpack slot
    • Raccoon and Fox pups now spawn in the world

    Cave-in system

    • Solid rock and cracked rock now collapses if not supported while it is being broken/placed. Enabled via world config
    • Use wooden beams to stabilize mines and tunnels

    Command Handbook

    • Available in creative mode through the game pause menu, or type command .chb to open

    Scroll Racks

    • Storage space for scrolls, papers and tuning cylinders

    Prospecting pick heatmap

    • Added tabs to the world map

    Medieval looking world map

    • New visuals using the color palette from the medieval map mod (by permission from Rangelost). Classic world map visuals can be restored using the commands "/worldconfigcreate bool colorAccurateWorldmap true" server-wide or "/player [playername] grant colorAccurateWorldmap" for each player

    Chiseling system upgrades

    • Decor overlay support as well as support for grass covered topsoil block. Can use knife to remove decor layers again
    • Can now properly add more material to a chiseled block, useful when wanting to create a full block from 2 slabs
    • When using slabs as input material the game did not correctly count already used material
    • Chiseled blocks no longer have their name fixed to the block name first used during creation. If no custom name is set by the player, the chiseled block will now take on the name of the majority material
    • World generation now fully supports chiseled blocks when part of a surface or underground ruin, i.e. chiseled block materials can adapt to local rock types and can get submerged into soil

    Improved character selector

    • Players can now select their previously selected skin preferences, in the create character dialog via new 'last selection' button
    • Greatly reduced strange hair combinations when using the randomize button
    • Updated hair colors. Replaced all purple and pink shades.
    • The selector no longer plays the seraph voice when the create character dialog first appears (too laggy in the first few frames to do so, can heavily skew sounds)

    Tweaks

    Game controls fine tuning

    • Feature: Accessibility tab
      • Moved view bobbing and toggle sprint settings there. Added 2 new accessibility settings: camera shake strength and wireframe thickness
        • Tweak: Added ability to adjust temporal instability waviness in the new accessibility tab
        • Tweak: Added experimental minbrightness client config, potential use for youtubers/streamers to prevent pitch-black areas

    Gameplay balance tuning

    • Tweak: Double-headed drifters and bells now have a chance to drop jonas parts/sub-assemblies.
    • Tweak: Double-headed drifters have a little more health now.
    • Tweak: Made arid areas more arid (by further filling up lakes with blocks)
    • Tweak: Being wet debuffs your warmth 50% more strongly, but players now get wet from snowfall 4 times more slowly than from rain
    • Tweak: Nerfed fur clothing set warmth values, it was circumventing the need for clothing repair
    • Tweak: Polar bears now cannot climb, but can swim faster than other bears
    • Tweak: Wooden paths can now be made with any type of board
    • Tweak: Plank path recipe now outputs 1 path per 2 boards (25% of previous output)
    • Tweak: Archimedes screw now only accepts plates of tool metals in its recipe
    • Tweak: No fall damage when doing a gliding land while aiming less than 45° downwards, i.e. looking horizontal or upwards will negate all fall damage
    • Tweak: Adjusted prices for a couple of trader goods.
      • Linen now much more expensive, also raised Gambeson armor cost to match.
      • Most tools slightly more expensive
      • Antique armor cost now matches the value of the armor slot. Head armor cheapest, leg armor medium cost, chest armor most expensive
    • Fixed: Players not receiving fall damage when touching a wall during the fall
    • Fixed: Ingot piles were combustible
    • Fixed: Tree seeds were not combustible
    • Fixed: Fuel duration of night vision goggles was not properly calculated (was only client side)
    • Fixed: Damaged flax crop still giving a full yield of flax fibres
    • Fixed: An upside half slab over a 1-deep hole is now no longer recognized as a cellar
    • Fixed: Sleeping did not accelerate healing. Health and Hunger are now calculated based on in-game time instead of real world time (Can adjust the heal regeneration speed and the hunger speed using commands /worldconfig playerHealthRegenSpeed 1 and /worldconfig playerHungerSpeed 1)

    Visual Fine Tuning

    • Improved frost overlay visuals on creatures/traders - frost now only applies during precipitation or shortly thereafter, improved visual quality and some body parts are no longer completely frosted over, such as the trader's head
    • Re-worked large trough, small trough and bucket models
    • Crop seeds and grain items now have 3D models
    • Improved SSAO quality - no longer has odd artifacts
    • Added more depth to dry stone wall textures (visual tweaks)
    • Redwood beams: wood grain was in the wrong direction
    • Fixed aged fancy bed having bright green bed cover. The bed cover is now faded, aged green
    • Replaced resonance archives clutter bed with updated model. Added colorful linen textures for mattress sides and pillow. Added shading texture overlay for mattress sides and pillow. Fixed bed-fancy-open clutter block missing textures
    • Faster storm dust particles
    • Improved seraph idle animation
    • Tweak: Game text fine tuning
      • Fixed: Liquid containers showing only first decimal place and thus rounding the value
      • Tweak: Removed the '(experimental)' suffix to large world sizes. The game engine is now stable enough for large sizes.
      • Tweak: More immersive "claimed by" error messaging, especially when in the resonance archives (simply reworded)
      • Tweak: Renamed 3 blocks: crimson king maple=>crimson maple, green spire cypress=>mediterranean cypress, stone bricks =>ashlar blocks
      • Tweak: Oiled hides mention a bit more on how curing them works
      • Tweak: When the main menu offers to download a new update, the confirm Update screen now has a link to the devlog entry
      • Tweak: Multiplayer server screens: don't show the server password in clear text
      • Fixed: A 'claimed' error message appearing when igniting the coal pile in the resonance archives generator room
    • Tweak: Audio fine tuning
      • Improved soundscape for glider gliding and Creative-mode flying
      • Over 200 sound files have been fine tuned for quality by reducing noise, eliminating popping sounds and more
      • The resonator music is now affected by the music slider, instead of the ambient slider
      • New eating sound for large animals

    Miscellaneous

    • Feature: Can now ignite extinct torches on lit torches, firepits, forges, pit kilns, etc.
    • Feature: All treasure chests have now more valuable loot in them
    • Feature: Added a stack randomizer for all Jonas items
    • Tweak: Can now shift+left click armor and wearables into the character inventory
    • Tweak: Show appreciation where it's due: new petseraph animation (untested)
    • Tweak: Entities standing on a rotating Quern now rotate as well
    • Tweak: Added tarnished steel beams
    • Tweak: Added visual hints that the Library resonator (in the Resonance Archives) is interactable
    • Tweak: World info hover box now only shows the differences from the default configuration
    • Handbook tweaks
      • Tweak: Handbook search now ignores diacritics in the search text (and the same change for searching the Creative inventory)
      • Tweak: Now also displays if an item can be obtained by harvesting a creature
      • Tweak: Handbook entry for alum gives some details of where to find it
      • Tweak: Jonas generator room equipment, and Gasifier, removed from the Handbook
      • Tweak: Lamellar armor has the word 'armor' added to the name, so that it shows up in a search for "armor"
      • Tweak: Added "Mechanical power part" description to mechanical power blocks to make them more easily findable in the Creative inventory and the Handbook
    • Tweak: Log login failure messages to client-debug.txt (rarely, a player cannot connect to the auth servers at all), improve the feedback messages in-game
    • Tweak: Reduced default SpawnCapPlayerScaling from 0.75 to 0.5, as multiplayer servers with a large player count got completely flooded with drifters
    • Tweak: When privilege allowcharselonce was not granted, show the player an error message instead of opening the dialog to reduce confusion
    • Tweak: Removed unused workbench block from game
    • Tweak: Don't show < > buttons on books with only 1 page
    • Tweak: Can no longer remove bot gear in Survival mode, now requires Creative mode
    • Tweak: Allow corrupted savegames to repair broken MapRegions in repair mode
    • Tweak: Added experimental feature to slightly speed up world startup, available only in the Developer settings tab
    • Tweak: Added "Macro Editor" button to the Controls settings tab
    • Tweak: Added --withConfig server startup arg. Allows one to override any serverconfig.json values at runtime

    Worldedit updates

    • Feature: World Edit upgrades
      • Schematic import (and copying from clipboard) now previews a live version instead of half-transparent blue cubes
      • Major World Edit command rework based on Elvas' suggestions. Air brush placement quantity is now a % value instead of fixed value.
      • New option for Paint brush: Placement %
      • Move, Selection and Repeat tool can now also be operated by "Look direction" instead of N/E/S/W/U/D only
      • New constraint system. "/we constrain selection" constrains all World Edit operations to the current selection only. "/we constrain none" to return to default behavior
      • New flip system: "/we flip (n|e|s|w|u|d|l|x|y|z)" flips selected area in-place in given direction (cardinal, look direction or axis)
      • Fixed chisel brush icon black instead of white
      • Fixed major derps happening on block entities when using undo/redo after certain operations
      • Fixed schematic rotation: don't abort with exception if a block returns an invalid rotation, instead log an error and use unrotated variant
      • Added a couple of aliases to /we marked commands

    Various command tweaks

    • Feature: Added a worldconfig option to change the health regeneration speed: "/worldconfig playerHealthRegenSpeed 1" (also available on world creation)
    • Feature: Added capability for server owners to compact savegames
      • /db vacuum: Recreate savegame to minimize disk space
      • /db prune [threshold] confirm: Deletes chunk columns where there are less than [threshold] player edits (survival block placements/breakings) since 1.18 - note that this also allows the game engine to refresh (re-generate) the world with latest version worldgen in all these areas
      • A full compact process looks like this:
        • /wgen autogen 0 (disable generation of chunks)
        • /db prune 5 confirm (delete all chunks with less than 5 edits)
        • /db vacuum (compact database)
    • Tweak: Improved command help
      • Add client-side .help command
      • Improved formatting of the help output in chat
      • Added ability to individually enable world maps (in games where the map is normally disabled) using /player playername grant allowMap
      • Added commands .debug plrattr [path] and /entity cmd [selector] attr [path] to read player/entity attributes. Might help us narrow down the cause of "Dave" running during broad daylight and blood rain seen outside times of temporal instability
      • In the /entity command, added a new "id" entity selector, e.g. /entity remove e[id=1234]

    Fixed

    • Fixed: Pixelated background on the download mods screen
    • Fixed: Butterflies now manage to fly away eventually after getting stuck in water
    • Fixed: Reduce cases of endlessly jumpy dropped items
    • Fixed: Should now properly sync edge sitting animations on players
    • Fixed: Player body pitched awkwardly after landing with a glider
    • Fixed: Unable to complete the Resonance Archives while in immersive first person mode
    • Fixed: When a candle is placed on top of a fence it will only spawn one candle in the center
    • Fixed: Gates sometimes missing collision and selection box [detail: when a gate was placed and a second one was added to the left the right one was missing the multiblock parts and had no collision except for the bottom right block]
    • Fixed: Glider also functioning if inside a backpack (thanks korobya)
    • Fixed: Some trader carts did not fully generate
    • Fixed: Should fix watered farmland not updating for other players
    • Fixed: Multiple issues with block breaking overlay in tallgrass, leaves and vines
    • Fixed: GUI alignment issues when references to hotkeys are mixed in with other text
    • Fixed: Folders with spaces could not be opened (e.g. via "Open Mods Folder" button)
    • Fixed: The Controls settings tab and the Macro Manager now show the key for the currently set keyboard layout, instead of always assuming a US keyboard
    • Fixed: /moddb search also returned non mods, and if no version is specified now installs the latest version instead of the oldest
    • Fixed: .charsel command leaving changed class on the client side if the player did not have permission to change it in the first place
    • Fixed: Some lore discoveries activating the gong and discovery center screen text, although they were already discovered
    • Fixed: Incorrect position matching in the /entity command selector (e.g. in /entity remove e[minX=3, minY=0, minZ=3, maxX=4, maxY=2, maxZ=4])
    • Fixed: Running server with --standby argument crashes if serverconfig.json does not exist
    • Fixed: --port arg not applying to master server advertising
    • Fixed: On some systems (MacOS) the sky would load color inverted (red) [Technical detail: this now ensures we load all images as Bgra8888 since that's what we send our texture pixels as to the GPU]
    • Fixed: Linux Wayland freezing on start up issue


    Vintagehosting

    • Feature: Added ability to delete the complete hosting setup, improved logging
    • Feature: Show the server logs from your Vintagehosting server (last 200 lines of server-main.txt)
    • Fixed: Timeout issues when changing server version
    • Fixed: Made it easier for players to test world seeds locally first before using them on Vintagehosting (add 384k world size option and VS hosting servers will now default to 384k x 384k world size)
    • (Internal: Significant progress towards Vintagehosting mod support)

    API Changes

    • Feature: Mini Dimensions initial support. For technical details see movchunks public notes.txt
    • Feature: Support for connected textures for drawType: "Cube" blocks (see "tiling cobblestone test" block in creative mode, and blocktypes/meta/tilingcobble.json)
    • Feature: Eliminated all texture atlas limitations, i.e. mods that add a lot of blocks no longer have glitched graphics
    • Feature: Added Block randomizer. Creative mode configurable block that, when created during worldgen as part of a schematic can randomly turn into one of 10 blocks. Using meta-filler block as input for the randomizer block now forces air blocks at that location
    • Feature: Chiseled blocks should now support worldgen blocklayer replacement when using the new meta-blocklayer block as placeholder material
    • Feature: Wearable gear animations support. Models configured with a step parent and backdrop shape can now be animated in VSMC
    • Feature: Added a somewhat more Blender-compatible animations mode (via version:1 attribute for each animation)
    • Feature: Randomizer block and microblocks now respect worldgen schematic replace block properties to conform to local rock types if they are made of granite
    • Tweak: Loot vessel drops no longer hardcoded but configurable in the block type json file
    • Tweak: Can use stack randomizers to get resolved when used as a mob drop
    • Tweak: Allow shipping of .dll files inside a mod's native/ folder
    • Tweak: Game now logs a warning if the obsolete Collectible GrindedStack property is set
    • Tweak: Added api.Event.OnEntityLoaded event
    • Tweak: Disallow registering of recipes in-code at a launch phase that would cause random crashes
    • Tweak: Added Δx/y/z fields to the block selection editor (.bsedit) to move selections around
    • Tweak: Game will now print a warning on duplicate animation codes
    • Tweak: Avoid game crashing from improperly configured liquid containers
    • Tweak: Can now define player bot inventory via inventory:{} object in the entity type json file
    • Tweak: Added "ServerIdentifier" GUID to serverconfig.json
    • Tweak: BlockPos now includes a dimension field as well as x, y, z values, see documentation for Mini Dimensions
    • Tweak: In IBlockAccessor, position-based methods with BlockPos parameters should be used where possible in place of x, y, z parameters, for future dimension compatibility
    • Tweak: Include OpenTK.Audio.OpenAL.dll and OpenTK.Mathematics.dll in server builds since native libs are already there
    • Refactor: Collectible.OnBeforeRender(): The passed ItemRenderInfo.ModelRef property has a changed type MeshRef=>MultiTextureMeshRef. Instead of calling api.Render.UploadMesh() you now need to call api.Render.UploadMultiTextureMesh() to acquire this new type. To manually render such meshref, use api.Render.RenderMultiTextureMesh()
    • Refactor: Renamed Block.PriorityInteract to PlacedPriorityInteract. Added Collectible.HeldPriorityInteract
    • Refactor: IRenderAPI.GetItemStackRenderInfo new argument: dt
    • Refactor: Method BlockEntity.OnPlacementBySchematic() has now 2 more arguments for the rocktype info
    • Refactor: Fox entity types now in one file instead of six.
    • Refactor: entity.AnimManager.HeadController and entity.AnimManager.Animator might now be null for a few frames during startup. You might need to null check these
    • Refactor: InventoryBase.GetBestSuitedSlot() has a new argument ItemStackMoveOperation op = null
    • Refactor: Split method CollectibleBehaviorHandbookTextAndExtraInfo.GetHandbookInfo() into multiple smaller ones
    • Removed: Disabled gltf test object, gltf loading broken due to multi-atlas change (scream in #gamedev if you need this, lel)
    • Fixed: IServerAPI.ServerIp property crashing on dedicated servers
    • Fixed: tree.GetAsBool() return wrong value for bool attributes :facepalm:
    • Fixed: Call to unload chunks did not trigger UnloadChunk event
    • Fixed: GetPlayersAround() horizontal range search only searched in a range of sqrt(range)
    • Fixed: MaxAnimatedElements setting not set to 46 (was 36)
    • Fixed: Modded sky.png not getting loaded
    • Fixed: Clutter block crashing game if a texture was missing, now prints an error
    • Fixed: "Companions" section of entity spawning not behaving as one would expect. Originally had only and 80% chance of spawning the main entity and then 80% chance of spawning one of the companion codes. Now the main entity is always spawned first, and every subsequent entity is selected from the companions list. Also the spawner had an hidden bias towards preferring spawning baby creatures due to their smaller hitbox
    • Fixed: When on IServerPlayer.Disconnect() is called it would crash the client
    • Fixed: Multiple instance detection by using a named mutex (since net7)
    • Fixed: CollectibleBehavior.OnHeldAttack* methods where not getting called

    References

    1. [https://www.vintagestory.at/blog.html/news/v1190-rc1-dejank-redux-r369/%7C"v1.19.0-rc.1 Dejank Redux"
    2. [https://www.vintagestory.at/blog.html/news/v1190-pre1-dejank-redux-r367/%7C"v1.19.0-pre.1 Dejank Redux"