From b8dcba2ee5b2bc6fd4fe600b65058a58f5a2af04 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 5 Apr 2023 16:32:40 +0200 Subject: [PATCH 1/2] Fix #398 (supersedes and closes #395) --- .../java/dev/architectury/mixin/fabric/MixinBlockItem.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinBlockItem.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinBlockItem.java index e6f96532..ae403f9a 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinBlockItem.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinBlockItem.java @@ -30,10 +30,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(BlockItem.class) public abstract class MixinBlockItem { - @Inject(method = "place", - at = @At(value = "INVOKE", - target = "Lnet/minecraft/world/item/context/BlockPlaceContext;getClickedPos()Lnet/minecraft/core/BlockPos;"), - cancellable = true) + @Inject(method = "place", at = @At("HEAD"), cancellable = true) private void place(BlockPlaceContext context, CallbackInfoReturnable cir) { var result = BlockEvent.PLACE.invoker().placeBlock(context.getLevel(), context.getClickedPos(), context.getLevel().getBlockState(context.getClickedPos()), context.getPlayer()); if (result.isPresent()) { From b1e7c89ffb3d2ba95799748cd1ab4ef67e68cbe4 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 5 Apr 2023 16:33:51 +0200 Subject: [PATCH 2/2] Fix args order in player clone event (supersedes and closes #391) --- .../java/dev/architectury/mixin/fabric/MixinServerPlayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinServerPlayer.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinServerPlayer.java index 569efcc4..ce414bb0 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinServerPlayer.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinServerPlayer.java @@ -37,7 +37,7 @@ import java.util.OptionalInt; public class MixinServerPlayer { @Inject(method = "restoreFrom", at = @At("RETURN")) private void restoreFrom(ServerPlayer serverPlayer, boolean bl, CallbackInfo ci) { - PlayerEvent.PLAYER_CLONE.invoker().clone((ServerPlayer) (Object) this, serverPlayer, bl); + PlayerEvent.PLAYER_CLONE.invoker().clone(serverPlayer, (ServerPlayer) (Object) this, bl); } @Inject(method = "openMenu", at = @At("RETURN"))