Skip to content

Releases: ringavirda/modding-vsexpanded

0.9.4 Hotfix smex

Choose a tag to compare

@ringavirda ringavirda released this 21 Jun 01:02

Smex NRE hotfix

Full Changelog: 0.9.3...0.9.4

0.9.3 Monorepo, tests and fixes

Choose a tag to compare

@ringavirda ringavirda released this 20 Jun 21:47

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 measure reports your display units and
    .exmod measure metric / imperial switches 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 recipes command.
  • 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 measure change.
  • 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 heal command. 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 /exmod root's controlserver.
  • 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,
    Renderers and Legacy.
  • 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 config value display formatting.

0.9.2 Fixes and gears

Choose a tag to compare

@ringavirda ringavirda released this 16 Jun 01:18

Full Changelog: 0.9.1...0.9.2

0.9.1 Paths, canals, fixes

Choose a tag to compare

@ringavirda ringavirda released this 13 Jun 23:17

Changes:

  1. Added manual fluid pump.
  2. Added watering sounds to pumps.
  3. Added slag path blocks.
  4. Migrated molds from patches to smex items.
  5. Added brick variants to molten canals.
  6. Updated migration system to cover items in inventories as well.
  7. Added watering sound to the catalogue.

Fixes:

  1. Fixed RC constructable blocks not handling wildcards correctly.
  2. Fixed RC constructable blocks not showing correct names for missing materials.
  3. Fixed block-desc for some blocks.

0.9.0 Steam Mechanics

Choose a tag to compare

@ringavirda ringavirda released this 12 Jun 23:17

Changes:

  1. Moved all generic code to separate Expanded Library mod.

  2. 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.
  3. 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.
  4. 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).
  5. 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.
  6. 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.
  7. 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.

Fixes:

  1. Fixed quadrod mold returning incorrect item code.
  2. Several bugs and optimization passes that I cannot remember.

0.8.7 Fixes

Choose a tag to compare

@ringavirda ringavirda released this 08 Jun 09:48

Fixes:

  1. Fixed some recipes being unable to be crafted.
  2. Fixed valves constantly rotating in some situations.
  3. Fixed possible client crash due to unsafe vanilla HighlightIncomplete method. Resolved by reimplementing.
  4. Fixed molten network ignoring input temperature on repeated pouring.
  5. Fixed being able to wrench rotation for canals containing metal or solidified.
  6. Fixed renderer issues (again).
  7. Fixed blast furnace not retaining internal state when melting stops.
  8. Fixed blast furnace pouring metal when not in melting state.
  9. Fixed being able to seal solidified canals.

0.8.6 Brick variants

Choose a tag to compare

@ringavirda ringavirda released this 04 Jun 19:38

Changes:

  1. Added block migration system to allow seamless block code changes.
  2. 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.)
  3. 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.
  4. 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:

  1. Fixed full (cube) network blocks not being able to be rotated freely when placed.
  2. Fixed valve's animator ignoring x part of the rotation matrix.

0.8.5 Fixes and Bend

Choose a tag to compare

@ringavirda ringavirda released this 04 Jun 11:27

Changes:

  1. Added passthrough bend block variant.

Fixes:

  1. Fixed some recipes not returning default block variant, making that block unable to be crafted.
  2. Fixed crash related to the vanilla derivative class entities not overriding parent class state serialization.

0.8.4 Fixes + Molten rework

Choose a tag to compare

@ringavirda ringavirda released this 03 Jun 19:02

Changes:

  1. 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!
  2. (funions123) Added extension system for iron ore. IndustrialStory compatibility.
  3. Changed the default values for the cowperstove to be more forgiving (Delete your VintagestoryData/ModConfig/smex.json to restore defaults.)
  4. Changed default flow values to achive proper molten flow effect. (Delete your VintagestoryData/ModConfig/smex.json to restore defaults.)
  5. Raised default bessemer temp to increase the solidification timing to 3m.
  6. Made canals with molten metal light sources.

Fixes:

  1. Fixed handbook article formatting.
  2. Made the converter tilt more slow.
  3. Bessemer converter not adhering to global melting config.
  4. Fixed animation for wrench rotated valves.
  5. Fixed rendering for molten serfaces not chaning with temperature in some cases.
  6. Removed being able to chisel out non-hardened metal.
  7. Fixed converter not respecting input tap state.
  8. Fixed taps and pedestals not actually severing network connection when closed.
  9. Fixed valves using incorrect interaction sound.

0.8.2 Config and fixes

Choose a tag to compare

@ringavirda ringavirda released this 02 Jun 20:26

Changes:

  1. Added a centralized way to configure the mod via single json file.

Fixes:

  1. Fixed incorrect cowper stove behavior for some orientations.
  2. Fixed conflicting duplicate configs.