Jump to content

De-Jank and Game Juice Update (1.17.0-pre.1)


Recommended Posts

Dear Feature-Rich Community
v1.17.0-pre.1, a preview release, can now be downloaded through the account manager (section "Other Goodies").

New main game trailer
We've made a brand new trailer for the game, the last main trailer was in 2020. We're proud of how far the game has advanced over the last two years, and we think the new trailer is quite the banger - enjoy!

New Website theme

As you might have noticed, our website also got some new looks! We hope you like it... For anyone feeling nostalgic, the old theme is still around - simply scroll to the bottom and click on the Theme link to select the classic theme.


New Major update

The main topic of this update was "Dejank", though it has kinda morphed into a "mostly game juice, and a bit of dejank" update 😁  We also added a lot of new graphical pretties to the game - for that extra oomph.  And a few new creatures!

In the process, we have added a slew of ground-breaking tech:

  • Palette based chunk data storage: The game engine now stores chunk information much more efficiently in memory, greatly reducing RAM usage for chunks; this helps smooth gameplay and may in future allow for even higher rendering distances
  • Modern compression algorithm: The engine internally uses a much faster compression algorithm, improving chunk loading performance and world saving times
  • Improved startup sequence: Starting up a game world should now be nearly twice as fast, taking full advantage of modern multi-core CPUs
  • New water and ice system: There can now be water and a block at the same coordinates in the world.  This means that any (non solid) block can now be submerged in water, water can flow through most blocks that are not solid, and blocks can be embedded in ice
  • Instanced rendering: Some common blocks are drawn in a more efficient way, which should slightly improve FPS (frames per second)
  • Improved creature AI: Attacked creatures react more intelligently, and large creatures are better supported

Thanks to the new tech, performance is improved throughout the game, even at the same time as adding plenty of new 1.17 content: over 200 new blocks, over 300 new items, new creatures, new visual effects and new animations and behaviors for the player!

Mods made for version 1.16.5 should remain compatible for the most part, even with these tech changes: code mods will probably need to be recompiled for 1.17, but mods which make tweaks and additions through JSON files should mostly still work without any changes.

Please notice
1. This is an unfinished update, mostly intended for modders and very adventurous players. You will encounter major bugs, incomplete features, performance issues and crashes. Worldgen might also significantly change and produce unknown blocks until rc.1
2. New "pre" updates will only be posted in discord #news and not on the blog. A new v1.17 blog post will come when the first release candidate is ready.

Screenshots / Gifs

Added Lightning strikes and lightning rods to protect against lightning strike damage

The player model now reacts to being cold and when exposed to strong winds. Added sand storm fog effect in sandy areas.

Can now sit down on block edges (WIP) and pet animals

Water is now stored in an independent "layer" - meaning blocks can be submerged, and water can flow through blocks

Added 200+ clutter blocks in preparation for the Lore Update     clutter.thumb.png.d55dc7ad57e13915079433b8ffa530ec.png

Added gazelles

Added brown bears, black bears, pandas and sun bears

Added Salmon fish, non-interactable for now (WIP)

Improved termite mound models with much larger variants, termite mound color matches the local type of sand

Enhanced temporal storm and low stability visuals

Armor repair and visible armor damage

Many more varieties of shield

Added a new grass type, a new cactus and cracked stone blocks.  Improved berry bushes, water lilies and breadfruit appearance

Reducing resolution in the graphics settings (for higher FPS) no longer makes the game blurrylinfilt2.thumb.gif.c6777edb682dcd1099aa3cd88683741e.gif

Improved sunset ambient visuals

More bling: improved reflective effects for metals and crystals
bling4.gif.12e2d852ff9eeee5d4906252ac971411.gif crystaltweaks.thumb.png.54f19a42b6ae4b2f47ffae56cdded4b1.png

New Lava visuals to look more like real lava

Ground storage improvements - items can now be placed with any orientation (respects placement orientation)

Ground storage improvements - can now place a selection of tools on the ground

New wrench tool to modify the orientation of a selection of block types

Armor stand pose can now be changed, using the wrench tool

Prettier main menu screens - dialogs such as Settings are now drawn over the background, and the background is smoother

Berry bushes are now fluffy (but can be pruned).  Fences now attach to more solid block faces


