Commit graph

36 commits

Author SHA1 Message Date
modmuss
d48ec150ba
24w36a (#4068)
Some checks failed
Build / build (21-ubuntu) (push) Has been cancelled
Build / client_test (push) Has been cancelled
Build / server_test (push) Has been cancelled
Build / check_resources (push) Has been cancelled
* 24w36a

* Some fixes

* More work

* Fixes

* Update yarn

* Update fabric loader

* Bump versions
2024-09-05 11:42:30 +01:00
apple502j
2cd4845256
24w35a (#4062) 2024-08-29 17:54:21 +01:00
modmuss
1bb677a646 Port to 24w33a (#4033)
Some checks failed
Build / build (21-ubuntu) (push) Has been cancelled
Build / client_test (push) Has been cancelled
Build / server_test (push) Has been cancelled
Build / check_resources (push) Has been cancelled
Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
Co-authored-by: hypherionmc <hypherionmc@gmail.com>
(cherry picked from commit 952fb19a0df7354e8352ef0c993a956b2bed32c2)
2024-08-18 19:16:27 +01:00
modmuss
6573ed8ccc
24w21b (#3789)
Co-authored-by: Drex <nicknamedrex@gmail.com>
Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
2024-05-23 10:20:54 +01:00
modmuss
f1240ba7db
Test for and fix registries that need syncing (#3723)
* Test for and fix registries that need syncing

* Fix duplicate
2024-04-20 11:28:54 +01:00
apple502j
bbf5165de7
Fix porting issues in Dynamic Registries API (#3555)
* Fix TAGS_LOADED event not being invoked on client join

* Skip loading empty dynamic registries (client-side)

* Update ClientTest to handle 24w04a

* Skip syncing empty dynamic registries (server-side)

* Fix dynamic registry using wrong codec, tag syncing depending on class load order

* Fix DynamicRegistrySetupEvent being called on client

* Test syncing empty registry's tag

* Actually check skipOnEmpty

* Downgrade AssertionError to log due to MC-268096
2024-01-28 12:56:20 +00:00
modmuss50
0ba8e9ce03 23w32a 2023-08-09 18:04:04 +01:00
modmuss
86b12645b9
23w31a 2023-08-07 09:09:38 +01:00
Juuz
2e061fd481
Add dynamic registry API (#3163)
* Add API for adding custom dynamic registries

Closes #1012, supersedes #1031 and #2719.

* Add missing license headers

* Clarify RegistryLoaderMixin namespace injection

* Replace event with static registration, add skeleton for sorting registries

* Fix typo

* Refactor event phase sorting system for use with dynamic registries (#1)

* Make minor changes to Technici4n's PR

* Add test for nested dynamic objects

* Revert "Add test for nested dynamic objects"

This reverts commit 486e3e1ce0.

* Revert "Make minor changes to Technici4n's PR"

This reverts commit 741bd52c1e.

* Revert "Refactor event phase sorting system for use with dynamic registries (#1)"

This reverts commit bb7c8b8790.

* Remove sorting API

* Add support for defaulted dynamic registries

* Re-add test for nested dynamic objects

* Add missing license headers

* Fix typo

* Remove defaulted dynamic registries; flatten registration methods

* Remove last reference to registry sorting

* Add option to skip syncing for empty dynregs

* Update DynamicRegistrySyncOption docs

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

* Address review feedback

* Add registry namespace to tag paths for modded registries

* Move dynamic registry tests into their own class for readibility

* Finish DynamicRegistries doc

* Only apply tag change to dynamic registries

* Fix checkstyle

* Update fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/DynamicRegistries.java

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

---------

Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
2023-07-18 12:53:34 +01:00
modmuss50
4d8536c91f
Add and test for missing method overrides in FabricBlockSettings (#3056) 2023-05-11 09:25:08 +01:00
modmuss50
ce75acf5fd
[1.20] Remove deprecated NbtRegistryPacketHandler (#3026)
* Remove deprecated NbtRegistryPacketHandler

* Remove more
2023-05-01 13:55:38 +01:00
modmuss50
b3f2574b16 23w17a 2023-04-26 18:18:06 +01:00
modmuss50
10328404b3 Improve missing local registry entries error message. (#3004) 2023-04-23 13:29:02 +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
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
apple502j
2608564621
Pass DynamicRegistryView to DynamicRegistrySetupCallback (#2696)
* Pass DynamicRegistryView to DynamicRegistrySetupCallback

* Update fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/DynamicRegistryViewImpl.java

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

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2022-11-26 20:00:04 +00:00
modmuss50
2894d6df22 1.19.3-pre1 2022-11-22 16:28:48 +00:00
modmuss50
49abcf7e64 Update mappings 2022-11-16 16:12:51 +00:00
modmuss50
f84bf2d968
22w45a (#2647) 2022-11-10 16:07:38 +00:00
modmuss50
f75bcd18f3
22w44a (#2632)
Co-authored-by: Sebastian Hartte <shartte@users.noreply.github.com>
2022-11-03 13:48:27 +00:00
apple502j
33c37e23ce
22w42a RegSync changes (#2608)
* Fix DynamicRegistrySetupCallback, add EndDynamicRegistrySetupCallback

`DynamicRegistrySetupCallback` did not work as intended because the injection
was too late. This moves the injection point to `RegistryLoader`, just before it
is loaded.

`EndDynamicRegistrySetupCallback` is a new event triggered when the loading is
finished. This has access to the combined DRM, allowing context-aware modification.

This also replaces `System.out.println` use in testmod.

* Remove useless force-init of BiomeKeys

* Remove now-unnecessary DynamicRegistryManagerMixin

* Fix crash in testmod

This caveat needs proper documentation.

* Add note to javadoc

* Mark impl as internal

* Remove EndDynamicRegistrySetupCallback

* Fix testmod checkstyle issues

* Add automated event call check

* Fix test

* Update javadoc

* Add `@see`

* Re-run actions
2022-10-28 18:24:56 +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
55dca1a4f3 Update mappings. 2022-02-16 18:14:59 +00:00
modmuss50
682a9b7c63 Fix crash when remapping registries with unused raw ids. 2022-02-11 18:14:32 +00: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
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
deirn
befed49ea3 Registry sync packet compression II (#1853)
* Optimize registry sync packet

* Make sure that the id map is sorted by the raw id
Send the difference of the first raw id and the last raw id from the bulk before

* Add packet size log prints

* Use Boolean.getBoolean
Don't send sync packet if the player is the server host

* Use generic Map

* Multiple raw id bulk test

* Group object namespace first before grouping raw ids

* Revert "Add packet size log prints"

This reverts commit fcb8b71e

* RegistrySyncPacket -> RegistryPacketSerializer
Move RegistryPacketSerializer singleton to the interface

* Packet size log prints

* Sort raw id on each namespace group

* Use Identifier.DEFAULT_NAMESPACE

* Slice to multiple packet if necessary

* Make MAX_PAYLOAD_SIZE configurable
Make testmod registry bigger
Print buffer size in equality test

* Move static packet handler instance to RegistrySyncManager
Release combinedBuf before discarding it
Discard syncedRegistryMap after it's accessed

* Use PacketByteBufs to create buffers
2022-01-02 19:36:03 +00:00
modmuss50
413ddf6456 21w14a - Mappings update 2021-04-07 18:46:09 +01:00
modmuss50
836e66a3f5 Fix build.
Opps ;)
2020-12-16 19:13:16 +00:00
modmuss50
1a369faf20 20w51a 2020-12-16 19:06:02 +00:00
CheaterCodes
bf575bf013
Merge branch '1.16' into dynregman 2020-10-01 22:54:51 +02:00
shartte
7490af87a1
Make BuiltInRegistries safe for Worldgen Registration during Mod Initialization (#1052)
* Adds a synchronisation for entries in BuiltInRegistries to the built-in DynamicRegistryManager, to a void class-loading DynamicRegistryManager during Mod initialization from messing up the Worldgen registrations of subsequently loaded mods.

* Changed to use updated Yarn mappings.
2020-09-18 18:10:47 +01:00
CheaterCodes
5610e94af4 Changed the event to a more generic one 2020-09-13 13:02:21 +02:00
CheaterCodes
e9c7de9661 Added DynamicRegistryEntryAddedCallback 2020-09-13 13:02:21 +02:00
modmuss50
fcdfdfa1c7 Fix server crash, closes #1058 2020-09-03 23:44:31 +01:00
modmuss50
dd263cca8b
Fix some known issues with the registry sync module. (#525)
* Try to detect if a registry is modded, if its not it will left alone and no syncing or saving will take place.

* Some more work on moddable registries

* Checkstyle

* Fix licences

* Cleanup registry attributes

* Rework again

* Some small tweaks

* Yet another refactor

* Some minor style fixes

* Finish checking registries

* Start on a test mod, and apply some fixes.

* Checkstyle fixes

* Tweak the logic behind previously modded registries

* Use EnumSet

* Update fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinRegistry.java

Co-authored-by: liach <7806504+liach@users.noreply.github.com>

* Fix generics, add javadoc, add tests

* More changes

* Checkstyle fixes

* Minor fixes

* Remove hash stuff

* 20w21a - massive changes

* fix build

* Update fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/FabricRegistryBuilder.java

Co-authored-by: Joseph Burton <burtonjae@hotmail.co.uk>

* Feedback and update mappings

* No longer apply mappings to vanilla registries, no longer save empty mapping data.

* Use Identifier in FabricRegistryBuilder over RegistryKey
Improve empty registry tag handling

* Reorder toTag empty checks

* Minor fixes

* Make FabricRegistryBuilder final

* Update registry attributes

* Fix compile issue

Co-authored-by: liach <7806504+liach@users.noreply.github.com>
Co-authored-by: Joseph Burton <burtonjae@hotmail.co.uk>
Co-authored-by: Player <player@player.to>
2020-06-04 21:33:56 +01:00