Commit graph

179 commits

Author SHA1 Message Date
509832d26d Fix kxs-ts-gen-core dependency resolution and unblocked compile bugs
The version catalog pointed kxs-ts-gen-core at a JitPack coordinate
(com.github.adamko-dev.kotlinx-serialization-typescript-generator) that
no longer serves real artifacts there, despite JitPack's build-status
API still reporting it as built. The library is properly published to
Maven Central under dev.adamko.kxstsgen - a commented-out line with
that exact coordinate was already sitting in the catalog. Swapping to
it fixes dependency resolution for every module depending on
versions-platform (which previously blocked any Gradle task touching
events-library, including all of its tests).

That unblocked two more pre-existing, unrelated bugs that had never
been caught because this module never previously compiled:

- LuaJsonList<T> : List<T> by list triggered a longstanding Kotlin
  compiler bug (KT-3546, "accidental override" on generic toArray)
  specific to delegating java.util.List via `by`. Replaced with a
  hand-written Collection<T> implementation (no delegation codegen,
  no bug), which still satisfies Kotest's forOne/forAll inspectors -
  the only thing any code actually needs from it.
- The kxs-ts-gen Kotlin->TypeScript generator (kt2ts2.kt) still emitted
  the pre-2.0 bare `uint`/`int` names and no import statement, since it
  predates typed-factorio's move to virtual modules. Updated its
  primitive-type mappings to uint32/int32 and added the "factorio:runtime"
  import to its generated header, so the regenerated schema matches what
  the rest of events-mod now expects.

Verified via real Gradle tasks (not just manual tooling): events-library
compiles and all tests pass; events-mod's full build - Kotlin schema
generation, npm install, tstl compile, and info.json generation (with
factorio_version "2.0" and the space-exploration/Krastorio2 optional
dependencies) - succeeds end-to-end.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-12 15:40:33 +02:00
e296a9aa90 Fix compile errors surfaced by actually building against Factorio 2.0.77
typed-factorio 2.0.0+ stopped declaring types as ambient globals - they
now live in virtual modules ("factorio:runtime", "factorio:common",
"factorio:settings") and must be explicitly imported. Adds those imports
throughout events-mod. Also:

- Bumps typescript-to-lua 1.11.1 -> 1.25.2 and typescript 4.9 -> 5.4.2,
  since tstl pins an exact peer TypeScript version and typed-factorio
  3.x needs a newer one than 4.9 supports (a real compiler bug in
  TS 4.9 against the generated defines.segmented_unit_ai_state enum).
- Bumps the pinned isolated Node (14.19.1 -> 24.21.0), since
  typescript-to-lua 1.25.2 requires Node >=16.10.0.
- Renames bare uint/int -> uint32/int32 (import aliases), since the
  unsized aliases no longer exist.
- Drops OnEntityDestroyedEvent from an unused documentation-only union
  type - that event no longer exists in the 2.0 API.
- LuaEntityPrototype.max_health is now get_max_health() (quality-aware).
- Fixes a branded-type mismatch between our generated schema's
  ForceIndex and typed-factorio's own ForceIndex.

