Commit graph

59 commits

Author SHA1 Message Date
modmuss50
c47b9d4307 Update Fabric Loader 2024-10-15 15:12:08 +01:00
modmuss
e618fefd93
Add mixin audit unit test (#4153)
This is useful when porting to a new version as you don't need to wait for the game to load to check for mixin errors.
2024-10-11 15:02:46 +01:00
modmuss
d48ec150ba
24w36a (#4068)
Some checks failed
Build / build (21-ubuntu) (push) Has been cancelled
Build / client_test (push) Has been cancelled
Build / server_test (push) Has been cancelled
Build / check_resources (push) Has been cancelled
* 24w36a

* Some fixes

* More work

* Fixes

* Update yarn

* Update fabric loader

* Bump versions
2024-09-05 11:42:30 +01:00
modmuss
f14f8b05a9
Join a dedicated server in the automated client test. (#4057)
* Join a dedicated server in the automated client test.

* Add missing header
2024-08-29 17:55:15 +01:00
modmuss
6c0945c34f
Update Fabric Loader and re-enable server test (#4056) 2024-08-29 17:55:03 +01:00
modmuss
1bb677a646 Port to 24w33a (#4033)
Some checks failed
Build / build (21-ubuntu) (push) Has been cancelled
Build / client_test (push) Has been cancelled
Build / server_test (push) Has been cancelled
Build / check_resources (push) Has been cancelled
Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
Co-authored-by: hypherionmc <hypherionmc@gmail.com>
(cherry picked from commit 952fb19a0df7354e8352ef0c993a956b2bed32c2)
2024-08-18 19:16:27 +01:00
modmuss
6573ed8ccc
24w21b (#3789)
Co-authored-by: Drex <nicknamedrex@gmail.com>
Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
2024-05-23 10:20:54 +01:00
modmuss
0af3f5a702
24w18a (#3757)
Co-authored-by: Drex <nicknamedrex@gmail.com>
2024-05-04 14:28:29 +01:00
modmuss50
80f8cf516f Update Fabric Loader 2024-01-17 17:15:38 +00:00
modmuss
3434862fbd
Port to 23w51b (#3474)
Breaking changes:

- `FabricBrewingRecipeRegistry.registerPotionRecipe` takes `RegistryEntry<Potion>` instead of `Potion`
- `SculkSensorFrequencyRegistry.regster` takes `RegistryKey<GameEvent>` instead of `GameEvent`
- `FabricLanguageProvider.add` takes `RegistryEntry<EntityAttribute>` instead of `EntityAttribute`
- `FabricTagProvider.GameEventTagProvider` was removed replace with `FabricTagProvider<GameEvent>`
- `FabricItem.getAttributeModifiers` returns a Multimap with a key of `RegistryEntry<EntityAttribute>` instead of `EntityAttribute`
- `ModifyItemAttributeModifiersCallback.modifyAttributeModifiers` takes Multimap with a key of `RegistryEntry<EntityAttribute>` instead of `EntityAttribute`
2023-12-18 18:47:42 +00:00
modmuss
78d798af9d
Update to loader 0.15 (#3451) 2023-12-08 15:19:17 +00:00
modmuss50
f31bf881a9 23w44a 2023-11-01 17:00:09 +00:00
modmuss
fce67b32cf
23w35a (#3292) 2023-08-31 12:50:38 +01:00
modmuss50
f091af96c5 23w33a 2023-08-17 16:51:04 +01:00
modmuss
f4b7e42468
Update to loom 1.3 and use Mod Publish Plugin (#3158)
* Update to loom 1.3

* Fix more 1.3 deprecations

* Opps

* Move to mod publish plugin

* Revert some changes

* Fix some more Gradle deprecations

* Fix names

* Remove extra stuff

* Cleanup
2023-08-02 18:51:21 +01:00
Technici4n
7abfd5154a
Make event phase ordering logic usable in other contexts (internally only) (#3183)
* Make event phase ordering logic usable in other contexts (internally only)

* Rename and move to toposort package
2023-07-18 12:54:12 +01:00
modmuss50
b04edc7ab9 1.20-pre2 2023-05-16 15:36:50 +01:00
Technici4n
dcb9d1ca7f Terminally deprecate EventFactory isProfilingEnabled and invalidate (#3050)
* Terminally deprecate `EventFactory` `isProfilingEnabled` and `invalidate`

* Remove `forRemoval` in `isProfiling` deprecation

* Also deprecate
2023-05-14 15:01:22 +01:00
modmuss50
fb8d95dacb Split test mods into client and common. (#3033) 2023-05-01 14:04:29 +01:00
modmuss50
9ff28bce11 Fix build 2023-02-15 20:15:06 +00:00
modmuss50
e45f7c6532 23w07a 2023-02-15 19:54:58 +00:00
BasiqueEvangelist
ae26bc3563 Fix memory leak by using weak set for ArrayBackedEvent list (#2848)
* use weak set for array backed events list

* use thread safe map

(cherry picked from commit 70be179cf3)
2023-01-31 09:53:34 +00:00
modmuss50
a1ccd7bfed 23w04a 2023-01-24 16:59:43 +00:00
modmuss50
b69ba7fabe
23w03a (#2854)
* First look at 223w03a

* Fix login

* Support onboarding screen in client tests

* Fix AFTER_ENTITY_CHANGE_WORLD event

* Bump version
2023-01-18 21:21:41 +00:00
Technici4n
afca2f3e33
Small Cleanups (#2767)
* ServerLoginNetworking javadoc fix

* Improve Rendering Data Attachment javadocs. Fixes #863

* Deprecate `NbtType`. Fixes #1401

* Remove redundancy
2022-12-23 13:10:03 +00:00
Sideroo
8d1895cfaa
Fix testmod client mixins being applied on the server. (#2704) 2022-11-29 18:02:16 +00:00
modmuss50
faff3b8448
Add automated client smoke tests. (#2678) 2022-11-22 16:49:00 +00:00
Juuz
48349a3f5f Generate package-info files for all impl and mixin packages (#2615)
* Generate package-info files for all impl and mixin packages

* Add javadoc to generated package-infos, use multiline string

* Simplify code

* Remove manual ApiStatus.Internal on impl classes

* Update CONTRIBUTING.md to remove ApiStatus.Internal for impl classes

* Fix Gradle deprecations

* Fix more Gradle deprecations

* Add task metadata

* Support client-main split

* Remove workaround for client packages

* Try to fix Gradle 8 deprecations

* Try to fix Gradle 8 deprecations, part 2

I'm hoping that using the SourceDirectorySet instead of converting it to a
Set<File> (which is pointless?) will carry the build dependencies over.

* Add clean packageInfo task

Co-authored-by: modmuss50 <modmuss50@gmail.com>

(cherry picked from commit 0d0f21023d)
2022-11-22 16:35:52 +00:00
apple502j
93d8cb82e8
Fix many javadoc issues (#2526)
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2022-09-25 14:45:12 +01:00
modmuss50
e62f51a37f 1.19-rc1
Only mapping updates.
2022-06-02 15:41:09 +01:00
modmuss50
9ff28f4026
Split client only code into its own sourceset. (#2179)
A common source of crashes on modded Minecraft servers comes from modders accidently calling client only code from the client, this PR is another large step towards elimitating that.

This PR has been months in the making and years in the planning, requiring major changes to Loom & Loader. In recent Minecraft versions Mojang has made it easier than ever to cleanly split the jar, going against the status-quo of merging the client and server into one jar.

From the start we have designed Fabric to have a very clear split between client and common (client & server) code. Fabric has always encoraged keeping client only code seprate from the server, this can be seen at a fundamental level with the entrypoints in Loader. Fabric API's have all been designed with this mind.

This PR provides a compile safety net around Fabric API using client only code on the server. Even though there are almost 400 changed files, minimal changes beyond moving the files were required to achieve this in Fabric API, thanks to the effort of all contributors in the past.

These changes should not affect modders or players in anyway, a single "universal" jar is still produced. Im happy to awnswer any questions.
2022-05-21 16:26:46 +01:00
Player
f71b366fb1
Update command registration API to reflect 1.19 vanilla changes (#2227)
* Update command registration API to reflect vanilla changes

* Allow module versions in impl+mixin packages

* Use v2 module, keeping v1 for server commands at least

* update, address review

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2022-05-20 18:39:10 +01:00
modmuss50
ec94c6f636
22w16b
Co-authored-by: Player <player@player.to>
2022-04-20 22:22:10 +01:00
modmuss50
d7c144a830
Migrate to SLF4j and update loom (#1960)
* Migrate to SLF4j and update loom

* Update loom

* Update to latest loom
2022-01-30 21:37:23 +00:00
modmuss50
b4f4f6cda4 Update Loom and Loader. Cleanup/improve buildscript. 2021-11-12 15:02:54 +00:00
modmuss50
65d505fc8a Bump versions
All of the version need to be bumped due to fabric-api-base being updated, this highlights the need for a better solution.
2021-11-05 17:09:48 +00:00
Technici4n
5d8be2ee16 Add event phases (#1669)
* Proof of concept

* Simplify and document

* Allow events to be registered with default phases

* Use modified Kosaraju for the toposort, and add test for cyclic dependency graphs

* Separate phase-related functionality in an EventPhase class

* Revert "Separate phase-related functionality in an EventPhase class"

This reverts commit e433f348f4.

* Ensure that the phase order is deterministic

* Add pretty graphs

* Add a test, fix a bug, only do one sort for every constraint registration
2021-11-05 15:51:07 +00:00
modmuss50
a02b4463f9 21w19a 2021-05-12 20:23:04 +01:00
Player
8d89ed54f2 Bump versions 2021-05-01 23:36:32 +02:00
Technici4n
4b24d382c1 Change event behavior for one listener, introduce AutoInvokingEvent, update ArrayBackedEvent implementation (#1369)
* Cleanup Events

* Add the AutoInvokingEvent annotation.

Co-authored-by: Player <sfPlayer1@users.noreply.github.com>
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
2021-05-01 23:24:00 +02:00
modmuss50
23b3c92ea9 21w13a 2021-03-31 20:52:51 +01:00
modmuss50
524a2e859c Bump Version 2021-02-14 18:03:24 +00:00
Player
6d07a7c2fa Make event registration thread safe (#1305)
(cherry picked from commit be996d2566)
2021-02-14 17:56:39 +00:00
i509VCB
f8cf2bb436 Add custom value denoting module lifecycles. (#1253)
* Add custom value denoting module lifecycles.

* Make the module validation work.

My hand has been forced - we must use buildSrc since JsonSlurper is not available in main buildscript.

* Apply task to each project and dont cross projects

* A horrible hack

* Wait what

* It works now.

* Not needed

* Drop unneeded maven repo, cache map lookup

(cherry picked from commit daa38b3d82)
2021-01-19 18:54:23 +00:00
i509VCB
eaafab80ff Add command to audit mixin environment in game (#1174)
* Add command to audit mixin environment in game

* Throw assertion error instead and add success message

Assertion errors will bypass the command exceptions being eaten.
2020-11-23 20:14:29 +00:00
modmuss50
1cd3aea3db Spin up a dedicated server on github actions + add run tasks for test mods. (#1163)
* Add test mod run tasks, add a very basic auto test server task

* License header

* Minor cleanup

* Fix bad depends
2020-11-15 19:40:17 +00:00
modmuss50
9f0fb4b8a2 Bump version 2020-10-11 21:18:28 +01:00
i509VCB
432d048583
Tristate extensions (#1043)
* Tri-state extensions

Adds new extensions to tri-state and some javadoc.

* Part 2

* Comment fix

* More conistent codestyle, abstract the map and ifxyz code a bit

* Annotations

* Player said no to qualifying static members local to the TriState enum.

* Exceptional spelling

* add a more Optional-like map method and drop if*State*

* ? extends T this time

* Compare to default rather than null of getBoxed

* Puncation of course
2020-10-11 21:15:03 +01:00
modmuss50
12a8474c3a Bump versions 2020-04-05 15:12:25 +01:00
liach
655c8d6a5c
Fix javadoc jar generation and javadoc building (#550)
* Update build.gradle for testing

Signed-off-by: liach <liach@users.noreply.github.com>

* Fix javadocs

Signed-off-by: liach <liach@users.noreply.github.com>

Co-authored-by: liach <liach@users.noreply.github.com>
2020-04-05 15:07:27 +01:00