Commit Graph
337 Commits
Author SHA1 Message Date
Jonathan Coates 39a12893e3 Fix handling of integer indexes in CobaltLuaTable
- Add a new LuaTable.get(int) overload to handle getting an integer key
   instead.
 - Update CobaltLuaMachine for more sensible Java->LuaValue conversion
   for looking up keys.
 - Add some tests for our two LuaTable implementations.
 - Randomly reformat two files because spotless is ???

Fixes #2430
2026-05-02 13:50:58 +01:00
Jonathan Coates abe3d3410f Remove pathWithExtension
This doesn't actually do anything: paths will never have a trailing
slash, so it's just equivalent to `x..".lua"`.
2026-04-29 11:42:56 +01:00
Jonathan Coates 2c58040ae6 Bump CC:T to 1.118.0 2026-04-26 17:39:17 +01:00
Jonathan Coates c526e9a40c Add commands.getEntity
- Add (very basic) details provider for entities.
 - Add commands.getEntity(selector) function, which gets details for all
   matching entities.

Fixes #2383
2026-04-25 18:22:06 +01:00
Jonathan Coates 813d1151c7 Add timeout to rednet.lookup
Fixes #2364
2026-04-25 17:39:07 +01:00
Jonathan CoatesandGitHub a624f88200 Clear terminal in edit program on resize event (#2401) 2026-04-21 18:26:07 +01:00
ItsVingtdeuxandGitHub db32ddfec5 Add documentation for the setting_changed event (#2405) 2026-04-07 21:35:42 +00:00
WojbieandGitHub 888186bac3 Clear terminal in edit program on resize event 2026-03-22 00:05:25 +01:00
PinkandGitHub 19b8433653 Fix shebang absolute path handling (#2398)
The shebang/interpreter program is run with the *resolved* path of the
original program. However, this path was not marked with a leading `/`,
meaning interpreters may try to resolve it again.

We now add an explicit leading `/`, to ensure the path is treated as
absolute.
2026-03-19 18:59:51 +00:00
ItsVingtdeuxandGitHub e62dd6df5e Replace references to resource packs with data packs (#2396) 2026-03-19 18:58:28 +00:00
Jonathan Coates 57a6add81a Bump CC:T to 1.117.1 2026-02-22 13:00:32 +00:00
Jonathan Coates a0571e444c Fix getResponseHeaders @since version
Closes #2378
2026-01-28 23:56:53 +00:00
Meme TechandGitHub 7292e3298f Fix discrepancy in type help (#2374) 2026-01-28 10:38:26 +00:00
Jonathan Coates 4a6ec54813 Remove "CC may be installed incorrectly" message
It /technically/ may be the case, but in the days of modern mod loaders,
much less likely. Normally this is user error.

Closes #2372.
2026-01-25 09:39:13 +00:00
Jonathan Coates d5e0b0ad2a Bump CC:T to 1.117.0
A day early, but my commitment to the bit is waning.
2025-12-24 09:07:02 +00:00
Jonathan Coates 24fd27d2a3 Add test for potion durations 2025-12-24 08:51:15 +00:00
Jonathan Coates 90e7307fb4 Fix websocket_closed not always being queued on failure
- Reorganise the HTTP test code to make it a bit more extensible. Add
   support for sending messages to connected websockets.
 - Provide a friendlier message for too-large-payload errors.
 - Return failure reason from Websocket.receive

Fixes #2149.
2025-12-19 21:12:37 +00:00
Jonathan Coates 1520bebb6c Simplify event code in LuaTaskContext
We remove support for multiple event listeners, and now just use a
simple event queue again. This makes the code a little simpler, and
removes the risk of race conditions where we do do something, and it
queues the event before we call pullEvent().
2025-12-19 21:12:31 +00:00
Jonathan Coates f820cd8b43 Rewrite the GPS setup guide
Mostly trying to avoid the number of asides, to make it a bit more
straightforward. I'm not entirely sure I succeeded.

Fixes #1681, closes #1542.
2025-12-18 13:30:12 +00:00
Jonathan Coates 4b1541154b Add Websocket.getResponseHeaders method
Closes #1387
2025-12-17 23:11:12 +00:00
Jonathan Coates 7659c608a6 Dynamically pick the port in HTTP tests 2025-12-17 14:03:38 +00:00
Jonathan Coates f31d8febbf Handle more of Windows's weird paths
AFAICT, any sequence of ".[ .]*" (except from "") is equivalent to "."
on Windows. Let's handle that in our path sanitisation code.

Fixes #2151.
2025-12-15 23:48:54 +00:00
Jonathan Coates ff9f038275 Another build tooling bump
- Update to latest MDG, to avoid decompiling Minecraft in CI.
 - Fix several Gradle warnings.
 - Bump ErrorProne, and fix a few more nits.
2025-12-15 12:42:38 +00:00
Jonathan Coates 28682aa468 Rewrite computer input handling (again)
Hey, it lasted almost a year!

Computer input is somewhat stateful, as we need to track things like
which key(s) are currently held, and what the last mouse button/position
was. This code is currently duplicated in several places (specifically
TerminalWidget, ServerInputState and the standalone emulator).

In order to implement lectern pocket computer mouse interactions, we'd
have to duplicate this logic once again. Instead, we move this code into
a common class.

 - Replace the InputHandler interface with a simpler ComputerInput one
   (this no longer has computer actions, like reboot or terminate). This
   interface never made much sense (aside from hiding implementation
   details), as code only ever consumed a single implementation of it.

   On the client, this requires a new "ClientComputerActions" class.
   This feels a bit clunky to me, but it's simple and it works.

 - Replace ComputerEvents with a EventComputerInput class (terrible
   name, I know!), which queues events on a computer.

 - Move common input state tracking and validation into a single
   UserComputerInput class, which wraps an existing ComputerInput. This
   is used by both the terminal widget, and the server-side input state.
2025-12-14 16:53:18 +00:00
Jonathan Coates 2a35d17906 Clarify behaviour around drawImage cursor 2025-12-09 23:15:45 +00:00
Tomodachi94andGitHub 61e9626302 Retroactively document changes to os.version() (#2323) 2025-11-23 13:49:55 +00:00
JackMacWindowsandGitHub 307bebd5d2 Fix missing return value docs in shell.openTab (#2333) 2025-11-22 08:16:58 +00:00
Jonathan Coates 18f3426f1d Bump CC:T to 1.116.2 2025-11-01 19:40:52 +00:00
Jonathan Coates 569de7fafb Update to Gradle 9.2
- Update to Loom 1.12. This requires Java 21, so we now build with Java
   21, but targetting 17. The new "-release" flag does make this much
   easier, so hopefully shouldn't cause too many issues.

 - Bump versions of a lot of other things.

 - Fix various errorprone/checkstyle grumbles.
2025-10-31 19:50:44 +00:00
Jonathan Coates b9ed66983d Fix some isues in SNBT parsing
- Accept the full range of unquoted strings
 - Fix error when failing to parse an unquoted string

See #2277. This is not sufficient to close the issue (wow, there's so
much more wrong with the code), but at least stops unserialiseJSON
crashing.
2025-08-31 12:11:34 +01:00
ZirunisandGitHub a683697e8c Fixed two typos in dfpwm.lua (#2272) 2025-08-27 06:47:42 +01:00
ZirunisandGitHub 9e233a916f Fixed typo in docstring of textutils.serializeJSON (#2260) 2025-08-08 10:45:46 +01:00
Jonathan Coates 5f16909d4b Remove empty-argument optimisation
This doesn't work with getTableUnsafe, as empty arguments are considered
closed already. We could argubly special-case the empty args, but the
optimisation has very minor benefits, so I don't think worrying about too
much.

Fixes #2246.
2025-07-19 22:24:32 +01:00
Jonathan Coates 00475b9bb0 Support LuaTable arguments in @LuaFunction 2025-07-14 08:11:35 +01:00
Jonathan Coates 018ce7c8a5 Bump CC:T to 1.116.1 2025-07-12 18:57:05 +01:00
Jonathan Coates 8344c0a5c2 Bump CC:T to 1.116.0 2025-06-28 11:03:52 +01:00
Jonathan Coates a292d33830 Syntax highlighting for multiline tokens in edit
I don't love the implementation of this (see discussion in #2220), but
it's better than nothing. Wow, the editor really needs a bit of a
rewrite, the code is kinda messy.

Fixes #1396.
2025-06-25 22:50:23 +01:00
Jonathan Coates 341d1c7bc2 Move paint/edit menu bar into common module
I want to add a menu bar to the edit runner too, so let's make this code
a little more reusable first.
2025-06-25 22:14:09 +01:00
Adit Cahya RamadhanandGitHub 1f3da5205c Miniscule typo fix in the shell.path() doc comment
Noticed this when reading the shell API page in the wiki.
2025-06-21 22:29:04 +07:00
Jonathan Coates 7c0f79fc3c Move edit_runner into its own module
I've a few more features I'd like to add to it. Moving it out makes it
slightly easier to maintain.
2025-06-17 17:55:24 +01:00
Jonathan Coates b35cefc5dd Switch from path to parentPath
I've been putting this off for a while, as I had issues in the past with
people using old Node versions (e.g. #1806), but it no long works on my
machine, so time to make the switch.

Also do a bit of a package update. Hit a rollup bug while doing this
(https://github.com/rollup/plugins/issues/1877), so holding that update
back for now.
2025-06-17 17:46:10 +01:00
Jonathan Coates 69353a4fcf Use lexer for edit's syntax highlighting
This is slightly more accurate for long strings and comments. Note that
we still work a line at a time (and in a non-incremental manner), so
doesn't actaully support multi-line strings (#1396).

We do now treat goto as a keyword (fixes #1653). We don't currently
support labels — those *technically* aren't a token (`:: foo --[[ a
comment ]] ::` is a valid label!), but maybe we could special-case the
short `::foo::` form.
2025-06-15 13:25:21 +01:00
LorneHydeandGitHub 1c51282426 Fix syntax highlighting for strings ending in an escaped backslash (#2194) 2025-06-08 19:55:14 +00:00
WojbieandGitHub 2557dd0af9 Update motd path in startup.lua
Removes situations where shell resolution caused arbitrary program called `motd` at root get executed instead of expected /rom one.
2025-06-03 01:03:02 +02:00
Jonathan Coates b5c0c6e104 Fix out-of-bounds when pasting too-long text
Used a `<=` instead of a `<`! How did I mess this up!?

Fixes #2209
2025-06-02 08:58:43 +01:00
SpartanSoftwareandGitHub 876fd8ddb8 Fix 0 being treated as a valid colour (#2211) 2025-05-31 07:46:03 +00:00
JackMacWindowsandGitHub b440b964b7 Add notes about minor changed file handle behavior in 1.109.0 (#2203) 2025-05-25 20:24:26 +00:00
Jonathan Coates 947001104d Update Cobalt to 0.9.6
- Allow heterogenous __lt/__le.
2025-04-21 14:36:44 +01:00
Jonathan Coates 8711512769 Remove allocation tracking for computers
Reverts 76968f2f28. We'd originally added
this to gather some numbers for #1580, with the hope that it would also
be useful for server admins. Sadly, it's not as accurate as I originally
hoped — the number sometimes goes down for unclear reasons (something to
do with the TLAB maybe??).

Closes #1739.
2025-04-21 08:32:03 +01:00
Jonathan Coates 9c0ce27ce6 Switch a few more places to use Java 17 features
New ErrorProne hint, and one which is actually pretty useful!
2025-03-22 09:39:47 +00:00