Commit graph

44 commits

Author SHA1 Message Date
modmuss
10ce000fa5 Setup unit tests & format gradle files. (#3073) 2023-05-30 13:10:24 +01:00
modmuss50
aeb40ebeab
Rename and validate Mixin class names. (#2450)
And update loom.
2022-08-15 18:59:19 +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
d882b91555
Port to 22w06a (#1989)
This snapshot is possibly one of the most impactful for API we have ever had. This PR is an inital port to support 22w06a, stuff will be missing and broken. 

# Removed modules:
- fabric-mining-levels-v0 - Previously deprecated
- fabric-object-builders-v0 - Previously deprecated
- fabric-tag-extensions-v0
- fabric-tool-attribute-api-v1

# Modules with API breaking changes:
- fabric-biome-api-v1
- fabric-content-registries-v0
- fabric-data-generation-api-v1
- fabric-mining-level-api-v1
- fabric-object-builder-api-v1
- fabric-resource-conditions-api-v1
- fabric-structure-api-v1

# Impactful API changes:
### fabric-object-builder-api-v1
- Removed - FabricBlockSettings.breakByHand
- Removed - FabricBlockSettings.breakByTool  - Previously deprecated

# Notable changes

- fabric-registry-sync-v0 moves vanilla's new registry freezing to a later point in time, allowing mods to add to the registry during init.

# Known issues:
- ServerBugfixMixin used to fix https://bugs.mojang.com/browse/MC-195468 has not yet been ported.
2022-02-11 17:02:44 +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
modmuss50
cbda9318cd
Update Gradle/Loom and mappings. (#1692)
* Update Gradle/Loom and mappings.

* Fix deprecations and enforce

* Review feedback

* More cleanup and deprecation fixes.
2021-08-31 14:00:20 +01:00
modmuss50
b7ab612143 1.17-pre1 2021-05-27 18:40:00 +01:00
Player
75bf7f0f4a Bump versions 2021-05-20 01:32:24 +02:00
modmuss50
a02b4463f9 21w19a 2021-05-12 20:23:04 +01:00
modmuss50
f08a69e19f 21w18a 2021-05-05 19:53:16 +01:00
Player
8d89ed54f2 Bump versions 2021-05-01 23:36:32 +02:00
Technici4n
1f1ad061d4 Fix trade offers by writing to the trade map directly (#1430)
* Write to the trade map directly

* Add warning when TradeOfferHelper#refreshOffers is called

* Correctly use synchronized, just in case

* Add null check - PR should be ready for merge now

* Make ctor private to hide it from javadoc
2021-05-01 23:23:40 +02:00
modmuss50
40e100eb8e 21w07a - Fairly major mappings update 2021-02-17 19:11:45 +00:00
modmuss50
524a2e859c Bump Version 2021-02-14 18:03:24 +00:00
modmuss50
92519afafe Version bump 2021-01-19 19:38:22 +00:00
Thalia Nero
9f7a7423f3 Add module dependencies to maven POM (#1104) 2020-11-15 19:46:01 +00:00
modmuss50
df3673f0bc 20w46a 2020-11-11 20:18:14 +00:00
modmuss50
96d1e9eae1 Version bump 2020-11-07 20:32:46 +00:00
modmuss50
3e817a62fd Version bump 2020-11-05 18:26:58 +00:00
modmuss50
a89534abff Add back renamed lightLevel method, I believe the root cause of this issue is in tiny remapper 2020-10-28 08:44:17 +00:00
modmuss50
a4467d2a9c Bump version 2020-10-27 18:36:48 +00:00
modmuss50
c270b09831 Version Bump 2020-10-05 19:41:39 +01:00
modmuss50
f8ac1db2b1 Version bump 2020-09-27 12:38:48 +01:00
modmuss50
c1aa8ed8d7 Version Bump 2020-09-18 18:48:09 +01:00
i509VCB
670bc71753 Fix bug with creating custom villager types and TradeOffer utilities. 2020-09-18 18:09:23 +01:00
modmuss50
432ea188f9 Bump version 2020-09-03 20:00:01 +01:00
modmuss50
e81ec80bf4 Version bump 2020-08-13 18:17:47 +01:00
modmuss50
ad64ee68e8 Bump version 2020-08-07 19:52:25 +01:00
shedaniel
ba4afa57ac
Fix the javadocs of object-builders as the method was moved from material to block. (#892)
Signed-off-by: shedaniel <daniel@shedaniel.me>
2020-07-20 19:35:49 +01:00
modmuss50
e00ecb5fb8 Bump version 2020-06-21 13:42:26 +01:00
modmuss50
059ea866ec update mappings 2020-06-09 22:29:07 +01:00
modmuss50
74492929a5 Stabilise experimental api's 2020-06-04 21:22:30 +01:00
modmuss50
0d474ec430 1.16-pre1 2020-06-04 21:20:20 +01:00
i509VCB
c6ab3e1b2d
Make the create method public on villager profession builder (#647)
* Make the create method public

* Bump module ver

* Bump main version
2020-05-29 23:34:00 +01:00
modmuss50
0a73535729 Bump version 2020-05-29 20:11:58 +01:00
modmuss50
da175ad6ad 20w22a 2020-05-29 15:56:10 +01:00
modmuss50
6d41837a96 20w20a 2020-05-13 18:42:14 +01:00
modmuss50
c8964fcb8d tool attribute 1.1 (#589)
* Actual support

* Remove this useless mixin

* Resolve some issues

* Remove duplicate entries

* maybe?

* fix max breaking speed

* choose an item that is the closest

* Set version to 1.1

* better docs remove stuff

* deprecation doc and no todo comments

* Check if block has valid mining level

* javadocs

* Most of the issues resolved

* Some more javadoc and resolve some issues

* Forgot to change order for these

* Adds post process method to DynamicAttributeTool
Fixed going to vanilla again to query
Fixed tool mining level < 0
Fixed vanilla items on modded blocks not working
Renamed taggedToolHandlerInvoker to toolHandlerInvoker
Renamed entries to ENTRIES

* New comparision method for modded tools to vanilla blocks

* Remove useless mixins and use getMaterial().getMiningSpeed to support more tools.

* Simply mixin

* Some useful javadocs

* Fix license

* Bump fabric-object-builders-v0 because we are good

* Bump version of fabric-object-builder-api-v1 because we are nice

* Resolve some issues

* a

* remove vanilla tools vanilla blocks thing ok

* descriptive

* Get the faster speed instead

* Rename ModdedToolsVanillaBlocksToolHandler

* Remove tri state

* Fix compile errors

* testmod

* fix formatting

* fix testmod javadoc

* forgot to license format testmod

* Bump to 1.1.0
# Conflicts:
#	fabric-object-builder-api-v1/build.gradle
#	fabric-tool-attribute-api-v1/build.gradle
#	fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/api/tool/attribute/v1/DynamicAttributeTool.java
#	fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/MixinItemStack.java
#	fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/MixinPlayerInventory.java
2020-05-11 22:12:43 +01:00
modmuss50
57dbcc4ce5 Version bumps 2020-05-07 22:12:06 +01:00
modmuss50
84cce57f4d 20w19a: Deprecated min/maxDespawnDistance in FabricEntityTypeBuilder as they are no longer applicable to the EntityType.
This was done to keep mod compat and will be removed very shortly. I dont think they were used by many mods (only added in a recent 1.16 snapshot) so I think this is the best course of action.
2020-05-06 18:46:36 +01:00
modmuss50
bf7c167a1d Fix crash 2020-04-30 00:45:49 +01:00
i509VCB
c38e8d9e1e
Object builders v0->v1 migration (#537)
* Migrate object builders from v0 -> v1

* Port entity attribute registry to v1
2020-04-29 22:48:08 +01:00