Game updates

  • Feature: Lightning strikes!
    • Damage creatures in a 8 block radius
    • Lightning rods can redirect lightning, be sure to place them in an elevated spot
  • Feature: 200+ new blocks: lore rich "clutter" blocks and bookshelves with rich visuals. Currently these are only in the Creative inventory. These will be added to Survival worldgen (in ruins, tombs, etc....) in the future 1.18 Lore Update
  • Feature: major Water physics update
    • any (non-solid) block can be submerged
    • water will flow through non-solid blocks
    • non-solid blocks can become embedded in lake ice if water freezes
    • stones, boulders, seashells and ruins etc. can be generated underwater in worldgen
    • panning from sand and gravel blocks which are in or next to water, the reduced layers block can become submerged
  • Feature: More visual spectacle during temporal storms and low stability
    • Added large turning gears in the sky
    • Additional "flowing rust" shader effects on blocks
    • More wicked glitches and particles
  • Feature: Improved Armor
    • Armor no longer disappears when its durability reaches 0, but it will lose all its protection.  Protection degrades as the armor durability reduces
    • Armor can now be repaired using its base material. Repairing armor has half the material cost.
    • Lowered the cost of crafting lamellar armor to be more accessible. Rebalanced blackguard and forlorn armor crafting costs to match repair costs for other chain/plate armors. Forlorn now requires some luxury materials to suit its fanciness.
    • Visuals: damaged armor will look visibly damaged
  • Feature: 30-fold increase in shield variety
    • There are now nearly 300 types of shields in the game.  Materials can be mixed and matched.  Currently limited to just a few shield models but we will add more soon.
    • Shield durability is now dynamically determined based on the materials used: hardwoods and stronger metals add durability to the base durability value
  • Feature: More and prettier flora
    • Added red top grass
    • Added flowering water lily
    • Added silver torch cactus to desert mountains. Painful on touch!
    • Berry bushes are now fluffy (can be pruned with shears)
    • Improved seasonal colors for ferns
    • Improved lichen model
    • Made breadfruit texture more spiky looking. Ripe breadfruits are now larger
    • Creative-only dandelion and acanthus flowers
  • Feature: New and improved fauna
    • New creature: Gazelle.  Male, female and calf.  Found in warm/dry climates (savannah)
    • New creatures: Brown bear, black bears, sun bears and pandas now spawn in the world
    • The first fish: Salmon.  No fishing or boats just yet, the salmon is only decorative right now
    • Fox pups now spawn as well
    • Can now pet tameable animals when they are generation 1 or higher (right-click a creature to pet it). Petting causes creatures to stand peacefully
    • Termite mound remake. Added much larger versions. All termite mounds are now rock typed. Added rare large patches to Savannahs
    • Improved Creature AI
      • Attacked creatures should now react more quickly
      • Improved creature AI tactics - when a attacking creature cannot reach its target and gets hurt, it will make a tactical retreat. Every time it gets hurt again, it will retreat further. Should mitigate the pillaring + ranged attack weakness of most creatures.
      • Fixed animals sprinting around a target because they overshoot the destination. Now they slow down near the target
      • Bears and other large creatures in general should no longer become stuck when wandering
      • Creatures walking into solid walls will attempt slight strafing movements to get around the wall
  • Feature: Extensive visual tuning
    • Much improved graphics quality when using resolutions below 100% - as it is no longer blurry (therefore, lower resolutions can be used to improve FPS without much loss of fidelity, especially on 4k monitors)
    • Improved sun ambient color and water reflections to reflect the sky colors
    • Prettier main menu - all main menu screens are now dialog based over the background image
    • Much improved reflective shader effect and more configuration options for modders for reflective stuff
    • Improved lava visuals and effects
    • Added more metal pouring vfx, added bouncy particles when smithing
    • Fences now attach to chiselled blocks
    • Random cracked texture overlay on rock
    • Tweak: Visual improvements on the death screen (permanent damage overlay + sepia effect)
    • Tweak: More sparkly crystals
    • Tweak: Larger bells and locusts
    • Tweak: Added blur effect to dialog title bars, various other minor visual tweaks
    • Tweak: Boosted SSAO intensity by 40%
    • Tweak: Third person camera zoom with +/- keys is now smooth instead of instant
    • Tweak: Added some glowy flicker to burning forges
    • Tweak: Placed curd bundles now rotateable
    • Tweak: More particles for burning coal in forges
    • Tweak: Some extra seraph head bobbing while drunk
    • Tweak: Beeswax and Honeycomb now displayed inside crates
    • Tweak: Bees no longer clip through walls
    • Tweak: Made filled crates and barrels fuller
    • Tweak: Block broken particle spawns are now multiplayer synced
    • Tweak: Added seraph chiselling animation
    • Tweak: A bit of rotation randomization on items placed in a display case
    • Tweak: Chickens now peck on the ground for longer, but now also peck for random durations
    • Tweak: Gravel texture now randomly rotated, which greatly mitigates any repetitiveness
    • Tweak: Fine tune amaranth crop texture, more fluff to some of the seraph hairstyles, fine tune layer of sticks model and texture, thicker stem for the bamboo sapling, added a bit of thickness to the condenser model
    • Fixed: Visual glitch glowy geometry during fog
    • Fixed: Weird AO on shelves against the wall
    • Fixed: Sun specular reflections on water no longer working since 1.16
    • Fixed: Distant tall grass noticeably disappearing (not being drawn at all)
    • Fixed: Minor visual glitches when distant tall grass seen against sky or water
    • Fixed: Terrain below flowing water had inconsistent shading at the end of the water flow
    • Fixed: Some inconsistencies in block sunlight levels below placed/flowing water blocks
    • Fixed: white or wrong particle colors when breaking leaves, fruit-tree leaves, berrybushes and waterlilies
  • Feature: Massive performance tuning
    • Faster chunk loading: We have changed our internal compression algorithm from deflate to ZStd, which is several times faster for both the server and clients and single-player
    • Even faster chunk loading and reduced memory usage: We have changed our internal chunk data storage method to palletised chunk storage, which needs two to four times less memory on average while the game is running, and made other improvements in memory efficiency, so the game uses less RAM while running, leading to smoother overall performance
    • Faster worldgen: The worldgen can now usually "keep up" with player motion as the player moves into new areas of the map
    • ~40% faster game starts: Lots of fine tuning and multithreading during the startup process should greatly reduce the game startup time. (Single player Creative world load time was 17 seconds in 1.16, now 10 seconds in 1.17, YMMV)
    • Improved overall FPS: Grass and flowers are now drawn using instanced rendering which improves FPS and allows more fine grained control over grass for future projects
    • Improved server TPS: AI pathfinding is now multi-threaded; many other entity ticking performance improvements; mitigated slow ticks caused by drifter and butterfly spawning; mitigated slow ticks caused by farmland and berrybush; for significantly fewer slow ticks / lag spikes overall
    • Greatly improved GUI dialog creation performance (the dialog edge blur algorithm now skips over the center part of the dialog)
    • Reduced SSAO quality on the "Medium SSAO" setting for more FPS
    • Improve FPS when rendering very large inventories, like the creative inventory (50 FPS -> 100 FPS)
    • Tweak: Increased server MagicNumbers values to reflect faster chunk loading speeds and faster worldgen - servers are encouraged to experiment with the servermagicnumbers - especially ChunksColumnsToRequestPerTickChunksToSendPerTick and ChunkColumnsToGeneratePerThreadTick to find their own optimal values
    • Temporal storm particles are now async for more performance
  • Feature: Added a wrench tool. Can be used to re-orient chutes, stairs, slabs, logs, pillars and plaster. Can now change armor stand arm pose with a wrench.
  • Feature: Added Lookat camera mode. Makes it so that in the overhead camera mode the seraph looks into the camera. Enable via .clientconfigcreate overheadLookAt bool true
  • Feature: Desert storms. Block colored fog effect in dry areas with lots of sand, when there are strong winds
  • Feature: Added bamboo and straw hats
  • Feature: Support for 2x1 paintings. Added "sodhouse" and "lastday" paintings
  • Feature: Worldgen tuning
    • Now less trees in hot and dry areas
    • Reduced spawn of water in dry places by making lakes/seas more shallow. In existing 1.16 worlds this can cause lines of water at chunk borders with newly generated map regions, but only below sea level in dry areas.
    • Loose stones and boulders now also spawn in caves
  • Feature: Seraph fine tuning
    • Tweak: Experimental Seraph voice sound rework. Added ".debug talk" command for testing voices. Community: Let me know if this sounds any better? :D
    • Tweak: Improved immersive first person mode. Death animation no longer glitching into blocks and knapping should be easier (work in progress)
    • Feature: Sitting down on a block edge now uses a custom seraph pose (still quite buggy in multiplayer)
    • Feature: Added "protect eyes" pose to seraph during strong winds
    • Feature: Additional visual effects when cold
      • Animals and players that are low body temperature now have a frost overlay on them (when the outside temperature is below -5 °C)
      • Seraphs will have a freezing / shivering animation when cold
  • Feature: Added ability to place sideways hay bales
  • Feature: New 3D models for tailor shoes, merchant shoes, great steppe boots, and reindeer herder shoes
  • Feature: The longblade is no more. Long live the falx!
  • Feature: Added more dyed leather options to make the new shields out of
  • Tweak: Game controls fine tuning
    • In the Settings menu, the Mouse settings and Keyboard controls are now split across two tabs
    • New controls option: Ctrl-click and Shift-click mouse modifiers can now be separate from the Sprint and Sneak keys (so you can re-assign Sprint to something other than the Ctrl key, but still use a Ctrl-click mouse action)
    • Keyboard controls are now more logically grouped in the Settings menu
    • When the Handbook refers to keyboard controls, it shows the current assigned key
    • Block interaction help now shows mouse modifiers (by default, Ctrl- and Shift-) before the mouse button
    • Translation: added missing lang strings for some controls e.g. Show Handbook, Show/Hide Minimap
    • Bulk add material to the Bloomery is now Ctrl + right-click, for consistency with other bulk adds
  • Tweak: Gameplay balance tuning
    • Added a small respawn timer: the death dialog now appears with a 1.5 seconds delay
    • Double the drop rate of crystallized ores. They were waaaay too rare IMO
    • Hares can no longer jump over fences in snowy conditions; reduced hare spawn max light level from 8 to 6 to further mitigate them spawning in farmlands
    • Boosted breadfruit satiety 120 -> 200
    • Empty firepits now have a 4x burn time bonus instead of 3x
    • Chiselling now requires a hammer in the off-hand in Survival mode, but does not consume durability on the hammer
    • Aged wooden crates can no longer be made from aged wooden boards. To compensate, traders will now buy aged wooden crates for more than they used to
    • Can now craft the stone coffin from basalt and peridotite stone
    • Tree felling time is now more based on log count, less based on leaves count
    • Tree felling time also based on wood type; hardwoods take 30% longer; tropical hardwoods longer still
    • Higher tier metal axes fell trees slightly faster than previously
    • Purpleheart requires at least a copper/scrap axe to fell; ebony requires at least a bronze axe
    • Crop growth times are now calculated in months instead of days, so setting shorter months means quicker growth times. The default growth times remain unchanged
    • Reduced respawn speed of wolves, slightly reduced spawn rate of butterflies
    • Hares now eat sunflower and cassava crops in their early stages
    • Forest floor blocks when broken now drop low fertility soil instead of medium fertility
  • Minor dejanking
    • Tweak: Added barrel open/close sound. Can now right click barrel again to close gui
    • Tweak: Tree seeds can now be placed in display cases
    • Tweak: Changed behavior of how items flow in chutes to be more intuitive
    • Tweak: Wolf howl animation now more synchronized to the howl sound
    • Fixed: Pounders pounding in the wrong direction (visual bug)
    • Fixed: Texture overlapping issue on the 3-flower lupin
    • Fixed: Helve hammer obstructed by a block where it doesn't feel like it should get obstructed
    • Fixed: Multiple visual issues with potted bamboo and lily of the valley
    • Fixed: Wrong texture resolution on seaweed
  • Tweak: Ground storage tweaks
    • Can now place spears, shovels and hoes against walls
    • The rotation of the placed item now depends on the player's placing direction (used to be fixed)
    • The Ground Storage selection box now stays at ground level for better visuals and more accurate sub-block placement
    • Fixed wrong particle collision box with ground storage blocks
  • Tweak: Allowed glass to be chiselled.  WIP: still didn't fix the wrong faces issue with them though or the wrong texture
  • Tweak: Increased third-person in-hand model size for full blocks
  • Worldedit updates
    • Feature: Can now use worldedit to place fruit trees
    • Fixed: Worldedit, using "Redo" after a move tool operation not working
    • Fixed: 3 bugs related to importing entities stored in block schematics
    • Tweak: Worldedit control panel now allows setting of fractional movespeeds
    • Tweak: Changing the current selection is now also stored in the undo/redo history state
    • Tweak: The Magic select mode will now ignore tallgrass by default
    • Tweak: Added a flood fill mode more suitable for placing lakes
    • Tweak: The flood fill tool now will replace all blocks of blockmaterial Plant
    • Tweak: Left clicking with the flood fill tool now performs the opposite effect, a "flood erase"
    • Tweak: Worldedit: Added server overload protection toggle to the options dialog
    • Fixed: Multiple fixes with "/we mr" no longer creates 2 history states, also updates the current selection and does not move the whole selection up by several blocks
    • Tweak: Worldedit GUI upgrades:
      • Fixed: Drop down scrollbar was not visible
      • Select tool now has 2 new buttons: Rotate CW and Rotate CCW
      • Increased flat fog slider range 4-fold
  • Various command tweaks
    • Tweak: /time command now disallows setting of negative values because it has undefined behavior
    • Tweak: Added "/player [plrname] entity intox" subcommand to set intoxication value
    • Tweak: Added "/debug delplr name" to delete playerdata in a savegame
    • Tweak: Added "/player playername movespeed" subcommand
    • Fixed: /weather setev not working
    • Tweak: /debug logticks command output now more informative and new layout
  • Tweak: Tallgrass shadows only drawn near to the player
  • Tweak: Gold and silver falx are now steel blades with gold/silver flair. As such, their recipes and stats have changed to be similar to steel falx
  • Tweak: Forlorn Estoc now uses a thrust animation in 3rd person to better suit the weapon
  • Tweak: Added a description to wolf pup item to indicate that it's hostile and some traders highly value it
  • Tweak: Can now place side-growing mushrooms in creative mode
  • Tweak: Chat dialog less obtrusive (more transparent) when not focused (experimental)
  • Tweak: Trimmed the hunter class flavor text
  • Tweak: Changed name of hacking spear to tuning spear to better fit the setting. Also gave it a description so players know what it does
  • Tweak: Hacking spear can be made with tin bronze and bismuth bronze spears now
  • Tweak: Added the 'Tinkerer' trait to the Clockmaker class: functions like the other unique crafting traits
  • Tweak: Savegames should now be more robust against ungraceful exits in regards of entity spawning
  • Tweak: Various improvements to creature bots (we used these for making the 2022 trailer!)
    • Added bear and hacked locust bot
    • More configurable playerbots
      • Can wear backpacks, quivers and shields.
      • Can apply a custom skin via /npc copyskin to apply a player skin
      • Can now have a nametag, set via /npc setname
    • Fixed /npc enq/exec playanim not working for some animations
    • Added "/npcs loopall" subcommand
  • Tweak: Added ability to disable crop/berry bush and fruittree growth (/worldconfigcreate bool processCrops false)
  • Tweak: Added player entity repair capability when loading a savegame in repair mode
  • Tweak: The paper, scroll and book lore items now have 3d models
  • Tweak: Disabled span ruins, they need better spawning behaviors
  • Tweak: Torches and other blocks which attach to the side of other blocks, now cannot be attached to lake ice (even if they could before)
  • Fixed: Multiple issues with snow coverage on chiseled blocks
  • Fixed: Dark shadows caused from SSAO, might break other things
  • Fixed: Pristine forlorn body armor can now be properly crafted.
  • Fixed: Wooden path block texture issues
  • Fixed: Cinematic camera crash when adding 2 points at the same coords
  • Fixed: Multiple issues with the immersive first person mode (clip into blocks upon death, not adjusted for running sideways swivel, etc.)
  • Fixed: Heavy z-fighting on distant ice
  • Fixed: Falling containers now drop their contents if they cannot be placed on impact
  • Fixed: handbook entry for labeled chests, and links to it in chalk and charcoal descriptions
  • Fixed: (long-standing!) leaves blocks incorrectly had a 0 degrees rotated alternate as well as 10 degrees
  • Fixed: (since 1.16) blocks with general wind motion flag were incorrectly given a glow value (e.g. glow == 3)
  • Fixed: (since 1.14) leaves ground-offset windshear being disabled for leaves against solid blocks was not working correctly on north side
  • Fixed: Unknown texture when putting solder ingots on forges
  • Fixed: Wrong glow vfx for items held in third person mode
  • Fixed: In single-player, occasional flash of X-ray vision when breaking blocks underground at any chunk edge
  • Fixed: Should fix stability issues when using the game updater, due to leftover files that should no longer be there
  • Fixed: TempstormDurationMul world config not working
  • Fixed: Some roofing faces too dark; trough fluffy hay faces too dark.
  • Fixed: Particle collision box issues with the boiler
  • Fixed: Water in condenser hardly visible
  • Fixed: Placing fruit trees with worldedit did not respect the size values
  • Fixed: Tool molds rotations during clayforming not matching finished product in some cases
  • Fixed: Sealed barrels displayed block interaction help
  • Fixed: Drifter killing drifter showed "eaten by" in the info text
  • Fixed: Wrong SSAO on knapping surface
  • Fixed: Pullets changing plumage when they mature to adults
  • Fixed: Wrong texture resolution on some bamboo leaves
  • Fixed: .clientconfigcreate not printing error on invalid datatype
  • Fixed: Some lighting chunk border issues when rooms are closed or opened to sunlight
  • Fixed: Various minor sunlighting bugs (eg. wrong values below water which spreads)
  • Tweak: for Linux users, starting the game using Mono versions prior to Mono 5 should now fail (Mono 4.x and below is not supported)
  • Translation:
    • Fixed: lang strings for some item info such as clothing and armor properties
    • Added lang strings for some colors


