Releases: zhenzi233/TimeBus
Releases · zhenzi233/TimeBus
Release list
v1.0.15 (beta)
v1.0.15 (beta)
- Feature: Time Slow Bus - a new AE2 cable part that slows down a row of ITickable blocks (furnaces, brewing stands, hoppers, most mod machines, MM/Mek controllers): their update runs once every N ticks (speed cards
2,4,8,16,32-> half to 1/32 speed); fuel and progress slow down together, total output stays constant; mutually exclusive with acceleration (slowdown wins); newslowBusconfig category and GUI - Fix: Time Slow Bus GUI crash - missing
FUZZY_MODEsetting (ContainerUpgradeable throws without it) - Fix: MM recipe duration acceleration capped at 32x (
MAX_MM_EFFECTIVE_SPEED) - stacking buses/wands or large configs could round the recipe total time to 0/1 tick and break progress; energy modifiers share the same effective speed so per-recipe energy stays constant - Fix:
MixinWorldTileUpdatemoved to an early mixin (minimal coremod +timebus.early.mixin.json) to fix the MixinTargetAlreadyLoadedException / Re-entrance startup crash on the World class - Change: Time Slow Bus now uses the AE2 import bus look (original geometry, textures and item model); crafting recipe matches the Time Bus layout with an Annihilation Core in the center
Files: timebus-1.0.15.jar (release) · timebus-1.0.15-dev.jar (dev) · timebus-1.0.15-sources.jar (sources)
v1.0.14
v1.0.14
- Feature: explosion synthesis - drop a Singularity and an Iron Ingot/Block on the ground and detonate an explosion to transform them into a Time Inscriber Template (JEI shows the method as text info; new
explosionconfig category) - Change: removed the crafting-table recipe for the Time Inscriber Template (obtain via explosion synthesis or inscriber replication)
- Change: Time Wand default speed multipliers are now 32,64,128,256,512
- Fix: Time Wand no longer charges for clicks on non-acceleratable targets; MM controllers show a targeted hint when MM acceleration is disabled
- Fix: Time Wand batch transfer with ME Import/Export Buses works from any angle (precise part hit detection)
- Fix: Time Wand MM recipe acceleration is tracked and cleaned up on machine removal / chunk unload / shutdown
- Perf: single Time Wand click workload is capped (512 tile updates / 2048 random ticks); extreme configs no longer overflow
- Fix: particle bursts are broadcast by the server (visible to all players)
- Fix: wand preview highlight now matches behavior (sneak only, 4.5 block reach, all acceleratable blocks)
Files: timebus-1.0.14.jar (release) · timebus-1.0.14-dev.jar (dev) · timebus-1.0.14-sources.jar (sources)
v1.0.13
v1.0.13
更新后请删除 run/client/config/timebus.cfg 一次:配置文件已重组为 bus / timeGenerator / wand / mm / mek 分类,旧键不再读取。
新功能
- 时间总线 / 时间杖可加速 Mek 发电机(风力/燃气/生物/太阳能/先进太阳能/热力/大型多模块):加速时每 tick 多产 N 倍电,不额外消耗燃料(开挂产电,配置项 Generator Acceleration Enabled 默认开启)
- 配置界面中英双语:字段与描述随游戏语言切换
修复
- 发电机加速不再吞掉能量插入(Redirect handler 执行真实 insert)
- 总线 GUI 速度/范围/耗电/流体速率插卡后立即刷新(服务端同步)
其他
- JUnit 测试骨架(16 个用例)
- README 版本徽章动态化、Forge 更新清单(update.json)、javadoc jar
Time Bus v1.0.12 (beta)
Time Bus v1.0.12 (beta)
This is a beta release.
Changes
- Mekanism acceleration reworked: virtual speed cards are replaced by re-running the recipe tick multiple times per server tick (N ticks of progress per tick, per-tick energy xN, total energy per recipe unchanged). Virtual speed cards had no effect on Mek CE because ticksRequired is cached and only recomputed on upgrade changes. Currently covers ordinary ElectricMachine-based machines.
- Mek machine GUIs now report the accelerated per-tick energy draw (display only; actual power drain unchanged).
- Redstone / power loss now stops MM acceleration immediately (previously injected modifiers stayed active while the bus was idle).
- MM restore logs are debug-level and count actually removed modifiers, so periodic restore calls no longer spam the log.
- Random Complement compatibility fix for the inscriber (extra input consumption).
Full changelog: https://github.com/zhenzi233/TimeBus/blob/master/CHANGELOG.md
v1.0.11
v1.0.11
- Fix: vanilla Forge 1.12.2 clients can now load the mod - removed the
Cleanroom-onlyModType: CRLmanifest attribute (vanilla Forge treats an
unknown ModType as "not an FML mod" and silently skips the jar) and rebuilt
with a Java 8 target (class 52) so Forge's ASM 5.2 mod discovery accepts it;
previously the client never had the mod in its list, so Cleanroom servers
rejected the connection with "mod is not found on client"
v1.0.10
v1.0.10
- Fix: mod version is now sourced from
gradle.propertiesvia theReference
template -TimeBus.javapreviously hardcoded 1.0.5, so servers reported
"Requires version 1.0.5" (and clients without the mod were rejected) even
though the jar file was named 1.0.9 - Mekanism: virtual speed cards now use the real max installed count
(MEKCEConfig.MAXSpeedUpgrade, default 8, configurable) instead of a
hardcoded 8, and are rounded up (ceil) so the actual speed-up is at least
the configured multiplier (previously 2x could resolve to only ~1.78x) - Mekanism: added verification logs (config resolve / registration / mixin hit)
to be removed after validation - Time Wand: left a TODO placeholder for future Mek recipe acceleration
v1.0.9
v1.0.9
Code-review fixes (2026-08-09 review report):
- Fix: multiple Time Buses on the same cable no longer overwrite / wrongly
clear each other's MM acceleration - the modifier source key now includes the
part side; legacy side-less bus modifiers are purged automatically on upgrade - Fix: the Time Wand no longer leaves MM controllers permanently accelerated -
a wand click now accelerates the currently running recipe until it finishes
via MM's semi-permanent modifiers (recipe duration x1/speed, per-tick energy
x speed whenMM Energy Cost Follows Speedis on); MM auto-restores normal
speed when the recipe finishes or fails, so nothing is written permanently
into the save, and idle machines are not charged - Fix: injected MM modifiers are cleaned up when a single chunk unloads (they
were previously written into the save and survived a server restart) - Perf: MM acceleration skips the per-tick reflection sweep in steady state
(state snapshot + the existing periodic force-refresh self-heals within one
MM Context Refresh Interval) - Perf:
TileCharger.doWork()switched from cached reflection to a Mixin
@Invoker; the Time Bus source key string is now lazily cached - Balance: wand bus-batch size is capped at 256 (config range + runtime clamp);
random-tick acceleration per speed unit is now configurable
(Random Tick Calls per Speed Unit, default 20) - Fix: Time Wand fluid capacity display was 8x too small (AE2EL stores
8000 mB per byte, not 1000) - Docs: corrected the
Power Cost per Speed Unitcomment to match the actual
formula; updated wand byte/mB documentation; debug logs for swallowed config
exceptions; MM state caches are cleaned up on restore
Time Bus v1.0.8
v1.0.8
- MM acceleration: energy cost now follows the speed-up (new
MM Energy Cost Follows Speed, default true) - per-tick energy consumption and production are multiplied by the same factor as the duration compression, so total energy per recipe stays constant while the output rate increases - MM acceleration: fixed threads staying unaccelerated after MM recycles its pooled recipe crafting contexts (the modifier data was correct but the actual context had lost it) - the Time Bus now force re-applies modifiers every
MM Context Refresh Intervalticks (default 20 = about 1 second, 0 disables), self-healing within one interval
Time Bus v1.0.7
v1.0.7
- Time Fluid Generator: consumes up to 64 inputs per update (configurable via
Inputs Consumed per Update), so Time Bus acceleration now actually speeds it up; the input slot stacks up to 64 - MM acceleration: the injected duration modifier now targets
REQUIREMENT_DURATION(previously null), which makes acceleration actually take effect and fixes a client crash (Could not find requirementType) caused by serializing a modifier with an empty target - MM acceleration: removed the reflection-caching fast path - MM recycles idle factory threads (
invalidate()clears permanent modifiers), which could leave threads permanently unaccelerated; back to per-tick verification - MM factory controllers: new
MM Keep Idle Threadsoption (default true) - accelerated controllers skip the 200-tick idle-thread recycle so threads stay accelerated - dev: added Mekanism-CE-Unofficial runtime dependency for compatibility testing
Time Bus v1.0.6
v1.0.6
- MM acceleration now stacks: each Time Bus / wand injects its own per-source
duration modifier, and MM multiplies them together (8x + 4x = 32x); removing
a bus restores its modifier (previously it stayed on the machine and was
even saved into the world save) - MM acceleration also supports factory controllers (TileFactoryController)
- dev toolchain: fixed a Groovy quirk in runClient extra JVM args handling
(split { "\\s+" }coerced the result into a char list and corrupted the
javaagent command line) - docs: DEVELOPER.md / README (EN/中文) updated
Code-review fixes (14-item review of v1.0.5):
- Time Bus: pulse mode no longer truncates large acceleration batches - the
device stays awake until the whole batch finishes, then sleeps again, so a
single redstone pulse completes a fully-upgraded run instead of ~1% - Time Bus: fluid billing is now aligned with what was actually drained
(partial extraction carries the remainder over instead of silently
over-billing) - Time Bus: unloaded chunks in the acceleration range are skipped cheaply
instead of forcing synchronous disk loads on chunk borders - Time Bus: per-tick config string parsing removed - speedMultipliers,
capacityWidths and wandSpeedMultipliers are parsed once and cached
(invalidated on config change); kept as strings so existing cfg files
migrate cleanly - Time Bus: fluid and storage-channel lookups in fluid mode are cached and
re-resolved only when the configured fluid name changes - Time Generator: an empty input slot is polled every 10 ticks instead of
every tick; TRASH mode (if forced externally) consumes the input instead of
leaving it stuck in the slot - Acceleration: AE2 machine classification unified into AccelerateHelper's
TileKind, so the bus scheduling gate and the update dispatcher can never
drift apart - Mixins: removed the dead TimeBusMixinConfigPlugin and leftover TEMP DIAG
comments - Build: removed hardcoded local JDK paths from gradle.properties (JAVA_HOME
for Gradle 17, JDK25 env var for the compile toolchain); disabled the unused
JUnit test configuration