Releases: ringavirda/modding-vsexpanded
Releases · ringavirda/modding-vsexpanded
Release list
0.9.4 Hotfix smex
Smex NRE hotfix
Full Changelog: 0.9.3...0.9.4
0.9.3 Monorepo, tests and fixes
Smex
Added
- Bell hopper drops by default. A freshly built blast furnace now feeds itself
without the player first discovering the Ctrl + right-click toggle. - Chisel residue out of the Bessemer converter when only a little hardened metal
remains, instead of having to break the whole vessel; the cooldown coefficient is
configurable. - Chisel molten canal taps and pedestals, matching the canals and barrels.
- Cooldown coefficients for taps, barrels and pedestals (how fast their metal
cools), and the cooldown speed now syncs to the client so the glow matches the
server. /exmod molds <plate|ingot|rod|all> <on|off>to enable/disable the mod's tool
molds (hidden from creative + handbook and their recipes removed when off).- Recipe-cost switching for the steam/steel chains via the shared
/exmod recipes
command. - Orphaned machine blocks now self-heal - a furnace door/tap/tuyere left without
its block entity (a load failure or desync) gets a fresh one recreated on load
(via the exlib healer), so it is interactable and breakable again rather than an
inert ghost. - Russian and Ukrainian translations.
Changed
- Molten chiselling generalized into one shared behaviour across canals, barrels
and the converter (consistent tool, sound, wear and recovery). - Converter (and boilers) no longer drop their base block when broken - they
scatter their build materials instead of dropping the whole mega-block. - Raised mining-tier / break-tool requirements for mega-blocks.
- Converter status strings are more descriptive.
- Structures read live config changes without a world reload.
Fixed
- The Bessemer converter dropped itself when broken.
- Corrected the converter chisel cell position.
- Fixed engine animation direction when powering mechanical power.
- The molten canal tap allowed placing barrels on structure filler blocks.
- Fixed broken cowper-stove behaviour.
- Fixed the bell-hopper client/server inventory handshake desync (grid clicks
silently desyncing). - Fixed recipe item variants and the vanilla crushed-ore ratio (EM compat).
- Fixed the converter transmission recipe rod requirements.
- Assorted localization issues.
Ppex
Added
- Manual boiler draining with buckets - take water back out of a boiler by hand.
- Localizable measurement units.
.exmod measurereports your display units and
.exmod measure metric/imperialswitches them (L/atm/°C vs gal/psi/°F); a
display-only change, the simulation stays metric. - Recipe-cost levels for ppex's construction recipes, switchable via the shared
/exmod recipescommand. - Russian and Ukrainian translations.
Changed
- Boilers no longer have an upper boil limit - water is gated on the way in, so
the old hard cap was removed - and the boiler water-draw speed is gated to
10 L/s, so it no longer gulps its whole intake buffer in one tick. - An open boiler lid drops pressure to 0 atm while idle.
- Molten chiselling generalized into the shared behaviour (consistent
tool/sound/recovery handling). - Boilers no longer drop their base block when broken - a broken boiler scatters
its build materials (custom salvage ratio) instead of dropping the whole mega-block. - Raised break-tool requirements for mega-blocks.
- Machines read live config changes without a world reload.
Fixed
- The Watt engine now displays its togglable pressure band correctly.
- The Cornish engine now correctly costs bricks to construct.
- Assorted valve issues.
- Network blocks that are not pipes could incorrectly burst.
- Right-click-constructable blocks ignored their last construction stage when
computing dropped materials. - Handbook: command strings displayed incorrectly, and measurement units did not
refresh mid-session after a.exmod measurechange. - Block display-name ordering and assorted localization issues.
Exlib
Added
- Orphaned block-entity healer. A server-side system that recreates a block
entity when a block is left in the world without one - e.g. a block entity
discarded on chunk load (a load exception) or lost to a server desync, which
otherwise leaves an inert, often unbreakable block. It runs automatically as
chunks load (and once over already-loaded chunks at startup), scoped to block
entities registered through the mod's attribute system so vanilla/other-mod
entities are never touched. /exmod healcommand. Sweeps the loaded chunks and recreates orphaned block
entities on demand, for an operator who does not want to wait for the automatic
on-load pass. Server-side, gated behind the/exmodroot'scontrolserver.- Config framework. A generic, versioned per-mod config store with
source-generated value accessors, version-reset migrations, and legacy file-name
renaming. Values can be marked manageable and edited live via
/exmod config <mod> [value] [new]- applied immediately, no world reload. - Min/max range gates on config values: out-of-range edits are rejected with a
clear message. - Recipe-cost profiles. A per-mod catalogue framework that rebalances grid and
right-click-construction ingredient quantities, switchable with
/exmod recipes <mod> <level>. - Content-gating helper (
ExContentGate) for hiding a block/item from creative
and the handbook and removing its recipes - the framework behind smex's mold
toggle. - Command framework. Attribute-driven
[CommandRegister]/[SubCommandRegister]
registration under a shared/exmod(server) and.exmod(client) root, so
dependent mods hang their own sub-commands off one root. - Production-machine base (
BlockEntityProductionMachine) and machine-port
helpers, shared by engines, furnaces, converters and sub-machines. - Legacy support framework. Shims and polyfills that let the family build and run
against Vintage Story 1.21 and 1.20 alongside 1.22. - Russian and Ukrainian translations.
Changed
- Internal reorganization into
Blocks/{Networks,Structures,Machines,Migrations,Construction,Healing},
Registries/{Entities,Commands,Config,Preferences,Recipes},Helpers,
RenderersandLegacy. - Registration attributes split. The single
[EntityRegister]became
kind-specific[BlockRegister],[ItemRegister],[BlockEntityRegister],
[BlockBehaviorRegister],[BlockEntityBehaviorRegister]and
[CollectibleBehaviorRegister], each validating that the class derives from the
expected base type. - Right-click-construction salvage: the ratio of materials dropped when a
partially-built or finished structure is broken is now configurable. - Multiblock structures read live config changes without a world reload.
Fixed
- Right-click-constructable blocks ignored their last construction stage when
computing dropped materials. - Non-pipe network blocks could incorrectly burst.
- Block display-name ordering and assorted localization issues.
/exmod configvalue display formatting.
0.9.2 Fixes and gears
Full Changelog: 0.9.1...0.9.2
0.9.1 Paths, canals, fixes
Changes:
- Added manual fluid pump.
- Added watering sounds to pumps.
- Added slag path blocks.
- Migrated molds from patches to smex items.
- Added brick variants to molten canals.
- Updated migration system to cover items in inventories as well.
- Added watering sound to the catalogue.
Fixes:
- Fixed RC constructable blocks not handling wildcards correctly.
- Fixed RC constructable blocks not showing correct names for missing materials.
- Fixed block-desc for some blocks.
0.9.0 Steam Mechanics
Changes:
-
Moved all generic code to separate Expanded Library mod.
-
Structure framework:
- Added filler block and mechanic to create footprint of a megablock (block
that occupies more than one world cell). - Allowed filler blocks to behave as extensions and connection points for
the master block. - Unified rotation behavior.
- Added filler block and mechanic to create footprint of a megablock (block
-
Pipe networks:
- Moved to separate Pipes and Power expanded Mod.
- Pipe networks now model pressure in atm units.
- Pipes have two variants, iron (max pressure 5 atm) and steel (max pressure
10 atm). - Pipes can now burst when over pressure.
- Removed placeholder air blower and air intake (migrate to straight pipe).
- Changed network behavior to behave differently based on the medium (gas or
liquid). - Changed volume model from M^3 to L (this brings the measurement in line
with vanilla liquid containers). - Added water and steam as new possible mediums for pipe networks.
- Removed Blast as separate gas type.
- Added two boilers (cornish and lancashire) to produce steam from boiling
water. Both are multiblocks with right click constructable megablock elements. - Added two beam steam engines (Watt and Cornish pattern) to convert steam
under pressure into usable power. Engines are RCC megablocks that have
submachine slot. - Added three steam engine submachines: Air Blower, Fluid Pump, MP
Generator. - Changed valves to break network connection when closed.
- Changed pressure valves to gate the pressure and changed the increments to
0.25 atm. - Changed leak mechanic to include liquid leaks.
- Added steam condenser block to merge steam and water lines.
- Added fluid intake block that can be used to produce water in the network.
- Made so pipe blocks inside masonry cannot burst.
-
Blast furnace:
- Furnace now chokes when exhaust output network reaches 0.8 atm.
- Furnace now produces 24 L/s of exhaust from one outlet.
- Tuyeres now require air with pressure > 2.5 atm, rather than separate type
of gas. - One tuyere now consumes 12 L/s of air.
- Added blastix mesh rendering for the reinforced hopper (level depends on
the fulness of magazine).
-
Cowper stove:
- Changed max intake speed for both exhaust and air to 24 L/s.
- The stove sets input pipe pressure as the max output pipe pressure.
- Now requires air instead of removed Blast.
-
Smoke stack:
- Changed input gas speed to 48 L/s.
- Removed the ability of the stack to vent fluid.
- Added dynamic color change for the smoke plume, depending on the type of
gas that is being vented.
-
Bessemer converter:
- Now requires air under pressure > 2.5 atm for the conversion process to
occur. - Changed required air volume to 16 L/s.
- Changed transmission block MP resistance to scale with the power that steam
engines provide.
- Now requires air under pressure > 2.5 atm for the conversion process to
Fixes:
- Fixed quadrod mold returning incorrect item code.
- Several bugs and optimization passes that I cannot remember.
0.8.7 Fixes
Fixes:
- Fixed some recipes being unable to be crafted.
- Fixed valves constantly rotating in some situations.
- Fixed possible client crash due to unsafe vanilla HighlightIncomplete method. Resolved by reimplementing.
- Fixed molten network ignoring input temperature on repeated pouring.
- Fixed being able to wrench rotation for canals containing metal or solidified.
- Fixed renderer issues (again).
- Fixed blast furnace not retaining internal state when melting stops.
- Fixed blast furnace pouring metal when not in melting state.
- Fixed being able to seal solidified canals.
0.8.6 Brick variants
Changes:
- Added block migration system to allow seamless block code changes.
- Most of the brick blocks (passthrough blocks, intakes, outlets) now have brick variants. (All existing blocks will migrate to refractorybricktier3 variants, since that was the original material for almost all of them.)
- Changed Cowper Stove multiblock structure to accept any tiered refractory brick variant blocks, since those don't need to deal with the temperatures of firing blast furnace.
- Changed Smoke Stack multiblock structure to require bottom part (first three levels) to be built from any refractory bricks, since that part usuall recieves ~900 deg gas. Upper part can now be built from any brick variant.
Fixes:
- Fixed full (cube) network blocks not being able to be rotated freely when placed.
- Fixed valve's animator ignoring x part of the rotation matrix.
0.8.5 Fixes and Bend
Changes:
- Added passthrough bend block variant.
Fixes:
- Fixed some recipes not returning default block variant, making that block unable to be crafted.
- Fixed crash related to the vanilla derivative class entities not overriding parent class state serialization.
0.8.4 Fixes + Molten rework
Changes:
- Rewritten the entire molten network logic. Now it uses two layered net approach to simulate actual molten iron flow. Existing molten metals inside canals will desappear after this change, so drain your canals before updating!
- (funions123) Added extension system for iron ore. IndustrialStory compatibility.
- Changed the default values for the cowperstove to be more forgiving (Delete your VintagestoryData/ModConfig/smex.json to restore defaults.)
- Changed default flow values to achive proper molten flow effect. (Delete your VintagestoryData/ModConfig/smex.json to restore defaults.)
- Raised default bessemer temp to increase the solidification timing to 3m.
- Made canals with molten metal light sources.
Fixes:
- Fixed handbook article formatting.
- Made the converter tilt more slow.
- Bessemer converter not adhering to global melting config.
- Fixed animation for wrench rotated valves.
- Fixed rendering for molten serfaces not chaning with temperature in some cases.
- Removed being able to chisel out non-hardened metal.
- Fixed converter not respecting input tap state.
- Fixed taps and pedestals not actually severing network connection when closed.
- Fixed valves using incorrect interaction sound.
0.8.2 Config and fixes
Changes:
- Added a centralized way to configure the mod via single json file.
Fixes:
- Fixed incorrect cowper stove behavior for some orientations.
- Fixed conflicting duplicate configs.