Quiltify 1.21.1#170
Conversation
* New translations en_us.json (Korean) * New translations en_us.json (Japanese) * New translations en_us.json (German) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Italian)
…he OP tab is disabled (FabricMC#4045)
* after damage event * add after damage event to testmod * remove amount > 0 check to capture shield blocking * add javadoc * dont fire event if killed * clarify javadoc a bit more * fix checkstyle issue * fix other checkstyle issues lol * rename damageDealt to baseDamageTaken
8ce916b to
cb8e7a2
Compare
* Add `c:animal_foods` tag * checkstyle * Spotless * Add to lang generator * Actually use the generated lang file --------- Co-authored-by: modmuss50 <modmuss50@gmail.com>
* New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Malay) * New translations en_us.json (Korean) * New translations en_us.json (Malay (Jawi)) * New translations en_us.json (Malay (Jawi)) * New translations en_us.json (Malay (Jawi)) * New translations en_us.json (Polish) * New translations en_us.json (Portuguese, Brazilian)
* Add TransferVariant.getComponentMap() * used the cached stack * Even better (cherry picked from commit 0771530)
(cherry picked from commit f83d9a4)
…cMC#4085) * modify effects event * give impaling fire aspect * add fabric component map builder * change interface name to match event * gametests for weird impaling enchantment * fix checkstyle issues * fabric map builder javadoc * modify effects javadoc * fix checkstyle issues * prefer extension methods over add * add enchantment source * fix missing asterisk on fabricitemstack javadoc * switch to enchantment builder * fix effects list * fix checkstyle * add note on exclusive set to javadoc * add fabric component builder extensions to default component testmod * remove threadlocal usage from mixin * remove modid prefix from accessors * remove unused import * fix recursive invoker * add test to automatically check modified item name
* New translations en_us.json (German) * New translations en_us.json (Turkish) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Polish) * New translations en_us.json (Czech) * New translations en_us.json (Japanese)
* Create `c:obsidians` * Add obsidians subtags
…anges (FabricMC#4082) * add ItemVariant#withChanges and FluidVariant#withChanges * withChanges -> withComponentChanges * add TransferVariant#withComponentChanges * make TransferVariant#withComponentChanges throw (cherry picked from commit 1d5c243)
1ea68f5 to
0d43a80
Compare
|
Finally finished! I would recommend going commit by commit for smaller and more focused changes. |
supersaiyansubtlety
left a comment
There was a problem hiding this comment.
incredible work
only a few notes
I'm also assuming some warnings aren't suppressed to minimize the diff (esp. deprecation)
| // TODO: Depends block | ||
| // this shouldn't be a huge deal because |
There was a problem hiding this comment.
is this still relevant?
| @@ -1,14 +1,21 @@ | |||
| pluginManagement { | |||
| repositories { | |||
| gradlePluginPortal() | |||
There was a problem hiding this comment.
is it important to move this before Fabric?
| Registries.init(); | ||
|
|
||
| // .Quilt code for initializing its main entrypoint | ||
| setOutputStreams(); // We need to make this a bit early in case a mod uses System.out to print stuff |
There was a problem hiding this comment.
vanilla's setOutputStreams() call should probably be canceled
| static void invokeFreezeRegistries() { } | ||
|
|
||
| @Invoker | ||
| static <T extends Registry<?>> void invokeValidate(Registry<T> registries) { } |
There was a problem hiding this comment.
these should have the quilt$ prefix to avoid potential conflicts
| invokerGetter -> (server, resourceManager, success) -> { | ||
| invokerGetter.get().onEndDataPackReload(new org.quiltmc.qsl.resource.loader.impl.ResourceLoaderEventContextsImpl.ReloadEndContext( | ||
| resourceManager, server.getRegistryManager(), Optional.ofNullable( | ||
| success ? null : new RuntimeException("Unknown error") |
There was a problem hiding this comment.
Can this error message be more descriptive?
| } | ||
|
|
||
| /** | ||
| * @throws UnsupportedOperationException if ran on Fabric API, which currently doesn't implement this method |
There was a problem hiding this comment.
| * @throws UnsupportedOperationException if ran on Fabric API, which currently doesn't implement this method | |
| * @throws UnsupportedOperationException if run on Fabric API, which currently doesn't implement this method |
|
|
||
| @Mixin(org.quiltmc.qsl.item.setting.api.RecipeRemainderLogicHandler.class) | ||
| public interface RecipeRemainderLogicHandlerMixin { | ||
| @ModifyVariable(method = "getRemainder", index = 4, at = @At(value = "INVOKE", target = "Ljava/util/Set;contains(Ljava/lang/Object;)Z")) |
There was a problem hiding this comment.
is index = 4 necessary?
there's only one RecipeRemainderProvider
if the goal is to fail if there's ever more than one, allow = 1 could be used instead
if the goal is to use the first RecipeRemainderProvider when there's more than one, ordinal = 0 could be used instead (but I think failing is safer)
| return context.getBiomeKey().getValue().getNamespace().equals("minecraft") | ||
| && BuiltInRegistryKeys.isBuiltinBiome(context.getBiomeKey()); | ||
| }; | ||
| return context -> org.quiltmc.qsl.worldgen.biome.api.BiomeSelectors.foundInTheEnd().test(context); |
There was a problem hiding this comment.
| return context -> org.quiltmc.qsl.worldgen.biome.api.BiomeSelectors.foundInTheEnd().test(context); | |
| return context -> org.quiltmc.qsl.worldgen.biome.api.BiomeSelectors.vanilla().test(context); |
|
|
||
| @ApiStatus.Internal | ||
| protected org.quiltmc.qsl.worldgen.biome.api.ModificationPhase toQuilt() { | ||
| return this.quiltEquivalent; |
There was a problem hiding this comment.
would it be more maintainable to use a switch instead of a field here, like a few other enums have done?
| } | ||
|
|
||
| public static void initializeQuiltEventBridges(ModContainer mod) { | ||
| // Our events are for all screens, while Fabric's are per screen. This ensures that the Quilt events are only run for the right Fabric screen. |
There was a problem hiding this comment.
in the future it might be worth adding per-screen events to qsl so they needn't be implemented here
No description provided.