Releases: ae2lt/Thunderbolt_lib
Release list
Thunderbolt_lib 1.0.11 Hotfix
Thunderbolt_lib 1.0.11 Hotfix
This hotfix adds a defensive guard around AE2LT lightning collection event amount write-back.
Assets
Thunderbolt_lib_1.21.1_neoforge_1.0.11-hotfix1.jar
- Target: Minecraft 1.21.1 / NeoForge 21.1.x
- AE2LT target: 1.0.11
- Branch: main
- SHA256: 007707e9d182643a78eee37e0b7c82e458b296e13d128a05f62f79999c447444
Thunderbolt_lib_1.20.1_forge_1.0.10-hotfix.1.jar
- Target: Minecraft 1.20.1 / Forge 47.4.20
- AE2LT target: 1.0.10-1.20.1forge
- Branch: release/forge-1.20.1-v1.0.10
- SHA256: e4fefaede64dfe6e1693b163e594c737faa5f65aa85578963ca5f846737d6393
Thunderbolt_lib_26.1.2_neoforge_1.0.0alpha-hotfix.1.jar
- Target: Minecraft 26.1.2 / NeoForge 26.1.2.21-beta
- AE2LT target: 1.0.0alpha-26.1.2neoforge
- Branch: Minecraft26.1.2neoforge
- SHA256: 5c1b2fc7da63d704cc2b29173ef28c3daca9fd1793aa9ba64a9b5f947559c673
Fixes
- Added a defensive guard around mirrored AE2LT
LightningCollectedEventamount write-back. - Thunderbolt_lib now writes the mirrored amount back to the native AE2LT event only when an addon listener actually changes that amount.
- This reduces unnecessary event bridge intervention in AE2LT's native lightning collection and storage insertion flow.
Validation
- Rebuilt the NeoForge 1.21.1 line with
./gradlew.bat clean build --no-daemon. - Rebuilt the Forge 1.20.1 line with
./gradlew.bat clean build --no-daemon. - Rebuilt the NeoForge 26.1.2 line with
./gradlew.bat clean build --no-daemon. - Verified SHA256 checksums for uploaded assets.
Notes
- Runtime mod id remains
ae2lt_api. - This release does not modify AE2 or AE2 Lightning Tech.
- Branch-local README files remain removed; canonical documentation is maintained on
main.
Thunderbolt_lib 1.0.11
Thunderbolt_lib 1.0.11
Thunderbolt_lib 1.0.11 updates the NeoForge 1.21.1 main line for AE2 Lightning Tech 1.0.11.
Highlights
- Added a reflective bridge for AE2 Lightning Tech 1.0.11's public PatternProviderUiProfile API.
- Exposed the pattern-provider UI profile surface through AE2LTPatternProviderApi, AE2LTPatternProviderUiProfileInfo, AE2LTAPI, AE2LTNativeBridge, and AE2LTVersion.
- Updated the NeoForge 1.21.1 main-line metadata to target AE2LT 1.0.11 and raised the runtime dependency floor accordingly.
Asset
Thunderbolt_lib_1.21.1_neoforge_1.0.11.jar
- Target: Minecraft 1.21.1 / NeoForge 21.1.x
- AE2LT target: 1.0.11
- Branch: main
- SHA256: 9c963a798b24c273a2327b054d4bab6abfed8126b68fc415e681e49636db183a
Existing maintained lines
- Forge 1.20.1 remains available from Thunderbolt_lib 1.0.10 Unified Release.
- NeoForge 26.1.2 remains available from Thunderbolt_lib 1.0.10 Unified Release.
Validation
- Rebuilt Thunderbolt_lib_neoforge_1.21.1 with ./gradlew.bat clean build --no-daemon.
- Verified the uploaded NeoForge 1.21.1 output jar.
- Verified the SHA256 checksum for the uploaded asset.
Notes
- Runtime mod id remains ae2lt_api.
- Public asset filenames stay normalized even when internal mod_version metadata includes loader-specific or Minecraft-specific suffixes.
- Unchanged maintained-line assets are not duplicated across release tags.
Thunderbolt_lib 1.0.10
Thunderbolt_lib 1.0.10 Unified Release
This release now bundles all currently maintained Thunderbolt_lib lines in one GitHub Release entry.
Assets
Thunderbolt_lib_1.20.1_forge_1.0.10.jar- Target: Minecraft 1.20.1 / Forge 47.4.20
- AE2LT target: 1.0.10-1.20.1forge
- Branch:
release/forge-1.20.1-v1.0.10 - SHA256:
073df73e389b0a08455dca8dcdfe4744c1815fdef192f933c46c7a057e09ae6e
Thunderbolt_lib_1.21.1_neoforge_1.0.10.jar- Target: Minecraft 1.21.1 / NeoForge 21.1.x
- AE2LT target: 1.0.10
- Branch:
main - SHA256:
7243e0bea90e094c7c1ab1816b5b8034547385ce5e98d42b42f90394a3223b5a
Thunderbolt_lib_26.1.2_neoforge_1.0.0alpha.jar- Target: Minecraft 26.1.2 / NeoForge 26.1.2.21-beta
- AE2LT target: 1.0.0alpha-26.1.2neoforge
- Branch:
Minecraft26.1.2neoforge - SHA256:
bf53e408dd65990e5ddcbb4c9acfa31eb4eb2e06261d963419d2fd7913fa3447
Forge 1.20.1 line
- Ports Thunderbolt_lib to Forge 1.20.1 with ForgeGradle 6 and Java 17.
- Adapts capability registration and event wiring from NeoForge APIs to Forge APIs.
- Uses Forge registry lookup in
AE2LTReflection.shouldAttachBridge()to avoid the runtime remapping failure triggered byBuiltInRegistries.BLOCK_ENTITY_TYPEduring combined launches.
Existing maintained lines
- Keeps the NeoForge 1.21.1 stable artifact available under the same unified release tag.
- Keeps the isolated NeoForge 26.1.2 port artifact available, now under the normalized public filename
Thunderbolt_lib_26.1.2_neoforge_1.0.0alpha.jar.
Validation
- Rebuilt
Thunderbolt_lib_forge_1.20.1with./gradlew.bat clean build --no-daemon. - Verified the Forge output jar:
build/libs/Thunderbolt_lib-1.0.10-1.20.1forge.jar. - Pushed branch
release/forge-1.20.1-v1.0.10to GitHub.
Notes
- Runtime mod id remains
ae2lt_apion every line for addon compatibility. - Public asset filenames stay normalized even when internal
mod_versionmetadata includes loader-specific suffixes.
Thunderbolt_lib 1.0.8
Thunderbolt_lib 1.0.8
- Aligns Thunderbolt_lib with AE2 Lightning Tech 1.0.8.
- Adds a reflective read-only bridge for AE2LT's public wireless frequency API: bound-frequency id lookup, frequency metadata snapshots, transmitter location snapshots, and validity checks.
- Adds facade methods and runtime detection helpers for the public frequency API while keeping AE2LT classes out of Thunderbolt_lib public signatures.
- Bumps runtime metadata to require AE2LT 1.0.8+.
Validation: ./gradlew.bat build
Thunderbolt_lib 1.0.7
Fixed
- AE2LTLightningCollectorEventBridge no longer intercepts lightning entity ticks ahead of AE2LT. It now mirrors AE2LT's public com.moakiee.ae2lt.api.event.LightningCollectedEvent, keeping cancellation and amount rewrites inside AE2LT's native collector capture path.
Changed
- Bumped Thunderbolt_lib/API metadata to 1.0.7 and advanced the target AE2LT version to 1.0.7.
- Updated LightningCollectedEvent documentation and README text to describe the collector event as a mirror of AE2LT's public event.
- Cached the native AE2LT collector event method contract up front and tightened fail-closed compatibility logging.
Verification
- Validation scope for this release: GameTest integration verification, client startup compatibility, and bridge-focused log scanning.
- Verified natural EHV storage, artificial HV storage, natural-strike crystal cultivation / lightning-rod side effects, and a natural-only lightning ritual path.
- Built successfully with ./gradlew.bat build.
Compatibility
- No reappearance of AE2LT's natural-lightning interception warning and no AE2LT compatibility bridge failed to initialize messages were observed during the bridge-focused log scan.
- Existing unrelated AE2LT dev-environment loot / recipe parse errors remain outside the scope of this library release.
Thunderbolt_lib 1.0.6
Added
- Added AE2LTFrequencyBinding, a reflective helper facade for AE2LT's internal FrequencyBindingHost contract.
- Added AE2LTAPI facade methods for frequency host detection, frequency id read/write/clear, connection state, and grid channel counts.
- Added AE2LTNativeBridge#frequencyBindingHelperClassName().
Changed
- Bumped Thunderbolt_lib/API metadata to 1.0.6 and target AE2LT version to 1.0.6.
- Updated NeoForge metadata dependency on AE2LT to [1.0.6,).
Compatibility
- Public API and recipe schema coverage remain additive and backward-compatible with Thunderbolt_lib 1.0.5 symbols.
- Frequency-binding helper calls fail closed when AE2LT is absent or the target is not a frequency-binding host.
Verification
- Built successfully with ./gradlew.bat clean build.
Thunderbolt_lib 1.0.5
Thunderbolt_lib 1.0.5 — tracks AE2 Lightning Tech 1.0.5.
What's Changed
Added
- Frequency-binding detection —
AE2LTNativeBridge#isFrequencyBindingAvailable(),AE2LTAPI#isAE2LTFrequencyBindingAvailable(), plusAE2LTVersionconstants and version gate. These let addons detect AE2LT 1.0.5's internal BE-level frequency-binding host without hard-binding to non-API symbols. - Reflection cache —
AE2LTReflectionnow memoizesfindMethod/findFieldinConcurrentHashMaps, eliminating repeated class-hierarchy walks on every lightning tick.
Changed
- Version bumped to 1.0.5 across
gradle.properties,API_VERSION, and target/verified constants. - CHANGELOG and bilingual READMEs updated.
Repository hygiene
.vscode/launch.jsonremoved from git tracking;.vscode/added to.gitignore.
Compatibility
- AE2LT 1.0.5 did not change its first-party public API (
com.moakiee.ae2lt.api) or recipe schemas, so all recipe builders and bridge block-entity IDs remain unchanged. - All existing Thunderbolt_lib 1.0.4 Java API symbols are preserved; this release is purely additive.
Full Changelog: https://github.com/QianChang-official/Thunderbolt_lib/blob/main/CHANGELOG.md
Thunderbolt_lib 1.0.4
Summary
- Aligns Thunderbolt_lib with AE2 Lightning Tech 1.0.4.
- Adds
AE2LTVersionruntime version helpers and version facade methods onAE2LTAPI. - Adds capability ID helpers on
AE2LTNativeBridge. - Adds AE2LT first-party naming aliases on
ILightningEnergyHandlerandLightningEnergyTier. - Updates metadata to require AE2LT
[1.0.4,).
Compatibility
AE2LT 1.0.4 does not change the public first-party API package, recipe schemas, or bridge block-entity IDs compared with 1.0.3. Thunderbolt_lib 1.0.4 keeps existing 1.0.3 API symbols and adds only conservative helper interfaces, apart from the tighter AE2LT runtime dependency range.
Verification
./gradlew.bat clean build- Built asset:
Thunderbolt_lib-1.0.4.jar
Thunderbolt_lib 1.0.3 - AE2LT 1.0.3 alignment
摘要 / Summary
跟进 AE2-Lightning-Tech 1.0.3 上游发布,纯加法、零破坏性变更。AE2LT 在 1.0.2 起开始提供自带 first-party API(com.moakiee.ae2lt.api,命名空间 ae2lt),本版本在保持 ae2lt_api 命名空间独立的前提下,新增了 ID 常量、Codec 工具与原生 API 探测桥,使得本库与 AE2LT 自带 API 在 ID / 序列化层面互通。
Tracks the AE2-Lightning-Tech 1.0.3 upstream release. Purely additive, zero breaking changes. AE2LT introduced its own first-party API package (com.moakiee.ae2lt.api, namespace ae2lt) starting from 1.0.2; this release adds ID constants, codec helpers, and a native-API detection bridge so the two APIs stay namespace-distinct but ID / wire-format interoperable.
新增 API / Added
api/ids/AE2LTBlockEntityIds:6 个 BE 的ResourceLocation冻结常量,以及LIGHTNING_GRID_MEMBERS列表(5 个并网机器)api/ids/AE2LTRecipeIds:6 个配方类型的ResourceLocation冻结常量api/bridge/AE2LTNativeBridge:isNativeApiAvailable()/nativeNamespace()/libraryNamespace()/toNativeTierName(LightningEnergyTier)LightningEnergyTier.CODEC:MojangCodec<LightningEnergyTier>LightningEnergyTier.STREAM_CODEC:StreamCodec<RegistryFriendlyByteBuf, LightningEnergyTier>,ordinal 字节级与 AE2LT 自带LightningTier.STREAM_CODEC互通LightningEnergyTier.fromOrdinal(int)LightningCollectedEvent.isNaturalWeather()+ 5 参构造(旧 4 参构造保留)
兼容性 / Compatibility
- 1.0.2 全部公开签名、序列化名、capability id、recipe id 完整保留。
- 旧 addon 升级到 1.0.3 仅需更新依赖坐标版本号,无需改源码。
LightningCollectedEvent旧 4 参构造保留,自动naturalWeather=false。
命名空间区隔 / Namespace separation
| Library | AE2LT first-party | |
|---|---|---|
| Java package | com.qianchang.ae2lt_api.api.* |
com.moakiee.ae2lt.api.* |
| Namespace | ae2lt_api |
ae2lt |
| Capability id | ae2lt_api:lightning_energy |
ae2lt:lightning_energy |
两套 API 有意分开,本库不会做隐式桥接;AE2LTNativeBridge 仅做存在性探测。
完整变更见 CHANGELOG.md。
Thunderbolt_lib 1.0.2
跟进 AE2LT 1.0.2 发布版本号,内容与 1.0.1 完全一致(byte-identical apart from version strings)。
Changed
- Bumped
mod_versionandAE2LTCapabilities.API_VERSIONto track the AE2LT 1.0.2 release line. - No functional changes from 1.0.1; jar contents are byte-identical apart from the version strings.
Compatibility
- Minecraft 1.21.1 / NeoForge 21.1.x / Java 21
- Runtime mod id:
ae2lt_api(保持向后兼容) - 与上游 AE2-Lightning-Tech 1.0.0+ 兼容(已按 1.0.2 配方 Schema 对齐)
完整变更说明详见 CHANGELOG.md。