Verified by actually running tstl end-to-end (clean compile, Lua
emitted) after installing a real JDK and Node toolchain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-12 15:27:50 +02:00
072d1a2845 Port events-mod to Factorio 2.0.77, declare SE/Krastorio 2 compatibility
Bumps the Factorio engine pin and typed-factorio (1.11.0 -> 3.36.0,
targeting 2.0.75) and fixes the resulting breaking API changes:
global -> storage, game.*_prototypes -> prototypes.*, game.table_to_json/
encode_string -> helpers.*, OnBuiltEntityEvent.created_entity -> .entity,
removed TileRead/ColorTable/MapPositionTable-style write-form aliases,
new CollisionMask shape, restructured settings-stage type imports, and
new defines.entity_status values (added to the Status enum, generated
schema, and EntityStatusRecord mapping). Also declares optional mod
dependencies on space-exploration and Krastorio2.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-12 15:06:30 +02:00
Adam
76c47d9756 tidy up after refactoring Gradle Factorio plugin 2022-12-19 16:53:18 +01:00
Adam
a99ed5bb85 remove generated lua (it's stable - moved it to temp dir) 2022-12-19 16:52:49 +01:00
Adam
9f2b9cbd5c big ol' refactor of the Gradle Factorio Mod
- handle launching in multiple OSes
- specific tasks for specific mod operations
- extension object for settings
- ground work for multiple mods
2022-12-18 01:41:14 +01:00
Adam
2c9c442595 typo dequed -> dequeued 2022-12-06 00:24:17 +01:00
Adam
fcb870072a version bumps 2022-12-06 00:23:52 +01:00
Adam
76d553a6bf version 0.10.1 2022-10-30 19:27:50 +01:00
Adam
ce4df2081a bump versions: factorio, typed-factorio 2022-10-30 19:26:43 +01:00
Adam
394acc5ca0 version 0.10.0 2022-10-30 19:22:38 +01:00
Adam
30d5a67a2a update license to be gpl-3.0 2022-10-30 18:58:50 +01:00
Adam
76a661e444 move logo, add function to auto-init the project logo 2022-10-30 18:44:47 +01:00
Adam
f0b080a7fe optimise logo 2022-10-30 18:44:11 +01:00
Adam
ccd08c87c8 version 0.9.15 2022-10-22 23:37:15 +02:00
Adam
51f44f1fd2 version 0.9.14 2022-10-22 20:36:47 +02:00
Adam
14e204d197 version 0.9.13 2022-10-22 20:28:22 +02:00
Adam
bb5e98f740 version 0.9.12 2022-10-22 19:56:33 +02:00
Adam
de24a62635 version 0.9.11 2022-10-18 23:23:09 +02:00
Adam
dda48bac78 refactor the KafkatorioPacket tag that the mod logs, and the syslog-server parses 2022-10-18 21:35:49 +02:00
Adam
b2b6da9c3c version 0.9.9 2022-10-17 00:18:33 +02:00
Adam
6fa5c3f488 [mod] re-build lua (I need to get rid of the lua code and keep at as generated... 2022-10-17 00:17:14 +02:00
Adam
895194d576 [mod] add code for writing packets to file (but disable it) 2022-10-17 00:11:45 +02:00
Adam
8be1fa5025 version 0.9.8 2022-10-16 13:08:04 +02:00
Adam
2032da903f version 0.9.7 2022-10-15 20:42:47 +02:00
Adam
f76eb9ccb3 update events-mod version 2022-10-08 17:06:23 +02:00
Adam
144cbba075 update package.json versions 2022-10-04 23:47:51 +02:00
Adam
f804c39a3b migrate docker-compose convention plugin out of buildSrc 2022-10-02 12:11:06 +02:00
Adam
f12a505d22 migrate buildSrc plugins to includedBuild plugins 2022-09-18 20:49:32 +02:00
Adam
dadbcdd8d6 version bumps (scrimage, kotlinJsWrappers, ktor, hoplite, tstl, typed-factorio, typescript) 2022-09-10 10:13:48 +02:00
Adam
60d61752b3 update mod generated code (remove unused var) 2022-09-01 23:19:06 +02:00
Adam
02edffa2e9 version bump to 0.9.0 (just prepping for the next release) 2022-09-01 23:17:56 +02:00
Adam
b1cf94a8a8 fix item subgroup mapping 2022-09-01 22:57:40 +02:00
Adam
3821996eeb bump some versions (use Kotest in Maven Local b/c plugin isn't available on Sonatype snapshot)
add tile width/height (added in new version of Factorio)
2022-08-28 13:39:34 +02:00
Adam
c9ae17d418 bump versions (kafka, ktor, hoplite, simple-syslog, factorio, tstl, typed-factorio, kotka, gradle-node) and update code to compile 2022-08-13 12:05:17 +02:00
Adam
d9f5d6d46d UpdatePackageJson task is updated based on a json object, and move npm versions to libs.versions.toml 2022-08-13 11:59:30 +02:00
Adam
d006635e49 bump tstl, typed-factorio, ks-js-wrappers 2022-07-23 16:26:11 +02:00
Adam
085776d42b packet size improvements
- change structure resource packets
- make more booleans default to false
- use encode_string - massive decrease in packet size!!
2022-07-17 23:54:53 +02:00
Adam
10c54998c7 version bump to 0.8.0 2022-07-16 23:23:55 +02:00
Adam
b507081eac Render buildings and resources
- create LuaJsonList to handle empty Lua JSON lists being sent as empty objects
- fix exporting of resources and entities
- split up map tiles into different layer directories
- add 'chunk size' to MapChunkPosition
- move tests to correct packages
- bump tstl
- decrease tstl logging
- remove some defined, but unused, kafka topics
- syslog, rest, websocket servers & web-map: decrease logging
- webmap: add additional layers for buildings and resources
2022-07-16 23:11:40 +02:00
Adam
90aa086dd4 mod: entity prototype improvements and refactoring
- refactor and move queue & emitter classes for consistency
- don't emit all prototypes at once
- add simple queue for 'instant' packets so the printer doesn't get overwhelmed and mix up the output
2022-07-09 14:03:57 +02:00
Adam
ae0eb98f12 version bump 2022-07-08 21:48:19 +02:00
Adam
80eb001bbf emit entity prototypes
- mod: refactor event handlers to separate files
- lib: update models for prototypes
2022-07-08 21:06:09 +02:00
Adam
665327e010 bump project to 0.7.0 (and fix docker .env task for all docker .envs) 2022-07-06 17:43:50 +02:00
Adam
5fcb831df2 use version platform more, try fixing projects must be configuring bug 2022-07-06 17:16:09 +02:00
Adam
c29b66aada bump tstl 2022-07-06 17:15:42 +02:00
Adam
90dc520d22 massive refactor to export entities (buildings and resources)
- minor version bumps
- new Factorio version
- use both prototype name and type to identify a prototype
- kxs-ts-gen: use BrandTyping, but exclude some identifiers
- kxs-ts-gen: manually create zip dist, so it can run after the project compiles
- mod: use typed-factorio strict types
- mod: refactor event handlers to be a little more consistent and object-oriented
2022-07-05 23:44:23 +02:00
Adam
88982d818a make tstl explicitly depend on package.json 2022-07-02 10:24:02 +02:00
Adam
6c6526eda9 regenerate mod lua (I guess it didn't happen before?) 2022-07-02 10:21:38 +02:00
Adam
a381e01886 move lua to src/generated, and tweak IntelliJ 'mark as excluded/src' 2022-07-02 09:50:11 +02:00