Dear Extraordinary Survivalists
v1.20.0-pre.1, a preview release, can now be downloaded through the account manager (section "Other Goodies").
Our main effort went into advancing the game's story which continues right where we have left off in 1.18 - The Resonance Archives. As mentioned in previous posts once 1.20 is finished you will be able to explore 4 unique story locations, with new game defining mechanics to boot! As the devlog title already reveals, the second story chapter still needs to cook a little longer, but we are optimistic that we can still complete it this year. Most of the lore-related game mechanics and assets are in the game, but currently disabled from appearing in-world. Once the second story experience can be played through fully without major hitches we will be enabling all lore content. As always, the primary goal of these preview releases is to give modders plenty of time to read and understand the API changes as well as address the myriad of bug reports we usually get from our very helpful early testers in our community.
We continue our tradition of challenging the status quo of what this game engine can do - this time by adding support for mountable creatures and vehicles. You will be able to kit out your brand new trusty elk and sailboats in various ways using precise and intuitive controls. All this is programmed in ways that is very easy for modders to add their own mounts and upgrades. All in all we feel confident this will re-define how you will travel in the world of Vintage Story.
New or Updated Engine Tech
- Server side physics: Gone are the days of bouncy items. All physics simulation (except the player) is now entirely server side and sent over the network using UDP - a quicker method of transferring data. This should bring the benefit of smoother motion of other players, creatures and projectiles - in Singleplayer as well as Multiplayer - as well as reduced CPU usage on the client, especially in situations where there are lots of dropped items.
- Entity Part targeting: Using a new entity behavior, individual parts of an entity can now be targeted and interacted with. This allows for much more intuitive interactions with creatures and other non-block entities.
- Entity Multi-Box Physics: Using a new optional physics behavior, entities can now have multiple collision boxes. This is used for the new sailboat so it does not clip into blocks. It also opens the door for improved physics on creatures that are long and thin, such as deer.
- Entity Attachable System: Can now, through the use of JSON code alone, create an entity to which blocks and items can be attached to. The attached blocks can in turn also implement custom behaviors (in C#) for when they are interacted with while attached on an entity, for example opening a bag that is mounted on a horse.
- Entity Animation Cap Upgrade: An entity used to be limited to 46 boxes that can be animated at the same time, this limit is now raised to up to 1000
- World Dimensions: We have continued working on our dimensions system. More info on this still to come.
- Dynamic rope system: Still a work in progress, but maybe just about stable enough for full integration.
- Modding conveniences: Block, Item and Entity json files can now use file inheritance, to save on config duplication. Additionally for Entities, their behavior configuration can now be defined only once instead of once per client and server. Several improvements were also made on the ModMaker.exe
Please note
1. This first preview release is an unfinished update, mostly intended for modders and very adventurous players. You will encounter major bugs, incomplete features, possible performance issues and crashes. The lore content will also not spawn right now.
2. Further preview releases (including fixes for bugs in pre.1) will only be posted in Discord #news and on info.vintagestory.at and not on this blog. As usual, a new v1.20 blog post will then come when the first full release candidate (rc.1) is ready
3. If testing 1.20 on an old world from 1.19 or earlier, we strongly recommend making a backup copy before loading the world in 1.20.
4. We do not recommend starting a new permanent world with 1.20-pre.1. Some of the pre-releases might still break things. A world created in pre.1 or older will not automatically generate all of the new story content which we anticipate including. Therefore we recommend make a new test world for your 1.20-pre.1 adventures
5. In general it is a good idea to disable all your previously installed mods, when testing 1.20-pre.1. Until the mods have had a chance to update for 1.20, games with older mods installed will have a strong chance of producing issues or crashes.
Still planned for rc.1
Completion of all the lore content. More ocean content. Hopefully proper wind affected steering of the sailboat. Finish up various other incomplete features with the sailboat and Elk. Properly document all the world edit changes. Work on all the other unfinished parts of the update. 2-Factor Auth for the game client.
Gifs/Screenshots
Mount system: Rideable Elk and Sailboat
Sailboat construction system
Upgraded Raft: now has stowage for the oar and can carry a basket
Ocean Content: Visual upgrade - murky shader and opaque oceans
Ocean and Lake Content: Many more underwater plants
Ocean Content: Saltwater Coral reefs (WIP)
Reworked wolf model and animations
Bricks overhaul. 130+ new variants of brick blocks
The beehive kiln: A new system of baking bricks
The most common hot items are now held correctly with the tongs
Hot ground stored items are now also incandescent and shading of held ones is improved.
Added insect life
New high tier carriable bags: Sturdy leather backpack and Sturdy mining bag. Made from end game materials.
Two new types of bombs
The Moon moving over the Sun will now produce actual Eclipses
Hot molds will shatter if exposed to water
The 100+ world configs are now much better organized through the use of Tabs
Smooth edges for quad particles, creating less jarring visual artifacts and more satisfying explosions
Trapdoors are now woodtyped, come in 2 variants each and animated like the door.
For modders and future game content (hinthint): Entity Activity System with ingame Editor.
Lava and Boiling water now kills nearby grass
More beams for creative mode players - shingled roof, ropes of various thicknesses and chains
All Game updates
-
Feature: Animal Riding system.
- First Mount: The Elk
- Uses a brand new interaction system that allows one to target individual parts of a creature
- For now, purchaseable at the treasure hunter once you have handed in the tinbronze pickaxe
- Can be kitted out with additional storage options and be used like a tool rack for various items
- If mortally wounded, will enter a mortally wounded state where players can still rescue the animal using poultices. If left untreated, will die after 24 ingame hours.
- Can ride without holding down a button, using a bridle built for long distance travel
-
Feature: The sailboat
- A much larger watercraft compared to the Raft currently in the game
- Uses brand new physics for the correct simulation of non-square creatures and entities
- Allows for mass-transport of goods, players and creatures. It comes with 8 slots where players can either put chests, crates, seats or creatures through fence posts. Can allow up to 10 players to travel on water
- The elk can be placed on the sailboat by attaching a rope to an elk, and then attaching the rope to a fence post that has been placed on the sailboat
- Is not carryable, it must be built step-by-step near water
- Feature: Upgraded Raft They now have stowage space for the oars and one basket
-
Feature: The bricks and brick firing overhaul
- Added behive kiln: Allows you to fire up to 27 full blocks worth of clay wares at once. Allows you to fire bricks in 4 different colors by adjusting the level of ventilation the kiln receives
- Added red clay deposits, and item. Red clay is now the most common clay deposit. Blue clay no longer spawns at higher altitudes. Fire clay is now only found below coal deposits or crafted from blue clay and flint.
- Added a huge amount of variety of bricks with different sizes, patterns and colors
- Peat piles and firewood piles can now be ignited like coal piles, which can now be used to fire the new beehive kiln
-
Experimental Feature: Ropes/Leashes, Attempt #2
- This is a second attempt at getting it gameplay ready, it might get removed again!
- Rope allows you to pull domesticated animals. Simply right click them with rope in hands. You can right click on a fence pole or trees to attach the animal to the pole.
- A leashed animal can be placed on a sailboat, requires a pole to be placed on the boat first
- Can now lengthen/shorten rope with tool modes when holding rope in hand.
- Hard stretched ropes will now emit a sound, a overstretched rope will snap with sound and particles.
- Rope now visually attaches to animal necks and player hands.
- Fixed multiple issues related to rope
- Feature: 1 New Hostile Mob (+one more very soon): No more information on these for now. These are for you to discover.
-
Feature: Insects! Tiny noisy particles that make the world feel more alive
- Added jumpy noisy grasshoppers. Only spawn inside plants during warm and dry days and only in some patches. Extra noisy cricket sounds during the summer months.
- Added very noisy cicadas to warmer areas
- Added swarms of mating gnats above wet area lakes
- Added uncommon coquis to jungle-type areas
- Added Water strider on water sources
- Feature: Tabbed customize world screen. Makes it alot easier to navigate through the myriad of world configs the game offers nowadays.
- Feature: Added solar eclipses. It was already the case that the moon moved right in front of the sun - now it also has an actual effect of darkening the world for a minute or two.
- Feature: Tool and ingot molds will now shatter when underwater, when watered with the watering can and during medium to strong rainfall. Will leave behind a shattered mold model and breaking it will yield 70-80% of metal bits worth of the original pour.
-
Feature: Greatly improved Water visuals
- Feature: New render pass to visualize water murkiness. Water surface visual tuning
- Feature: Greatly mitigate the seafloor being visible at the edge of loaded chunks. This greatly improves the looks of Oceans
- Fixed fog visible inside lakes
- Should finally, finally also fix ugly noise pattern on water edge foam
-
Feature: New Blocks (not survival craftable)
- Feature: Added 2x3 gate
- Feature: Added quad logs
- Feature: Added plaster washes, white and yellow variants
- Feature: Added 3 meter diameter wagon wheels. Existing short-axle wheels now placed from 'outside', rather than 'inside'.
- Feature: Added 'roof beams' which are short sections of roof using the beam mechanic, to allow for greater freeform placement (WIP)
- Tweak: Added Ruined torchholder model
-
Feature: New Blocks (survival craftable)
- Tweak: Added four sets of ruins-only brick
- Feature: Added bamboo fences and gates. Added bamboo piles
- Feature: Added wooden roofing blocks
- Feature: Added half sized roofing blocks for all roof types, for cases where an entire block is too much
- Tweak: Added electrum lantern. Electrum can now be used in lantern lining
- Tweak: Added continuous smooth roof plane beams
- Tweak: Added 'ridge beams' for roofs. Meant to be used in peaks and valleys, and to cover 'loose ends'
- Feature: Added master sound slider to affect the volume of all ingame sounds
-
Tweak: Gameplay balancing changes
- Feature: Added craftable sturdy leather backback and sturdy leather mining bag which requires the new sturdy leather to make, and holds two more slots than a normal mining bag
- Tweak: Standard mining bag buff from 10 slots to 12 slots
- Tweak: Farmland buff - now dries out after 96 hours, instead of 48
- Tweak: Auction house buff. The traders managed to streamline the auctioning! Auctions now last twice as long for the same cost and delivery cost is reduced by 30%
- Tweak: Added two new types of bombs for rock blasting and for damaging creatures respectively
- Tweak: More items can be placed on the ground now: Most food items, cattail and papyrus bundles, bamboo, chute sections, compost, blasting powder, flax twine, iron blooms, leather, metal chain/lamellase/scales, and quartz
- Tweak: Aggressive animals (bear, hyena, wolf) and larger passive animals (deer, goats, moose, etc) now spawn a little further away from the player
- Tweak: Doubled creature swim speed by default. Add creatureSwimSpeed worldconfig to adjust this value.
- Tweak: Buying price and demand for aged crates by traders reduced
- Tweak: Lightning rods are now crafted in the grid using 3 copper rods, rather than being smithed on an anvil. Copper rods must be smithed though.
- Tweak: Fruit press now requires a metal rod, rather than metal ingot
- Tweak: Hyena drops reduced
- Tweak: Termite mounds now take significantly longer to break and leave a destroyed termite mound when broken, which will grow again into a populated termite mound within a year.
- Tweak: Dye recipe liquid requirements adjusted to work with a full 50 liter barrel, rather than forcing the player to remove 2 liters to make it work.
- Tweak: Edible bamboo shoots now spoil faster
- Tweak: Grid recipe for terra preta doubled in costs, except for high fertility soil which remains at 1
- Tweak: Don't spawn cassava crop in deserts (minrain 0.2 => 0.28)
- Tweak: Reduce amount of loose surface malachite bits by about 25%, by slightly lowering malachite deposits
- Tweak: Dropped items that cannot combust or do not melt at 800°C no longer burn when thrown into fire
- Tweak: Cider/Wine rebalance - now lasts 10 times longer but only yields half the satiety
- Tweak: Quern recipe now also require a hammer and chisel
- Tweak: Bucket crafting recipe now also accepts rope, in addition to twine.
- Tweak: Grass coverage on soil now dies if adjacent to boiling water or lava
- Tweak: Rewrote algorithm that ignites blocks that are near Lava, which should make it less buggy / oddly behaving
- Tweak: Hardened clay removed from recipes and moved to legacy folder (replaced by wattle & daub)
- Tweak: Add flint deposits to limestone. Add extra-large but rare flint deposits in limestone and chalk
- Tweak: Cementation Furnace process can now also break refractory brick grating
-
Tweak: Bow aiming accuracy rework
- The Ranged accuracy stat should now have a significantly more noticeable impact
- The Ranged accuracy stat in the character dialog now also reflects the accuracy bonus of the currently held bow. The bow accuracy bonus is also visually reflected in the aiming reticle.
- Tweak: Planks (blocks, slabs, and stairs) as well as beams' burn temperature reduced from 800 to 600, in line with other 'wood products'
- Fixed: Can no longer till ground with a block above, prevents wildcrop harvesting exploit
- Fixed: Clay oven not providing heat to the player
- Fixed: Tropical wild vines could not be used to make rope.
- Fixed: Crude door no longer falling apart from opening/closing as they used to in 1.18. Lowered break chance from 10% to 8%.
-
Tweak: New optional survival challenges
- In Homo Sapiens and Wilderness survival playstyle: Can no longer create water source blocks with a bucket.
- In the wilderness survival mode, lightning now causes fire if there is very little rain over 10 days
-
Tweak: Creative mode changes
- Feature: Can now use wrench to offset clutter model
-
Feature: Worldedit overhaul
- When in Select, Move, Import mode you can use the scroll wheel to perform various actions, they can be switched by pressing F (hotkey for Select Tool / Clayforming mode). Those actions will also use the step size to perform moving or increase decrease the selection. This modes need to have the Wand Itemd in hands to perform their actions (left and right click, see tooltip for more details)
- Feature: Option to hide the Right settings panel (use full when you need to see the coords or axis you are looking for, enable .edi to see the axis in the coordinate HUD)
- Feature: option for import tool to not update the position on right-click (UPP)
- Feature: start and end position markers within the selection
- Feature: option for scroll tool mode to restrict action onto a certain axis (SAL / Scroll axis lock)
- Feature: Hotkey for CTRL + Z for undo (can be changed in controls)
- Feature: Hotkey for CTRL + C to copy the current selection and when switched to the import tool you can start placing it (can be changed in controls)
- Tweak: Use the new Minidimension system for the move tool to help with performance on large structures and fine adjustments
- Tweak: Moved the step size setting to the main control (top left)
- Tweak: Moved Tool offset mode from the right settings panel to Paint brush , Eraser and Chisel brush tool
- Fixed: Magic wand on pressing left mouse button it would destroy blocks
- Fixed: Preview selection and place issues with the chisel brush tool
- Fixed: Mirror with beams
- Fixed: Slanted roofs not rotating properly
- Fixed: Various fixes to all kinds of tools to function as expected and described, see their tooltips when you mouse over them
- Tweak: Added selectable collider block for chiseling with
-
Tweak: Inventory management tuning
- Tweak: Inventory Pickup and drop off sounds (WIP. Currently has only one sound)
- Tweak: Can also also use the keyboards right SHIFT key for moving items in the inventory
- Tweak: Shift+Left Mouse click moving items from creative inventory no longer moves items into the backpack, which is not accessible in creative anyway
- Fixed: Selecting a tab in the creative inventory and closing + reopening did not remember the opened tab but the list of tabs did not reflect this
-
Feature: Handbook improvements
- Tutorial system improvements: Can now restart a tutorial from the handbook. Fixed "grabbing a torch from the firepit" not being counted when using shift+left click
- Fixed no intuitive way to complete the last tutorial step.
- Added Sneak + H (Show Survival Handbook entry for currently looked at block) hotkey to the list of Controls under Settings
- Slightly less bad command handbook text formatting, added scale font tag, e.g. <font scale="80%">
-
Tweak: Creature AI improvements
- Most creatures no longer just passively accept getting pummeled by ranged weapons at a large enough distance. They will now run away.
- Fixed hostile mob target circling behavior working again
- Attacking hyena pups and moose infants now alarms nearby adults
- Improve moose behavior so they don't run up to the player and then run away without attacking, repeatedly
-
Fixed: Fix 3 major bugs in the A* pathfinding system
- Vertically tight pathways were considered not traversable if they werent at least 2x the height of the entity itself
- Entity considered itself stuck when it wasn't and canceled its current action as a result
- Chicken egg laying and a entity chasing other entities/players likely not fully working as intended (The WaypointsTraverser.NavigateTo() method, the non-async method of pathfinding did not correctly take in all method arguments. )
-
Tweak: Further visual fine tuning
- Feature: All Seraph clothing is now in 3D
- Feature: Seraph now holds hot crucibles and ingots correctly. Purely a visual change. Other hot items still outstanding.
- Tweak: Particle fine tuning. Quad particles now have smooth edges. Explosions now produce larger smoke particles. Water splash particles max velocity capped because it looked unnatural.
- Tweak: Damaged refractory bricks now have a physically eroded model, in addition to the cracked texture overlay.
- Tweak: Game juice: More satisfying particles when smithing (longer lived, more bouncy, fade to red, respect anvil and work item hitboxes)
- Tweak: Made snow particles more affected by wind
- Fixed: Temporal storm glitch effect on blocks went missing in 1.19
- Fixed: Player underwater could occasionally rotate backwards 360 degrees when feet touched bottom
- Fixed: Broken transparency on glass case bookshelf models
- Fixed: Soil as part of a chiseled block not frosting over in winter like other soil does
- Fixed: Jitter when doing left click scything and then holding right mouse button.
- Fixed: Seraph sliding issues while on a wobbly raft
- Fixed: Greatly mitigate player model extremely jerky when swimming with the jump key held down
- Fixed: Fireflies and lightning flash particles not properly glowing
- Tweak: Fp Animation for pouring liquid metal improved.
- Tweak: Adjusted tool mold held transforms
- Tweak: Held anvil and anvil parts now shown as held in both hands.
- Tweak: Changed color of cattail bundles to less intense green, fixed held and dropped cattails way too dark
- Tweak: First person hands, lag slightly behind when changing view direction, looks more natural
- Tweak: Remove shinyness effect from iron and lead metal blocks
- Tweak: Cementation Furnace sync visual particles with when you actually receive heat damage
- Tweak: Minor remodel of the crucible, needs one more layer of clay when clayforming
- Fixed: Apparently completely fixed sun shadows inside caves at no additional FPS cost?!
- Fixed: Placing carpets on chiseled blocks caused them to become squeezed - medium carpets can no longer be integrated into a chiseled block
- Fixed: All creatures and entities wobbled sideways in the first few frames of being loaded
- Fixed: Mitigate super squeezed textures on support beams at the end of the beam
- Fixed: Chest labels wind waving in some cases
- Fixed: Misaligned texture on the underside of firewood
-
Tweak: Indoor rain sound improvements
- Now uses a clearer sound, the volume of the sound is now affected by the intensity of the rain fall, it is now properly fading in and out while inside rooms, it now requires twice as many glass panes for full volume (4 instead of 2), generally boosted the volume of the sound itself. Improved sound quality when the rain window ambient sound is emitted from multiple sources. Mitigate hardswitches from L to R speaker between to nearby windows, mitigate synchronicity/echo-y sound oddities (now starts playing the track at a random playback position to avoid weird overtones when 2 play at the same time at the same playback position)
- Fixed: Rain on glass splash sounds is now affected by the Weather sound slider instead of the Ambient sound slider
-
Tweak: Gameserver changes
- Tweak: New (additional) command for whitelist control. Use /whitelist on/off to toggle whitelist system. Use /whitelist add/remove playeruid to add or remove players from the whitelist.
- Tweak: Server now monitors RAM usage. If it reaches 90% of the configured value it will print every 60 sec a warning and shut the server down once the limit is reached. Can be changed in the serverconfig.json "DieAboveMemoryUsageMb": 50000. Default is 50 GB
- Tweak: Dedicated game servers are now whitelisted by default. The ServerConfig "OnlyWhitelisted" is now obsolete, use WhitelistMode: "off/on/default" instead. (default means whitelist is on for dedicated servers, off for single player open to lan servers)
- Tweak: Server advertising on the public servers list is no longer enabled by default
- Tweak: archiveLogFileMaxSizeMb is now applied to all logs from one session instead of individual logs
- Tweak: Added server Audit log for PVP damage
- Tweak: Landclaiming, display claimed area in cubic m³ instead of horizontal area m²
- Fixed: Three rare server side exceptions Errors logged caused by coal piles, the Bugnet and Fire
- Fixed: The "/serverconfig setspawnhere" spawn position was retained across savegames, which caused all kinds of bugs. The spawn point set by this command is now stored in the savegame instead of the serverconfig.json. Old savegames are automatically updated to this new config.
-
Tweak: Chat Commands changes
- Tweak: Improve command help output for ban command
- Fixed: .debug (chunk,region,logticks,ci,edi,...) could not be used on servers without admin permissions
- Tweak: Add .debug wireframe landclaim utility as admin
- Tweak: Add rudimentary command exporter for the wiki .chb expcmds
- Fixed: Command /we replace-material did not work for beams on chiseled blocks
-
Tweak: Performance tweaks
- Tweak: 2 to 4 FPS improvement in thick forests, e.g. 40fps->42fps (Technical info: We pre-compute colormap values and the LOD0 fade in the vertex shader, instead of computing it in the fragment shader)
- Fixed: Minor memory leak (Quern sound never unloaded when the block got out of range)
- Fixed: When in overhead camera mode, the seraphs turning around motion was not smooth
- Tweak: IP Addresses in the escape menu now hidden by default (with a link to reveal ip)
- Tweak: Surgeon hood (worn on head) changed to mask-hood combo, and moved to face location
- Tweak: Allow use of +/- keyboard keys to zoom world map in dialog mode
- Tweak: Less squishy entity pushing. Made rafts and boats pushable
- Tweak: Fixed GUI Layout issues in the disconnected screen and improved error messaging when a Vintagehosting address could not be resolved.
- Tweak: Worldgen Vegetation is now seed deterministic, which means if you generate a world with the same seed in the same VS version it will look the same now
- Tweak: Increase chance of inlog beehive spawning
- Tweak/Fixed: When in creative mode and chiseling can now add a vertical log to a chiseled horizontal log
- Tweak: Shears smithing recipe changed to look more like shears, and use most of the voxels in an ingot.
- Tweak: Rename rope item to 'coiled rope'.
- Tweak: Flint/stone hoe knapping recipes made to more closely match the actual tool head
- Tweak: Hoe mold and smithing recipe now better reflect the actual appearance of the hoe head.
- Tweak: Male and female wolf size now vary by +/5%
- Tweak: Described how lightning rods works in the block description, as it was undocumented.
- Tweak: Dont raise shield while interacting with something, i.e. right mouse button down
- Tweak: Deer antlers are now at mature size for 2 months, rather than 1, and growth time is extended to 6.5 months. So male deer will now have some stage of antlers from about 8.5 to 9 months of the year.
- Tweak: Revert explosion sounds to old style
- Tweak: Run main menu at a fixed framerate, ignoring the players graphics settings, to prevent unnecessary hardware load
- Tweak: Vine sections can now be grid-swapped into end sections, and vice versa.
- Tweak: Bears can spawn in any depth of snow, mainly relevant to Polar Bear of course
- Fixed: The Login error that is caused from too many login attempts only showed "bruteforceprotected" instead of a proper error message
- Fixed: Discovery a new story always uncovered 2 chapters at once
- Fixed: Multiple text formatting bugs when reading lore from the lore item directly
- Fixed: Looking up while walking on carpets (or other decor) cause the decor sound not to play
- Fixed: Raft ambient sound broken when there's multiple rafts/boats around
- Fixed: Camera jumping to ground level for 2-5 frames while in immersive fp mode and changing the seraph outfit
- Fixed: Vegetation and Stalagmite did not properly check for story structures and could generate anyway
- Fixed: Held item dropping incorrect shadow on itself in fp mode
- Fixed: Entities where not rotated correctly with schematics
- Fixed: Reed handbasket would sink in water
- Fixed: Player turning around in overhead mode when entering chat
- Fixed: Player could cause "Only available in creative mode." spam for last logged in player
- Fixed: Rare crash in weather system
- Fixed: Properly fix sound loading issues (especially with RAM setting Somewhat Optimized)
- Fixed: Worldedit control "Override default values" did not reset rain override
- Fixed: Prevent game crash from an invalid world config when hovering over propick readings on the world map
- Fixed: Playstyle selection wonkiness (not reloading on mod selection change, crashing when mods are disabled)
- Fixed: Clipping textarea in the chisel block Rename Dialog
- Fixed: Auction house, when confirming a purchase, unchecking and checking the "Deliver" box showed the wrong total price
- Fixed: Antler mount's placed by worldgen would not have a material assigned, displaying the unknown texture instead
- Fixed: Bookshelves and scroll racks placed by worldgen would not have a material assigned, displaying the unknown texture instead
API / Modding Changes
- Feature: Entity Activity System and Ingame UI Editor. Open with `.dev aedit`. More info on this feature in another update
- Feature: Spherical fog system. More info on this feature in another update
- Feature: Improved dimensions support in the game engine and API. More info on all this in a future post
- Feature: Allow json file inheritance for blocks, items and entities using property "inheritFrom", example: assets/survival/blocktypes/wood/woodtyped/roughhewnfence-fsnow.json
- Feature: Max animated elements cap is now 230 but up to 1000 can be set via settings (Technical info: Now sending animation shader data via UBOs instead of uniforms) I had to remove the 4x3 matrix optimization because UBOs seem to pad non 4-int rows and thus break the matrix stride. On the bright side this change should actually improve performance by a little bit by not uploading unused transformation matrixes (uploads now only until the necessary jointid instead of GlobalConstants.MaxAnimatedElements
-
Feature: Modmaker Improvements
- Now asks the user if they wish to ignore the shapes folder when looking for file differences. The shapes folder contains nearly 4,000 relatively large files, it takes up a large portion of time when searching for file differences. However, many mods and modders do not have a need for this. Ignoring the shapes folder cut down execution time by an average of 65% (from 9055ms avg. to 3122ms avg.).
- Adds a function to the modmaker which restores all vanilla assets in their unmodified, vanilla state
- Add ability to re-export all the JSON assets in a standardized way. When editing vanilla files in Notepad++, nearly every property is highlighted in red due to it not using "s for property names, and similarly with Visual Studio. By importing each json file and immediately exporting them, it reorganises them in a much neater, IDE-friendly manner
- Adds the ability to delete the temporary folders created by the mod maker. In case any one has any issues with the mod maker, they can run this and it may resolve them. Saves them from manually finding and deleting temp folders
- Makes the mod maker compare files based on their JSON properties. Although this has a minor performance impact, it allows the ability to validate all the JSON files to ensure they are valid, as well as allows the modder to use different JSON formats if they so wish.
- Feature: New entity type property: "behaviorConfigs". Can be used to pre-define entity behavior configs, which get applied to both server and client behaviors, eliminating the need to write configs twice.
- Feature: Can now also add hair elements to the seraph that are only shown when certain clothing items are worn. Example implementation: assets\game\shapes\entity\humanoid\seraphskinparts\hair-extra\braidedup.json
- Feature: Can now define IgnoreElements for block/item/entity shapes
- Feature: For semi-submerged boats, can use EntityBehaviorHideWaterSurface to not render water inside the boat using a flat plane of hiding elements in the boat model file. See also boat.json
- Feature: Can now use step-parented shape overlays for entities. Example: Male elk
- Feature: Added Multiple collision boxes entity behavior. Currently only available as an upgrade to the PassivePhysics entity behavior.
- Refactor: IMountableSeat.SuggestedAnimation now needs to return a AnimationMetaData instead of a string
- Refactor: Big rewrite in how entity inventories are coded. There is no longer a single placeholder entity.GearInventory field instead there is now a abstract class EntityBehaviorContainer that "container entity behaviors" can inherit from such as EntityBehaviorAntlerGrowth and the new EntityBehaviorDressable. This also necessitated the replacement of EntitySkinnableShapeRenderer by a new class EntityBehaviorTexturedClothing which inherits from EntityBehaviorContainer.
- Refactor: Clean up BEIngotMold and BEToolMold code
- Refactor: Entity.BodyYawLimits and EntityPlayer.BodyYawLimits and HeadYawLimits.HeadYawLimits are now of class AngleConstraint. Changed definition from min/max angle to center+range angle.
- Refactor: shape.SubclassForStepParenting() no longer prefixes a dash "-" to the texture codes
- Refactor: Unified Seraph and Trader head sizes and accessories
- Refactor: Block.ShouldPlayAmbientSound() is now obsolete, use GetAmbientsoundStrength() instead.
- Refactor: Add BlockPos argument to IDrawYAdjustable.AdjustYPosition()
- Refactor: Block.GetSounds(IBlockAccessor blockAccessor, BlockPos pos, ItemStack stack = null) is now Block.GetSounds(IBlockAccessor blockAccessor, BlockSelection blockSel, ItemStack stack = null)
- Refactor: Removed property entity.GearInventory. Now replaced by EntityBehaviorContainer.
- Refactor: Removed EntitySkinnableShapeRenderer. Now replaced by EntityBehaviorTexturedClothing
- Refactor: Field InventoryBase.OnAcquireTransitionSpeed is now an event, i.e. use += to register to the event
- Refactor: Parts of BlockEntityContainer are now in a BE-agnostic class named "InWorldContainer", stored in the block entity field "container"
- Refactor: Rename IMountableSeat.CreateMountable() to IMountableSeat.GetMountable()
- Refactor: Rather major refactor of the player mounting system. Renamed IMountableSupplier to IMountable. The previous IMountable is now called IMountableSeat. The interface methods IMountableSupplier.IsMountedBy() and IMountableSupplier.IsBeingControlled() and are no longer required they are implemented by class extensions now. IMountableSupplier.MountPoints is now IMountable.Seats. Removed IMountableSupplier.GetMountOffset() and IMountable.MountPosition it is replaced by IMountableSeat.SeatPosition and IMountableSeat.RenderTransform(), which is a more intuitive, more concise and more powerful way of getting the player to the intended seating position, and with the right transforms.
- Refactor: Rename block clutter property randomizeDimensions to randomizeYSize
- Refactor: Collectible.IsBackPack() is now obsolete. Use collectiblebehavior { name: "HeldBag" } instead
- Refactor: rename IMountableSeat.CreateMountable() to IMountableSeat.GetMountable()
- Removed: EntityAgent.OnNoPath() and EntityBehavior.OnNoPath() method deleted they are not needed
- Tweak: Reserved characters for AssetLocation paths are listed in GlobalConstants.ReservedCharacterSequences (Detail: Textures only for now, as that is the main area where reserved characters should not be used. The game checks all mod filenames in the "textures/" path for these reserved characters at game startup, will throw an exception if found)
- Tweak: New particle property LightEmission
- Tweak: Add "withDrops" property to BehaviorTransformBreak
- Tweak: Can now use shape overlays for clothing
- Tweak: Allow TransitionableProperties (perishableProps in cooking pot recipes) with transition type "None"
- Tweak: Cooking recipes add support for "DirtyPotOutputQuantity" property
- Tweak: Most server side events are now more robust against crashing mods the event will continue to be executed on the remaining mods instead of stopping
- Tweak: Made IShaderProgram.AssetDomain available to mods
- Tweak: Clean up animation code related to loading the animator object. AnimationCache.InitManager() is now obsolete
- Tweak: Added .debug dumpanimstate [entity selector] and /debug dumpanimstate [entity selector]. Helpful for investigating incorrect blending of animations
- Tweak: new BlockFacing.HorizontalFromYaw() method to get facing from player yaw
- Tweak: Mainhand and offhand items can now apply any character stats via statModifier
- Tweak: Can now add a "whenSwimming: true/false" condition to AI tasks
- Tweak: Made henbox more moddable
- Tweak: Can now also associate sounds to an entity animation frame directly in the AnimationMetaData object
- Tweak: Can now set vertex flag bit 28 to 1 for liquids to have them rendered mostly opaque
- Tweak: Made IMPPowered interface public
- Tweak: New ModSystem method: bool ShouldLoad(ICoreAPI api)
- Tweak: Added CollectibleObject.SetDurability()
- Tweak: entity.RenderColor is now an set-able property. Moved damage color overlay to BehaviorHealth.cs
- Tweak: Removed useless MeshData.AddVertexWithFlagsSkipTexture() which did not skip texture. :facepalm:
- Tweak: Simplified LinkTextComponent constructor to more compactly invoke link protocols, e.g. api.LinkProtocols["commandhandbook"].Invoke(new LinkTextComponent("commandhandbook://page-you-want-opened"));
- Tweak: Added command ".debug sound list" to print all active sounds
- Tweak: Improved `.debug self` output. now prints animation weights per shape element for the player. Only in debug builds. Unborked armor stand again (broke due to creature inventory rewrite). Fixed seraph animation derps while riding.
- Tweak: The field InventoryBase.OnAcquireTransitionSpeed is now an event, i.e. use += to register to the event. Also to avoid code duplication, parts of BlockEntityContainer are now in a BE-agnostic class named "InWorldContainer", which is also used by EntityBehaviorContainer.
- Tweak: Avoid game crashing / throwing exceptions on a variety missing vanilla blocks (rusty gear, boilingwater, default worldgen blocks)
- Fixed: Rare(?) crashes reporting a full texture atlas. (Technical info: RenderItemStackToAtlas did not create a new atlas if all others were full)
- Fixed: Fundamental design flaw: entityPlayer.Pos.Yaw was always off by 90° and being corrected in various places throughout the engine where such corrections dont belong, such as Vec3d.AheadCopy, EntityPos.GetViewVector() and EntityPos.AheadCopy. Those methods would yield wrong values for non-player entities.
- Fixed: Bug in meshdata.StepParentShape() related to animations caused a crash
- Fixed: Lod0Shape not applying alt textures
- Fixed: Should fix exception thrown in some cases when creating a large explosion
- Fixed: shape.SubclassForStepParenting() did not subclass element names
- Fixed: 3D Decors attached to chiseled blocks turned into a flat texture
- Fixed: Event AfterActiveSlotChanged simply crashing when triggered
- Fixed: Chat sub commands could not use a different privilege then the base command
- Fixed: .reload textures causing all climate/season colored geometry to disappear when lots of textures are loaded, e.g. via mods
- Fixed: Flaw in the texture loading system that caused white borders around distant / shallow angle geometry
- Fixed: Extremely slow world loading when a large amount of errors are thrown while in developer mode
- 73
- 9
- 9
- 22
- 5
- 5