Commit graph

449 commits

Author SHA1 Message Date
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
modmuss50
55043e695a 1.19-pre1 2022-05-18 19:16:52 +01:00
modmuss50
3847c74085 Fix release build. 2022-05-01 16:16:30 +01:00
modmuss50
df3654b364
Move deprecated modules, create own maven BOM for the deprecated modules. (#2171)
* Move deprecated modules to a sub directory.
Remove deprecated modules from the default maven pom
Create a new "fabric-api-legacy" bom with the deprecated modules.

* Fix main "fabric" project not beign a dep for the legacy bom.

* rename artifact to fabric-api-deprecated

* Spotless

* Use the latest version of spotless.
2022-05-01 15:44:16 +01:00
modmuss50
ec94c6f636
22w16b
Co-authored-by: Player <player@player.to>
2022-04-20 22:22:10 +01:00
Deximus-Maximus
614e540081 Add fabric-convention-tags-v1 (#2063)
* Add framework for common-tags-v1

* Add javadoc to fabric tool tags

* Fix wrong package arrangement

* Add some more tags

* Add more biome tags
Thanks to TelepathicGrunt for the suggestions

* Update fabric-common-tags-api-v1/src/main/java/net/fabricmc/fabric/api/tags/v1/CommonEnchantmentTags.java

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>

* Update fabric-common-tags-api-v1/src/main/java/net/fabricmc/fabric/api/tags/v1/CommonEnchantmentTags.java

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>

* Clarify enchantment tags

* Add no-shulker tag

* Add minecart tag

* Begin work on datagen and populating tags

* Add bucket tags

* First pass at populating biome tags

* Add boat tag

* Fix missing inclusion of f:shears into c:shears

* Hide fabric tool tags in datagen

* Add weapon damage enhancement tag

* Change impl package name to be inline with rest of fapi

* Rename enchantment tags

* Some cleanup

* Populate blocktag datagen
Remove crops tag

* Add javadoc links to vanilla counterparts

* Move datagen to its own sourceset

* Fix package names for checkstyle

* Populate more entries

* Remove exclusion tag

* Add license headers
Fix checkstyle

* Add missing nether quarts to ores tag

* Use `worldgen/biome` instead of `biomes` for biome tags

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>

* Manually include all biomes for overworld

* Remove ancient debris from NetheriteOres

* Add and populate glass tags

* Add and populate movement enhancement

* Break up item tags

* Add armour damage reduction tag

* Add missing ore and related tags

* Fix quartz tags

* Add floral tag

* Add golden carrot

* Correct some biome tag issues

* Separate SNOWY_PLAINS and PLAINS

* Add SNOWY tag and remove snowy biomes from ICY

* Correct enchantment tag
Remove silk touch tag

* Fix more biome issues

* Add deep and shllow ocean tags

* Add no-move tag

* Remove netherite ores

* Add shulker tags

* Add raw ore

* Add dye tags

* Fif dye tags

* Fix typo

* Document some biome tags where the naming may not be clear

* Remove tag mirroring for blocks and items

* Rename module
Remove unused methods

* Rename impl package

* Rename packages and module

* Rename folder

* Rename api classes

* Add generateResources task to cover all resource generation tasks.

* Add generated tags to repo

* Fix ocean tag excluding shallow ocean

* Iterate registry to generate foods tag

* Remove cache, add to gitignore

* Rename generated folder

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2022-04-17 19:49:14 +01:00
Player
e47f1c6de5 Update CF game version 2022-03-18 00:46:36 +01:00
modmuss50
5ceae78bef
Jar and PGP sign artifacts. (#2062)
* Jar and PGP sign artifacts.

* Fixes.

* Update remotesign and fixes.

* Update gradle.

* Revert "Update gradle."

This reverts commit 91b96ec2db.
2022-03-13 13:52:58 +00:00
deirn
ac596cd27a
add fabric-registry-sync-v0 to all testmods runtime classpath (#2054) 2022-03-13 13:52:18 +00:00
modmuss50
420242637b Update to stable 1.18.2. Remove previously disabled 'fabric-structure-api-v1' module. 2022-03-02 17:07:42 +00:00
modmuss50
b75bffd5ad Bump version. 2022-02-02 18:53:32 +00: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
c2214d9892 Update minimum loader version to 0.12.12 and build against 1.18.1.
This is done to help promote people to use a loader version that has full mitigations against the log4j exploits.
2021-12-22 17:22:58 +00:00
modmuss50
3f7d361425 Bump version 2021-12-03 14:51:34 +00:00
modmuss50
7242e9d77d 1.18 2021-12-03 13:49:24 +00:00
modmuss50
3fec4ad922
Fabric Data Generation API (#1824)
* First look at datagen

* First pass on item/block models

* Tags

* Advancements + BlockFamilies

* Loot tables

* Cleanup

* Start on javadocs, and cleanup

* Update for new mappings.

* Added client-side entrypoint and more logging.

* Complete javadoc, add modid filter and misc fixes/cleanup.

* Minor fixes.

* Renames and misc changes.

* Strict validation fixes.

* Apply suggestions from code review

Co-authored-by: Shnupbups <shnupbups@gmail.com>

* Update fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/FabricDataGenerator.java

Co-authored-by: Shnupbups <shnupbups@gmail.com>

* Update fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/FabricDataGenerator.java

Co-authored-by: Shnupbups <shnupbups@gmail.com>

* Review fixes.

* Set generated dir as resources not sources.

Co-authored-by: Sebastian Hartte <shartte@users.noreply.github.com>
Co-authored-by: Shnupbups <shnupbups@gmail.com>
2021-12-03 13:35:29 +00:00
modmuss50
6f8dfbb3f7
Update loom and misc buildscript fixes (#1864)
Fixes sources not being published to maven.
2021-11-25 15:06:25 +00:00
modmuss50
216c649428 Fix release 2021-11-16 19:18:58 +00:00
modmuss50
e77d3ea62f 1.18-pre2 & Java 17 2021-11-16 18:41:10 +00:00
modmuss50
713ff39cb4 Work around a loom bug causing empty jars to be pushed to maven local. 2021-11-16 13:00:59 +00:00
modmuss50
b4f4f6cda4 Update Loom and Loader. Cleanup/improve buildscript. 2021-11-12 15:02:54 +00:00
modmuss50
2e160e0f26 1.18-pre1: without the biome api 2021-11-11 19:01:49 +00:00
modmuss50
c3150579ea Bump version 2021-11-06 20:31:21 +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
e14f9c8f05 21w44a 2021-11-03 18:57:29 +00:00
modmuss50
168f4a3be2 Bump version 2021-10-31 11:13:10 +00:00
modmuss50
0b944752fc 21w43a 2021-10-27 20:48:33 +01:00
modmuss50
938d6de077 21w42a 2021-10-20 21:31:17 +01:00
modmuss50
0f72ccf1e7 Bump version 2021-10-17 19:18:51 +01:00
modmuss50
bb09662468 21w41a
Remove SurfaceBuilder related APIs.

Remove PersistentDynamicRegistryHandler as the bug (MC-202036) it fixed was fixed a few weeks ago.
2021-10-13 18:55:15 +01:00
modmuss50
b43623a4c6 Fix refamp generation for gametest API. Fixes #1722 2021-10-09 20:23:07 +01:00
modmuss50
d1937ce458 21w40a 2021-10-07 16:10:04 +01:00
modmuss50
c683a6555f Bump version 2021-10-07 13:02:52 +01:00
modmuss50
6eb8b35a31 21w39a 2021-09-29 20:03:16 +01:00
modmuss50
dc3d5c4769 21w38a 2021-09-23 18:30:50 +01:00
modmuss50
f7f6de1ef6 Bump version 2021-09-21 12:52:28 +01:00
modmuss50
8f2c3e04fb Bump version 2021-09-21 11:41:06 +01:00
modmuss50
d11c59e0d5 21w37a: Finish porting mixins + fix test mod, runs in prod now. 2021-09-20 13:50:25 +01:00
modmuss50
dc466edebd Update loom 2021-09-19 09:02:15 +01:00
modmuss50
5553aff888 21w37a: Compile pass 2021-09-17 18:42:42 +01:00
modmuss50
46582230fb Bump version 2021-09-09 19:28:18 +01:00
modmuss50
fc40aa9d88 Bump version 2021-09-01 18:57:12 +01: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
fe42ded042
Fabric Game Test API (#1622)
* First proof of concept pass

* Cleanup and fixes.

* Checkstyle

* Fix running.

* Updated

* Fix build

* Cleanup + fixes.

* Fix package

* and test package

* game-test -> gametest

* Fix exclusion

* Review feedback and fixes.

* Remove comment

* Review feedback.

* Don't set the game instance

* Fix

* Work around shadowed fields from super classes not getting remapped... dejavu anyone?

See: 2e359e933a (diff-0956caa3cd38a54f5910979f0cfd98198a93e4d585e111300f2f7ab7301ad122)

* Add mixin to exit with a non-zero exit code in case the test server fails to start.

* Enable JUnit XML report generation.

Co-authored-by: Sebastian Hartte <sebastian@hartte.de>
2021-08-31 13:59:35 +01:00
modmuss50
62e33f4127 Fix dedicated dev server crash #1670 2021-08-25 20:05:23 +01:00
modmuss50
077fc48468 Work around shadowed fields from super classes not getting remapped... dejavu anyone?
See: 2e359e933a (diff-0956caa3cd38a54f5910979f0cfd98198a93e4d585e111300f2f7ab7301ad122)
2021-08-24 21:49:05 +01:00
modmuss50
b06cb95bac Bump version 2021-08-24 18:52:24 +01:00
modmuss50
8195aec1e2 Bump version 2021-08-21 20:29:23 +01:00
modmuss50
d19fec74a7 Revert accidental loom update. 2021-08-20 12:14:55 +01:00
modmuss50
0b4433eeba Bump version 2021-08-20 12:14:05 +01:00
modmuss50
3fe74aa162 Bump version 2021-08-18 18:39:11 +01:00
Technici4n
0d7a4ee070
Fabric Transfer API: item transfer and fluid-containing items. (#1553)
* Add item and "fluid item" APIs

* Rework ContainerItemContext javadoc

* Rework the Inventory wrapper API

* Cleanup inventory wrapper implementation, add < 64 max stack count test, separate tests better

* Fix Inventory wrapper not limiting the stack count correctly (thanks @lilybeevee!)

* Rewrite inventory wrapper, add SingleStackStorage base implementation

* Composters

* SingleStackStorage adjustements

* Bump version

* Move icon to correct location. Closes #1565

* Bump version

* Remove composter implementation (it's broken), slight renames

* Fix SidedInventory extract

* Bump version

* Don't use MAVEN_USERNAME if it's not specified

* Add comparator output, add missing markDirty calls, fix tests

* Bump version

* Add SingleVariantStorage, deprecate SingleFluidStorage, definalize a few things, make sure markDirty() is only called once per successful outer transaction in inventory wrappers

* Add composter support

* Move EmptyFluidView to BlankVariantView, update README and package-info

* Bump version

* Key -> variant

* Add Transaction#openNested(@Nullable TransactionContext)

* Add SingleSlotContainerItemContext

* Bump prerelease version

* Remove useless comment

* Remove ContainerItemContext#getWorld

* Bump prerelease version

* Add StorageUtil#findExtractableContent and ContainerItemContext#withInitial

* Bump prerelease version
2021-08-17 19:08:09 +01:00
modmuss50
2e8bd82f1c Bump version 2021-08-08 18:39:30 +01:00
modmuss50
5ab9934c7c Bump version 2021-07-23 17:28:43 +01:00
modmuss50
fb3bff2eed
Generate a changelog (#1592) 2021-07-23 17:05:52 +01:00
modmuss50
3fe3c3f50c Bump version 2021-07-12 19:25:45 +01:00
Technici4n
c09be4c48a
Fabric Transfer API: "fluid only" edition (#1356)
* Original fluid API design

* Rework the transaction system

* First javadoc pass

* Add a testmod, a base implementation for fluid storages and fix some little bugs

* Fix checkstyle

* Make Movement#move extract from the view and not the whole Storage

* Document and update FluidPreconditions

* Use for-each in CombinedStorage and document a little

* Remove useless overrides in Insertion/ExtractionOnlyStorage

* Move SnapshotParticipant#snapshots to the top of the class, and make updateSnapshots public

* Fix garbage collection of unused CauldronWrappers

* Use ArrayList directly

* Remove locking, reorganize transaction implementation, and add outer close callback

* Add more javadoc

* Rework Storage#forEach into Storage#iterator

* Add a few missing `transaction.addCloseCallback(iterator)`

* Add anyView(), exactView(), capacity() and isEmpty()

* Add Storage#iterable to make iteration friendlier to for loops

* Storages may now have multiple open iterators

Co-authored-by: Devan-Kerman <dev.sel20@gmail.com>

* Make CombinedStorage#supportsInsertion/Extraction iterate through the parts

* Block updates should be used when the supportsInsertion/Extraction status changes

* Fluid -> FluidKey

* Remove all references to ItemKey inside FluidKey, and other minor tweaks

* Cache FluidKeys with a null tag inside Fluid directly

* Fluid unit convention

* Add FluidKeyRendering and RenderHandler

* Bump version for more testing (also published to my maven)

* Add SingleViewIterator, massively reduce code duplication!

* Make API experimental, and add README

* Bump version

* Apparently Fluids.EMPTY is flowing

* Add package info

* Minor adjustements

* 1.17 port, cauldron support, add ResourceKey

* Checkstyle, gas rendering, use record for ResourceAmount

* Add a few helpers, rename some stuff

* Remove anyView, allow nullable in StorageUtil#find*, fix missing try block

* Slight findStoredResource cleanup

* Slightly improve implementation

* Bump version

* Fix wrong transaction

* I wrote in a comment that this could happen...

* Fix SingleFluidStorage bugs, add tests in the testmod, add testmod assets

* Add extract stick

* Rename a few things

* `ResourceKey<T>` -> `TransferKey<O>`
* `ResourceKey#getResource()` -> `TransferKey#getObject()` as resource is already widely used through the API for the keys themselves.
* `tag` -> `nbt`
* Add `get` prefixes to `StorageView` functions

* Bump version

* FluidKey -> FluidVariant

* Bump version

* Expand getVersion() documentation, make it thread-safe and use long.

Co-authored-by: Player <player@player.to>

* empty resource -> blank resource, and update SingleFluidStorage

Co-authored-by: Player <player@player.to>

* Make CauldronFluidContent a final class instead of a record.

Co-authored-by: Player <player@player.to>

* Get rid of CauldronFluidContent#minLevel (was always 1)

* Fix nested commits. (Thanks @warjort!)

* Separate Transaction and TransactionContext

Co-authored-by: Devan-Kerman <dev.sel20@gmail.com>
Co-authored-by: Player <player@player.to>

* Change WorldLocation into a private record

* Bump version

* Guard against exceptions thrown in close callbacks

* Make sure blank fluid variants don't have a tag

* Add documentation, make CauldronStorage clearer

Co-authored-by: frqnny <45723631+frqnny@users.noreply.github.com>

* Allow null storages in StorageUtil#move, and clarify sidedness of FluidStorage

* Add explicit hashCode and equals for transfer variants

* Remove ugly equals and hashCode overrides, and add constant time hashcode spec

Co-authored-by: Devan-Kerman <dev.sel20@gmail.com>
Co-authored-by: liach <liach@users.noreply.github.com>
Co-authored-by: Player <player@player.to>
Co-authored-by: frqnny <45723631+frqnny@users.noreply.github.com>
2021-07-12 18:28:33 +01:00
modmuss50
6cefd57746 1.17.1-rc2 2021-07-05 18:44:49 +01:00
Player
a722d8c028 Bump versions 2021-06-20 16:57:51 +02:00
modmuss50
e369698318 Bump version 2021-06-14 23:07:31 +01:00
modmuss50
e2961fee74 Fix datapack driven worldgen not working on dedicated servers. Closes #1478 2021-06-13 00:50:44 +01:00
Player
198a96213c Bump versions 2021-06-11 17:25:45 +02:00
Player
676f40fa73 Bump versions 2021-06-10 14:21:32 +02:00
Cool_Mineman
8a5c621a87 Fix #1273 (Make MultipartBakedModel and WeightedBackedModel implement FabricBakedModel properly) (#1301)
* fix #1273

* Expand testmod to test multipart and weighted models with FRAPI submodels

Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
2021-06-10 14:09:00 +02:00
modmuss50
be9da31056 1.17-rc (Just mappings)
This is a little behind just wanted to get it building against rc1
2021-06-07 11:01:31 +01:00
modmuss50
b7ab612143 1.17-pre1 2021-05-27 18:40:00 +01:00
Player
9e521e1377 Fix biome modifications not being applied (matching/porting bug)
Co-authored-by: frqnny <45723631+frqnny@users.noreply.github.com>
2021-05-27 04:20:34 +02:00
modmuss50
5d08011ac3 Bump version 2021-05-25 18:33:34 +01:00
Player
75bf7f0f4a Bump versions 2021-05-20 01:32:24 +02:00
Player
8297e96629 21w20a
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-05-20 01:15:25 +02:00
modmuss50
4b807cec5b Bump version 2021-05-12 20:24:00 +01:00
modmuss50
a02b4463f9 21w19a 2021-05-12 20:23:04 +01:00
Player
74330c9e99 Fix network api throwing on client/server query disconnects 2021-05-10 14:40:38 +02:00
modmuss50
f08a69e19f 21w18a 2021-05-05 19:53:16 +01:00
Player
daa3672176 Bump versions 2021-05-05 07:59:13 +02:00
Player
8d89ed54f2 Bump versions 2021-05-01 23:36:32 +02:00
Player
4e7237c745 21w17a 2021-04-29 00:29:12 +02:00
Player
4d9fb18c78
Bump version to retry after CF API failure 2021-04-27 18:12:58 +00:00
Player
2f893d9760
Bump version 2021-04-27 17:56:23 +00:00
modmuss50
33dd200e73
#1431 - Foce update MCE to fix bad refmap (#1433) 2021-04-27 17:55:20 +00:00
Player
891f9e0762 Bump version 2021-04-26 21:50:10 +02:00
Player
b90688755c Update mc version to 21w16a 2021-04-26 21:40:28 +02:00
Player
ecfd213c4f Bump version 2021-04-18 19:29:34 +02:00
modmuss50
12865e786c Version bump 2021-04-14 20:03:08 +01:00
modmuss50
4e7396f96c Fix accidental copy/paste 2021-04-14 18:35:48 +01:00
modmuss50
4114fbdc82 21w15a - Just a singular mapping update. 2021-04-14 18:33:20 +01:00
modmuss50
82d2b1c3ac Bump version 2021-04-07 18:50:17 +01:00
modmuss50
413ddf6456 21w14a - Mappings update 2021-04-07 18:46:09 +01:00
modmuss50
23b3c92ea9 21w13a 2021-03-31 20:52:51 +01:00
modmuss50
bb68760067 Bump version 2021-03-22 19:04:47 +00:00
modmuss50
ce7984c3e7 Bump version again due to partial release.
Some release steps completed without others leaving things in a weird state, going to fully re-release this version.
2021-03-17 20:28:23 +00:00
modmuss50
03bff30f22 21w11a 2021-03-17 19:14:28 +00:00
modmuss50
a8de2ebd99
Bump version 2021-03-11 22:02:56 +00:00
modmuss50
41a6855274 21w10a 2021-03-10 19:21:48 +00:00
modmuss50
a8e5632933 Bump version. 2021-03-08 21:03:54 +00:00
modmuss50
0d6fddeefc Fix MixinServerPlayNetworkHandler not applying when the synthetic fields have been renamed.
This happens when using mojmap in dev.
2021-02-28 21:24:27 +00:00
modmuss50
7268309e55 21w08a 2021-02-24 20:30:53 +00:00
modmuss50
f9d6353a62 Bump version 2021-02-23 18:31:52 +00:00
modmuss50
40e100eb8e 21w07a - Fairly major mappings update 2021-02-17 19:11:45 +00:00