Commit graph

1356 commits

Author SHA1 Message Date
Shnupbups
6baaf9719b
Deprecate some conventional tool tags added to vanilla (#2928)
* Deprecate some conventional tool tags added to vanilla

For backwards compatibility, the old tag IDs are added to the vanilla ones. The exposed keys are redirected to their replacements.

Also optionally adds Cherry Grove biome to `c:in_overworld`.

* Keep the convention tags, just deprecated

* You saw nothing
2023-02-23 12:00:19 +00:00
Kevin
1ee8be400a Added Client Message Events (#2646)
* Added Client Message Events

* Applied suggestions and fixed checkstyle

* Inject before fabric-command-api and updated Javadocs

* Updated Javadocs regarding client commands

* Update fabric-message-api-v1/src/client/resources/fabric-message-api-v1.client.mixins.json

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

* Updated Javadocs regarding commands

* Fixed duplicated package names

* Updated ClientMessageEvents.java Javadoc

Co-authored-by: Sideroo <109681866+Sideroo@users.noreply.github.com>

* Removed duplicated client commands Javadoc

* Added cancelled sending and receiving events

* Seperated send and receive events and changed event names

* Fixed checkstyle

* Added support for modifying messages

* Added client command test

* Added narration and message indicator support for modifying received messages

* Added tests for modifying messages

* Updated ClientReceiveMessageEvents#CHAT Javadocs

* Small Javadoc fixes

* Added Modify to names

* Always narrate original message

* Removed modifying receive chat message

* Split notify and modify events

* Fixed checkstyle

---------

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: Sideroo <109681866+Sideroo@users.noreply.github.com>
(cherry picked from commit c85585f870)
2023-02-23 10:15:16 +00:00
PepperCode1
81e8c5765a Indigo shade related fixes and other changes (#2898)
* Apply disabled shade from vanilla quads directly to material

- Remove QuadViewImpl.shade

* Fix enhanced AO calculation and respect non-terrain culling state

- Fix AoCalculator using AO face data computed with a potentially different shade state
- Move non-cached computation code to separate method in AoCalculator
- Turn AoCalculator's brightnessFunc and aoFunc into abstract methods
- Do not check null check world in non-terrain AO calculation since it cannot be null
- Pass through lightFace and shade state as method arguments in AoCalculator methods to prevent additional lookups
- Do not check for the axis aligned flag in AbstractQuadRenderer.shadeFlatQuad
- Respect cull parameter passed to non-terrain rendering by merging TerrainBlockRenderInfo into BlockRenderInfo
- Use reusable search pos when calling Block.shouldDrawSide to prevent additional BlockPos allocation
- Change BlockRenderContext.render and TerrainRenderContext.tessellateBlock to return void since return value is no longer used
- Remove QuadViewImpl.vertexStart since it is unused

* Add suggestions

- Mark Direction parameter to BlockRenderInfo.shouldDrawFace as Nullable
- Reuse MaterialFinder in FrameBakedModel

(cherry picked from commit 3a95925af4)
2023-02-23 10:15:13 +00:00
modmuss50
a383ab9763 Support creating FabricRegistryBuilder with a RegistryKey, deprecate Class based APIs. (#2905)
* Fix #846

* Update javadoc.

(cherry picked from commit f7b4d36421)
2023-02-23 10:15:09 +00:00
Technici4n
e7471eb7e4
Transfer API v3: Allow null directions, remove deprecated exactView override (#2909) 2023-02-23 10:12:57 +00:00
modmuss50
5da15ca1b9 1.19.4-pre1 2023-02-22 19:56:50 +00:00
Madis Otenurm
711cde8a2a
Add a localization string to default Fabric API resource pack (#2906)
* Update FabricModResourcePack.java

* Update en_us.json

* Update et_ee.json

* Use the newer method

* Fallback as a variable
2023-02-22 12:54:59 +00:00
modmuss50
ae0966baae
Fix all valid Mixin AP warnings. (#2914) 2023-02-22 12:54: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
9ff28bce11 Fix build 2023-02-15 20:15:06 +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
6752791afe Add github action to check that all resources are generated. (#2877)
* Add github action to check that all resources are generated.

* Test

* Revert "Test"

This reverts commit 8e187bc781.

(cherry picked from commit 40dc7a94f6)
2023-02-13 09:33:55 +00:00
qouteall
7f87f8fa9b Fix cannot load world after uninstalling dimension mod/datapack without breaking world presets. (#2856)
* Fix the issue that cannot load world after uninstalling a dimension mod/datapack, by making deserialization fail-soft, instead of removing non-vanilla dimensions.

* Fix style.

* Fix license.

* Small changes to FailSoftMapCodec.

* Make FailSoftMapCodec final.

* Revert "Make FailSoftMapCodec final."

This reverts commit 0c0642a1c4.

* Use ModifyVariable and change comments.

* Remove unnecessary `equals`

(cherry picked from commit 00a2eb1095)
2023-02-13 09:33:51 +00:00
Technici4n
e6c7d4eea9 Resource Conditions Additions (#2821)
* Resource Conditions Additions

- Add `registry_contains` condition. Closes #2548.
- Make `fabric:load_conditions` appear first in generated JSON objects.
- Uniformize implementation a bit.

* Update fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/DataProviderMixin.java

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

* itemsLoaded -> itemsRegistered

---------

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
(cherry picked from commit e63306e015)
2023-02-13 09:33:49 +00:00
apple502j
28c7be2139 GameTest: Improve structure loading (#2801)
* GameTest: improve structure loading

* Address issues

* Re-run actions

* Test missing template

* Revert "Test missing template"

This reverts commit 0e7189bf73.

* Update fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java

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

---------

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
(cherry picked from commit 2ff127f537)
2023-02-13 09:33:46 +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
28efac3df2 Fix vanilla behaviour change causing Dragon Breath's to leave an empty Glass Bottle in Brewing Stand (#2874)
This fix restores the previouslly broken behaviour of item remainders in brewing stands.

(cherry picked from commit 312c329484)
2023-01-31 10:20:25 +00:00
BasiqueEvangelist
ae26bc3563 Fix memory leak by using weak set for ArrayBackedEvent list (#2848)
* use weak set for array backed events list

* use thread safe map

(cherry picked from commit 70be179cf3)
2023-01-31 09:53:34 +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
Technici4n
364b4f31bd Fix ItemStack.EMPTY.getItem() rarely returning null due to threading (#2826)
* Fix ItemStack.EMPTY.getItem() rarely returning null due to threading

* Overwrite instead

(cherry picked from commit c3530bb1c6)
(cherry picked from commit 693ffc0581)
2023-01-20 18:08:23 +00:00
Mark
81af046eba [1.19.3] Implement custom SignTypes (#2832)
* 1.19.3 custom sign types

Co-authored-by: AlphaMode <26313415+alphamode@users.noreply.github.com>

* fix mixin name

Co-authored-by: AlphaMode <26313415+alphamode@users.noreply.github.com>
(cherry picked from commit eb2a3ba986)
2023-01-20 18:01:07 +00:00
Technici4n
d471b08bab Fix #2552: Add way to use resource conditions for block loot table datagen (#2823)
(cherry picked from commit 06937c4b07)
2023-01-20 18:00:54 +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
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
abdb4ad90b
Generate a test datapack from the datagen testmod output. (#2824)
* Add a datapack zip for testing the datagen module

* Fix deprecation
2023-01-05 12:50:01 +00:00
Technici4n
ccd377ba6b
Two Transfer API fixes (#2818)
* Fix #2810: Double chest wrapper not always updating both halves

* Fix #2522: Make creative ContainerItemContext give unique items to the play
2023-01-05 12:49:51 +00:00
apple502j
3fc4752e4f
Entity Selector Option API (#2667)
* Entity Selector Option API

* Fix compile error

* Add default impl

* Apply suggestions from code review

Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>

Co-authored-by: modmuss50 <modmuss50@gmail.com>
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
2023-01-05 12:49:30 +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
Technici4n
3baeb27ac3
Interaction events fixes (#2774)
* Deprecate `BlockAttackInteractionAware`

* Document PickBlock events, fix nullability and edge case

* Fix `UseEntityCallback` usability and documentation. Fixes #1260. Fixes #1870.
2023-01-02 13:06:35 +00:00
Technici4n
9f179aa14c
Indigo and Renderer API fixes related to fallback consumers (#2775)
* Fix #2639: Indigo fallback consumer does not respect BlendMode or emissivity

* Change renderer testmod to test material change

* Remove presumably unneeded `quad.geometryFlags()` call

* Also test emissivity

* Call emitBlockQuads in the testmod

* Allow passing the block state explicitly to the fallback consumer. Fixes #1871

* Expand testmod to also test item models

* Also fix fallback consumer ignoring material for items

* Slight changes

* Introduce new interface for the expanded fallback consumer

* Add javadoc to ModelHelper
2023-01-02 13:05:49 +00:00
apple502j
b5d379b004
Biome modification API small enhancements (#2789)
* Allow OptionalInt in BiomeModificationContext

For some reason, vanilla uses `Optional<Integer>` instead of
the preferred `OptionalInt`. Add an override that allows passing
`OptionalInt`. For consistency with vanilla, the old method is NOT
deprecated.

* Do not rely on Identifier identity when checking registration

`Identifier` is a value-based class and should never be compared
using `==`. Luckily, this does not cause bugs right now.
(Using `equals` is worse, since it'll prevent spawning pigs.)
Instead use the proper method of checking if an entry is registered.

* Fix #2079
2023-01-02 13:05:35 +00:00
Shnupbups
5b9a588bfd
Autogenerate Item constructor TAWs (#2795)
`generateAccessWidener` task in TAW module will now automatically generate TAWs for the constructors of non-abstract item classes, similar to how it already did so for blocks.
As such, previously manually added item constructor TAWs have been removed from the template. This also means that `HoeItem` is now TAW'd. (I totally overlooked it earlier... whoops!)
2023-01-02 13:05:24 +00:00
apple502j
85f102ee1a
Object builder API updates (#2798)
* Add feature support to FabricEntityTypeBuilder

* Use IdentityHashMap for EntityType-keyed maps

* Improve tests

* Update fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/entity/FabricEntityTypeBuilder.java

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

* Fix naming of static-final field

* Address some reviews

* Rebuild

* Split gametest

* Update fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/entity/MinecartComparatorLogicRegistry.java

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2023-01-02 13:05:10 +00:00
apple502j
bc01e09759
Keybindings API: New Years cleanup (#2799)
* Keybindings API: New Years cleanup

* Remove throws
2023-01-02 13:04:48 +00:00
Silver
e498f5f0a9
Replace old nullability comments with annotations (#2800)
* Replace useless nullability comments with jetbrains annotation

* These were old comments

* Revert "These were old comments"

This reverts commit 4e9555ad51.

* checkstyle + nullability in mixin
2023-01-02 13:04:34 +00:00
Virtuoel
0a2a0d0b13
Fix common tab resetting when reopening creative screen (#2803) 2023-01-02 13:04:06 +00:00
apple502j
4017a8cb18
Catch exception inside client-side JOIN event (#2813)
* Catch exception inside client-side JOIN event

* Update fabric-networking-api-v1/src/client/java/net/fabricmc/fabric/impl/networking/client/ClientPlayNetworkAddon.java

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

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
2023-01-02 13:03:53 +00:00
Shnupbups
87855a703c
Fixed blocks with vanilla loot tables making strict validation of datagen fail (#2816)
* Fixed blocks with vanilla loot tables making strict validation of datagen fail

Previously, blocks that used `.dropsLike(block)` in their block settings to use a vanilla block's loot table, or `.dropsNothing()` to use the `minecraft:empty` loot table, would cause strict validation in data generation to fail as the vanilla loot tables wouldn't be present in the mod's own block loot table generator.

This fixes that by ensuring that the block's loot table ID has a namespace that matches the loot table generator before adding it to the missing IDs list.

Two test blocks were added to the testmod, one which uses `.dropsLike(Blocks.STONE)` to use the same loot table as Stone, and one that uses `.dropsNothing()`. Previously, these would have caused strict validation to fail as the `minecraft:stone` and `minecraft:empty` loot tables aren't generated by the testmod's generator. Now they pass just fine.

* Fixed blocks with vanilla loot tables making strict validation of datagen fail

Previously, blocks that used `.dropsLike(block)` in their block settings to use a vanilla block's loot table, or `.dropsNothing()` to use the `minecraft:empty` loot table, would cause strict validation in data generation to fail as the vanilla loot tables wouldn't be present in the mod's own block loot table generator.

This fixes that by ensuring that the block's loot table ID has a namespace that matches the loot table generator before adding it to the missing IDs list.

Two test blocks were added to the testmod, one which uses `.dropsLike(Blocks.STONE)` to use the same loot table as Stone, and one that uses `.dropsNothing()`. Previously, these would have caused strict validation to fail as the `minecraft:stone` and `minecraft:empty` loot tables aren't generated by the testmod's generator. Now they pass just fine.
2023-01-02 13:03:40 +00:00
modmuss50
58bef3f2cf Bump versions 2022-12-23 18:04:45 +00:00
modmuss50
33a4e2d71e
Fix ItemGroup language generation. (#2785) 2022-12-23 17:52:51 +00:00
Technici4n
23a79c8a40
Block Entity Lifecycle fixes (#2783)
- Fire client chunk unload event when the load distance is decreased.
  Fixes #1821.
- Fire client chunk unload event before entities are cleared from the
  chunk to fix block entity unload event not firing.
  Clarify that block entity data is unreliable in the block entity load
  events.
  Fixes #2423.
2022-12-23 16:34:09 +00:00