Ars Mekanica 1.3.0-NeoForge-1.21.1
Curse Maven Snippet
What's new
### Features
- **feat(dynamo): visual and audible feedback.** The Source Dynamo has a new `lit` block state with a
glowing front texture, emits light level 7 while running, spawns Source particles and plays a soft
chime when it starts or stops.
- **feat(dynamo): comparator support.** A comparator next to the dynamo now reads its internal energy
buffer on the vanilla 0-15 scale, and is refreshed whenever that reading changes rather than only
when the block starts or stops.
- **feat(dynamo): item tooltip.** The block tooltip shows the live conversion rate, buffer size,
output rate and pull range from the server config.
- **feat(dynamo): it drops when mined.** The block now has a loot table and is registered in
`minecraft:mineable/pickaxe`, so any pickaxe breaks it and it always drops itself. It previously
dropped nothing at all.
- **feat(config): `scanInterval` option.** Controls how often nearby Source providers are re-scanned.
- **feat(config): live values.** Buffer size, throughput and pull range are read from the config at
runtime, so editing the config no longer requires replacing already placed dynamos.
- **feat(i18n): six languages.** Added `ru_ru`, `zh_cn`, `de_de`, `fr_fr` and `es_es` alongside
`en_us`, covering block names and tooltips. Documentation pages stay English, matching how Ars
Nouveau ships its own book, so mod names such as Archwood read the same everywhere.
### Fixes
- **fix(recipes): recipe conflicts with Mekanism.** Removed the addon's own recipes for archwood
buttons, fences, slabs and stairs. Mekanism already covers those through the vanilla and common
tags, so shipping a second recipe with the same input was a duplicate-input conflict.
- **fix(dynamo): Source could be consumed and lost.** The dynamo assumed the requested amount of
Source was always removed. It now measures what was actually removed from each provider before
converting it.
- **fix(dynamo): infinite Source providers produced nothing.** A Creative Source Jar always reports a
full buffer, so measuring the removed amount as the difference before and after always read zero
and a dynamo next to one never started. Providers that stay at their maximum are now recognised as
infinite and credited with the full request.
- **fix(dynamo): energy output could exceed the configured limit several times over.** `maxTransfer`
was applied per side when the dynamo pushed energy, and per call when a machine or cable pulled it,
so a dynamo surrounded by acceptors moved several times the configured amount every tick. There is
now a single per-tick budget shared by all six sides and by every external pull.
- **fix(dynamo): energy pulled by machines could come back after a reload.** When a cable or machine
drained the buffer through the energy capability, the block entity was not marked as changed, so
the spent energy could reappear the next time the chunk loaded. Every change to the buffer is now
saved.
- **fix(dynamo): server lag from per-tick scanning.** The block scanned every position in its pull
range every single tick. Providers are now cached and re-scanned on the `scanInterval`.
- **fix(dynamo): energy buffer ignored the config after placement.** Capacity and throughput were
baked in when the block entity was created, and stored energy could exceed a lowered capacity.
Values are now read live and clamped.
- **fix(dynamo): the block accepted energy from other machines.** It is a generator; it no longer
reports itself as a valid energy sink.
- **fix(dynamo): needless block saves every tick.** The block entity is only marked dirty when its
energy actually changed.
- **fix(config): dead option removed.** `sourceCapacity` did nothing, because the dynamo has no
internal Source buffer. Removed.
- **fix(config): moved to a server config.** Gameplay values now live in the world's `serverconfig`
folder and are synced to clients, instead of living in the client-side common config.
This mod has no additional files

