From 89ce4c7c5876ce02d3dac3af6eb1baa8749d8d73 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 27 Feb 2021 17:48:34 +0800 Subject: [PATCH] Fix BlockEntityExtension @Shadow remapping --- build.gradle | 2 +- .../mixin/fabric/MixinBlockEntityExtension.java | 14 ++------------ .../mixin/forge/MixinBlockEntityExtension.java | 9 ++------- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/build.gradle b/build.gradle index 7b9fe970..31979dfd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.0.89" - id "forgified-fabric-loom" version "0.6.70" apply false + id "forgified-fabric-loom" version "0.6.71" apply false id "org.cadixdev.licenser" version "0.5.0" id "com.matthewprenger.cursegradle" version "1.4.0" apply false id "maven-publish" diff --git a/fabric/src/main/java/me/shedaniel/architectury/mixin/fabric/MixinBlockEntityExtension.java b/fabric/src/main/java/me/shedaniel/architectury/mixin/fabric/MixinBlockEntityExtension.java index 495398ca..8d4e04df 100644 --- a/fabric/src/main/java/me/shedaniel/architectury/mixin/fabric/MixinBlockEntityExtension.java +++ b/fabric/src/main/java/me/shedaniel/architectury/mixin/fabric/MixinBlockEntityExtension.java @@ -24,20 +24,10 @@ import net.fabricmc.fabric.api.block.entity.BlockEntityClientSerializable; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.state.BlockState; -import org.jetbrains.annotations.NotNull; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; @Mixin(BlockEntityExtension.class) public interface MixinBlockEntityExtension extends BlockEntityClientSerializable { - @Shadow(remap = false) - @NotNull - CompoundTag saveClientData(@NotNull CompoundTag tag); - - @Shadow(remap = false) - void loadClientData(@NotNull BlockState pos, @NotNull CompoundTag tag); - @Override default void fromClientTag(CompoundTag tag) { BlockEntity entity = (BlockEntity) this; @@ -45,12 +35,12 @@ public interface MixinBlockEntityExtension extends BlockEntityClientSerializable if (tag.contains("x") && tag.contains("y") && tag.contains("z")) { entity.setLevelAndPosition(entity.getLevel(), new BlockPos(tag.getInt("x"), tag.getInt("y"), tag.getInt("z"))); } - loadClientData(entity.getBlockState(), tag); + ((BlockEntityExtension) this).loadClientData(entity.getBlockState(), tag); } } @Override default CompoundTag toClientTag(CompoundTag tag) { - return saveClientData(tag); + return ((BlockEntityExtension) this).saveClientData(tag); } } diff --git a/forge/src/main/java/me/shedaniel/architectury/mixin/forge/MixinBlockEntityExtension.java b/forge/src/main/java/me/shedaniel/architectury/mixin/forge/MixinBlockEntityExtension.java index c24dacbb..02dd3e41 100644 --- a/forge/src/main/java/me/shedaniel/architectury/mixin/forge/MixinBlockEntityExtension.java +++ b/forge/src/main/java/me/shedaniel/architectury/mixin/forge/MixinBlockEntityExtension.java @@ -26,22 +26,17 @@ import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.common.extensions.IForgeTileEntity; -import org.jetbrains.annotations.NotNull; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; @Mixin(BlockEntityExtension.class) public interface MixinBlockEntityExtension extends IForgeTileEntity { - @Shadow(remap = false) - void loadClientData(@NotNull BlockState pos, @NotNull CompoundTag tag); - @Override default void handleUpdateTag(BlockState state, CompoundTag tag) { - loadClientData(state, tag); + ((BlockEntityExtension) this).loadClientData(state, tag); } @Override default void onDataPacket(Connection connection, ClientboundBlockEntityDataPacket packet) { - loadClientData(((BlockEntity) this).getBlockState(), packet.getTag()); + ((BlockEntityExtension) this).loadClientData(((BlockEntity) this).getBlockState(), packet.getTag()); } }