1.16.0: Difference between revisions

From Vintage Story Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 10: Line 10:
}}
}}


'''1.16.0''', also known as the [[Homesteading part 2]] plus with the [[Combat update]] was a major update that was released, the main focus of which is to rework some features to more versatible with some addictions to spice thing
'''1.16.0''', also known as the [[Homesteading part 2]] plus with the [[Combat update]] was a major update that was released, the main focus of which is to rework some features to more versatible with some additions to spice things up in-game.


== Features ==
== Features ==
Line 122: Line 122:
== Tweaks ==
== Tweaks ==


Tweak: Improved creative inventory search, e.g. when searching for "stone" the loose stones are near the top now
*Tweak: Improved creative inventory search, e.g. when searching for "stone" the loose stones are near the top now
Tweak: Major Crop rebalance. Doubled growth times and yields for most crops with some exceptions. (Experimental)
*Tweak: Major Crop rebalance. Doubled growth times and yields for most crops with some exceptions. (Experimental)
Rye Cold Dmg changed to -12, Cold Mult to .75, and Heat Dmg to 27 (same heat dmg as turnip).  Spawn conditions of Rye were changed to be in the -12 to 14 temperature range.  Overal rye should now be more suited to northerly climates.
**Rye Cold Dmg changed to -12, Cold Mult to .75, and Heat Dmg to 27 (same heat dmg as turnip).  Spawn conditions of Rye were changed to be in the -12 to 14 temperature range.  Overal rye should now be more suited to northerly climates.
Rice Heat Damage ceiling increased from default to 46.
**Rice Heat Damage ceiling increased from default to 46.
Peanut growth time was doubled, but yield was left alone.
**Peanut growth time was doubled, but yield was left alone.
Amaranth growth time not changed, since its already about 50% of irl.  Yield still doubled though.
**Amaranth growth time not changed, since its already about 50% of irl.  Yield still doubled though.
Cassava growth time was left alone, being already rather long (though still nowhere near irl).  Yield was still doubled to keep the satiety per day vaguely 'competitive'.
**Cassava growth time was left alone, being already rather long (though still nowhere near irl).  Yield was still doubled to keep the satiety per day vaguely 'competitive'.
Doubled pumpkin mother plant growth time, but did not touch anything else, for now.
**Doubled pumpkin mother plant growth time, but did not touch anything else, for now.
Pineapple was not touched due to already being a very long growth time and its also the only farmable fruit.
**Pineapple was not touched due to already being a very long growth time and its also the only farmable fruit.
Tweak: Creature ai tweaks, applies to all creatures
*Tweak: Creature ai tweaks, applies to all creatures
Slower look around speed
**Slower look around speed
They now tend to wander further
**They now tend to wander further
Mitigate chasing derp (where creatures turn back for a second)
**Mitigate chasing derp (where creatures turn back for a second)
Fixed walking sideways in 3rd camera mode caused animals to target wrongly
**Fixed walking sideways in 3rd camera mode caused animals to target wrongly
Creature attack knockback now proportional to damage
**Creature attack knockback now proportional to damage
Tweak: Lots of visual tuning and polishing
*Tweak: Lots of visual tuning and polishing
Fine tuned snow accumulating and melting to be a bit less abrupt.
**Fine tuned snow accumulating and melting to be a bit less abrupt.
Fine tune wind affected particles
**Fine tune wind affected particles
Fine tuned explosion particle spawning a bit and made them more proportional to the explosion radius
**Fine tuned explosion particle spawning a bit and made them more proportional to the explosion radius
Fine tuned Aurora visuals
**Fine tuned Aurora visuals
Fine tuned teleporter sounds and teleport effect
**Fine tuned teleporter sounds and teleport effect
First person held item position/rotation polishing
**First person held item position/rotation polishing
Fine tuned first person attack/interact animations some more
**Fine tuned first person attack/interact animations some more
Dark blocks now get a white selected block outline for easier chiseling
**Dark blocks now get a white selected block outline for easier chiseling
Added more water bubbles when walking in water
**Added more water bubbles when walking in water
Zoomed in all spear gui transforms. Looks weird but can tell apart spears more easily now.
**Zoomed in all spear gui transforms. Looks weird but can tell apart spears more easily now.
Tweak: Lots of other gameplay balancing
*Tweak: Lots of other gameplay balancing
Slight speedup when walking in water, for creatures and players
**Slight speedup when walking in water, for creatures and players
Windmills no longer work underground, unless worldconfig undergroundWindmills is set to "true"
**Windmills no longer work underground, unless worldconfig undergroundWindmills is set to "true"
Standing still now reduces your hunger rate 4-fold instead of 3-fold
**Standing still now reduces your hunger rate 4-fold instead of 3-fold
Buffed all bow by +0.25 damage.
**Buffed all bow by +0.25 damage.
Gambeson no longer High Damage Tier Resistant
**Gambeson no longer High Damage Tier Resistant
Torches thrown into water now also go out
**Torches thrown into water now also go out
Boosted durability of steel armor to make it worthwhile (lamellar: 950->1600, brigandine: 1900->2600, chain: 1000->2000, scale: 2000->3500, steel: 3200->5500)
**Boosted durability of steel armor to make it worthwhile (lamellar: 950->1600, brigandine: 1900->2600, chain: 1000->2000, scale: 2000->3500, steel: 3200->5500)
Reduced cave art material cost by 50% (consume the pigment every 1/15 times instead of 1/10)
**Reduced cave art material cost by 50% (consume the pigment every 1/15 times instead of 1/10)
When a temporal storm ends, half of the spawned drifters now disappear
**When a temporal storm ends, half of the spawned drifters now disappear
Hares eating crops leave behind a dead crop. Prevents seed loss
**Hares eating crops leave behind a dead crop. Prevents seed loss
Tweak: Added berry picking and shield blocking sound
*Tweak: Added berry picking and shield blocking sound
Tweak: Added tempStormFrequencyMul worldconfig
*Tweak: Added tempStormFrequencyMul worldconfig
Tweak: Removed liquid items from the creative inventory. Replaced them with liquids inside buckets. Added a new liquids creative tab.
*Tweak: Removed liquid items from the creative inventory. Replaced them with liquids inside buckets. Added a new liquids creative tab.
Tweak: All mods in the mod manager not having set up an icon will now use a default icon. Fixed crashing game if mods did not define a mod icon
*Tweak: All mods in the mod manager not having set up an icon will now use a default icon. Fixed crashing game if mods did not define a mod icon
Tweak: Can now also right click with a bucket on the barrel slot in GUI to take out liquids (and also added holding CTRL to move only small portions)
*Tweak: Can now also right click with a bucket on the barrel slot in GUI to take out liquids (and also added holding CTRL to move only small portions)
Tweak: Doubled sound range of echo chambers
*Tweak: Doubled sound range of echo chambers
Tweak: Can now place bees wax, fired bricks, candles, clay, dyed cloth, all crushed resources, blasting powder, fat, flax fibers and flax twine on the shelf
*Tweak: Can now place bees wax, fired bricks, candles, clay, dyed cloth, all crushed resources, blasting powder, fat, flax fibers and flax twine on the shelf
Tweak: Added pit kiln burn times by fuel to the handbook entry
*Tweak: Added pit kiln burn times by fuel to the handbook entry
Tweak: Added more debug logging for the shift+click item disappearance bug
*Tweak: Added more debug logging for the shift+click item disappearance bug
Tweak: Locust drills more drill-looking
*Tweak: Locust drills more drill-looking
Tweak: The selected chiseling material is now remembered across chiseled blocks
*Tweak: The selected chiseling material is now remembered across chiseled blocks
Tweak: Performance: Don't render dynamic shadows when shadow intensity falls below 10% (during night or rain)
*Tweak: Performance: Don't render dynamic shadows when shadow intensity falls below 10% (during night or rain)
Tweak: Reduced RAM usage by about 75 MB (Technical info: generate animation frames only on demand, optimized particles ram usage)
*Tweak: Reduced RAM usage by about 75 MB (Technical info: generate animation frames only on demand, optimized particles ram usage)
Tweak: Added white and gray dye
*Tweak: Added white and gray dye
Tweak: Disable seasonal grass coverage changes. Causes large stutter with radeon cards, as it has to retesselate lots of chunks
*Tweak: Disable seasonal grass coverage changes. Causes large stutter with radeon cards, as it has to retesselate lots of chunks
Tweak: Added mod<=>engine version check and crash the client/server if they mismatch, to prevent undefined behavior
*Tweak: Added mod<=>engine version check and crash the client/server if they mismatch, to prevent undefined behavior
Tweak: Added additional handbook info, and a link to the wiki, when describing block reinforcement system
*Tweak: Added additional handbook info, and a link to the wiki, when describing block reinforcement system
Tweak: Barrels now visually show contents for some more items/blocks
*Tweak: Barrels now visually show contents for some more items/blocks
Tweak: Worldmap: Ignore corrupted map parts instead of crashing
*Tweak: Worldmap: Ignore corrupted map parts instead of crashing
Tweak: Unlit chimney now hollow for particles, allows smoke to rise through it from below (or snow to fall through it!)
*Tweak: Unlit chimney now hollow for particles, allows smoke to rise through it from below (or snow to fall through it!)
Tweak: Add appconfig thing to maybe fix the game being launchable with too old versions of .net
*Tweak: Add appconfig thing to maybe fix the game being launchable with too old versions of .net
Tweak: De-Jank: Mouse wheel no longer changes the values of drop down ui elements just from hovering over them
*Tweak: De-Jank: Mouse wheel no longer changes the values of drop down ui elements just from hovering over them
Tweak: De-Jank: The World configuration attributes are now grouped by category
*Tweak: De-Jank: The World configuration attributes are now grouped by category
Tweak: Can now use {plr} placeholder in command block commands
*Tweak: Can now use {plr} placeholder in command block commands
Tweak: Yellow dye is now made with onions. Orange dye is now made by adding more onions to yellow dye.
*Tweak: Yellow dye is now made with onions. Orange dye is now made by adding more onions to yellow dye.
Tweak: When making dyes, barrels now produce the same amount of liquid as the ingredients, e.g. if you put in 4 diluted alum, you get 4 dye.
*Tweak: When making dyes, barrels now produce the same amount of liquid as the ingredients, e.g. if you put in 4 diluted alum, you get 4 dye.
Tweak: Forest rain sound a bit more pronounced
*Tweak: Forest rain sound a bit more pronounced
Tweak: Farmland now uses the configurable HoursPerDay instead of 24 hours to time crop growth
*Tweak: Farmland now uses the configurable HoursPerDay instead of 24 hours to time crop growth
Tweak: Grid crafting with spoiled ingredients now will also result in a spoiled crafting output
*Tweak: Grid crafting with spoiled ingredients now will also result in a spoiled crafting output
Tweak: Shelves are now very suited for drying items if they are not in a cellar
*Tweak: Shelves are now very suited for drying items if they are not in a cellar
Tweak: Added hunter backpack recipe that uses 3 small pelts
*Tweak: Added hunter backpack recipe that uses 3 small pelts
Tweak: Kapok leaves now less neon green
*Tweak: Kapok leaves now less neon green
Tweak: Made mountains less faded in the distance
*Tweak: Made mountains less faded in the distance
Tweak: Added recycling recipes for hay bed and thatched roof
*Tweak: Added recycling recipes for hay bed and thatched roof
Tweak: Game crash resistance against corrupted large gears on TOPTS
*Tweak: Game crash resistance against corrupted large gears on TOPTS
Tweak: Click sound for the creative rotor, placement sounds when adding parts to the pulverizer
*Tweak: Click sound for the creative rotor, placement sounds when adding parts to the pulverizer
Tweak: Firepit construction stages drop contents when broken and break faster.
*Tweak: Firepit construction stages drop contents when broken and break faster.
Tweak: Added server arg --append which prevents the server from clearing the log files on startup
*Tweak: Added server arg --append which prevents the server from clearing the log files on startup
Tweak: World map visual tuning (more color accurate but more noisy)
*Tweak: World map visual tuning (more color accurate but more noisy)
Tweak: Disabled bell pepper worldgen spawn
*Tweak: Disabled bell pepper worldgen spawn
Tweak: Snow covered grass can no longer ignite
*Tweak: Snow covered grass can no longer ignite
Tweak: Mitigate cases where creatures stepped over fences
*Tweak: Mitigate cases where creatures stepped over fences
Fixed: Bamboo shoots block info saying that they'll mature
Fixed: Leaded glass panes not correctly rotated when rotating with worldedit
Fixed: Hammer did not loose durability from combat
Fixed: Floaty pixel on silver diadems
Fixed: Add a bit of tolerance to cementation process completion
Fixed: Player began to freeze if temperature was above 30 degrees o.O
Fixed: Flowers not frost overlaid
Fixed: Removing wax from waxed cheese reset the cheeses freshness
Fixed: Wrong block breaking overlay on placed cheese
Fixed: Wrong texture for placed waxed cheese
Fixed: Anvil: Able to move metal voxels with a voxel above them
Fixed: Bloomery insides completely black
Fixed: Game crashing when an invalid language was set in the clientsettings.json
Fixed: Items in gui not glowing
Fixed: .tfedit with empty hands left the mouse unlocked
Fixed: Rare race condition crash in animated blocks
Fixed: Fern tree growing through trader cart floors
Fixed: Translocating sound not attenuated
Fixed: Dropping the wrong item when using the Q hotkey in the creative inventory
Fixed: Game crashing when feeding certain non-crushable items into the pulverizer
Fixed: Should fix a crash when launching the game on Pop OSFixed: Various minor issues (2 missing lang entries, floaty mushroom at block edges, wonky slanted roof hitboxes, shadows around reed&papyrus)
Fixed: Meals in a pot or bowl spawning white particles when broken
Fixed: Chiseling a light emitting block now emits light as well
Fixed: Wrong texture resolution on croton plants, therefore more fluffly now
Fixed: The Balanced trader had a broken sprint animation
Fixed: Spears and arrows sometimes flying through creatures
Fixed: Liquid containers accepting non liquids from hoppers/chutes
Fixed: Light color jitter on the worldmap when chunks are updated
Fixed: Pit kiln not emitting light
Fixed: Farmland perma boosters still applicable multiple times
Fixed: Coloring lanterns did not update lighting server side, causing them to get lost after server restart
Fixed: Fence gates not remembering their reinforcement level when opened or closed
Fixed: Vintagehosting Server Status screen showing wrong server state in some cases
Fixed: Various z-fighting issues with armor
Fixed neighbour block lighting visual issue for Wallpaper and other Decor blocks
Fixed: Alignment issue in the transform editor
Fixed: Updated the character trait descriptions to match previous balance changes.
Fixed: Dragging around a dialog was janky on non-8 gui scales
Fixed: /wgen regen not removing entities on the client side. Might fix duplicate ghost players? ??
Fixed: Crash reporter launching twice
Fixed: Creature hurt sounds not playing? (Might break other things)
Fixed: Wrong shading on first person held items
Fixed: Missing texture on one of the shields
Fixed: Freshly crafted clothes had not 100% condition
Fixed: Missing texture on thrown hacking spears, fp hand spears upside down
Fixed: Incorrect day/night cycle. Looks promising now, as in, behaving physically correct on all latitudes
Fixed: First person spear upside down, spear attack animation a bit smoother
Fixed: Ingame error text in front of dialogs
Fixed: Missing "25k" option on world config world length
Fixed: Freshly crafted clothes had not 100% condition   
Fixed: Chopping down bamboo chopped nearby bamboo trees
Fixed: Able to always pick up clear quartz from loose quarts ores
Fixed: Crash when setting the chisel tool mode right at the edge of a block
Fixed: Derpy positioning of the itemstack infobox
Fixed: Exception thrown on some /worldconfig commands
Fixed: Opened coken oven doors dropping a different block variant
Fixed: Should fix fern trees spawning underwater
Fixed: Clay dupe glitch
Fixed: Fog flicker when moving vertically
Fixed: Game crashing when pasting text into the config world screen
Fixed: Itemstack infobox sometimes displaying the wrong text
Fixed: Fixed creature hostility configuration not properly applying whenever a major update comes out (To the author of the golden wolf mod: add "friendlyTarget:true" to your seek entity json config)
Fixed: Firepit ash overlay culled with a block above
Fixed: Woad not yellow in world map
Fixed: Crash related to interacting with pies
Fixed: Wrong sizes of cheese on shelves
Fixed: Avoid an exception in the trader restock code if an item no longer exists (e.g. due to a removed mod)
Fixed: Items in the grid crafting output slot starting to spoil/dry
Fixed: "Dryable. Duration: NaN Hours"
Fixed: Multimaterial chiseled blocks containing Glass disabled some faces that it shouldn't (glass chiseling is still not supported in vanilla though)
Fixed: Difficulties using the teleport block on server with mild or heavy lag
Fixed: Should fix rare crash in the error reporter


