File Details
createtickcontroller-1.21.1-1.0.6.jar
- R
- May 3, 2026
- 145.64 KB
- 11
- 1.21.1
- NeoForge
File Name
createtickcontroller-1.21.1-1.0.6.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
# Changelog
## 1.0.6
### Animation sync fixes
- **Gearbox / Vertical Gearbox**: shaft animations now respect the active tick divisor on the client. Both rendering paths are covered — `GearboxVisual` (Flywheel) and `GearboxRenderer` (legacy fallback) — by redirecting `GearboxBlockEntity.getSpeed()` calls so each shaft's rotation speed scales by `1/divisor`. Previously these blocks rendered at full speed regardless of throttling because the `RotatingInstanceMixin` only intercepted the 1- and 2-argument `RotatingInstance.setup()` overloads, while the gearbox uses the 3-argument variant with a pre-computed direction-signed speed.
- **Mechanical Arm**: transitions between idle / pickup / deposit positions now animate smoothly under throttling. The client previously advanced `chasedPointProgress` at full speed (running tick at 100%), reaching `1.0` and freezing while waiting for the throttled server to change phase — the arm appeared to teleport between targets. The animation step in `ArmBlockEntity.tickMovementProgress()` is now divided by the active divisor on the client, so the chase progress matches the server's effective rate.
- **Depot**: items on a depot now reach the center smoothly when throttled, fixing visible flicker and out-of-sync interactions with a Mechanical Press placed above. The exponential approach `beltPosition += diff / 4f` in `DepotBehaviour.tick(TransportedItemStack)` is now scaled by the divisor on the client, keeping the average per-game-tick advance equal to the server side and eliminating sync snaps.
### Logistics network fixes
- **Stock flicker fix (Stock Ticker / Stock Link / Redstone Requester)**: items in a stock-keeper inventory no longer randomly appear and disappear under throttling. Root cause: `LogisticallyLinkedBehaviour.lazyTick()` calls `keepAlive(this)` to refresh the link's entry in the `LogisticsManager.LINKS` cache (TTL: 20 ticks). When the host BlockEntity was throttled, `lazyTick` would be skipped long enough for the link to expire from the cache, dropping it out of the network summary until the next non-skipped tick. The following types are now blacklisted by default:
- `StockTickerBlockEntity`
- `PackagerLinkBlockEntity`
- `RedstoneRequesterBlockEntity`
Existing user blacklists are preserved and merged with the new defaults on first load.
- **Adaptive logistics cache (large-network performance)**: the `LogisticsManager.SUMMARIES` cache TTL now scales with the active divisor (`20 × divisor` ticks). On large item networks (hundreds of inventories), `createSummaryOfNetwork()` can take 5–20 ms per recompute; under heavy throttling, this multiplied across menu opens and stock requests was a measurable source of lag. Now under `divisor=4` the network summary is recomputed at most every 4 seconds instead of every second, cutting the related CPU cost roughly proportionally.
- `ACCURATE_SUMMARIES` (1-tick TTL) is intentionally left untouched so real package requests (craft / restock) remain correct.
- When divisor returns to 1, TTL automatically resets to the vanilla 20.
- Trade-off: the displayed stock list may be up to `20 × divisor` ticks stale (visible only when items are added/removed elsewhere on the network).
### Implementation details
New mixins:
- `client.GearboxVisualMixin` — redirects `GearboxBlockEntity.getSpeed()` in `GearboxVisual.getSpeed(Direction)`
- `client.GearboxRendererMixin` — redirects `getSpeed()` in `GearboxRenderer.renderSafe()` (ordinal 0)
- `client.ArmBlockEntityClientMixin` — `@ModifyConstant` on `1024.0F` in `tickMovementProgress`
- `client.DepotBehaviourClientMixin` — `@ModifyConstant` on `4.0F` in `DepotBehaviour.tick(TransportedItemStack)`
- `TickBasedCacheAccessor` — `@Accessor` exposing the `ticksUntilTimeout` field on Create's `TickBasedCache`
Updated:
- `TickControllerManager` — new `updateLogisticsCacheTTL()` invoked from both divisor setters; expanded `DEFAULT_BLACKLIST`
- `TickControllerConfig` — default blacklist in generated TOML extended to match

