Commit graph

342 commits

Author SHA1 Message Date
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
modmuss50
2a1dabb6d4 Bump Version 2021-02-14 19:02:40 +00:00
modmuss50
524a2e859c Bump Version 2021-02-14 18:03:24 +00:00
modmuss50
2992645b97 21w06a 2021-02-10 18:58:49 +00:00
modmuss50
1eb2670e8a 21w05a 2021-02-03 19:53:20 +00:00
modmuss50
7053477453 Actually bump version 2021-01-27 19:29:29 +00:00
modmuss50
73abe4c989 Bump version 2021-01-27 19:12:02 +00:00
modmuss50
ac6a8f141e Modrith upload (#1280)
(cherry picked from commit 281de346c7)
2021-01-25 18:24:20 +00:00