API Changes

  • Tweak: All code obfuscation now been completely dropped from the game engine
  • Feature: Greatly improved frame profiler and slow tick logging.
    • Instead of a flat list, frame costs are now displayed hierarchically and also show the call count. Allows for a much more fine grained analysis of costly operations / laggy sections of code.
    • Added new FrameProfiler.Enter() and .Leave() methods for hierarchical tick logging
  • Feature: New "OnAnimationEnd" Mode EaseOut. Greatly helps with jerky animation endings
  • Feature: Shape.TryGet(api, fileLocation) method simplifies code for loading shapes and adds consistent error checking
  • Feature: still and flowing water blocks, and lake ice blocks, are now accessed separately from regular blocks, as there can be both water and a regular (non-solid) block in the same BlockPos position
    • Use IBlockAccessor.GetLiquidBlock(), IBlockAccessor.SetLiquidBlock(), IBlockAccessor.SearchLiquidBlocks() for reading and writing water and lake ice
    • There are also IWorldChunk.GetLiquid() and .SetLiquid() methods, but mods should generally use the IBlockAccessor methods
    • IBlockAccessor.GetSolidBlock() will return the regular block at the position UNLESS there is lake ice present in which case it will return the lake ice (used e.g. for motion physics and collision detection)
    • IBlockAccessor.IsSideSolid() behaves similarly: tests the regular block at the position for solidity, or will return true if lake ice is present
    • to generalise, mods can add their own blocks (liquids, gasses or perhaps ice) to the new system allowing regular blocks to be submerged/enclosed/embedded in such blocks: this is done simply by overriding property Block.ForLiquidsLayer in the code for the liquid/gas/ice block
    • For existing 1.16 blocks which are found in water or in ice (e.g. in vanilla, Coopers Reeds or Papyrus, which have -water- and -ice- variants, or Seaweed) you can update to the new system as follows: (a) remove the rendering of water and ice and any special water and ice properties from your block, the in-water variant should now be the same as the on-land variant; (b) for the in-water or in-ice variants only, for successful updating from 1.16 to 1.17, override property Block.RemapToLiquidsLayer to provide the water/ice code matching your block, e.g. Reeds in water set that property to "water-still-7"
    • BlockUpdate and Schematic now have water data in them in addition to block data
    • Mods needing to test for the presence of water or lake ice should change their code to use the IBlockAccessor.GetLiquidBlock() call
    • Mods needing to test whether a neighbour side is solid should use IBlockAccessor.IsSideSolid() to detect all cases accurately, including e.g. stones embedded in lake ice
    • To minimise the breaking of existing 1.16 mods, IBlockAccessor.GetBlock() will still return the water/lakeice block at a position if there is no block submerged/embedded in it - but if there is a block submerged in water (or embedded in lakeice) then .GetBlock() will return the submerged block, so that mods which do not update their code to use a .GetLiquidBlock() call will not see that there is water in the position, if a block happens to be submerged there
    • To minimise the breaking of existing 1.16 mods, IBlockAccessor.SetBlock() used with a water/lakeice block (or any block for which Block.ForLiquidsLayer is true) will automatically write that block to the liquids layer, and will delete any existing regular block at the position (i.e. the same behavior as in 1.16 code).  To add water/lakeice to a block position without deleting the regular block (i.e. allowing the existing block at the position to become submerged in water or embedded in ice) use IBlockAccessor.SetLiquidBlock()
    • Placing a fully solid block in any position will remove the water/lakeice at that position
  • Feature: Missing lang file keys are logged in client-debug.txt (and sometimes in server-debug.txt but that is rare)
  • Feature: Added <hk> or <hotkey> VTML tag. In handbook entries, can use e.g. <hk>sprint</hk> to display the actual current mapping of the sprint key
  • Feature: for any keyboard controls (hotkeys) your mod adds, use new EnumHotkeyTypes: HelpAndOverlays, MouseModifiers, MovementControls and InventoryHotkeys for better grouping in the keyboard controls settings dialog
  • Feature: Configurable inventory slot count for entity harvesting
  • Feature: IServerWorldAccessor.IsFullyLoadedChunk(), true if all neighbor chunks are also loaded.  BlockEntities or entities can use this during tick updates for better performance, e.g. to make sure that searching neighbor chunks for blocks will not cause lag-spikes due to loading unloaded chunks.  See BEBerryBush and BEFarmland for example
  • Feature: Added api.XXXAtlas.GetOrInsertTexture() to replace InsertTextureCached() which is now obsolete, as it is very inefficient
  • Refactor: Collectible.GetDurability() is now renamed to Collectible.GetMaxDurability(). Added Collectible.GetRemainingDurability()
  • Refactor: QueueOfInt and FastSetOfLongs moved to Vintagestory.API.Datastructures 
  • Tweak: ModMaker should place patches into a separate mod domain (will now also prompt for the mod domain)
  • Tweak: PlayerControl.CtrlKey and PlayerControl.ShiftKey, use these for block and entity interactions which depend on Ctrl+mouseclick or Shift+mouseclick, in place of checking for Sprint and Sneak keys  (though by default Sprint is bound to Ctrl, and Sneak is bound to Shift, a player might change that)
  • Tweak: Significantly re-order and properly ensure order of asset registration etc during server startup, for details of correct use, see updated descriptions in the XML help for ModSystem methods .ExecuteOrder(), .StartPre(), .Start(), .AssetsLoaded(), .StartClientSide() and .StartServerSide()
    •  ModSystem .Start() method may be called at a different time from previously, specifically it will now be called even before assets (including blocktypes, lang file, etc.) have been loaded; any of your code in Start() which requires assets to be loaded may need to be moved to the AssetsLoaded() method
    • Additional optional initialisation call ModSystem.AssetsLoaded() called after the Start() method and after assets are loaded, but before StartClientSide/StartServerSide.  This is called on both server and client, see VSSurvivalMod Core.cs for an example.  Typically used to initialise block or item fields
    • New server event AssetsFinalizers, can be used in code to modify/finalize behaviors or properties for any block or item in the game (your mod's assets or another mod's assets) after all loading from JSONs is complete. Use this in 1.17+ instead of making changes to assets in a mod's StartServerSide() method - doing it in the StartServerSide() method will likely be too late.  E.g. in vanilla, the BlockReinforcement system adds a Reinforcement behavior to every appropriate block in this event
  • Tweak: Added callback method Collectible.ConsumeCraftingIngredients()
  • Tweak: Added ability to disable entity behaviors and AI tasks by adding a `enabled: false` line (can also do this byType)
  • Tweak: Added "ShowInCreatedBy" property for recipes to hide them from the handbook (such as repair recipes)
  • Tweak: IBlockAccessor.WalkBlocks() Action now offers int x,y,z coordinates instead of a BlockPos
  • Tweak: Cuboidd new method SetAndTranslate() allows both operations to be combined in a single method call
  • Tweak: Vec3d can now be Set() to an EntityPos
  • Tweak: BlockPos new method SetAndEquals() returns a boolean indicating whether the BlockPos already held the values set
  • Tweak: Can now define separate player animations to be run in immersive first person mode (by prefixing them with "ifp-").
  • Tweak: Chisel tool modes are now a bit more moddable
  • Tweak: Block.SideSolid is now a custom class, SmallBoolArray
  • Tweak: ShapeElement.Faces is now deprecated: use .FacesResolved instead if you need to access a ShapeElementFace
  • Tweak: Block.Textures and .TexturesInventory are now IDictionary<> not Dictionary<>  (but in most cases existing code should not need to be changed)
  • Tweak: EntityClientProperties.Textures is now IDictionary<> not Dictionary<>  (but in most cases existing code should not need to be changed)
  • Tweak: Block.SideSolid is now a SmallBoolArray struct, not a bool[]  (but in most cases existing code should not need to be changed, e.g. Block.SideSolid[0] will still test the North face)
  • Tweak: Can now define particle Bounciness as a float value (before it was a boolean)
  • Tweak: "Weak shiny" mode. If the shiny bit is set and any wind data is set, the shinyness effect is reduced
  • Tweak: New basic flower shapes flower-48x48 and flower-32x64, drawn with correct pixel density, see the creative-only Dandelion and Acanthus flowers as examples  (modders can test new flower textures in-game by replacing the dandelion and acanthus textures)
  • Tweak: two new DrawTypes which appropriate blocks can use for instanced rendering, for higher FPS: InstancedCross (used by tallgrass, flower-horsetail, and flower-edelweiss) and InstancedFlower (used by catmint, cow parsley, poppy, redtop grass, wild daisy and woad).   Where InstancedFlower is used, petal and stem textures should be combined into one double-width .png file, see the texture files for those flowers for examples
  • Tweak: The Modmaker will now work on pre-releases of the game
  • Tweak: Rewrite head yaw/pitch handling, now part of EntityPos and synced.
  • Fixed: Cuboidf.RotatedCopy() not rotating hitboxes correctly
  • Fixed: Positioning issues in VTML/richtext
  • Fixed: Compatibility util did not work on first world load


