Commit graph

335 commits

Author SHA1 Message Date
modmuss50
77996a0c10 Fix client crash introduced in the 23w42a port 2023-10-18 18:13:34 +01:00
modmuss50
2148f3b922 23w42a 2023-10-18 17:14:09 +01:00
modmuss50
13986bf795 23w41a 2023-10-11 16:56:02 +01:00
modmuss50
ae7e00873a Bump version 2023-10-08 13:35:10 +01:00
modmuss50
10292b95f5 23w40a 2023-10-05 09:45:32 +01:00
modmuss50
670b2ea08d Bump version
All versions bumped due to Loom upgrade.
2023-10-01 12:48:38 +01:00
modmuss50
3ccb77f2a4 Bump version 2023-09-23 10:11:13 +01:00
modmuss50
b1913a6ae6 Bump version 2023-09-21 19:33:57 +01:00
modmuss50
8fe45160ad 1.20.2 2023-09-21 19:23:46 +01:00
modmuss50
0708114127 Bump version 2023-09-18 18:07:48 +01:00
modmuss50
5c133856b8 1.20.2-rc2 2023-09-18 16:13:25 +01:00
modmuss50
daef22a2cb 1.20.2-rc1 2023-09-15 15:27:05 +01:00
modmuss50
109a65e5af 1.20.2-pre4 2023-09-13 17:22:35 +01:00
modmuss50
3bafade3d1 1.20.2-pre2 2023-09-07 15:23:20 +01:00
modmuss50
435112151c 1.20.2-pre1 2023-09-05 16:31:02 +01:00
modmuss50
462ea84f7d Bump version 2023-09-03 21:54:51 +01:00
modmuss50
22fb02c315 Bump version 2023-09-03 13:34:17 +01:00
PepperCode1
73761d2e2d BlockView API v2 (#3268)
* Fabric BlockView API v2

* Fix dependency on nonexistent module

* Add test for biome getter

* Improve getBiomeFabric documentation

* Simplify javadoc

(cherry picked from commit 92a0d36746)
2023-09-03 13:13:56 +01:00
modmuss
fce67b32cf
23w35a (#3292) 2023-08-31 12:50:38 +01:00
modmuss50
f091af96c5 23w33a 2023-08-17 16:51:04 +01:00
modmuss50
11da534fdc Bump version 2023-08-13 16:26:33 +01:00
modmuss50
09816d0313 Fix createAndPopulateRegistryMap() always returning null, preventing registry sync.
This was caused by the changes in the port to 23w32a
2023-08-11 12:14:20 +01:00
modmuss50
0ba8e9ce03 23w32a 2023-08-09 18:04:04 +01:00
modmuss
86b12645b9
23w31a 2023-08-07 09:09:38 +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
d9acd820fc Bump version 2023-07-25 14:55:57 +01:00
modmuss50
e3d1b5f3d8 Bump version 2023-07-18 13:55:53 +01:00
Technici4n
9386d8a793
Model Loading API v1 (#3145)
This PR deprecates and supersedes the old `fabric-models-v0` module.

## Refactors compared to v0
### Model loading hooks
Mods now register a single `ModelLoadingPlugin` for any change they want to make to the model loading process. (Or multiple plugins if they want to). This replaces the old `ModelLoadingRegistry`.

Here is an example:

```java
ModelLoadingPlugin.register(pluginContext -> {
    // ResourceManager access is provided like in the v0 API, but in a central place, and can be used for shared processing in the plugin.
    ResourceManager manager = pluginContext.resourceManager();

    // Model resource providers still exist, but they are called model resolvers now
    pluginContext.resolveModel().register(context -> {
        // ...
    });
});
```

#### `ModelVariantProvider` -> `BlockStateResolver`
`ModelVariantProvider` was heavily reworked, and is now replaced by the `BlockStateResolver`, with a much better defined contract.

#### `ModelResourceProvider` -> `ModelResolver`
The resource provider is mostly unchanged. The biggest difference is that it is now registered as an event listener. This allows mods to use event phases for ordering between conflicting ~~providers~~ resolvers.

#### Removed custom exception
Additionally, `ModelProviderException` could be thrown by a variant or resource provider in the v0 API. This was not explained in the documentation, and would according to the code stop further processing of the providers and log an error.

In the new API, any `Exception` is caught and logged. If that happens, the other resolvers are still processed. There is no custom `Exception` subclass anymore.

### Helper method to get a `BakedModel` by `Identifier` from the manager
The v0 had such a method in a helper class: `BakedModelManagerHelper#getBakedModel`. It is now interface-injected instead. See `FabricBakedModelManager`.

## New model wrapping hooks
New hooks are added for the various needs of mods that want to override or wrap specific models. Thanks to @embeddedt for contributing an initial version of them!

Here is an example of wrapping the gold model to remove the bottom quads, for example:
```java
ModelLoadingPlugin.register(pluginContext -> {
	// remove bottom face of gold blocks
	pluginContext.modifyModelAfterBake().register(ModelModifier.WRAP_PHASE, (model, context) -> {
		if (context.identifier().getPath().equals("block/gold_block")) {
			return new DownQuadRemovingModel(model);
		} else {
			return model;
		}
	});
});
```

There are 3 events, for the following use cases:
- Wrapping `UnbakedModel`s right when they are loaded. This allows replacing them entirely in dependent models too.
- Wrapping `UnbakedModel`s right before they are baked. This allows replacing them without affecting dependent models (which might not be expecting a model class change).
- Wrapping `BakedModel`s right when they are baked.

Multiple mods have implemented their own version of them. Providing them in Fabric API will make it easier on these mods, and will additionally allow optimization mods that perform on-demand model loading to simply fire the hooks themselves instead of working around injections performed by other mods.

Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
Co-authored-by: PepperCode1 <44146161+PepperCode1@users.noreply.github.com>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2023-07-18 12:53:13 +01:00
modmuss50
1ac061308b Bump version 2023-07-03 14:05:25 +01:00
modmuss50
8643158e89 Bump version 2023-06-21 10:18:14 +01:00
modmuss50
91e182c28a Bump version 2023-06-13 12:49:45 +01:00
modmuss50
5c1d40156b 1.20.1-rc1 2023-06-09 16:09:11 +01:00
modmuss50
96a7932e17 Bump version 2023-05-30 13:41:14 +01:00
modmuss
b3afc78b68
Setup unit tests & format gradle files. (#3073) 2023-05-30 13:07:11 +01:00
modmuss50
e808a8f296 1.20-pre7 2023-05-29 16:13:02 +01:00
modmuss50
df34a27454 1.20-pre6 2023-05-25 14:26:11 +01:00
modmuss50
488c3cd2d8 Bump version 2023-05-24 21:22:22 +01:00
modmuss50
ec0bbba5e9 1.20-pre5 2023-05-23 14:58:33 +01:00
modmuss50
63e9e1806d 1.20-pre3
- Only mapping updates.
2023-05-19 13:34:23 +01:00
modmuss50
b04edc7ab9 1.20-pre2 2023-05-16 15:36:50 +01:00
Technici4n
6b6af38432 Bump version 2023-05-15 21:36:03 +02:00
modmuss50
5495d89582 Bump version 2023-05-14 15:15:39 +01:00
modmuss50
f39272b79c Bump version 2023-05-11 09:31:56 +01:00
modmuss50
4d8536c91f
Add and test for missing method overrides in FabricBlockSettings (#3056) 2023-05-11 09:25:08 +01:00
modmuss50
03ef495b7f 1.20-pre1 2023-05-10 14:51:08 +01:00
modmuss50
cbbb1b3fc0 23w18a 2023-05-03 14:56:35 +01:00
modmuss50
e1361c3ac5 Bump version 2023-05-01 14:12:23 +01:00
modmuss50
bd913b0dc6 Fix FontManagerMixin target. 2023-04-27 12:06:25 +01:00
modmuss50
b3f2574b16 23w17a 2023-04-26 18:18:06 +01:00
modmuss50
07640e5410 Bump versions
All versions bumped due to loom upgrade
2023-04-23 13:39:59 +01:00
modmuss50
c2fad32519 Update to Loom 1.2 and Gradle 8.1 (#3016) 2023-04-23 13:24:38 +01:00
modmuss50
eff26386be
23w16a (#3018)
# Breaking changes
- `VillagerPlantableRegistry` replaced with `ItemTags.VILLAGER_PLANTABLE_SEEDS`
- `FabricItemGroup.builder()` no longer takes an `Identifier`
- `FabricItemGroup.build()` no longer registers the ItemGroup, this now needs to go in the vanilla registry.
- `ItemGroupEvents.modifyEntriesEvent` now takes a `RegistryKey<ItemGroup>` in place of an `Identifier`
- `FabricLanguageProvider` now takes a `RegistryKey<ItemGroup>` in place of an `ItemGroup`
- `IdentifiableItemGroup` removed, replaced with vanilla registries.
- `FabricMaterialBuilder` removed, no replacement.
- `HudRenderCallback.onHudRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `ScreenEvents.beforeRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `ScreenEvents.afterRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `Screens.getItemRenderer()` removed. Replace with `MinecraftClient.getItemRenderer()`

`DrawableHelper` is likely to be renamed soon, see: https://github.com/FabricMC/yarn/pull/3548/
2023-04-20 20:03:32 +01:00
modmuss50
451493807b Bump version 2023-04-11 10:05:43 +01:00
modmuss50
b5a544aa78 Bump version 2023-04-06 15:00:28 +01:00
modmuss50
158c189089 23w14a 2023-04-05 17:18:33 +01:00
modmuss50
2ffbbd0726 Bump version 2023-04-04 13:08:00 +01:00
modmuss50
848ffaabb4 23w13a 2023-03-29 16:07:13 +01:00
modmuss50
b09c81ea46 Fix build by removing old AW 2023-03-22 17:10:28 +00:00
modmuss50
d537279b82 23w12a 2023-03-22 17:01:08 +00:00
modmuss50
88da797301 Bump version 2023-03-15 12:29:56 +00:00
modmuss50
b8ac354064 1.19.4 2023-03-14 18:32:37 +00:00
modmuss50
7d882bf219 1.19.4-pre4 2023-03-08 14:52:28 +00:00
modmuss50
8c25edb404 Fix some ScreenEvents not being called after resizing the window.
1.19.4 specific issue, fixes #2950
2023-03-07 16:15:00 +00:00
modmuss50
4626a20621 Bump version 2023-03-01 13:22:26 +00:00
modmuss50
9003cbe9c4 1.19.4-pre2
Just mapping updates
2023-02-27 16:56:40 +00:00
modmuss50
0abf393c29 Bump version 2023-02-24 10:05:50 +00:00
modmuss50
931a05409c Bump version 2023-02-23 12:59:11 +00:00
modmuss50
5da15ca1b9 1.19.4-pre1 2023-02-22 19:56:50 +00:00
Shnupbups
63b515f4db
BlockSetTypeRegistry and WoodTypeRegistry (#2916)
* BlockSetTypeRegistry and WoodTypeRegistry

Adds `BlockSetTypeRegistry` for creating `BlockSetType`s using Identifiers.
Also adds `WoodTypeRegistry` to replace `SignTypeRegistry`, matching the new more accurate Yarn name. The old `SignTypeRegistry` remains as deprecated for compatibility.

Also updates Yarn build.

* Delete SignTypeRegistry.java

Broke in the update anyway, no use keeping it

* Suggestions

* Whoops

* Suggestions
2023-02-22 12:54:42 +00:00
modmuss50
e45f7c6532 23w07a 2023-02-15 19:54:58 +00:00
modmuss50
fefb8dfc55 Bump versions 2023-02-13 11:10:26 +00:00
modmuss50
57338cbe24 23w06a 2023-02-08 17:54:34 +00:00
modmuss50
2590abe7d3 Bump version 2023-02-04 14:20:23 +00:00
modmuss50
c477957e8d
[1.19.4] Fail hard when unable to register key bindings, and update Loader. (#2880)
Improve networking API test keybindings.
2023-02-04 14:17:31 +00:00
modmuss50
12a6ba2c15 23w05a 2023-02-01 16:35:59 +00:00
modmuss50
29d0689b28 Bump versions 2023-01-31 10:28:45 +00:00
modmuss50
683b8893da Update to Loom 1.1 (#2860)
(cherry picked from commit eff3bcb77a)
2023-01-31 09:53:30 +00:00
modmuss50
a1ccd7bfed 23w04a 2023-01-24 16:59:43 +00:00
modmuss50
f8bf55319b Bump version 2023-01-20 19:10:31 +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
modmuss50
2facd44698 Bump versions 2023-01-05 13:35:20 +00:00
Technici4n
5176f73dbb
add fabric-recipe-api-v1: Custom ingredients (#2586)
* Fabric custom ingredient API

* More Ingredient API work

* Optimize shapeless matching logic

* Fix all the things

* Move custom ingredient network serialization to account for ingredient extension API

* Apply suggestions from code review

Co-authored-by: apple502j <33279053+apple502j@users.noreply.github.com>

* Address 🍎 review

* Get rid of the @Overwrite

* Implement graceful fallback for clients not supporting some custom ingredients

* Move custom ingredient code to new Recipe API module

* Fix client package change

* Address review comments

- And/Or -> All/Any
- Move builtin ingredient registration to entrypoint
- Initial protocol version is 1
- Misc other changes

* Add testing instructions

* Use a List for `getMatchingStacks`

* Overengineer ingredient query a bit

Co-authored-by: apple502j <33279053+apple502j@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2023-01-05 12:49:19 +00:00
modmuss50
2dae9cfaf0 Bump versions 2023-01-02 14:36:27 +00:00
modmuss50
58bef3f2cf Bump versions 2022-12-23 18:04:45 +00:00
modmuss50
c08c81e810 Bump version 2022-12-12 19:27:50 +00:00
modmuss50
82a27017d9 Update to 1.19.3 (from rc1) 2022-12-11 14:39:06 +00:00
modmuss50
9c733778de Bump version 2022-12-11 14:32:27 +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
fa25da992d 1.19.3-rc1 2022-12-01 15:46:20 +00:00
modmuss50
70063eb939 Bump version 2022-11-29 18:35:03 +00:00
modmuss50
98b3caf086 Bump root version 2022-11-29 15:59:52 +00:00
modmuss50
689f5e71bc 1.19.3-pre3 2022-11-29 15:59:16 +00:00
modmuss50
66f5b48542 Bump versions 2022-11-26 20:09:38 +00:00
modmuss50
fd0839fe43 Bump version 2022-11-24 16:03:40 +00:00
modmuss50
28ac448f9c Update mappings
Use alternative fastutil javadoc link.
2022-11-24 15:46:56 +00:00
modmuss50
5abc1e1145 1.19.3-pre2 2022-11-23 17:13:57 +00:00
modmuss50
e6f4ce589f Bump version 2022-11-22 17:02:07 +00:00
modmuss50
2894d6df22 1.19.3-pre1 2022-11-22 16:28:48 +00:00
modmuss50
138ddebd52 Bump version 2022-11-20 15:09:27 +00:00
modmuss50
1855bd25ae Fix prod client crash in fabric-screen-api-v1 2022-11-16 17:14:08 +00:00
modmuss50
28f726fe81 Bump versions 2022-11-16 16:16:48 +00:00
modmuss50
fbde993d15 22w46a 2022-11-16 16:15:34 +00:00
modmuss50
49abcf7e64 Update mappings 2022-11-16 16:12:51 +00:00
modmuss50
74de10238e Bump versions 2022-11-13 14:53:12 +00:00
modmuss50
f84bf2d968
22w45a (#2647) 2022-11-10 16:07:38 +00:00
modmuss50
21eb21a852 Bump version 2022-11-07 20:36:05 +00:00
modmuss50
28cc6cc789 Merge remote-tracking branch 'origin/1.19.2' into 1.19.3
# Conflicts:
#	gradle.properties
2022-11-07 19:01:58 +00:00
Technici4n
12bfe4ea1a
Add a block appearance API (#2579)
* Add block appearance API

* Add class javadoc for FabricBlock and FabricBlockState

* Address reviews

* Remove OverrideOnly from getAppearance

* Fix javadoc issues
2022-11-07 18:29:51 +00:00
modmuss50
f75bcd18f3
22w44a (#2632)
Co-authored-by: Sebastian Hartte <shartte@users.noreply.github.com>
2022-11-03 13:48:27 +00:00
modmuss50
f5429c1aa0 Bump version 2022-10-28 20:23:27 +01:00
modmuss50
11ba9c3b22
22w43a (#2610)
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
2022-10-26 20:48:38 +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
c9f64f5a6e Bump version 2022-10-18 14:00:15 +01:00
modmuss50
e2e7b8dd55 Bump versions 2022-10-16 15:44:09 +01:00
Jonathan Coates
c4f28df547
Add Sound API to allow sound instances to play custom audio streams (#2558)
* Allow sound instances to play custom audio streams

Adds a new interface FabricSoundInstance, which is injected into
vanilla's SoundInstance interface.

When loading an audio stream, the SoundSystem now calls
FabricSoundInstance.getAudioStream, allowing mods to provide their
own audio streams.

* Some post-review cleanup

 - Manually add the client sources as an interface injection source set,
   allowing us to put everything in the src/client dir (<3 modmuss50).

 - Apply some formatting changes from apple502j.

* Document the empty sound and its usage in sounds.json

* Fix one remaining @literal -> @code

* Fix checkstyle issues
2022-10-16 15:09:44 +01:00
modmuss50
bd290a2e19 Bump version.
Following last min merge.
2022-09-25 16:17:45 +01:00
modmuss50
ddcd25cd9e Bump versions. 2022-09-25 15:04:16 +01:00
modmuss50
79adfe0a0e
Update Loom, Yarn, Checkstyle (#2538) 2022-09-25 14:46:02 +01:00
modmuss50
a37366baa3 Bump versions. 2022-09-11 15:26:04 +01:00
modmuss50
5f243a8b78 Bump versions.
All versions bumped due to loom upgrade.
2022-08-15 19:16:20 +01:00
modmuss50
7454701c67 Bump version 2022-08-06 20:02:34 +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
Deximus-Maximus
b35fea83d3
Add client tags module (#2308)
* Add client tags module

* Fix not actually returning the tag eval. for dynamic registry fallback

* Use dynamic registry where needed

* Make ClientTags uninititializable

* Resolve feedback

* Change package

Co-authored-by: deirn <deirn@bai.lol>

* Change package

Co-authored-by: deirn <deirn@bai.lol>

* Remove unused dep. block

Co-authored-by: deirn <deirn@bai.lol>

* Fix imports

* Move the files to match new package

* Apply feedback

* Apply feedback

* Add test mod

* Fix CME

* Fix checkstyle

* Apply feedback

* Apply feedback

* Apply feedback

* Fix checkstyle

Co-authored-by: deirn <deirn@bai.lol>
2022-08-06 19:02:27 +01:00
modmuss50
5eb68ef24d 1.19.2 2022-08-05 15:20:07 +01:00
modmuss50
5cda40cfe1 Bump version 2022-07-27 20:30:36 +01:00
modmuss50
6be91f4124 1.19.1 2022-07-27 20:29:47 +01:00
modmuss50
308233144b Fix accidental breaking change made to PacketSender in rc3 port. 2022-07-27 00:01:05 +01:00
modmuss50
8e190802a5 1.19.1-rc3 2022-07-26 20:53:20 +01:00
modmuss50
aab4069d66 Bump version 2022-07-26 12:49:29 +01:00
modmuss50
d4b7bd1caa Bump versio 2022-07-24 16:08:37 +01:00
modmuss50
c558657297 Bump version 2022-07-21 20:41:35 +01:00
modmuss50
4f30a9cf7a 1.19.1-rc2 2022-07-21 20:25:12 +01:00
modmuss50
25a4c8239c 1.19.1-pre6 2022-07-20 19:47:52 +01:00
modmuss50
240720a216 1.19.1-pre4 2022-07-08 18:49:07 +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
bdca8858a1 Bump version. 2022-06-28 19:47:24 +01:00
Player
f11b62ad06 Bump versions 2022-06-24 05:53:35 +02:00
modmuss50
cbf27fce51 Bump version 2022-06-23 20:20:29 +01:00
modmuss50
ea0f1265a7 Bump version. 2022-06-19 19:46:45 +01:00
modmuss50
1c5dd50b65 Bump version 2022-06-13 20:41:17 +01:00
modmuss50
e1dbfca1b3 Bump version
All modules updated due to loom bump.
2022-06-08 19:53:51 +01:00
modmuss50
24270b779d Bump version 2022-06-07 19:51:28 +01:00
modmuss50
fd0cc9858a Bump version 2022-06-04 21:37:30 +01:00
modmuss50
2a5b9210c6 1.19-rc2 2022-06-04 21:32:33 +01:00
modmuss50
9d709c192c Bump versions. 2022-06-02 16:04:52 +01:00
apple502j
513f4a5977
Fabric Message API v1 (experimental) (#2220)
* Initial skeleton

* Fabric Chat API v1 (experimental)

* Run checkstyle

* Fix checkstyle (testmod)

* Support 1.19-pre1

* Fix spotless

* Fixes

* Remove caching of messages
This is hard to maintain and has several edge cases. Mods should cache themselves when needed.

* Make constructor private

* Add ServerChatEvents

* Update mappings

* Prepare for the rename

* Include chat decorator in exception

* Add support for blocking messages

* Rename to fabric-message-api-v1

* Update to 1.19-pre2

* Use fabric namespace

* Rename ChatDecoratorEvent

* Rename events and add more javadoc

* Rename ServerChatEvents

* Rename ChatDecorator

* Only block bad respawn point death in testmod

* Fix wrong word in javadoc

* Improve javadoc

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2022-06-02 16:00:15 +01:00
modmuss50
e62f51a37f 1.19-rc1
Only mapping updates.
2022-06-02 15:41:09 +01:00
modmuss50
d27d619843 Bump version 2022-05-31 13:48:09 +01:00
modmuss50
ba8b587cad 1.19-pre4 2022-05-31 13:29:38 +01:00