From 0e94fdd1bd7cc747ee6de56f6212ab7c7be2e8a4 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 18 Mar 2025 14:12:42 +0800 Subject: [PATCH] Update for 1.21.5-pre2 --- .../{1.21.4_pr.yml => 1.21.5_pr.yml} | 4 +- .../{1.21.4_push.yml => 1.21.5_push.yml} | 4 +- build.gradle | 2 +- .../event/events/common/InteractionEvent.java | 4 +- .../extensions/ItemExtension.java | 50 ---------- .../dev/architectury/fluid/FluidStack.java | 4 +- .../hooks/level/biome/BiomeHooks.java | 6 +- .../hooks/level/biome/EffectsProperties.java | 6 +- .../hooks/level/biome/SpawnProperties.java | 2 +- .../networking/SpawnEntityPacket.java | 4 +- .../level/entity/trade/TradeRegistry.java | 5 +- .../main/resources/architectury.accessWidener | 96 ++----------------- fabric/build.gradle | 2 +- .../fluid/fabric/FluidStackImpl.java | 2 +- .../mixin/fabric/MixinCatSpawner.java | 7 +- .../mixin/fabric/MixinFarmBlock.java | 6 +- .../mixin/fabric/MixinInventory.java | 54 ----------- .../mixin/fabric/MixinLivingEntity.java | 14 --- .../mixin/fabric/MixinPhantomSpawner.java | 7 +- .../mixin/fabric/MixinPlayer.java | 4 +- .../biome/fabric/BiomeModificationsImpl.java | 8 +- .../trade/fabric/TradeRegistryImpl.java | 3 +- .../main/resources/architectury.mixins.json | 1 - gradle.properties | 16 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 5 +- .../client/ClientOverlayMessageSink.java | 4 - .../test/item/TestBlockInteractions.java | 2 +- .../test/registry/TestRegistries.java | 3 - .../objects/EquippableTickingItem.java | 46 --------- .../architectury/test/trade/TestTrades.java | 2 +- 31 files changed, 61 insertions(+), 314 deletions(-) rename .github/workflows/{1.21.4_pr.yml => 1.21.5_pr.yml} (97%) rename .github/workflows/{1.21.4_push.yml => 1.21.5_push.yml} (97%) delete mode 100644 common/src/main/java/dev/architectury/extensions/ItemExtension.java delete mode 100644 fabric/src/main/java/dev/architectury/mixin/fabric/MixinInventory.java delete mode 100644 testmod-common/src/main/java/dev/architectury/test/registry/objects/EquippableTickingItem.java diff --git a/.github/workflows/1.21.4_pr.yml b/.github/workflows/1.21.5_pr.yml similarity index 97% rename from .github/workflows/1.21.4_pr.yml rename to .github/workflows/1.21.5_pr.yml index 2efbdd62..807b2c8b 100644 --- a/.github/workflows/1.21.4_pr.yml +++ b/.github/workflows/1.21.5_pr.yml @@ -1,4 +1,4 @@ -name: Build PR snapshot (1.20.6) +name: Build PR snapshot (1.21.5) on: pull_request: @@ -7,7 +7,7 @@ on: - '**.properties' - '**/src/**' branches: - - "1.21.4" + - "1.21.5" types: [ opened, synchronize, reopened ] jobs: validate-gradle: diff --git a/.github/workflows/1.21.4_push.yml b/.github/workflows/1.21.5_push.yml similarity index 97% rename from .github/workflows/1.21.4_push.yml rename to .github/workflows/1.21.5_push.yml index 34792201..f7440413 100644 --- a/.github/workflows/1.21.4_push.yml +++ b/.github/workflows/1.21.5_push.yml @@ -1,4 +1,4 @@ -name: Build and Release (1.20.6) +name: Build and Release (1.21.5) on: push: @@ -8,7 +8,7 @@ on: - '**/src/**' - '.github/**' branches: - - "1.21.4" + - "1.21.5" workflow_dispatch: inputs: norelease: diff --git a/build.gradle b/build.gradle index 0d4afc14..66a6e9fc 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.9-SNAPSHOT" apply false id "org.cadixdev.licenser" version "0.6.1" id "me.shedaniel.unified-publishing" version "0.1.+" apply false id "maven-publish" diff --git a/common/src/main/java/dev/architectury/event/events/common/InteractionEvent.java b/common/src/main/java/dev/architectury/event/events/common/InteractionEvent.java index 44ca2461..c1a1c52f 100644 --- a/common/src/main/java/dev/architectury/event/events/common/InteractionEvent.java +++ b/common/src/main/java/dev/architectury/event/events/common/InteractionEvent.java @@ -57,7 +57,7 @@ public interface InteractionEvent { */ Event INTERACT_ENTITY = EventFactory.createEventResult(); /** - * @see FarmlandTrample#trample(Level, BlockPos, BlockState, float, Entity) + * @see FarmlandTrample#trample(Level, BlockPos, BlockState, double, Entity) */ Event FARMLAND_TRAMPLE = EventFactory.createInteractionResult(); @@ -155,6 +155,6 @@ public interface InteractionEvent { * @return A {@link InteractionResult} determining the outcome of the event, * the action may be cancelled by the result. */ - InteractionResult trample(Level world, BlockPos pos, BlockState state, float distance, Entity entity); + InteractionResult trample(Level world, BlockPos pos, BlockState state, double distance, Entity entity); } } diff --git a/common/src/main/java/dev/architectury/extensions/ItemExtension.java b/common/src/main/java/dev/architectury/extensions/ItemExtension.java deleted file mode 100644 index 87d608e3..00000000 --- a/common/src/main/java/dev/architectury/extensions/ItemExtension.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * This file is part of architectury. - * Copyright (C) 2020, 2021, 2022 architectury - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -package dev.architectury.extensions; - -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import org.jetbrains.annotations.Nullable; - -/** - * Extensions to {@link net.minecraft.world.item.Item}, implement this on to your item. - */ -public interface ItemExtension { - /** - * Invoked every tick when this item is equipped. - * - * @param stack the item stack - * @param player the player wearing the armor - */ - default void tickArmor(ItemStack stack, Player player) { - } - - /** - * Returns the {@link EquipmentSlot} for {@link ItemStack}. - * - * @param stack the item stack - * @return the {@link EquipmentSlot}, return {@code null} to default to vanilla's {@link net.minecraft.world.entity.Mob#getEquipmentSlotForItem(ItemStack)} - */ - @Nullable - default EquipmentSlot getCustomEquipmentSlot(ItemStack stack) { - return null; - } -} diff --git a/common/src/main/java/dev/architectury/fluid/FluidStack.java b/common/src/main/java/dev/architectury/fluid/FluidStack.java index 26f7d2d5..06fc32f7 100644 --- a/common/src/main/java/dev/architectury/fluid/FluidStack.java +++ b/common/src/main/java/dev/architectury/fluid/FluidStack.java @@ -86,7 +86,7 @@ public final class FluidStack implements DataComponentHolder { void applyComponents(T value, DataComponentMap patch); - @Nullable D set(T value, DataComponentType type, @Nullable D component); + @Nullable D set(T value, DataComponentType type, @Nullable D component); @Nullable D remove(T value, DataComponentType type); @@ -192,7 +192,7 @@ public final class FluidStack implements DataComponentHolder { } @Nullable - public T set(DataComponentType type, @Nullable T component) { + public T set(DataComponentType type, @Nullable T component) { return ADAPTER.set(value, type, component); } diff --git a/common/src/main/java/dev/architectury/hooks/level/biome/BiomeHooks.java b/common/src/main/java/dev/architectury/hooks/level/biome/BiomeHooks.java index 5884ab7f..9c29cfb4 100644 --- a/common/src/main/java/dev/architectury/hooks/level/biome/BiomeHooks.java +++ b/common/src/main/java/dev/architectury/hooks/level/biome/BiomeHooks.java @@ -23,7 +23,7 @@ import dev.architectury.injectables.annotations.ExpectPlatform; import net.minecraft.core.Holder; import net.minecraft.sounds.Music; import net.minecraft.sounds.SoundEvent; -import net.minecraft.util.random.SimpleWeightedRandomList; +import net.minecraft.util.random.WeightedList; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.level.biome.*; @@ -272,7 +272,7 @@ public final class BiomeHooks { } @Override - public EffectsProperties.Mutable setBackgroundMusic(@Nullable SimpleWeightedRandomList music) { + public EffectsProperties.Mutable setBackgroundMusic(@Nullable WeightedList music) { effects.backgroundMusic = Optional.ofNullable(music); return this; } @@ -333,7 +333,7 @@ public final class BiomeHooks { } @Override - public Optional> getBackgroundMusic() { + public Optional> getBackgroundMusic() { return effects.backgroundMusic; } } diff --git a/common/src/main/java/dev/architectury/hooks/level/biome/EffectsProperties.java b/common/src/main/java/dev/architectury/hooks/level/biome/EffectsProperties.java index d32d125e..1a8b5a6c 100644 --- a/common/src/main/java/dev/architectury/hooks/level/biome/EffectsProperties.java +++ b/common/src/main/java/dev/architectury/hooks/level/biome/EffectsProperties.java @@ -22,7 +22,7 @@ package dev.architectury.hooks.level.biome; import net.minecraft.core.Holder; import net.minecraft.sounds.Music; import net.minecraft.sounds.SoundEvent; -import net.minecraft.util.random.SimpleWeightedRandomList; +import net.minecraft.util.random.WeightedList; import net.minecraft.world.level.biome.AmbientAdditionsSettings; import net.minecraft.world.level.biome.AmbientMoodSettings; import net.minecraft.world.level.biome.AmbientParticleSettings; @@ -55,7 +55,7 @@ public interface EffectsProperties { Optional getAmbientAdditionsSound(); - Optional> getBackgroundMusic(); + Optional> getBackgroundMusic(); interface Mutable extends EffectsProperties { EffectsProperties.Mutable setFogColor(int color); @@ -80,6 +80,6 @@ public interface EffectsProperties { EffectsProperties.Mutable setAmbientAdditionsSound(@Nullable AmbientAdditionsSettings settings); - EffectsProperties.Mutable setBackgroundMusic(@Nullable SimpleWeightedRandomList music); + EffectsProperties.Mutable setBackgroundMusic(@Nullable WeightedList music); } } diff --git a/common/src/main/java/dev/architectury/hooks/level/biome/SpawnProperties.java b/common/src/main/java/dev/architectury/hooks/level/biome/SpawnProperties.java index cf2ad156..e7213198 100644 --- a/common/src/main/java/dev/architectury/hooks/level/biome/SpawnProperties.java +++ b/common/src/main/java/dev/architectury/hooks/level/biome/SpawnProperties.java @@ -37,7 +37,7 @@ public interface SpawnProperties { interface Mutable extends SpawnProperties { Mutable setCreatureProbability(float probability); - Mutable addSpawn(MobCategory category, MobSpawnSettings.SpawnerData data); + Mutable addSpawn(MobCategory category, MobSpawnSettings.SpawnerData data, int weight); boolean removeSpawns(BiPredicate predicate); diff --git a/common/src/main/java/dev/architectury/networking/SpawnEntityPacket.java b/common/src/main/java/dev/architectury/networking/SpawnEntityPacket.java index 9492346e..e8ed718f 100644 --- a/common/src/main/java/dev/architectury/networking/SpawnEntityPacket.java +++ b/common/src/main/java/dev/architectury/networking/SpawnEntityPacket.java @@ -82,9 +82,7 @@ public class SpawnEntityPacket { entity.setUUID(payload.uuid()); entity.setId(payload.id()); entity.syncPacketPositionCodec(payload.x(), payload.y(), payload.z()); - entity.moveTo(payload.x(), payload.y(), payload.z()); - entity.setXRot(payload.xRot()); - entity.setYRot(payload.yRot()); + entity.snapTo(payload.x(), payload.y(), payload.z(), payload.xRot(), payload.yRot()); entity.setYHeadRot(payload.yHeadRot()); entity.setYBodyRot(payload.yHeadRot()); if (entity instanceof EntitySpawnExtension ext) { diff --git a/common/src/main/java/dev/architectury/registry/level/entity/trade/TradeRegistry.java b/common/src/main/java/dev/architectury/registry/level/entity/trade/TradeRegistry.java index 560bd321..1f3906e6 100644 --- a/common/src/main/java/dev/architectury/registry/level/entity/trade/TradeRegistry.java +++ b/common/src/main/java/dev/architectury/registry/level/entity/trade/TradeRegistry.java @@ -20,6 +20,7 @@ package dev.architectury.registry.level.entity.trade; import dev.architectury.injectables.annotations.ExpectPlatform; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.npc.VillagerProfession; import net.minecraft.world.entity.npc.VillagerTrades; @@ -35,7 +36,7 @@ public class TradeRegistry { * @param level The level the villager needs. Vanilla range is 1 to 5, however mods may extend that upper limit further. * @param trades The trades to add to this profession at the specified level. */ - public static void registerVillagerTrade(VillagerProfession profession, int level, VillagerTrades.ItemListing... trades) { + public static void registerVillagerTrade(ResourceKey profession, int level, VillagerTrades.ItemListing... trades) { if (level < 1) { throw new IllegalArgumentException("Villager Trade level has to be at least 1!"); } @@ -43,7 +44,7 @@ public class TradeRegistry { } @ExpectPlatform - private static void registerVillagerTrade0(VillagerProfession profession, int level, VillagerTrades.ItemListing... trades) { + private static void registerVillagerTrade0(ResourceKey profession, int level, VillagerTrades.ItemListing... trades) { throw new AssertionError(); } diff --git a/common/src/main/resources/architectury.accessWidener b/common/src/main/resources/architectury.accessWidener index 0ccb78ad..27dbe2b4 100644 --- a/common/src/main/resources/architectury.accessWidener +++ b/common/src/main/resources/architectury.accessWidener @@ -115,8 +115,8 @@ mutable field net/minecraft/world/item/ShovelItem FLATTENABLES Ljava/util/Map; accessible field net/minecraft/world/item/HoeItem TILLABLES Ljava/util/Map; mutable field net/minecraft/world/item/HoeItem TILLABLES Ljava/util/Map; transitive-accessible method net/minecraft/world/entity/player/Player closeContainer ()V -transitive-accessible method net/minecraft/client/renderer/RenderType create (Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;ILnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; -transitive-accessible method net/minecraft/client/renderer/RenderType create (Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;IZZLnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; +transitive-accessible method net/minecraft/client/renderer/RenderType create (Ljava/lang/String;ILcom/mojang/blaze3d/pipeline/RenderPipeline;Lnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; +transitive-accessible method net/minecraft/client/renderer/RenderType create (Ljava/lang/String;IZZLcom/mojang/blaze3d/pipeline/RenderPipeline;Lnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; transitive-accessible class net/minecraft/client/renderer/RenderType$CompositeState transitive-accessible class net/minecraft/client/renderer/RenderType$CompositeRenderType transitive-accessible class net/minecraft/client/renderer/RenderType$OutlineProperty @@ -136,7 +136,6 @@ accessible field net/minecraft/client/multiplayer/MultiPlayerGameMode connection ############################## # Constructors of non-abstract item classes -transitive-accessible method net/minecraft/world/item/DiggerItem (Lnet/minecraft/world/item/ToolMaterial;Lnet/minecraft/tags/TagKey;FFLnet/minecraft/world/item/Item$Properties;)V # Constructors of non-abstract block classes transitive-accessible method net/minecraft/world/level/block/AttachedStemBlock (Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V @@ -148,6 +147,7 @@ transitive-accessible method net/minecraft/world/level/block/BaseCoralWallFanBlo transitive-accessible method net/minecraft/world/level/block/BigDripleafBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/BigDripleafStemBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/BlastFurnaceBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +transitive-accessible method net/minecraft/world/level/block/BushBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/ButtonBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;ILnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/CactusBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/CakeBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V @@ -163,11 +163,11 @@ transitive-accessible method net/minecraft/world/level/block/CoralWallFanBlock < transitive-accessible method net/minecraft/world/level/block/CraftingTableBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/CreakingHeartBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/CropBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V -transitive-accessible method net/minecraft/world/level/block/DeadBushBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/DecoratedPotBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/DirtPathBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/DispenserBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/DoorBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +transitive-accessible method net/minecraft/world/level/block/DryVegetationBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/EnchantingTableBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/EndGatewayBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/EndPortalBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V @@ -175,6 +175,7 @@ transitive-accessible method net/minecraft/world/level/block/EndRodBlock transitive-accessible method net/minecraft/world/level/block/EnderChestBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/FarmBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/FletchingTableBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +transitive-accessible method net/minecraft/world/level/block/FlowerBedBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/FungusBlock (Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/world/level/block/Block;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/FurnaceBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/GrindstoneBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V @@ -193,7 +194,6 @@ transitive-accessible method net/minecraft/world/level/block/LoomBlock (L transitive-accessible method net/minecraft/world/level/block/MangroveRootsBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/NetherWartBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/NyliumBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V -transitive-accessible method net/minecraft/world/level/block/PinkPetalsBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/PlayerHeadBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/PlayerWallHeadBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/PoweredRailBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V @@ -208,6 +208,7 @@ transitive-accessible method net/minecraft/world/level/block/SaplingBlock transitive-accessible method net/minecraft/world/level/block/ScaffoldingBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/SeaPickleBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/SeagrassBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +transitive-accessible method net/minecraft/world/level/block/ShortDryGrassBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/SkullBlock (Lnet/minecraft/world/level/block/SkullBlock$Type;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/SmithingTableBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/SmokerBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V @@ -220,6 +221,7 @@ transitive-accessible method net/minecraft/world/level/block/StemBlock (L transitive-accessible method net/minecraft/world/level/block/StructureBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/StructureVoidBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/SugarCaneBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +transitive-accessible method net/minecraft/world/level/block/TallDryGrassBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/TallGrassBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/TorchBlock (Lnet/minecraft/core/particles/SimpleParticleType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V transitive-accessible method net/minecraft/world/level/block/TransparentBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V @@ -238,91 +240,18 @@ transitive-accessible method net/minecraft/world/level/block/WitherWallSkullBloc transitive-accessible method net/minecraft/world/level/block/WoolCarpetBlock (Lnet/minecraft/world/item/DyeColor;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V # RenderStateShard fields -transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard ADDITIVE_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard LIGHTNING_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard GLINT_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard CRUMBLING_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard TRANSLUCENT_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard VIGNETTE_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard CROSSHAIR_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard MOJANG_LOGO_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard NAUSEA_OVERLAY_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard POSITION_COLOR_LIGHTMAP_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard POSITION_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard POSITION_TEX_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard POSITION_COLOR_TEX_LIGHTMAP_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard POSITION_COLOR_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard POSITION_TEXTURE_COLOR_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_SOLID_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_CUTOUT_MIPPED_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_CUTOUT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TRANSLUCENT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TRANSLUCENT_MOVING_BLOCK_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ARMOR_CUTOUT_NO_CULL_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ARMOR_TRANSLUCENT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_SOLID_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_CUTOUT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_CUTOUT_NO_CULL_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_CUTOUT_NO_CULL_Z_OFFSET_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ITEM_ENTITY_TRANSLUCENT_CULL_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_TRANSLUCENT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_TRANSLUCENT_EMISSIVE_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_SMOOTH_CUTOUT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_BEACON_BEAM_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_DECAL_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_NO_OUTLINE_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_SHADOW_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_ALPHA_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_EYES_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENERGY_SWIRL_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_LEASH_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_WATER_MASK_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_OUTLINE_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ARMOR_ENTITY_GLINT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_GLINT_TRANSLUCENT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_GLINT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_ENTITY_GLINT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_CRUMBLING_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TEXT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TEXT_BACKGROUND_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TEXT_INTENSITY_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TEXT_SEE_THROUGH_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TEXT_BACKGROUND_SEE_THROUGH_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TEXT_INTENSITY_SEE_THROUGH_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_LIGHTNING_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_TRIPWIRE_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_END_PORTAL_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_END_GATEWAY_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_CLOUDS_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_LINES_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_GUI_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_GUI_OVERLAY_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_GUI_TEXT_HIGHLIGHT_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_GUI_GHOST_RECIPE_OVERLAY_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard RENDERTYPE_BREEZE_WIND_SHADER Lnet/minecraft/client/renderer/RenderStateShard$ShaderStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard BLOCK_SHEET_MIPPED Lnet/minecraft/client/renderer/RenderStateShard$TextureStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard BLOCK_SHEET Lnet/minecraft/client/renderer/RenderStateShard$TextureStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_TEXTURE Lnet/minecraft/client/renderer/RenderStateShard$EmptyTextureStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard DEFAULT_TEXTURING Lnet/minecraft/client/renderer/RenderStateShard$TexturingStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard GLINT_TEXTURING Lnet/minecraft/client/renderer/RenderStateShard$TexturingStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard ENTITY_GLINT_TEXTURING Lnet/minecraft/client/renderer/RenderStateShard$TexturingStateShard; +transitive-accessible field net/minecraft/client/renderer/RenderStateShard ARMOR_ENTITY_GLINT_TEXTURING Lnet/minecraft/client/renderer/RenderStateShard$TexturingStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard LIGHTMAP Lnet/minecraft/client/renderer/RenderStateShard$LightmapStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_LIGHTMAP Lnet/minecraft/client/renderer/RenderStateShard$LightmapStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard OVERLAY Lnet/minecraft/client/renderer/RenderStateShard$OverlayStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_OVERLAY Lnet/minecraft/client/renderer/RenderStateShard$OverlayStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard CULL Lnet/minecraft/client/renderer/RenderStateShard$CullStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_CULL Lnet/minecraft/client/renderer/RenderStateShard$CullStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_DEPTH_TEST Lnet/minecraft/client/renderer/RenderStateShard$DepthTestStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard EQUAL_DEPTH_TEST Lnet/minecraft/client/renderer/RenderStateShard$DepthTestStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard LEQUAL_DEPTH_TEST Lnet/minecraft/client/renderer/RenderStateShard$DepthTestStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard GREATER_DEPTH_TEST Lnet/minecraft/client/renderer/RenderStateShard$DepthTestStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard COLOR_DEPTH_WRITE Lnet/minecraft/client/renderer/RenderStateShard$WriteMaskStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard COLOR_WRITE Lnet/minecraft/client/renderer/RenderStateShard$WriteMaskStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard DEPTH_WRITE Lnet/minecraft/client/renderer/RenderStateShard$WriteMaskStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_LAYERING Lnet/minecraft/client/renderer/RenderStateShard$LayeringStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard POLYGON_OFFSET_LAYERING Lnet/minecraft/client/renderer/RenderStateShard$LayeringStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard VIEW_OFFSET_Z_LAYERING Lnet/minecraft/client/renderer/RenderStateShard$LayeringStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard VIEW_OFFSET_Z_LAYERING_FORWARD Lnet/minecraft/client/renderer/RenderStateShard$LayeringStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard MAIN_TARGET Lnet/minecraft/client/renderer/RenderStateShard$OutputStateShard; @@ -330,25 +259,16 @@ transitive-accessible field net/minecraft/client/renderer/RenderStateShard OUTLI transitive-accessible field net/minecraft/client/renderer/RenderStateShard TRANSLUCENT_TARGET Lnet/minecraft/client/renderer/RenderStateShard$OutputStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard PARTICLES_TARGET Lnet/minecraft/client/renderer/RenderStateShard$OutputStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard WEATHER_TARGET Lnet/minecraft/client/renderer/RenderStateShard$OutputStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard CLOUDS_TARGET Lnet/minecraft/client/renderer/RenderStateShard$OutputStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard ITEM_ENTITY_TARGET Lnet/minecraft/client/renderer/RenderStateShard$OutputStateShard; transitive-accessible field net/minecraft/client/renderer/RenderStateShard DEFAULT_LINE Lnet/minecraft/client/renderer/RenderStateShard$LineStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard NO_COLOR_LOGIC Lnet/minecraft/client/renderer/RenderStateShard$ColorLogicStateShard; -transitive-accessible field net/minecraft/client/renderer/RenderStateShard OR_REVERSE_COLOR_LOGIC Lnet/minecraft/client/renderer/RenderStateShard$ColorLogicStateShard; -transitive-accessible class net/minecraft/client/renderer/RenderStateShard$TransparencyStateShard -transitive-accessible class net/minecraft/client/renderer/RenderStateShard$ShaderStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$TextureStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$EmptyTextureStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$TexturingStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$LightmapStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$OverlayStateShard -transitive-accessible class net/minecraft/client/renderer/RenderStateShard$CullStateShard -transitive-accessible class net/minecraft/client/renderer/RenderStateShard$DepthTestStateShard -transitive-accessible class net/minecraft/client/renderer/RenderStateShard$WriteMaskStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$LayeringStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$OutputStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$LineStateShard -transitive-accessible class net/minecraft/client/renderer/RenderStateShard$ColorLogicStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$OffsetTexturingStateShard transitive-accessible class net/minecraft/client/renderer/RenderStateShard$MultiTextureStateShard diff --git a/fabric/build.gradle b/fabric/build.gradle index 26d719cf..6fbf4aec 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -128,7 +128,7 @@ unifiedPublishing { curseforge { token = CURSE_API_KEY id = rootProject.curseforge_id - gameVersions.addAll "Java 21", "1.21.4-Snapshot", project.minecraft_version + gameVersions.addAll "Java 21", "1.21.5-Snapshot" // , project.minecraft_version } } diff --git a/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java b/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java index 46763a15..373d9970 100644 --- a/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java +++ b/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java @@ -140,7 +140,7 @@ public enum FluidStackImpl implements FluidStack.FluidStackAdapter D set(Pair value, DataComponentType type, @Nullable D component) { + public D set(Pair value, DataComponentType type, @Nullable D component) { return value.components.set(type, component); } diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinCatSpawner.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinCatSpawner.java index 4afb804d..014eb1fb 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinCatSpawner.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinCatSpawner.java @@ -29,7 +29,7 @@ import net.minecraft.world.entity.npc.CatSpawner; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(CatSpawner.class) public abstract class MixinCatSpawner { @@ -44,10 +44,9 @@ public abstract class MixinCatSpawner { ), cancellable = true ) - private void checkCatSpawn(BlockPos pos, ServerLevel level, CallbackInfoReturnable cir, @Local Cat entity) { + private void checkCatSpawn(BlockPos pos, ServerLevel level, boolean persistenceRequired, CallbackInfo ci, @Local Cat entity) { if (EntityEvent.LIVING_CHECK_SPAWN.invoker().canSpawn(entity, level, pos.getX(), pos.getY(), pos.getZ(), EntitySpawnReason.NATURAL, null).value() == Boolean.FALSE) { - cir.setReturnValue(0); - cir.cancel(); + ci.cancel(); } } } diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinFarmBlock.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinFarmBlock.java index cb6ae9e4..cabe3744 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinFarmBlock.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinFarmBlock.java @@ -37,7 +37,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(FarmBlock.class) public abstract class MixinFarmBlock { @Unique - private static ThreadLocal> turnToDirtLocal = new ThreadLocal<>(); + private static ThreadLocal> turnToDirtLocal = new ThreadLocal<>(); @Inject( method = "fallOn", @@ -46,8 +46,8 @@ public abstract class MixinFarmBlock { target = "Lnet/minecraft/world/level/block/FarmBlock;turnToDirt(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)V" ) ) - private void fallOn(Level level, BlockState blockState, BlockPos blockPos, Entity entity, float f, CallbackInfo ci) { - turnToDirtLocal.set(Triple.of(blockPos.asLong(), f, entity)); + private void fallOn(Level level, BlockState blockState, BlockPos blockPos, Entity entity, double d, CallbackInfo ci) { + turnToDirtLocal.set(Triple.of(blockPos.asLong(), d, entity)); } @Inject(method = "turnToDirt", at = @At("HEAD"), cancellable = true) diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinInventory.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinInventory.java deleted file mode 100644 index c3be7935..00000000 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinInventory.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * This file is part of architectury. - * Copyright (C) 2020, 2021, 2022 architectury - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -package dev.architectury.mixin.fabric; - -import dev.architectury.extensions.ItemExtension; -import net.minecraft.core.NonNullList; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(Inventory.class) -public class MixinInventory { - @Shadow - @Final - public NonNullList armor; - - @Shadow - @Final - public Player player; - - @Inject(method = "tick", at = @At("RETURN")) - private void updateItems(CallbackInfo ci) { - for (var stack : armor) { - Item item = stack.getItem(); - if (item instanceof ItemExtension extension) { - extension.tickArmor(stack, player); - } - } - } -} diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinLivingEntity.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinLivingEntity.java index 1957fbe0..6510d707 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinLivingEntity.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinLivingEntity.java @@ -20,13 +20,10 @@ package dev.architectury.mixin.fabric; import dev.architectury.event.events.common.EntityEvent; -import dev.architectury.extensions.ItemExtension; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -41,15 +38,4 @@ public class MixinLivingEntity { cir.setReturnValue(false); } } - - @Inject(method = "getEquipmentSlotForItem", at = @At("HEAD"), cancellable = true) - private void getEquipmentSlotForItem(ItemStack stack, CallbackInfoReturnable cir) { - var item = stack.getItem(); - if (item instanceof ItemExtension extension) { - var slot = extension.getCustomEquipmentSlot(stack); - if (slot != null) { - cir.setReturnValue(slot); - } - } - } } diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPhantomSpawner.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPhantomSpawner.java index c96e9d71..7a0ff69c 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPhantomSpawner.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPhantomSpawner.java @@ -29,7 +29,7 @@ import net.minecraft.world.level.levelgen.PhantomSpawner; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(PhantomSpawner.class) public abstract class MixinPhantomSpawner { @@ -45,10 +45,9 @@ public abstract class MixinPhantomSpawner { ), cancellable = true ) - private void checkPhantomSpawn(ServerLevel level, boolean bl, boolean bl2, CallbackInfoReturnable cir, @Local(ordinal = 1) BlockPos pos, @Local Phantom entity) { + private void checkPhantomSpawn(ServerLevel level, boolean bl, boolean bl2, CallbackInfo ci, @Local(ordinal = 1) BlockPos pos, @Local Phantom entity) { if (EntityEvent.LIVING_CHECK_SPAWN.invoker().canSpawn(entity, level, pos.getX(), pos.getY(), pos.getZ(), EntitySpawnReason.NATURAL, null).value() == Boolean.FALSE) { - cir.setReturnValue(0); - cir.cancel(); + ci.cancel(); } } } diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPlayer.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPlayer.java index cd3b6a19..a5c56929 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPlayer.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinPlayer.java @@ -46,8 +46,8 @@ public class MixinPlayer { TickEvent.PLAYER_POST.invoker().tick((Player) (Object) this); } - @Inject(method = "drop(Lnet/minecraft/world/item/ItemStack;ZZ)Lnet/minecraft/world/entity/item/ItemEntity;", at = @At("RETURN"), cancellable = true) - private void drop(ItemStack itemStack, boolean bl, boolean bl2, CallbackInfoReturnable cir) { + @Inject(method = "drop(Lnet/minecraft/world/item/ItemStack;Z)Lnet/minecraft/world/entity/item/ItemEntity;", at = @At("RETURN"), cancellable = true) + private void drop(ItemStack itemStack, boolean bl, CallbackInfoReturnable cir) { if (cir.getReturnValue() != null && PlayerEvent.DROP_ITEM.invoker().drop((Player) (Object) this, cir.getReturnValue()).isFalse()) { cir.setReturnValue(null); } diff --git a/fabric/src/main/java/dev/architectury/registry/level/biome/fabric/BiomeModificationsImpl.java b/fabric/src/main/java/dev/architectury/registry/level/biome/fabric/BiomeModificationsImpl.java index b6838dee..b1c2079e 100644 --- a/fabric/src/main/java/dev/architectury/registry/level/biome/fabric/BiomeModificationsImpl.java +++ b/fabric/src/main/java/dev/architectury/registry/level/biome/fabric/BiomeModificationsImpl.java @@ -34,7 +34,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.Music; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.TagKey; -import net.minecraft.util.random.SimpleWeightedRandomList; +import net.minecraft.util.random.WeightedList; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.level.biome.*; @@ -199,8 +199,8 @@ public class BiomeModificationsImpl { } @Override - public Mutable addSpawn(MobCategory category, MobSpawnSettings.SpawnerData data) { - context.addSpawn(category, data); + public Mutable addSpawn(MobCategory category, MobSpawnSettings.SpawnerData data, int weight) { + context.addSpawn(category, data, weight); return this; } @@ -325,7 +325,7 @@ public class BiomeModificationsImpl { } @Override - public EffectsProperties.Mutable setBackgroundMusic(@Nullable SimpleWeightedRandomList music) { + public EffectsProperties.Mutable setBackgroundMusic(@Nullable WeightedList music) { context.setMusic(Optional.ofNullable(music)); return this; } diff --git a/fabric/src/main/java/dev/architectury/registry/level/entity/trade/fabric/TradeRegistryImpl.java b/fabric/src/main/java/dev/architectury/registry/level/entity/trade/fabric/TradeRegistryImpl.java index 3f867747..06a9ab8b 100644 --- a/fabric/src/main/java/dev/architectury/registry/level/entity/trade/fabric/TradeRegistryImpl.java +++ b/fabric/src/main/java/dev/architectury/registry/level/entity/trade/fabric/TradeRegistryImpl.java @@ -20,13 +20,14 @@ package dev.architectury.registry.level.entity.trade.fabric; import net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.npc.VillagerProfession; import net.minecraft.world.entity.npc.VillagerTrades; import java.util.Collections; public class TradeRegistryImpl { - public static void registerVillagerTrade0(VillagerProfession profession, int level, VillagerTrades.ItemListing... trades) { + public static void registerVillagerTrade0(ResourceKey profession, int level, VillagerTrades.ItemListing... trades) { TradeOfferHelper.registerVillagerOffers(profession, level, allTradesList -> Collections.addAll(allTradesList, trades)); } diff --git a/fabric/src/main/resources/architectury.mixins.json b/fabric/src/main/resources/architectury.mixins.json index a4bd41f8..aacdd57b 100644 --- a/fabric/src/main/resources/architectury.mixins.json +++ b/fabric/src/main/resources/architectury.mixins.json @@ -38,7 +38,6 @@ "MixinFallingBlockEntity", "MixinFarmBlock", "MixinFurnaceResultSlot", - "MixinInventory", "MixinItemEntity", "MixinLivingEntity", "MixinNaturalSpawner", diff --git a/gradle.properties b/gradle.properties index c06c5004..32bd6399 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,21 +1,21 @@ org.gradle.jvmargs=-Xmx6G org.gradle.daemon=false -platforms=fabric,neoforge +platforms=fabric -minecraft_version=1.21.4 -supported_version=1.21.4 +minecraft_version=1.21.5-pre2 +supported_version=1.21.5-pre2 -artifact_type=release +artifact_type=beta archives_base_name=architectury archives_base_name_snapshot=architectury-snapshot -base_version=15.0 +base_version=16.0 maven_group=dev.architectury version_suffix= -fabric_loader_version=0.16.9 -fabric_api_version=0.110.5+1.21.4 +fabric_loader_version=0.16.10 +fabric_api_version=0.119.0+1.21.5 mod_menu_version=11.0.1 forge_version=51.0.0 @@ -26,3 +26,5 @@ neoforge_pr= curseforge_id=419699 modrinth_id=lhGA9TYQ + +loom.ignoreDependencyLoomVersionValidation=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0d184210..e48eca57 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index 4626627e..8c6bf287 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,5 @@ pluginManagement { repositories { - mavenLocal() maven { url "https://maven.fabricmc.net/" } maven { url "https://maven.architectury.dev/" } maven { url "https://files.minecraftforge.net/maven/" } @@ -16,10 +15,10 @@ include("common") include("fabric") //include("forge") //include("minecraftforge") -include("neoforge") +//include("neoforge") include("testmod-common") include("testmod-fabric") //include("testmod-forge") -include("testmod-neoforge") +//include("testmod-neoforge") rootProject.name = "architectury" diff --git a/testmod-common/src/main/java/dev/architectury/test/debug/client/ClientOverlayMessageSink.java b/testmod-common/src/main/java/dev/architectury/test/debug/client/ClientOverlayMessageSink.java index c76e60ea..e8e1e2de 100644 --- a/testmod-common/src/main/java/dev/architectury/test/debug/client/ClientOverlayMessageSink.java +++ b/testmod-common/src/main/java/dev/architectury/test/debug/client/ClientOverlayMessageSink.java @@ -20,7 +20,6 @@ package dev.architectury.test.debug.client; import com.google.common.collect.Lists; -import com.mojang.blaze3d.systems.RenderSystem; import dev.architectury.event.events.client.ClientGuiEvent; import dev.architectury.test.debug.ConsoleMessageSink; import net.fabricmc.api.EnvType; @@ -65,8 +64,6 @@ public class ClientOverlayMessageSink extends ConsoleMessageSink { var messageIterator = messages.iterator(); var y = 1; - RenderSystem.enableBlend(); - while (messageIterator.hasNext()) { var message = messageIterator.next(); var timeExisted = (int) (currentMills - message.created); @@ -85,7 +82,6 @@ public class ClientOverlayMessageSink extends ConsoleMessageSink { } } - RenderSystem.disableBlend(); graphics.pose().popPose(); } diff --git a/testmod-common/src/main/java/dev/architectury/test/item/TestBlockInteractions.java b/testmod-common/src/main/java/dev/architectury/test/item/TestBlockInteractions.java index 82c92334..c4c201cb 100644 --- a/testmod-common/src/main/java/dev/architectury/test/item/TestBlockInteractions.java +++ b/testmod-common/src/main/java/dev/architectury/test/item/TestBlockInteractions.java @@ -35,7 +35,7 @@ public final class TestBlockInteractions { AxeItemHooks.addStrippable(Blocks.QUARTZ_PILLAR, Blocks.OAK_LOG); ShovelItemHooks.addFlattenable(Blocks.IRON_ORE, Blocks.DIAMOND_BLOCK.defaultBlockState()); HoeItemHooks.addTillable(Blocks.COAL_BLOCK, ctx -> { - return ctx.getLevel().isNight(); + return ctx.getLevel().isDarkOutside(); }, ctx -> { BlockPos pos = ctx.getClickedPos(); if (!ctx.getLevel().isClientSide) { diff --git a/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java b/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java index 30360b3d..503a936b 100644 --- a/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java +++ b/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java @@ -33,7 +33,6 @@ import dev.architectury.registry.registries.RegistrySupplier; import dev.architectury.test.TestMod; import dev.architectury.test.entity.TestEntity; import dev.architectury.test.recipes.TestRecipeSerializer; -import dev.architectury.test.registry.objects.EquippableTickingItem; import dev.architectury.test.registry.objects.ItemWithTooltip; import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; @@ -114,8 +113,6 @@ public class TestRegistries { public static final RegistrySupplier TEST_ITEM = ITEMS.register("test_item", () -> new Item(new Item.Properties().arch$tab(TestRegistries.TEST_TAB).setId(id(Registries.ITEM, "test_item")))); - public static final RegistrySupplier TEST_EQUIPPABLE = ITEMS.register("test_eqippable", () -> - new EquippableTickingItem(new Item.Properties().arch$tab(TestRegistries.TEST_TAB).setId(id(Registries.ITEM, "test_eqippable")))); public static final RegistrySupplier TEST_EDIBLE = ITEMS.register("test_edible", () -> { return new Item(new Item.Properties() .food(new FoodProperties.Builder().nutrition(8).saturationModifier(0.8F).build(), diff --git a/testmod-common/src/main/java/dev/architectury/test/registry/objects/EquippableTickingItem.java b/testmod-common/src/main/java/dev/architectury/test/registry/objects/EquippableTickingItem.java deleted file mode 100644 index 100dabea..00000000 --- a/testmod-common/src/main/java/dev/architectury/test/registry/objects/EquippableTickingItem.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of architectury. - * Copyright (C) 2020, 2021, 2022 architectury - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -package dev.architectury.test.registry.objects; - -import dev.architectury.extensions.ItemExtension; -import dev.architectury.test.TestMod; -import net.minecraft.network.chat.Component; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import org.jetbrains.annotations.Nullable; - -public class EquippableTickingItem extends Item implements ItemExtension { - public EquippableTickingItem(Properties properties) { - super(properties); - } - - @Override - public void tickArmor(ItemStack stack, Player player) { - TestMod.SINK.accept("Ticking " + Component.translatable(stack.getItem().getDescriptionId()).getString()); - } - - @Nullable - @Override - public EquipmentSlot getCustomEquipmentSlot(ItemStack stack) { - return EquipmentSlot.HEAD; - } -} diff --git a/testmod-common/src/main/java/dev/architectury/test/trade/TestTrades.java b/testmod-common/src/main/java/dev/architectury/test/trade/TestTrades.java index 337132f7..ebfc58da 100644 --- a/testmod-common/src/main/java/dev/architectury/test/trade/TestTrades.java +++ b/testmod-common/src/main/java/dev/architectury/test/trade/TestTrades.java @@ -30,7 +30,7 @@ import java.util.Optional; public class TestTrades { public static void init() { - for (var villagerProfession : BuiltInRegistries.VILLAGER_PROFESSION) { + for (var villagerProfession : BuiltInRegistries.VILLAGER_PROFESSION.registryKeySet()) { TradeRegistry.registerVillagerTrade(villagerProfession, 1, TestTrades.createTrades()); } TradeRegistry.registerTradeForWanderingTrader(false, TestTrades.createTrades());