View full record

  • Like 14
  • Cookie time 1
  • Amazing! 5
  • Mind=blown 3
  • Thanks 3
Link to comment
Share on other sites

  • 4 weeks later...

Hot damn, those clutter blocks. Who made them? A major double thumbs up to everyone involved! 1.17 isn't even in RC yet and I'm already massively hyped for 1.18 just from those alone! :D

Does the new grass generate in different climate zones, or does it just mix randomly with the regular grass we already have to increase variety?

Do sand textures also benefit from the rotation treatment that the gravel textures got? Asking because the mod I've been using religiously treats both gravel and sand. And the screenshots do show that there's a (subtle) improvement.

And concerning my 'favorite' not-yet-dejanked feature - do you think a farmland quality reordering, like we once discussed on Discord, might make it into the final release? ;)

  • Like 1
Link to comment
Share on other sites

Wow. More lore-related items? Like the ones that store scrolls/books etc very neat.

I'm glad the devs finally implement the repair system, although for armor at the moment it did will save players resources when using certain armor that requires lots of stuff.

Keep up the good work.

  • Like 1
Link to comment
Share on other sites

I think it's great that I've started shivering in the cold.
Will there be more warm clothes and means of keeping warm with it?
If it is warm clothing, I would like it to be made from skins that can be taken in excess.
As for means of keeping warm, would it be nice if freshly prepared warm food and warm drinks could also raise and maintain body temperature?
And I would like to see the action of taking water, which is so important for survival living, implemented as soon as possible.😁

