Commit graph

20 commits

Author SHA1 Message Date
modmuss50
f3ffa98922 1.21.5-pre2 2025-03-16 13:45:10 +00:00
modmuss50
f3eb6d3bab 1.21.5-pre1 2025-03-11 18:47:58 +00:00
modmuss50
081cc043e3 Update yarn 2025-03-02 13:11:31 +00:00
modmuss
d71774a3e5
Fix client tests for 25w09b () 2025-02-27 18:30:34 +00:00
modmuss
02ca6796fb
Port to 25w09a ()
* Port to 25w09a

* Comment out FramebufferMixin for now

* Checkstyle

* Bump version
2025-02-26 22:00:24 +00:00
apple502j
cb3258dead
Fix locale-dependent code in GameTest ()
Co-authored-by: modmuss <modmuss50@gmail.com>
2025-02-20 17:55:24 +00:00
modmuss
fd5bf1a075
Port to 25w08a ()
* Port to 25w08a

* Don't use config cache for now.

* Bump version
2025-02-19 17:37:39 +00:00
Kevin
e3f4f850f7 Include template name in the client test screenshot missing error ()
* Include template name in the error message if possible

* Update javadoc

(cherry picked from commit 6816ccd43b)
2025-02-15 14:38:54 +00:00
Kevin
a3630f92b3 Add Hud Render Events ()
* Add HudRenderEvents

* Add HudRenderEventsTests and deprecate HudRenderCallback

* Update tests

* Add client parameter and apply suggestions

* Split HudRenderEvents into separate interfaces

* Fix before chat and last

* Add after sleep overlay event and update after main hud injection point

* Add comments for injection points

* Revert splitting HudRenderEvents into separate interfaces

* Use vanilla layered drawer layer interface

* Cleanup InGameHudMixin

* POC of hud modification

* Implement HudLayerRegistrationCallback

* Delete HudRenderEvents

* Fix sub drawers and add basic documentation

* Fix checkstyle

* Apply suggestions from code review

* Add Javadocs

* Add more unit tests

* Apply suggestions from code review
- Update Javadocs
- Remove vanilla sub drawer flattening
- Improve LayeredDrawerWrapperImpl internals

* Javadoc oddities

* Add client gametests

* Finish client gametests

* Change method and add documentation

* Ensure test environment is correct

* Move test class to same package

* Add render condition for tests

* Fix merge conflicts

* Update javadocs

* Small bug fixes, documentation, and sub drawer tests

* Update javadocs some more

* Add contract and get around return value not used warnings

* Apply suggestions from code review

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>

* Migrate AtomicBoolean to MutableBoolean

* Update javadocs on render condition

* Use ListIterator#set

---------

Co-authored-by: modmuss50 <modmuss50@gmail.com>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
(cherry picked from commit 44a0820dd2)
2025-02-09 13:27:01 +00:00
Joseph Burton
20e992bd4f Client gametest cleanup ()
* Organize packages

* Move all gametest system properties into one class where we won't lose them

* Add references to loom helpers to documentation in relevant places

(cherry picked from commit 2d7e411e9b)
2025-01-29 10:49:54 +00:00
Joseph Burton
6d1fcc834f Client gametest screenshot comparison API ()
* Add screenshot comparison API

* Cleanup and docs

* Remove no-longer-needed changes to access widener

(cherry picked from commit a069796ec9)
2025-01-21 18:34:38 +00:00
Joseph Burton
efd8abe398 Wait for server to start in WorldBuilder.createServer ()
* Wait for server to start in WorldBuilder.createServer

* Wait for serverCanAcceptTasks

(cherry picked from commit 20da2796f0)
2025-01-14 14:09:36 +00:00
Joseph Burton
c5f09f3952 Add waitTick built-in to pressKey and pressMouse ()
(cherry picked from commit 5f21acd061)
2025-01-14 14:09:32 +00:00
modmuss50
86c3a9f167 25w02a 2025-01-08 17:38:47 +00:00
Joseph Burton
e5be219492
Solve inconsistency issues in client gametests ()
* Make sure client locking only happens if there will actually be a tick

* Swap the order of client and server tasks and merge the client tasks into one block

* Remove useless capture of @Share

* Ensure all packets are handled in the tick after it was sent

* Add main thread packet handlers to our set before they are added to the vanilla queue, not after

* Don't deadlock if client stops on a frame that doesn't tick

* Fix checkstyle

* Switch back round the client and server tasks

* Only apply vanilla task loop phases if network synchronization is enabled

* Update docs

* Add network synchronizer impl notes to match PR description

* Set ThreadingImpl.gameCrashed back to private. We don't want to accidentally change this value without using the setter.
2025-01-07 18:28:45 +00:00
Joseph Burton
1f6471e67c
Client gametest screenshot changes ()
* Instant screenshots, with counter and more configurability

* Force consistent window size across all systems and stretch framebuffer to fit the physical window

* Docs

* Wait ticks appropriately for the screenshots in the gametest test

* Should -> must

* Fix window resizing for different display scales

* Fix framebuffer size not being changed at all

* Add test for window resizing
2024-12-30 13:10:23 +00:00
Joseph Burton
cdad5be837
Fix world closing () 2024-12-26 18:07:31 +00:00
Joseph Burton
99ff640a5d
Add various lifetime-bound try-with-resources APIs to client gametests ()
* Add various lifetime-bound try-with-resources APIs to client gametests
2024-12-24 13:23:52 +00:00
Joseph Burton
b3e1e3dddf
Client gametest threading tweaks ()
* Ensure game closes promptly when it crashes

* Mutate the stack traces of exceptions thrown in tasks to make them easier to track

* Fix ThreadingImpl.joinAsyncStackTrace

* Don't press menu.quit button from inside the gametest test
2024-12-18 18:22:20 +00:00
Joseph Burton
b47eab6b15
Add experimental Client Game Test API ()
* Move client auto tests to new module fabric-client-gametest-api-v1

* Fix run prod Gradle tasks

* Rename remaining references to client auto-tests

* Switch client gametests to using entrypoints

* Disable input and cursor grabbing

* Remove FabricClientTestHelper moving most of it into the context. Add the ability to simulate key and mouse inputs

* Rename and document input methods

* Rename client gametest github action

* Fix tryClickScreenButtonImpl for buttons inside layout widgets

* Address review comments and repackage client gametest test

* Delete wrong reference to TitleScreenAccessor. Thanks mcdev

* Address review comments

* Clean up default game options

* Improve documentation

* Remove module dependencies

---------

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2024-12-16 11:32:46 +00:00