Commit graph

447 commits

Author SHA1 Message Date
Jason Penilla
679aae3c9a
add fabric-api-bom and fabric-api-catalog (#3487)
* feat: add fabric-api-bom and fabric-api-catalog

* spotlessApply

* Apply suggestions from code review

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

---------

Co-authored-by: modmuss <modmuss50@gmail.com>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2024-01-11 15:45:18 +00:00
modmuss
f4db263479
Update loom and Gradle (#3452) 2023-12-08 15:19:29 +00:00
modmuss50
022302724c Update mod-publish-plugin 2023-10-25 16:50:14 +01:00
modmuss
9468a19de0
Configure spotless for imports, sort imports. (#3365)
* Configure spotless to also do imports. Allows for auto applying.

* Order imports
2023-10-22 13:35:58 +01:00
modmuss
6f59c1844c
Update to loom 1.4 (#3341)
* Update to loom 1.4

* Try java 21

* Revert "Try java 21"

This reverts commit 5cb2394587.

* Try java 21 again
2023-10-01 12:36:35 +01:00
modmuss
74a33ae79d
Fix ClientConfigurationNetworkAddon.handleReady() being called too late. (#3331)
This fixes a crash when assertions are enabled.
Also fixes ClientConfigurationConnectionEvents.READY being called at the incorrect time.
Assertions have also been enabled for all Fabric API run configs.
2023-09-23 10:08:54 +01:00
modmuss50
0287208bff Update mod publish plugin. 2023-08-31 12:54:59 +01:00
modmuss
db99c88865 Make deprecated modules opt-out instead of opt-in (#3246)
* Make deprecated modules opt-out instead of opt-in

* Add comment

* Update build.gradle

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

---------

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2023-08-13 16:14:12 +01:00
modmuss50
a336222d5a Fix publishMods dryRun 2023-08-09 18:10:52 +01:00
modmuss
0b2eb405dc
[1.20.2] Support common registration packets. Add configuration task API (#3244)
* Config networking refactor :)

* Add some unit tests for common packets.

* write FabricPacket on network thread.
Split ServerConfigurationConnectionEvents into two.

* Fixes

* Rename event

* Add a testmod + ssome docs

* Improve registry sync fixing deadlock in a number of cases.

* Cleanup channel events.

* Review feedback and fixes.
2023-08-09 16:30:51 +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
modmuss50
91e182c28a Bump version 2023-06-13 12:49:45 +01:00
modmuss
b3afc78b68
Setup unit tests & format gradle files. (#3073) 2023-05-30 13:07:11 +01:00
Roman / Linnea Gräf
7f4bf1fd8e
Add metadata information to POMs (#3074)
* Add metadata information to POMs

* Add name, description, url and issue management

Also update the license name and an url to the fabric website
Pulls name and description from the fabric.mod.json

* Fix imports and make git optional

* Remove commit from maven metadata
2023-05-30 12:52:53 +01:00
Technici4n
7bf08b2e0c Remove texture indices and make material AO a TriState (#3044)
* Reorganize method order

* Remove texture indices

- Add allow passing shade boolean to QuadView#toBakedQuad
- Add MutableQuadView#fromVanilla(int[], int)
- Add NonExtendable annotation to SpriteFinder and RendererAccess
- Add note to RenderContext#bakedModelConsumer

* Make Material AO a TriState

Co-authored-by: PepperCode1 <44146161+PepperCode1@users.noreply.github.com>

* Rename spriteUnitSquare -> uvUnitSquare

* Remove toBakedQuad with shade boolean parameter

* Add custom apiNote, implSpec, and implNote javadoc tags

* Reject null BlendMode and AO; clarify fromVanilla(int[], int) javadoc

* cullFace nullability, fromBakedQuad shade clarification, toBakedQuad color index

* Add QuadView#copyUv and minor improvements

* Nullability tweaks

---------

Co-authored-by: PepperCode1 <44146161+PepperCode1@users.noreply.github.com>
2023-05-14 15:01:41 +01:00
modmuss50
fb8d95dacb Split test mods into client and common. (#3033) 2023-05-01 14:04:29 +01:00
modmuss50
b3f2574b16 23w17a 2023-04-26 18:18:06 +01:00
modmuss50
c2fad32519 Update to Loom 1.2 and Gradle 8.1 (#3016) 2023-04-23 13:24:38 +01:00
modmuss50
d537279b82 23w12a 2023-03-22 17:01:08 +00:00
modmuss50
b8ac354064 1.19.4 2023-03-14 18:32:37 +00:00
modmuss50
683b8893da Update to Loom 1.1 (#2860)
(cherry picked from commit eff3bcb77a)
2023-01-31 09:53:30 +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
1134c5b850
Remove leftover @ApiStatus.Internal annotations and add annotation validation (#2825)
* Remove leftover `@ApiStatus.Internal` annotations and add annotation validation

* Simplify

* Simplify more

* Update gradle/validate-annotations.gradle

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

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2023-01-05 12:50:15 +00:00
modmuss50
0db3bc5ba9
Remove 3rd party JD links (#2752)
- They are unstable, when any one of these sites goes down it fails the whole build. And leads to dead links in our javadoc's

- A lot of them are not for the specific version being used.

I will revist this to find a better longer term solution soon. 👍
2022-12-12 19:11:29 +00:00
modmuss50
996b7d73fc Update signing Gradle plugin
(cherry picked from commit 0f74304b0e)
2022-12-11 15:45:07 +00:00
modmuss50
33cd7c5a40
Add producation server test, publish testmod jar to maven. (#2717)
* Add producation server test, publish testmod jar to maven.

* Fix deprecation
2022-12-11 13:49:21 +00:00
modmuss50
28ac448f9c Update mappings
Use alternative fastutil javadoc link.
2022-11-24 15:46:56 +00:00
modmuss50
168b712abd
Add coverage task (#2689)
To be ran manually as needed.
2022-11-24 15:04:21 +00:00
modmuss50
eed73ed20d
Add license to client only etries for client modules. (#2683) 2022-11-22 16:49:14 +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
51853d05f3
Update Gson javadoc link (#2664) 2022-11-20 13:18:57 +00:00
modmuss50
f75bcd18f3
22w44a (#2632)
Co-authored-by: Sebastian Hartte <shartte@users.noreply.github.com>
2022-11-03 13:48:27 +00:00
apple502j
51f6ee1127
Link to JOML/Jetbrains Annotations, update Guava link (#2614)
* Link to JOML, update Guava link

* Also add Jetbrains Annotations
2022-10-28 18:25:40 +01:00
modmuss50
75e98211bd
22w42a 🐫 (#2599)
Co-authored-by: shartte <shartte@users.noreply.github.com>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2022-10-22 20:38:33 +01:00
modmuss50
79adfe0a0e
Update Loom, Yarn, Checkstyle (#2538) 2022-09-25 14:46:02 +01: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
wafflecoffee
2b0146fe54
Update Modrinth plugin version (#2082)
* Update Modrinth plugin version from 1.1.0 to 2.4.3

* Fix checkVersion task
2022-09-11 14:19:21 +01:00
modmuss50
aeb40ebeab
Rename and validate Mixin class names. (#2450)
And update loom.
2022-08-15 18:59:19 +01:00
modmuss50
f60060dfe3
Rename modid to "fabric-api" and provide "fabric". Update loom (#2446)
* Rename modid to "fabric-api" and provide "fabric"
Update loom
Update loader
Update gradle

* opps

* Update loom and gradle again.
2022-08-06 19:05:38 +01:00
modmuss50
5eb68ef24d 1.19.2 2022-08-05 15:20:07 +01:00
modmuss50
6be91f4124 1.19.1 2022-07-27 20:29:47 +01:00
modmuss50
64e495f64a Enable parallel builds by default.
Update remotesign to a parallel capable version.
Set org.gradle.parallel.threads in actions as we are IO bound.
2022-06-30 18:20:40 +01:00
modmuss50
d5533c01e6 1.19.1-pre2 2022-06-30 18:19:22 +01:00
modmuss50
dc39553a61 Fix FabricParticleTypes being incorrectly marked as client only. Closes #2297 2022-06-08 19:44:33 +01:00
modmuss50
44cddb4e00 Update curseforge version. 2022-06-07 20:34:37 +01:00
Technici4n
123f0c73d5 A few datagen fixes (#2250)
* Include datagen in the production fatjar. Closes #2228

* Allow exclusion of block loot tables from strict validation. Closes #2241

* Auto-generate item models even when strict validation is disabled. Fixes #2240

(cherry picked from commit 4d962b4e9e)
2022-06-04 21:09:22 +01:00
modmuss50
899286998c
Create fat testmod jar (#2256) 2022-05-24 15:04:30 +01:00
modmuss50
0ba6bb52f5 Apply process resources to all sourcesets. Fixes #2236 2022-05-21 23:11:44 +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