Link to comment
Share on other sites

3 hours ago, macoto_hino said:

As for means of keeping warm, would it be nice if freshly prepared warm food and warm drinks could also raise and maintain body temperature?

I'm 99% sure I asked Tyron about this back in 1.15 when temperature was introduced and it was added in a later update.

That being said, I have not tested it myself and I have no idea how effective it is. So I could be totally incorrect.

Link to comment
Share on other sites

49 minutes ago, l33tmaan said:

I'm 99% sure I asked Tyron about this back in 1.15 when temperature was introduced and it was added in a later update.

That being said, I have not tested it myself and I have no idea how effective it is. So I could be totally incorrect.

Oh, was it?
When I was shivering from the cold, I would light a bonfire, so I didn't think the warm food was raising my body temperature.
Tyron, I am sorry.🤣

Link to comment
Share on other sites

2 hours ago, l33tmaan said:

I'm 99% sure I asked Tyron about this back in 1.15 when temperature was introduced and it was added in a later update.

That being said, I have not tested it myself and I have no idea how effective it is. So I could be totally incorrect.

Fur clothes are WONDERFUL!  All it takes is pelts and a knife or shears to create fur clothes that provide up to 4 degrees thermal protection.  A full set takes 30 medium or large pelts and gives 9.5 degrees of protection iirc.   I'm running a full set of fur and have little trouble running around in -20 degree weather and not getting the shivers.  I think it takes about 18-24 hours outside constantly before I start shivering.