'''API Updates'''
== Fixed ==


Feature: Some simple implementation of a generic multiblock system, to hopefully avoid custom multiblocking everywhere. Currently used for the distillery.
*Fixed: Bamboo shoots block info saying that they'll mature
Feature: Added capi.Gui.LoadSvg() and capi.Gui.LoadSvgWithPadding() which allows for use of external SVG vector files to be loaded. For a first code sample, check out ItemProspectingPick.cs
*Fixed: Leaded glass panes not correctly rotated when rotating with worldedit
Feature: Improved mounting system. Should now be properly network synced \o/
*Fixed: Hammer did not loose durability from combat
Sneak to unmount a IMountable is no longer hardcoded. It must now be handled by the IMountable itself, see BEBed.cs as example.
*Fixed: Floaty pixel on silver diadems
Feature: Ability for custom gui/fp itemstack renderers, register via api.Event.RegisterItemstackRenderer()
*Fixed: Add a bit of tolerance to cementation process completion
Feature: *byType precedence: For the Json assets blocktype, itemtype and entitytype, can now define an attribute as well as a *byType attribute, whereas the latter takes precedence, e.g. stackSize: 32 would be overwritten by stackSizeByType: { "*": 16 }
*Fixed: Player began to freeze if temperature was above 30 degrees o.O
Feature: Explosion code upgrades
*Fixed: Flowers not frost overlaid
Explosions radii have an upper limit, which is now doubled, reaching it nonetheless now throws a more informative exception
*Fixed: Removing wax from waxed cheese reset the cheeses freshness
Fixed particle lag and upper cap issues, as they now spawn async
*Fixed: Wrong block breaking overlay on placed cheese
Fixed a crash in the lighting engine when explosions go beyond chunk boundaries
*Fixed: Wrong texture for placed waxed cheese
Added blockDropChanceMultiplier argument to CreateExplosion() to reduce block drops by explosions (large explosions drop *a lot* of blocks)
*Fixed: Anvil: Able to move metal voxels with a voxel above them
Feature: .gltf models now support most flags
*Fixed: Bloomery insides completely black
Feature: Added api.Render.RenderItemStackToAtlas(), allows rendering of an itemstack into a texture atlas
*Fixed: Game crashing when an invalid language was set in the clientsettings.json
Feature: Can now set amount of inventory columns for GenericTypedContainer blocks
*Fixed: Items in gui not glowing
Feature: Add initialDelayOffsetMs arg to Event.RegisterGameTickListener() to mitigate lag spikes from many listeners running code at the same time
*Fixed: .tfedit with empty hands left the mouse unlocked
Feature: Added withInheritance argument to api.ModLoader.GetModSystem()
*Fixed: Rare race condition crash in animated blocks
Feature: Added new render stage EnumRenderStage.AfterBlit
*Fixed: Fern tree growing through trader cart floors
Feature: Added client side api death event
*Fixed: Translocating sound not attenuated
Feature: Added sapi.HandleCommand() to run a custom command through code
*Fixed: Dropping the wrong item when using the Q hotkey in the creative inventory
Feature: In the json assets, can now define a "ucontents" property to define contents of containers. Example implementation: A wood bucket filled with water in the creative inventory
*Fixed: Game crashing when feeding certain non-crushable items into the pulverizer
Feature: New JSON Patch operation "addeach" allows inserting/appending of multiple elements in one operation. (the value must be an array)
*Fixed: Should fix a crash when launching the game on Pop OSFixed: Various minor issues (2 missing lang entries, floaty mushroom at block edges, wonky slanted roof hitboxes, shadows around reed&papyrus)
Feature: Added Block.PriorityInteract property to be able to sneak interact with a block before sneak interacting with the currently held item. Used for the new crate.
*Fixed: Meals in a pot or bowl spawning white particles when broken
Refactor: Recipe systems are no longer engine exclusive. All recipe systems (except the grid recipes) are now moved from api/engine to the survival mod. This means:
*Fixed: Chiseling a light emitting block now emits light as well
If you need to look up cooking recipes, reference VSSurvivalMod.dll and exchange world.CookingRecipes with "Api.ModLoader.GetModSystem<RecipeRegistry>().CookingRecipes" or through the helper method "Api.CookingRecipes()"
*Fixed: Wrong texture resolution on croton plants, therefore more fluffly now
If you only add cooking recipe json files, no changes are required
*Fixed: The Balanced trader had a broken sprint animation
You can now add your own recipe system. Check out RecipeRegistry.cs for reference (still needs handbook support, though)
*Fixed: Spears and arrows sometimes flying through creatures
Refactor: All Barrel recipes that have liquids as input or output, instead of quantity and stacksize respectively, these should now define "litres". However for backwards compatibility, if the recipe loader encounters a liquid ingredient or output without a litres definition, it will assume quantity/stacksize = litres and log a warning.
*Fixed: Liquid containers accepting non liquids from hoppers/chutes
Refactor: Rename BlockLiquidContainerBase.GetInContainerProps to BlockLiquidContainerBase.GetContainableProps
*Fixed: Light color jitter on the worldmap when chunks are updated
Refactor: The block code for planks has changed from planks-{wood} to planks-{wood}-hor
*Fixed: Pit kiln not emitting light
Refactor: Minor refactor in Weather/WeatherSimulationParticles.cs
*Fixed: Farmland perma boosters still applicable multiple times
Tweak: Holding sneak key with .edi enabled shows you item attributes in the itemstack tooltip
*Fixed: Coloring lanterns did not update lighting server side, causing them to get lost after server restart
Tweak: Added the boolean properties CanDrinkFrom, IsTopOpened and AllowHeldLiquidTransfer to BlockLiquidContainerBase, can also be set via json attribute (unless you use the class BlockLiquidContainerTopOpened, which sets them all to true)
*Fixed: Fence gates not remembering their reinforcement level when opened or closed
Tweak: RegisterAiTask and RegisterVtmlTagConverter is now in ICoreApi (through C# class extension in the esentials/survival mod)
*Fixed: Vintagehosting Server Status screen showing wrong server state in some cases
Tweak: Shape elements of zero size are now no longer tesselated
*Fixed: Various z-fighting issues with armor
Tweak: New tool: /debug heldstattr key type value
*Fixed neighbour block lighting visual issue for Wallpaper and other Decor blocks
Tweak: Added IDisposable interface to many classes that are disposable
*Fixed: Alignment issue in the transform editor
Tweak: Calling networkChannel.SendPacket() server side without player args now throws an exception
*Fixed: Updated the character trait descriptions to match previous balance changes.
Tweak: Added CollectibleObject.TpOffHandTransform
*Fixed: Dragging around a dialog was janky on non-8 gui scales
Tweak: Added helper methods for ITreeAttribute Set/GetVec3i, Set/GetBlockPos and Set/GetVec3is
*Fixed: /wgen regen not removing entities on the client side. Might fix duplicate ghost players? ??
Tweak: Added ISaveGame.StoreData<T> and ISaveGame.GetData<T>()
*Fixed: Crash reporter launching twice
Tweak: Added SendBlockEntityPacket<T>(IServerPlayer player, BlockPos pos, int packetId, T data = default(T)) BroadcastBlockEntityPacket<T>(BlockPos pos, int packetId, T data = default(T))
*Fixed: Creature hurt sounds not playing? (Might break other things)
Refactor: Massive Windwave/VertexFlags refactor. All wind related vertex flags are now consolidated into 2 properties - windMode and windData. Can now define these 2 values *per vertex* in VS Model creator
*Fixed: Wrong shading on first person held items
Refactor: Rework mesh generation of displayed items, such as items in shelves or ground storage. This is now done through the interface IContainedMeshSource for the contained item, instead of hardcoded in each container.
*Fixed: Missing texture on one of the shields
Refactor: BlockEntity.OnBlockBroken() now has a new argument IPlayer byPlayer
*Fixed: Freshly crafted clothes had not 100% condition
Refactor: Rename AddDecor() to SetDecor() and allow passing air blocks to remove decor
*Fixed: Missing texture on thrown hacking spears, fp hand spears upside down
Refactor: Merged BreakDecor() and BreakDecorPart() into one method
*Fixed: Incorrect day/night cycle. Looks promising now, as in, behaving physically correct on all latitudes
Refactor: Remove API.Common.Action, replaced with System.Action
*Fixed: First person spear upside down, spear attack animation a bit smoother
Refactor: GuiElementCellList is now generic
*Fixed: Ingame error text in front of dialogs
Refactor: GuiElementHandbookList is now GuiElementFlatList (now a slightly more basic version than GuiElementCellList)
*Fixed: Missing "25k" option on world config world length
Refactor: Renamed entity "Hitbox" to "Collisionbox" (Hitbox can still be used but is marked obsolete)
*Fixed: Freshly crafted clothes had not 100% condition   
Refactor: Removed world argument from all methods in ILiquidSink & ILiquidSource
*Fixed: Chopping down bamboo chopped nearby bamboo trees
Tweak: Seperated creature hitbox into collisionbox and selectionbox (the later is used for attacking and interacting with creatures)
*Fixed: Able to always pick up clear quartz from loose quarts ores
Tweak: Removed and consolidated a lot of crushed shape files since they were all essentially the same.
*Fixed: Crash when setting the chisel tool mode right at the edge of a block
Tweak: Doubled block, item and entity texture atlas size
*Fixed: Derpy positioning of the itemstack infobox
Tweak: Added property IBulkBlockAccessor.StagedBlocks for jakecools dynamic trees
*Fixed: Exception thrown on some /worldconfig commands
Tweak: Made clayforming system more flexible towards new types of clay
*Fixed: Opened coken oven doors dropping a different block variant
Tweak: .AddDynamicText() removed argument for EnumTextOrientation, it can be set in the font.
*Fixed: Should fix fern trees spawning underwater
Tweak: GuiElementTextButton now has a Visible flag
*Fixed: Clay dupe glitch
Tweak: Client and server now (lazy) load all language entries. Can now send text from server to client in the clients language. (Contribution by Apache#8842, edits by Tyron)
*Fixed: Fog flicker when moving vertically
Tweak: Added ability to disable durability averaging during grid crafting
*Fixed: Game crashing when pasting text into the config world screen
Tweak: Added rndIndex argument to Block.GetRandomColor()
*Fixed: Itemstack infobox sometimes displaying the wrong text
Tweak: .tfedit now allows editing of ground transforms for ground storable items and blocks (also fixed that blocks did not apply the ground transform)
*Fixed: Fixed creature hostility configuration not properly applying whenever a major update comes out (To the author of the golden wolf mod: add "friendlyTarget:true" to your seek entity json config)
Tweak: Clean up reeds and papyrus assets. Drops are no longer hardcoded, only 1 blocktype file instead of 3, all shapes in the same folder, added frozen variant for papyrus
*Fixed: Firepit ash overlay culled with a block above
Tweak: Can now define knockback strength in AiTaskMeleeAttack
*Fixed: Woad not yellow in world map
Tweak: capi.World.Player.Entity.OnFootStep and capi.World.Player.Entity.OnImpact are now events instead of Action fields
*Fixed: Crash related to interacting with pies
Tweak: Added IParticlePropertiesProvider.Async to make particle spawn asynchronously (for particle spawn calls on the server)
*Fixed: Wrong sizes of cheese on shelves
Tweak: Specially treat empty string variant code for blocks, items or entities: They are now treated as "skip this variant group" and not add an extra dash to the block/item/entity code
*Fixed: Avoid an exception in the trader restock code if an item no longer exists (e.g. due to a removed mod)
Tweak: Clean up, unify and simplify GetModData and SetModData for chunks, map chunks and map regions
*Fixed: Items in the grid crafting output slot starting to spoil/dry
Tweak: Added EnumFoodCategory.NoNutrition for foods that provide no nutrition
*Fixed: "Dryable. Duration: NaN Hours"
Fixed: Calling GetClimate() for a specific date returned fundamentally broken values 🤦‍♂️
*Fixed: Multimaterial chiseled blocks containing Glass disabled some faces that it shouldn't (glass chiseling is still not supported in vanilla though)
Fixed: Some items set to be placeable in backpack slots crashed the game for no (apparent) reason
*Fixed: Difficulties using the teleport block on server with mild or heavy lag
Fixed: Small values ignored in shape: { offsetX/Y/Z: 0.01 }
*Fixed: Should fix rare crash in the error reporter
Fixed: OnTrySpawnEntity event did not handle multiple event listeners correctly
Fixed: Entity shape alternates didn't work (see example entities/land/drifter.json, make sure the alternate shape textures have different texture codes)
Fixed: Liquid in barrel textures defaulted to the game domain
Fixed: Health boosts in meals should now respect serving size and spoilage rate
Fixed: Should fix night sky textures not moddable
Fixed: Handbook crashing the game on invalid grid recipes
Fixed: Json patch addeach not implemented in the engine
Fixed: game crashing when removing the hunger behavior from the player
Fixed: Wildcard liquids in grid recipes crashing the handbook
Fixed: CreativeInventoryStacks property not working properly for items
Fixed: Wildcards not working on grid recipe returnedStacks
Fixed: Failure to resolve itemstack for a crafting recipe ingredient did not print a warning
Fixed: Texture Rotation not applied to alternates when using * wildcard


Changes since v1.16.0-rc.8
== API Updates ==


Tweak: Reverted fence height changes. It gave wolves the ability to leap over them
*Feature: Some simple implementation of a generic multiblock system, to hopefully avoid custom multiblocking everywhere. Currently used for the distillery.
Tweak: Increased jug capacity from 2 to 3 L
*Feature: Added capi.Gui.LoadSvg() and capi.Gui.LoadSvgWithPadding() which allows for use of external SVG vector files to be loaded. For a first code sample, check out ItemProspectingPick.cs
Tweak: Reduce fern tree spam a bit more
*Feature: Improved mounting system. Should now be properly network synced \o/
Tweak: Completely removed old longblade swing behavior
**Sneak to unmount a IMountable is no longer hardcoded. It must now be handled by the IMountable itself, see BEBed.cs as example.
Fixed: Another liquid dupe bug with barrels
*Feature: Ability for custom gui/fp itemstack renderers, register via api.Event.RegisterItemstackRenderer()
Fixed: Able to pick up meals with jugs
*Feature: *byType precedence: For the Json assets blocktype, itemtype and entitytype, can now define an attribute as well as a *byType attribute, whereas the latter takes precedence, e.g. stackSize: 32 would be overwritten by stackSizeByType: { "*": 16 }
Fixed: Wolves going all stiff after leaping. Wolves not prioritizing players when up close.
*Feature: Explosion code upgrades
Fixed: Not able to put long blades on armor stands
**Explosions radii have an upper limit, which is now doubled, reaching it nonetheless now throws a more informative exception
Fixed: Cut off links in the handbook
*Fixed particle lag and upper cap issues, as they now spawn async
Fixed: Gambeson no longer tier 2 armor
*Fixed a crash in the lighting engine when explosions go beyond chunk boundaries
Fixed: Creatures able to step over hewn fence gates
**Added blockDropChanceMultiplier argument to CreateExplosion() to reduce block drops by explosions (large explosions drop *a lot* of blocks)
Fixed: No forest floors in jungles
*Feature: .gltf models now support most flags
Fixed: Colored lanterns not retaining their colored light
*Feature: Added api.Render.RenderItemStackToAtlas(), allows rendering of an itemstack into a texture atlas
Fixed: Pit kilns not removing the light they emit
*Feature: Can now set amount of inventory columns for GenericTypedContainer blocks
Fixed: Filled Jugs and bowls shown as empty when placed on the ground
*Feature: Add initialDelayOffsetMs arg to Event.RegisterGameTickListener() to mitigate lag spikes from many listeners running code at the same time
Fixed: Straw dummies and armor stands not resistant against knockback
*Feature: Added withInheritance argument to api.ModLoader.GetModSystem()
Fixed: Switching from map hud to map gui ordered the map dialog behind the hotbar
*Feature: Added new render stage EnumRenderStage.AfterBlit
Fixed: Disabling a mod made it disappear from the mod manager
*Feature: Added client side api death event
Fixed: Some parts of the afro hair too dark
*Feature: Added sapi.HandleCommand() to run a custom command through code
Fixed: Wrong held third person pose when holding metal parts
*Feature: In the json assets, can now define a "ucontents" property to define contents of containers. Example implementation: A wood bucket filled with water in the creative inventory
Fixed: Croton in planters derp
*Feature: New JSON Patch operation "addeach" allows inserting/appending of multiple elements in one operation. (the value must be an array)
*Feature: Added Block.PriorityInteract property to be able to sneak interact with a block before sneak interacting with the currently held item. Used for the new crate.
*Refactor: Recipe systems are no longer engine exclusive. All recipe systems (except the grid recipes) are now moved from api/engine to the survival mod. This means:
**If you need to look up cooking recipes, reference VSSurvivalMod.dll and exchange world.CookingRecipes with "Api.ModLoader.GetModSystem<RecipeRegistry>().CookingRecipes" or through the helper method "Api.CookingRecipes()"
**If you only add cooking recipe json files, no changes are required
**You can now add your own recipe system. Check out RecipeRegistry.cs for reference (still needs handbook support, though)
*Refactor: All Barrel recipes that have liquids as input or output, instead of quantity and stacksize respectively, these should now define "litres". However for backwards compatibility, if the recipe loader encounters a liquid ingredient or output without a litres definition, it will assume quantity/stacksize = litres and log a warning.
*Refactor: Rename BlockLiquidContainerBase.GetInContainerProps to BlockLiquidContainerBase.GetContainableProps
*Refactor: The block code for planks has changed from planks-{wood} to planks-{wood}-hor
*Refactor: Minor refactor in Weather/WeatherSimulationParticles.cs
*Tweak: Holding sneak key with .edi enabled shows you item attributes in the itemstack tooltip
*Tweak: Added the boolean properties CanDrinkFrom, IsTopOpened and AllowHeldLiquidTransfer to BlockLiquidContainerBase, can also be set via json attribute (unless you use the class BlockLiquidContainerTopOpened, which sets them all to true)
*Tweak: RegisterAiTask and RegisterVtmlTagConverter is now in ICoreApi (through C# class extension in the esentials/survival mod)
*Tweak: Shape elements of zero size are now no longer tesselated
*Tweak: New tool: /debug heldstattr key type value
*Tweak: Added IDisposable interface to many classes that are disposable
*Tweak: Calling networkChannel.SendPacket() server side without player args now throws an exception
*Tweak: Added CollectibleObject.TpOffHandTransform
*Tweak: Added helper methods for ITreeAttribute Set/GetVec3i, Set/GetBlockPos and Set/GetVec3is
*Tweak: Added ISaveGame.StoreData<T> and ISaveGame.GetData<T>()
*Tweak: Added SendBlockEntityPacket<T>(IServerPlayer player, BlockPos pos, int packetId, T data = default(T)) BroadcastBlockEntityPacket<T>(BlockPos pos, int packetId, T data = default(T))
*Refactor: Massive Windwave/VertexFlags refactor. All wind related vertex flags are now consolidated into 2 properties - windMode and windData. Can now define these 2 values *per vertex* in VS Model creator
*Refactor: Rework mesh generation of displayed items, such as items in shelves or ground storage. This is now done through the interface IContainedMeshSource for the contained item, instead of hardcoded in each container.
*Refactor: BlockEntity.OnBlockBroken() now has a new argument IPlayer byPlayer
*Refactor: Rename AddDecor() to SetDecor() and allow passing air blocks to remove decor
*Refactor: Merged BreakDecor() and BreakDecorPart() into one method
*Refactor: Remove API.Common.Action, replaced with System.Action
*Refactor: GuiElementCellList is now generic
*Refactor: GuiElementHandbookList is now GuiElementFlatList (now a slightly more basic version than GuiElementCellList)
*Refactor: Renamed entity "Hitbox" to "Collisionbox" (Hitbox can still be used but is marked obsolete)
*Refactor: Removed world argument from all methods in ILiquidSink & ILiquidSource
*Tweak: Seperated creature hitbox into collisionbox and selectionbox (the later is used for attacking and interacting with creatures)
*Tweak: Removed and consolidated a lot of crushed shape files since they were all essentially the same.
*Tweak: Doubled block, item and entity texture atlas size
*Tweak: Added property IBulkBlockAccessor.StagedBlocks for jakecools dynamic trees
*Tweak: Made clayforming system more flexible towards new types of clay
*Tweak: .AddDynamicText() removed argument for EnumTextOrientation, it can be set in the font.
*Tweak: GuiElementTextButton now has a Visible flag
*Tweak: Client and server now (lazy) load all language entries. Can now send text from server to client in the clients language. (Contribution by Apache#8842, edits by Tyron)
*Tweak: Added ability to disable durability averaging during grid crafting
*Tweak: Added rndIndex argument to Block.GetRandomColor()
*Tweak: .tfedit now allows editing of ground transforms for ground storable items and blocks (also fixed that blocks did not apply the ground transform)
*Tweak: Clean up reeds and papyrus assets. Drops are no longer hardcoded, only 1 blocktype file instead of 3, all shapes in the same folder, added frozen variant for papyrus
*Tweak: Can now define knockback strength in AiTaskMeleeAttack
*Tweak: capi.World.Player.Entity.OnFootStep and capi.World.Player.Entity.OnImpact are now events instead of Action fields
*Tweak: Added IParticlePropertiesProvider.Async to make particle spawn asynchronously (for particle spawn calls on the server)
*Tweak: Specially treat empty string variant code for blocks, items or entities: They are now treated as "skip this variant group" and not add an extra dash to the block/item/entity code
*Tweak: Clean up, unify and simplify GetModData and SetModData for chunks, map chunks and map regions
*Tweak: Added EnumFoodCategory.NoNutrition for foods that provide no nutrition
*Fixed: Calling GetClimate() for a specific date returned fundamentally broken values 🤦‍♂️
*Fixed: Some items set to be placeable in backpack slots crashed the game for no (apparent) reason
*Fixed: Small values ignored in shape: { offsetX/Y/Z: 0.01 }
*Fixed: OnTrySpawnEntity event did not handle multiple event listeners correctly
*Fixed: Entity shape alternates didn't work (see example entities/land/drifter.json, make sure the alternate shape textures have different texture codes)
*Fixed: Liquid in barrel textures defaulted to the game domain
*Fixed: Health boosts in meals should now respect serving size and spoilage rate
*Fixed: Should fix night sky textures not moddable
*Fixed: Handbook crashing the game on invalid grid recipes
*Fixed: Json patch addeach not implemented in the engine
*Fixed: game crashing when removing the hunger behavior from the player
*Fixed: Wildcard liquids in grid recipes crashing the handbook
*Fixed: CreativeInventoryStacks property not working properly for items
*Fixed: Wildcards not working on grid recipe returnedStacks
*Fixed: Failure to resolve itemstack for a crafting recipe ingredient did not print a warning
*Fixed: Texture Rotation not applied to alternates when using * wildcard
 
==Changes since v1.16.0-rc.8==
 
*Tweak: Reverted fence height changes. It gave wolves the ability to leap over them
*Tweak: Increased jug capacity from 2 to 3 L
*Tweak: Reduce fern tree spam a bit more
*Tweak: Completely removed old longblade swing behavior
*Fixed: Another liquid dupe bug with barrels
*Fixed: Able to pick up meals with jugs
*Fixed: Wolves going all stiff after leaping. Wolves not prioritizing players when up close.
*Fixed: Not able to put long blades on armor stands
*Fixed: Cut off links in the handbook
*Fixed: Gambeson no longer tier 2 armor
*Fixed: Creatures able to step over hewn fence gates
*Fixed: No forest floors in jungles
*Fixed: Colored lanterns not retaining their colored light
*Fixed: Pit kilns not removing the light they emit
*Fixed: Filled Jugs and bowls shown as empty when placed on the ground
*Fixed: Straw dummies and armor stands not resistant against knockback
*Fixed: Switching from map hud to map gui ordered the map dialog behind the hotbar
*Fixed: Disabling a mod made it disappear from the mod manager
*Fixed: Some parts of the afro hair too dark
*Fixed: Wrong held third person pose when holding metal parts
*Fixed: Croton in planters derp

Latest revision as of 09:54, 16 July 2023

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.16.0
"Homesteading part 2"1.16.0 Image.jpg
Release dateJanuary 9, 2022
Development versions
    Version chronology
    ◄ 1.15.0
    ◄ 1.15.10
    1.17.0
    1.16.1 ►


    1.16.0, also known as the Homesteading part 2 plus with the Combat update was a major update that was released, the main focus of which is to rework some features to more versatible with some additions to spice things up in-game.

    Features

    Auction

    • It's available on every NPC you find.
    • Can be used to buy and sell goods with gears to players on a server.

    New Storage Systems

    • Crate it hold stores lots of stacks of a item.
    • Trunk basically a double chest.

    Alcohol Brewing

    • Added Fruit Press for Juice
    • Barrel can now convert fruit, honey and cereal into mead, cider, wine and ale.
    • Distillery can be use to make mead, cider, wine and ale into spirits.
    • Drinking Cider and Spirit makes you drunk.

    Fruit Tree

    • Added 12 types of fruit tree.
    • It can be replanted by retrieving a cutting.
    • Can take up a few days to mature.
    • It can only yield fruit once a year.
    • Fruits can be used for cooking and juicing.

    Mushrooms

    • Added 34 types of mushrooms, some of them grow on the side of trees.
    • It can regrow over time.
    • Mushrooms now has distinct regions where certain only a subset of all mushrooms grow

    Drifter

    • Drifters now throw stones at players
    • Adjusted drifter animation names to clearly differentiate between Standing and Crawling.
    • Added a drifter attack sound
    • Fixed alternate version of the spiked drifter never spawned
    • Added a rare drifter variant to temporal storms (Double Headed Drifter), which always drops a temporal gear and some gears.

    Auto-modded server install

    • You can now 1-click install mods that you need to join a modded server. These are only enabled when you join said server.

    Rifts

    • These appear and disappear at random in the world.
    • Drain your stability when close to one.
    • Surface drifters now only spawn within a 25 block radius of rifts

    Combat update

    • Added 5 types of shield, when standing 15% chance of blocking 1.5 to 3 damage, when sneaking 85% chance of blocking 3 to 5 damage, depending on the shield type
    • Long blades now also have a wind up time, attack animation and strike effects, much like the spear
    • Mitigate cases where creatures attack players while looking away
    • Ranged aiming accuracy buildup is now about 50% quicker
    • The hurt screen overlay effect now indicates from which direction the attack came from
    • Improved hit knockback on creatures and players

    Wind shader rework

    • Improved code, making it easier for modders to add wind sway effects to their blocks and items through VS Model Creator
    • Fixes heavy wind sway derp on sunflowers and other plants
    • Made storm level winds more impactful
    • Added water storm particles

    Ground storage rework

    • Any 2x2 storable can now be placed in the middle
    • Pots, bowls and crocks are now 2x2 ground storable, while still able to transfer foods between them

    Liquid system rework

    • Liquid quantities are now shown in litres instead of amount of items
    • Bowls can now be used to transfer liquids, just like the bucket
    • New liquid container: The jug, a 3 litre container
    • Implemented container specific transfer sizes. Buckets let you transfer 1 litre each, bowls 0.1 litre each, jugs 0.3 litre each
    • Liquids such as milk, juices, ciders and etc. can now be consumed for satiety, either from a bucket, bowl or the jug
    • Can now craft bread dough also with a (water filled) bowl + flour
    • Fixed handbook dough recipe showed an empty bucket instead of a bucket with 1 litre of water inside
    • Added sound and particle effects when moving liquids

    Class Exclusive Items

    • Clockmaker can now craft the hacking spear. Each hit with a hacking spear gives the clock maker a 15% chance to hack a locust, which will then fight by his side. Beware, hacked locus are extremely jealous on one another
    • Malefactor can now craft the sling an exclusive ranged weapon for the malefactor that uses stones as projectiles
    • Tailor can now make Tailored gambeson ehich comes in 11 colors: Has more damage resistance and higher movement speed than normal gambeson

    Character class rebalances

    • Traders now buy sewing kits and more craftable clothes.
    • Blackguard buffed to 30% melee damage instead of 20% and -15% armor durability loss instead of -10%.
    • Blackguard class is now less affected by the walk speed penalties of armor
    • Hunter buffed to 20% ranged damage instead of 10%.
    • Malefactor buffed to 35% reduced animal seeking range instead of 20% and 10% chance to get whole loot vessel instead of 5%


    Life Quality Additions

    • Added permadeath mode
    • Can now use WASD keys to scroll the expanded world map
    • Added isolated, handcrafted underground lakes
    • Signs can now be placed at 45 degree angles
    • Armor stands can now hold tools in one hand
    • Improved animal pitch step rotation when stepping up and down blocks (and disabled it for bipedals)
    • New 3d models for fruits and leather
    • Shoes are now neatly placeable on shelves and on the ground
    • Store location, seed and worldconfig when saving a screenshot. Could be used to autocreate a new world and teleport to this location and tons of other fancy things. (off by default, enable via .screenshotExifDataMode 1)
    • The handbook now shows if an item is being sold or bought by a trader
    • Can no longer sleep during temporal storms for standard and wilderness survival.
    • Easy multimaterial chiseling - can now easily add more materials to a chiseled block, by dropping blocks into the tool model selector dialog
    • Added rare polar bear spawn. The other bear types should get added in the future.
    • Added vertical planks block
    • Server side moddb install utility - /moddb
    • New world config to disable class exclusive recipes
    • Added Alcohol-soaked bandages, and grid recipe for solder bars
    • Added admin longblade for testing purposes. (Creative mode only)
    • Added command /gm shorthand for /gamemode
    • A new set of main menu backgrounds, half of which are made by the community (please contact me if we shouldn't use your screenshot)
    • Added 2 new sets of colorful creative mode blocks. One set of strong light and another with weak light, but both with max glow.
    • Leather can now be dyed to make certain clothes (and a shield) instead of making the clothes in a barrel.

    Tweaks

    • Tweak: Improved creative inventory search, e.g. when searching for "stone" the loose stones are near the top now
    • Tweak: Major Crop rebalance. Doubled growth times and yields for most crops with some exceptions. (Experimental)
      • Rye Cold Dmg changed to -12, Cold Mult to .75, and Heat Dmg to 27 (same heat dmg as turnip). Spawn conditions of Rye were changed to be in the -12 to 14 temperature range. Overal rye should now be more suited to northerly climates.
      • Rice Heat Damage ceiling increased from default to 46.
      • Peanut growth time was doubled, but yield was left alone.
      • Amaranth growth time not changed, since its already about 50% of irl. Yield still doubled though.
      • Cassava growth time was left alone, being already rather long (though still nowhere near irl). Yield was still doubled to keep the satiety per day vaguely 'competitive'.
      • Doubled pumpkin mother plant growth time, but did not touch anything else, for now.
      • Pineapple was not touched due to already being a very long growth time and its also the only farmable fruit.
    • Tweak: Creature ai tweaks, applies to all creatures
      • Slower look around speed
      • They now tend to wander further
      • Mitigate chasing derp (where creatures turn back for a second)
      • Fixed walking sideways in 3rd camera mode caused animals to target wrongly
      • Creature attack knockback now proportional to damage
    • Tweak: Lots of visual tuning and polishing
      • Fine tuned snow accumulating and melting to be a bit less abrupt.
      • Fine tune wind affected particles
      • Fine tuned explosion particle spawning a bit and made them more proportional to the explosion radius
      • Fine tuned Aurora visuals
      • Fine tuned teleporter sounds and teleport effect
      • First person held item position/rotation polishing
      • Fine tuned first person attack/interact animations some more
      • Dark blocks now get a white selected block outline for easier chiseling
      • Added more water bubbles when walking in water
      • Zoomed in all spear gui transforms. Looks weird but can tell apart spears more easily now.
    • Tweak: Lots of other gameplay balancing
      • Slight speedup when walking in water, for creatures and players
      • Windmills no longer work underground, unless worldconfig undergroundWindmills is set to "true"
      • Standing still now reduces your hunger rate 4-fold instead of 3-fold
      • Buffed all bow by +0.25 damage.
      • Gambeson no longer High Damage Tier Resistant
      • Torches thrown into water now also go out
      • Boosted durability of steel armor to make it worthwhile (lamellar: 950->1600, brigandine: 1900->2600, chain: 1000->2000, scale: 2000->3500, steel: 3200->5500)
      • Reduced cave art material cost by 50% (consume the pigment every 1/15 times instead of 1/10)
      • When a temporal storm ends, half of the spawned drifters now disappear
      • Hares eating crops leave behind a dead crop. Prevents seed loss
    • Tweak: Added berry picking and shield blocking sound
    • Tweak: Added tempStormFrequencyMul worldconfig
    • Tweak: Removed liquid items from the creative inventory. Replaced them with liquids inside buckets. Added a new liquids creative tab.
    • Tweak: All mods in the mod manager not having set up an icon will now use a default icon. Fixed crashing game if mods did not define a mod icon
    • Tweak: Can now also right click with a bucket on the barrel slot in GUI to take out liquids (and also added holding CTRL to move only small portions)
    • Tweak: Doubled sound range of echo chambers
    • Tweak: Can now place bees wax, fired bricks, candles, clay, dyed cloth, all crushed resources, blasting powder, fat, flax fibers and flax twine on the shelf
    • Tweak: Added pit kiln burn times by fuel to the handbook entry
    • Tweak: Added more debug logging for the shift+click item disappearance bug
    • Tweak: Locust drills more drill-looking
    • Tweak: The selected chiseling material is now remembered across chiseled blocks
    • Tweak: Performance: Don't render dynamic shadows when shadow intensity falls below 10% (during night or rain)
    • Tweak: Reduced RAM usage by about 75 MB (Technical info: generate animation frames only on demand, optimized particles ram usage)
    • Tweak: Added white and gray dye
    • Tweak: Disable seasonal grass coverage changes. Causes large stutter with radeon cards, as it has to retesselate lots of chunks
    • Tweak: Added mod<=>engine version check and crash the client/server if they mismatch, to prevent undefined behavior
    • Tweak: Added additional handbook info, and a link to the wiki, when describing block reinforcement system
    • Tweak: Barrels now visually show contents for some more items/blocks
    • Tweak: Worldmap: Ignore corrupted map parts instead of crashing
    • Tweak: Unlit chimney now hollow for particles, allows smoke to rise through it from below (or snow to fall through it!)
    • Tweak: Add appconfig thing to maybe fix the game being launchable with too old versions of .net
    • Tweak: De-Jank: Mouse wheel no longer changes the values of drop down ui elements just from hovering over them
    • Tweak: De-Jank: The World configuration attributes are now grouped by category
    • Tweak: Can now use {plr} placeholder in command block commands
    • Tweak: Yellow dye is now made with onions. Orange dye is now made by adding more onions to yellow dye.
    • Tweak: When making dyes, barrels now produce the same amount of liquid as the ingredients, e.g. if you put in 4 diluted alum, you get 4 dye.
    • Tweak: Forest rain sound a bit more pronounced
    • Tweak: Farmland now uses the configurable HoursPerDay instead of 24 hours to time crop growth
    • Tweak: Grid crafting with spoiled ingredients now will also result in a spoiled crafting output
    • Tweak: Shelves are now very suited for drying items if they are not in a cellar
    • Tweak: Added hunter backpack recipe that uses 3 small pelts
    • Tweak: Kapok leaves now less neon green
    • Tweak: Made mountains less faded in the distance
    • Tweak: Added recycling recipes for hay bed and thatched roof
    • Tweak: Game crash resistance against corrupted large gears on TOPTS
    • Tweak: Click sound for the creative rotor, placement sounds when adding parts to the pulverizer
    • Tweak: Firepit construction stages drop contents when broken and break faster.
    • Tweak: Added server arg --append which prevents the server from clearing the log files on startup
    • Tweak: World map visual tuning (more color accurate but more noisy)
    • Tweak: Disabled bell pepper worldgen spawn
    • Tweak: Snow covered grass can no longer ignite
    • Tweak: Mitigate cases where creatures stepped over fences

    Fixed

    • Fixed: Bamboo shoots block info saying that they'll mature
    • Fixed: Leaded glass panes not correctly rotated when rotating with worldedit
    • Fixed: Hammer did not loose durability from combat
    • Fixed: Floaty pixel on silver diadems
    • Fixed: Add a bit of tolerance to cementation process completion
    • Fixed: Player began to freeze if temperature was above 30 degrees o.O
    • Fixed: Flowers not frost overlaid
    • Fixed: Removing wax from waxed cheese reset the cheeses freshness
    • Fixed: Wrong block breaking overlay on placed cheese
    • Fixed: Wrong texture for placed waxed cheese
    • Fixed: Anvil: Able to move metal voxels with a voxel above them
    • Fixed: Bloomery insides completely black
    • Fixed: Game crashing when an invalid language was set in the clientsettings.json
    • Fixed: Items in gui not glowing
    • Fixed: .tfedit with empty hands left the mouse unlocked
    • Fixed: Rare race condition crash in animated blocks
    • Fixed: Fern tree growing through trader cart floors
    • Fixed: Translocating sound not attenuated
    • Fixed: Dropping the wrong item when using the Q hotkey in the creative inventory
    • Fixed: Game crashing when feeding certain non-crushable items into the pulverizer
    • Fixed: Should fix a crash when launching the game on Pop OSFixed: Various minor issues (2 missing lang entries, floaty mushroom at block edges, wonky slanted roof hitboxes, shadows around reed&papyrus)
    • Fixed: Meals in a pot or bowl spawning white particles when broken
    • Fixed: Chiseling a light emitting block now emits light as well
    • Fixed: Wrong texture resolution on croton plants, therefore more fluffly now
    • Fixed: The Balanced trader had a broken sprint animation
    • Fixed: Spears and arrows sometimes flying through creatures
    • Fixed: Liquid containers accepting non liquids from hoppers/chutes
    • Fixed: Light color jitter on the worldmap when chunks are updated
    • Fixed: Pit kiln not emitting light
    • Fixed: Farmland perma boosters still applicable multiple times
    • Fixed: Coloring lanterns did not update lighting server side, causing them to get lost after server restart
    • Fixed: Fence gates not remembering their reinforcement level when opened or closed
    • Fixed: Vintagehosting Server Status screen showing wrong server state in some cases
    • Fixed: Various z-fighting issues with armor
    • Fixed neighbour block lighting visual issue for Wallpaper and other Decor blocks
    • Fixed: Alignment issue in the transform editor
    • Fixed: Updated the character trait descriptions to match previous balance changes.
    • Fixed: Dragging around a dialog was janky on non-8 gui scales
    • Fixed: /wgen regen not removing entities on the client side. Might fix duplicate ghost players? ??
    • Fixed: Crash reporter launching twice
    • Fixed: Creature hurt sounds not playing? (Might break other things)
    • Fixed: Wrong shading on first person held items
    • Fixed: Missing texture on one of the shields
    • Fixed: Freshly crafted clothes had not 100% condition
    • Fixed: Missing texture on thrown hacking spears, fp hand spears upside down
    • Fixed: Incorrect day/night cycle. Looks promising now, as in, behaving physically correct on all latitudes
    • Fixed: First person spear upside down, spear attack animation a bit smoother
    • Fixed: Ingame error text in front of dialogs
    • Fixed: Missing "25k" option on world config world length
    • Fixed: Freshly crafted clothes had not 100% condition
    • Fixed: Chopping down bamboo chopped nearby bamboo trees
    • Fixed: Able to always pick up clear quartz from loose quarts ores
    • Fixed: Crash when setting the chisel tool mode right at the edge of a block
    • Fixed: Derpy positioning of the itemstack infobox
    • Fixed: Exception thrown on some /worldconfig commands
    • Fixed: Opened coken oven doors dropping a different block variant
    • Fixed: Should fix fern trees spawning underwater
    • Fixed: Clay dupe glitch
    • Fixed: Fog flicker when moving vertically
    • Fixed: Game crashing when pasting text into the config world screen
    • Fixed: Itemstack infobox sometimes displaying the wrong text
    • Fixed: Fixed creature hostility configuration not properly applying whenever a major update comes out (To the author of the golden wolf mod: add "friendlyTarget:true" to your seek entity json config)
    • Fixed: Firepit ash overlay culled with a block above
    • Fixed: Woad not yellow in world map
    • Fixed: Crash related to interacting with pies
    • Fixed: Wrong sizes of cheese on shelves
    • Fixed: Avoid an exception in the trader restock code if an item no longer exists (e.g. due to a removed mod)
    • Fixed: Items in the grid crafting output slot starting to spoil/dry
    • Fixed: "Dryable. Duration: NaN Hours"
    • Fixed: Multimaterial chiseled blocks containing Glass disabled some faces that it shouldn't (glass chiseling is still not supported in vanilla though)
    • Fixed: Difficulties using the teleport block on server with mild or heavy lag
    • Fixed: Should fix rare crash in the error reporter

    API Updates

    • Feature: Some simple implementation of a generic multiblock system, to hopefully avoid custom multiblocking everywhere. Currently used for the distillery.
    • Feature: Added capi.Gui.LoadSvg() and capi.Gui.LoadSvgWithPadding() which allows for use of external SVG vector files to be loaded. For a first code sample, check out ItemProspectingPick.cs
    • Feature: Improved mounting system. Should now be properly network synced \o/
      • Sneak to unmount a IMountable is no longer hardcoded. It must now be handled by the IMountable itself, see BEBed.cs as example.
    • Feature: Ability for custom gui/fp itemstack renderers, register via api.Event.RegisterItemstackRenderer()
    • Feature: *byType precedence: For the Json assets blocktype, itemtype and entitytype, can now define an attribute as well as a *byType attribute, whereas the latter takes precedence, e.g. stackSize: 32 would be overwritten by stackSizeByType: { "*": 16 }
    • Feature: Explosion code upgrades
      • Explosions radii have an upper limit, which is now doubled, reaching it nonetheless now throws a more informative exception
    • Fixed particle lag and upper cap issues, as they now spawn async
    • Fixed a crash in the lighting engine when explosions go beyond chunk boundaries
      • Added blockDropChanceMultiplier argument to CreateExplosion() to reduce block drops by explosions (large explosions drop *a lot* of blocks)
    • Feature: .gltf models now support most flags
    • Feature: Added api.Render.RenderItemStackToAtlas(), allows rendering of an itemstack into a texture atlas
    • Feature: Can now set amount of inventory columns for GenericTypedContainer blocks
    • Feature: Add initialDelayOffsetMs arg to Event.RegisterGameTickListener() to mitigate lag spikes from many listeners running code at the same time
    • Feature: Added withInheritance argument to api.ModLoader.GetModSystem()
    • Feature: Added new render stage EnumRenderStage.AfterBlit
    • Feature: Added client side api death event
    • Feature: Added sapi.HandleCommand() to run a custom command through code
    • Feature: In the json assets, can now define a "ucontents" property to define contents of containers. Example implementation: A wood bucket filled with water in the creative inventory
    • Feature: New JSON Patch operation "addeach" allows inserting/appending of multiple elements in one operation. (the value must be an array)
    • Feature: Added Block.PriorityInteract property to be able to sneak interact with a block before sneak interacting with the currently held item. Used for the new crate.
    • Refactor: Recipe systems are no longer engine exclusive. All recipe systems (except the grid recipes) are now moved from api/engine to the survival mod. This means:
      • If you need to look up cooking recipes, reference VSSurvivalMod.dll and exchange world.CookingRecipes with "Api.ModLoader.GetModSystem<RecipeRegistry>().CookingRecipes" or through the helper method "Api.CookingRecipes()"
      • If you only add cooking recipe json files, no changes are required
      • You can now add your own recipe system. Check out RecipeRegistry.cs for reference (still needs handbook support, though)
    • Refactor: All Barrel recipes that have liquids as input or output, instead of quantity and stacksize respectively, these should now define "litres". However for backwards compatibility, if the recipe loader encounters a liquid ingredient or output without a litres definition, it will assume quantity/stacksize = litres and log a warning.
    • Refactor: Rename BlockLiquidContainerBase.GetInContainerProps to BlockLiquidContainerBase.GetContainableProps
    • Refactor: The block code for planks has changed from planks-{wood} to planks-{wood}-hor
    • Refactor: Minor refactor in Weather/WeatherSimulationParticles.cs
    • Tweak: Holding sneak key with .edi enabled shows you item attributes in the itemstack tooltip
    • Tweak: Added the boolean properties CanDrinkFrom, IsTopOpened and AllowHeldLiquidTransfer to BlockLiquidContainerBase, can also be set via json attribute (unless you use the class BlockLiquidContainerTopOpened, which sets them all to true)
    • Tweak: RegisterAiTask and RegisterVtmlTagConverter is now in ICoreApi (through C# class extension in the esentials/survival mod)
    • Tweak: Shape elements of zero size are now no longer tesselated
    • Tweak: New tool: /debug heldstattr key type value
    • Tweak: Added IDisposable interface to many classes that are disposable
    • Tweak: Calling networkChannel.SendPacket() server side without player args now throws an exception
    • Tweak: Added CollectibleObject.TpOffHandTransform
    • Tweak: Added helper methods for ITreeAttribute Set/GetVec3i, Set/GetBlockPos and Set/GetVec3is
    • Tweak: Added ISaveGame.StoreData<T> and ISaveGame.GetData<T>()
    • Tweak: Added SendBlockEntityPacket<T>(IServerPlayer player, BlockPos pos, int packetId, T data = default(T)) BroadcastBlockEntityPacket<T>(BlockPos pos, int packetId, T data = default(T))
    • Refactor: Massive Windwave/VertexFlags refactor. All wind related vertex flags are now consolidated into 2 properties - windMode and windData. Can now define these 2 values *per vertex* in VS Model creator
    • Refactor: Rework mesh generation of displayed items, such as items in shelves or ground storage. This is now done through the interface IContainedMeshSource for the contained item, instead of hardcoded in each container.
    • Refactor: BlockEntity.OnBlockBroken() now has a new argument IPlayer byPlayer
    • Refactor: Rename AddDecor() to SetDecor() and allow passing air blocks to remove decor
    • Refactor: Merged BreakDecor() and BreakDecorPart() into one method
    • Refactor: Remove API.Common.Action, replaced with System.Action
    • Refactor: GuiElementCellList is now generic
    • Refactor: GuiElementHandbookList is now GuiElementFlatList (now a slightly more basic version than GuiElementCellList)
    • Refactor: Renamed entity "Hitbox" to "Collisionbox" (Hitbox can still be used but is marked obsolete)
    • Refactor: Removed world argument from all methods in ILiquidSink & ILiquidSource
    • Tweak: Seperated creature hitbox into collisionbox and selectionbox (the later is used for attacking and interacting with creatures)
    • Tweak: Removed and consolidated a lot of crushed shape files since they were all essentially the same.
    • Tweak: Doubled block, item and entity texture atlas size
    • Tweak: Added property IBulkBlockAccessor.StagedBlocks for jakecools dynamic trees
    • Tweak: Made clayforming system more flexible towards new types of clay
    • Tweak: .AddDynamicText() removed argument for EnumTextOrientation, it can be set in the font.
    • Tweak: GuiElementTextButton now has a Visible flag
    • Tweak: Client and server now (lazy) load all language entries. Can now send text from server to client in the clients language. (Contribution by Apache#8842, edits by Tyron)
    • Tweak: Added ability to disable durability averaging during grid crafting
    • Tweak: Added rndIndex argument to Block.GetRandomColor()
    • Tweak: .tfedit now allows editing of ground transforms for ground storable items and blocks (also fixed that blocks did not apply the ground transform)
    • Tweak: Clean up reeds and papyrus assets. Drops are no longer hardcoded, only 1 blocktype file instead of 3, all shapes in the same folder, added frozen variant for papyrus
    • Tweak: Can now define knockback strength in AiTaskMeleeAttack
    • Tweak: capi.World.Player.Entity.OnFootStep and capi.World.Player.Entity.OnImpact are now events instead of Action fields
    • Tweak: Added IParticlePropertiesProvider.Async to make particle spawn asynchronously (for particle spawn calls on the server)
    • Tweak: Specially treat empty string variant code for blocks, items or entities: They are now treated as "skip this variant group" and not add an extra dash to the block/item/entity code
    • Tweak: Clean up, unify and simplify GetModData and SetModData for chunks, map chunks and map regions
    • Tweak: Added EnumFoodCategory.NoNutrition for foods that provide no nutrition
    • Fixed: Calling GetClimate() for a specific date returned fundamentally broken values 🤦‍♂️
    • Fixed: Some items set to be placeable in backpack slots crashed the game for no (apparent) reason
    • Fixed: Small values ignored in shape: { offsetX/Y/Z: 0.01 }
    • Fixed: OnTrySpawnEntity event did not handle multiple event listeners correctly
    • Fixed: Entity shape alternates didn't work (see example entities/land/drifter.json, make sure the alternate shape textures have different texture codes)
    • Fixed: Liquid in barrel textures defaulted to the game domain
    • Fixed: Health boosts in meals should now respect serving size and spoilage rate
    • Fixed: Should fix night sky textures not moddable
    • Fixed: Handbook crashing the game on invalid grid recipes
    • Fixed: Json patch addeach not implemented in the engine
    • Fixed: game crashing when removing the hunger behavior from the player
    • Fixed: Wildcard liquids in grid recipes crashing the handbook
    • Fixed: CreativeInventoryStacks property not working properly for items
    • Fixed: Wildcards not working on grid recipe returnedStacks
    • Fixed: Failure to resolve itemstack for a crafting recipe ingredient did not print a warning
    • Fixed: Texture Rotation not applied to alternates when using * wildcard

    Changes since v1.16.0-rc.8

    • Tweak: Reverted fence height changes. It gave wolves the ability to leap over them
    • Tweak: Increased jug capacity from 2 to 3 L
    • Tweak: Reduce fern tree spam a bit more
    • Tweak: Completely removed old longblade swing behavior
    • Fixed: Another liquid dupe bug with barrels
    • Fixed: Able to pick up meals with jugs
    • Fixed: Wolves going all stiff after leaping. Wolves not prioritizing players when up close.
    • Fixed: Not able to put long blades on armor stands
    • Fixed: Cut off links in the handbook
    • Fixed: Gambeson no longer tier 2 armor
    • Fixed: Creatures able to step over hewn fence gates
    • Fixed: No forest floors in jungles
    • Fixed: Colored lanterns not retaining their colored light
    • Fixed: Pit kilns not removing the light they emit
    • Fixed: Filled Jugs and bowls shown as empty when placed on the ground
    • Fixed: Straw dummies and armor stands not resistant against knockback
    • Fixed: Switching from map hud to map gui ordered the map dialog behind the hotbar
    • Fixed: Disabling a mod made it disappear from the mod manager
    • Fixed: Some parts of the afro hair too dark
    • Fixed: Wrong held third person pose when holding metal parts
    • Fixed: Croton in planters derp