Link to comment
Share on other sites

6 hours ago, l33tmaan said:

I'm 99% sure I asked Tyron about this back in 1.15 when temperature was introduced and it was added in a later update.

That being said, I have not tested it myself and I have no idea how effective it is. So I could be totally incorrect.

Going from memory on reading patch notes but i believe it was done in a minor patch that hot food does provide you with a small buff for x ammount of time(dont know the details)

  • Like 2
Link to comment
Share on other sites

-Dejank quality improvements(vanilla)

0-Disable ability to crush ilmenite chunks to nuggets with a hammer and also modify the tooltip of chunks of ilmenite to take out : Crush with hammer to extract nuggets, just mention it needs to be pulverized for crushed ilmenite requiring pulverizer tier 4. nearly 80% of common mistakes using hammer to crush titanium chunks...I'd disable it to prevent heartbroken first timers.

1-Skinning animals/drifters should be faster with better knife tool tiers..doesnt make sense it's the same for a chert knife than it is for a steel knife or make it based on experience. How many i've killed and skinned of that X mob. Could be used for achievment/lore section at some point.

2-Make fuel impact the lenght of the burn duration in a forge/steel furnace(under) and bloomeries not just meeting min requirements would make fuel worth something by speeding up aka pit kilns, and same for underneath the carburization furnace. If charcoal is 20% underneath, could anthracite be 50% for example for 1 batch.

3-Round up the first carburization from 19 to 20% since all others are 20%...doesnt make sense.

4-Animal AI - Hyenas should hunt/kill antilopes(gazelles) and chickens and hares.

5-Better storage backpacks or satchels on belts/purse for seeds/rusty gears on player would make sense..Leatherback and or mining backpack in vanilla been the top picks since well before 1.11. So many new items since then. New backpack with more slots made of leather/metal plate and one huge pelt( looted from a bear). As time goes by more and more items were added to the game so higher tier backpack with 8 slots would be neat

6-Fact that you cant have shield+ weapon+light is moot point for using shield in many many situations. Yes i know you can spawn torches on the ground. Could we hook a lantern on a backpack with a 20% reduction to light radius and a small movement debuff instead?

7- Thrown rocks by drifters trigger too much knockback when your moving about or jumping mid air even with the damage with the best shield+steel plate armor the value is often 0.04 which is 5% of 1 hp. Could we have a knockback factor depending on diff tier between your armor+the tier of the monster and also having a cummulative counter for X ammount of time.  I suppose if i get thrown 300 rocks by T0 drifter, yea they would pillage me to death and i'd be knock around but when it's just 1 single surface drifter...It becomes annoying really. I wouldnt mind if naked and all but when i'm all geared...high tier mobs should do it and or if i get thrown many many rocks but for 1-2 of them.

8- Poultices tweak more realistic: Make poultices heal instantly for 3.5 hp and 3.5hp over time. The healing over time ignores the healing effectiveness malus of armor and can be cumullated to a certain degree however if you get hit again you stop healing over time. Add a horsetail alternative in hotter regions(Certain ferns could be used easily).


It should have more impact on gameplay besides the 2.5Hp bonus per whole nutrition bar. It requires quite a lot of investment and balance to do it + cooking time. Why not give out a base 1%+ speed boost for all classes per full nutrition(half a bar would give 0.5% speed upgrade etc.) so 5x half bars would grant 2.5% more speed while perfect nutrition would net you 5% speed and secondly add a factor that high nutrition in all domains would make you more hardy/strong by lowering the walk speed penalty of the armors. A hunter could potentially hit 115% move speed with the clockmaker and other classes 105% with no armor. An other option would be for you to deal small additional damage/handle knockback better.

10- Revised based settings survival should be on by default for allow chiseling/pro-pick. People ask for this constantly.


Sounds/Music Tweaks and Features: 1- A new different sound slider  for other entities (so for drifters, bees, wolves, pigs, chickens, sheeps, bears, locusts,etc.). Id rather have bees not in the ambient sounds type. 2- Please  Toggle for sound to turn off armor constant swooshing sound as you walk around. I only tolerate gambeson,leather,etc...metalic armor gets on everyone's nerves. 3-  Helvehammer toggle off for sound 3-  Augment the sound attenuation of pit kilns and make them less noisy....especially when you do many of them 4- Add new music for temporal/change tempo base on % of Temporal Stability by bracket(currently starts at 75%)...add new ones or variations as it gets much lower, add music when underground as you arrive in a ruin/add combat music variations base on damage dealt and receive. 5-  Add directional sounds to drifters stepping towards you(immediate 5-6 blocks around you and not more...if possible not thru walls)..higher the volume if it's walking from 3rd block to me than 6-9 blocks away if he comes from the right i should hear it from my right ear. 6-  Environmental sounds based on biomes you're in such as cricket, different species of birds chirpping in morning, cicadas when its hot in summer, crows, raven, owls, squirrels, frogs, hawks, monkeys, water dripping in underground caves from staglatites.

Edited by Aledark
  • Like 2
Link to comment
Share on other sites

I have tried to Japanese-language the Game updates for 1.17.0-pre.1 using DeepL.
Vintarians looking at the official forums should have no problem with the English version, but it is for my own use.😁

1.17.0-pre.1のGame updatesの日本語訳


◎Game updates

 ○防具は耐久度が0になっても消滅しなくなりましたが、防御力がすべて失われます。 防具の耐久度が下がると、防御力が低下します。
 ○300種類近いシールドが登場。 素材は自由に組み合わせ可能。 現在は数種類のシールドモデルに限定されていますが、近日中に追加する予定です。
 ○新生物:ガゼル。 オス、メス、子牛。 温暖で乾燥した気候(サバンナ)に生息。
 ○最初の魚:サーモンです。 まだ釣りも船もなく、サーモンはただの飾りです。
 ・生き物のAIの戦術改善 - 攻撃中の生き物が目標に到達出来ず負傷した場合、戦術的撤退します。再度負傷すると、さらに逃げ出します。ほとんどの生き物の柱+範囲攻撃の弱点を緩和するはずです。
 ○100%以下の解像度を使用した場合のグラフィック品質が大幅に向上 - ぼやけなくなった為(したがって、特に4kモニターでは、忠実度をあまり失うことなく、低解像度を使用してFPSを向上可能)。
 ○より美しいメインメニュー - すべてのメインメニュー画面は、背景画像の上にダイアログベースで表示されるようになりました。
 ○ワールド生成の高速化:プレイヤーがマップの新しいエリアに移動する際、 ワールド生成は通常プレイヤーの動きに合わせて行われます。プレイヤーがマップの新しいエリアに移動する際、ワールド生成が通常プレイヤーの動きに追従可能になりました。
 ○SSAOの品質を "Medium SSAO "設定で低下させ、より高いFPSを実現しました。
 ○クリエイティブインベントリのような非常に大きなインベントリをレンダリングする際のFPSの改善(50FPS -> 100 FPS)
 ○微調整:チャンクのロード速度とワールド生成の高速化を反映する為にサーバーのMagicNumbers値を増加 - サーバーは、特にChunksColumnsToRequestPerTick、ChunksToSendPerTick、ChunkColumnsToGeneratePerThreadTickで実験して自分の最適値を見出す事が推奨されます。
●特集:ルックアットカメラモードを追加しました。俯瞰カメラモードにおいて、セラフがカメラを覗き込むようになります。.clientconfigcreate overheadLookAt bool trueで有効化されます。
●特集:2x1ペインティングに対応。"sodhouse"と "lastday "のペインティングを追加しました。
 ○微調整:実験的なセラフボイスサウンドの作り直し。ボイスをテストするための".debug talk "コマンドを追加しました。コミュニティ もっといい音になったら教えてください :D
 ○ブロック操作のヘルプで、マウスボタンの前にマウスの修飾キー(デフォルトでは Ctrl- と Shift- )を表示するようになりました。
 ○パンノキの満腹度アップ 120→200
●微調整:ガラスにノミを入れられるようになりました。 WIP: まだ、表面の問題やテクスチャの問題は修正されていません。
 ○微調整:塗り潰しツールで左クリックすると、逆の効果である "塗り潰し消去 "が実行されるようになりました。
 ○修理済:"/we mr"での複数の修正により、2つの履歴状態を作成しなくなりました。また、現在の選択範囲を更新し、選択範囲全体を数ブロック上に移動しなくなりました。
 ○微調整:酔い値を設定するサブコマンド"/player [plrname] entity intox"を追加しました。
 ○微調整:セーブゲーム内のプレイヤーデータを削除する"/debug delplr name"を追加しました。
 ○微調整:サブコマンド"/player playername movespeed"を追加しました。
 ○修理済:/weather setevが動作しない。
 ○微調整:/debug logticksコマンドの出力がより有益になり、新しいレイアウトになりました。
 ・npc copyskinを介してカスタムスキンを適用し、プレイヤースキンを適用可能。
 ・npc setnameで設定したネームタグを付けることが可能になりました。
 ○一部のアニメーションで/npc enq/exec playanimが動作しない問題を修正しました。
 ○サブコマンド"/npcs loopall"を追加しました。
●微調整:作物/ベリーの茂みと果樹の成長を無効にする機能を追加しました。(/worldconfigcreate bool processCrops false)
●修理済:(1.16 以降) General Wind Motionフラグを持つブロックにグロー値が正しく与えられない (例: グロー == 3)
●修理済:(1.14 以降) 固いブロックに対する葉のグランドオフセットウィンドシェアが北向きで正しく動作していなかった。
●修理済:三人称視点で持ったアイテムのglow vfの不具合。
●修理済: シングルプレイで、地下のブロックの端でブロックを壊すと、時折、X線ビジョンが見える。
●修理済:ドリフターがドリフターを倒した際のインフォメーションテキストに"eaten by"が表示されました。
●微調整:Linuxユーザーにおいて、Mono 5より前のバージョンのMonoを使用してゲームを開始すると、失敗するようになりました(Mono 4.x以下はサポートされていません)。

◎API Changes
●特集:新しい "OnAnimationEnd "モードの緩和。ぎくしゃくしたアニメーションの終了に大いに役立ちます。
●特集:Shape.TryGet(api, fileLocation)メソッドにより、形状を読み込むためのコードを簡素化し、一貫したエラーチェックを追加しました。
 ○既存の1.16のMODの破壊を最小限にする為に、水/氷のブロック(またはBlock.ForLiquidsLayerがtrueのブロック)で使われるIBlockAccessor.SetBlock()は自動的にそのブロックを液体層に書き、その位置にある既存の通常のブロックを削除します(つまり、1.16コードと同じ動作です)。 通常のブロックを削除せずに、ブロックの位置に水や氷を追加する(つまり、その位置にある既存のブロックを水に浸したり氷に埋め込んだりする)には、IBlockAccessor.SetLiquidBlock()を使用します。
●特集:VTMLタグに<hk>または<hotkey>を追加しました。ハンドブックの項目で、例えば <hk>sprint</hk> を使用すると、スプリントキーの実際の現在のマッピングを表示可能です。
●特集:IServerWorldAccessor.IsFullyLoadedChunk()は、すべての隣接チャンクもロードされている場合、trueになります。 BlockEntitiesまたはEntityはtick更新中にこれを使用してパフォーマンスを向上可能です。例えば、ブロックの近隣チャンクを検索しても、ロードされていないチャンクのロードによるラグスパイクが発生しないことを確認するためです。例として、BEBerryBushとBEFarmlandを参照して下さい。
●微調整:PlayerControl.CtrlKeyとPlayerControl.ShiftKeyは、SprintとSneakキーをチェックする代わりに、Ctrl+マウスクリックまたは Shift+マウスクリックに依存するブロックおよびエンティティインタラクションに使用します(ただし、デフォルトではSprintはCtrlに、SneakはShiftにバインドされていますが、プレイヤーによってはこれを変更できる場合があります)。
 ○ModSystem .Start()メソッドは、以前とは異なるタイミングで呼び出されるかもしれません。特に、アセット(ブロックタイプ、言語ファイルなどを含む)がロードされる前でも呼び出されるようになりました。Start()内のコードのうち、アセットをロードする必要があるものはAssetsLoaded()に移動する必要があるかもしれません。
 ○オプションの追加初期化と呼ばれるModSystem.AssetsLoaded()は、Start()メソッドの後、アセットがロードされた後、StartClientSide/StartServerSideの前に呼び出されます。これはサーバーとクライアントの両方で呼び出されます。例として、VSSurvivalMod Core.csを参照して下さい。通常、ブロックやアイテムのフィールドを初期化するために使用されます。
 ○新しいサーバーイベントAssetsFinalizersは、JSONからのすべての読み込みが完了した後に、ゲーム内のブロックやアイテム(MODのアセットや他のMODのアセット)の動作やプロパティを変更/確定するコードで使用可能です。1.17+では、MODのStartServerSide()メソッドでアセットを変更する代わりにこれを使用します - StartServerSide()メソッドでそれを行うと、恐らく手遅れになります。 例:バニラでは、BlockReinforcementシステムは、このイベントで適切なすべてのブロックにReinforcement動作を追加します。
●微調整:"enabled: false"の行を追加することで、エンティティービヘイビアとAIタスクを無効にする機能を追加(byTypeでも可能)しました。
●微調整:レシピに "ShowInCreatedBy "プロパティを追加し、ハンドブックから非表示可能になりました(修理レシピなど)。
●微調整:IBlockAccessor.WalkBlocks()アクションで、BlockPosの代わりにint x,y,z座標が利用可能になりました。
●微調整:"Weak shiny"モード。光沢ビットが設定され、かつ、いずれかの風データが設定されている場合、光沢の効果が減少します。
●微調整:InstancedCross(tallgrass、flower-horsetail、flower-edelweissで使用)とInstancedFlower(catmint、cow parsley、poppy、redtop grass、wild daisy、woadで使用)の2つの新しいDrawTypesを使用し、適切なブロックでインスタンスレンダリングを行うことにより高いFPSを実現します。InstancedFlowerが使用される場合、花びらと茎のテクスチャは、1つの二倍幅の.pngファイルにまとめる必要があります。
●修理済:Compatibility utilは最初のワールドロードでは動作しませんでした。


Edited by macoto_hino
Link to comment
Share on other sites

On 5/23/2022 at 6:56 AM, Tyron said:
  • New water and ice system: There can now be water and a block at the same coordinates in the world.  This means that any (non solid) block can now be submerged in water, water can flow through most blocks that are not solid, and blocks can be embedded in ice

I go crazy when I see performance updates, so I really appreciate that, but I gotta say this is the surprise gem for me. I don't know why it bothered me so bad before, but now that it is solved, I'm very happy. xD

Thanks so much guys for your hard work, and all of the awesome progress! :) 

Link to comment
Share on other sites

  • 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.