소스 검색

Fix block entity without position

shedaniel 4 년 전
부모
커밋
c0c496007e
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      fabric/src/main/java/me/shedaniel/architectury/mixin/fabric/MixinBlockEntityExtension.java

+ 3 - 1
fabric/src/main/java/me/shedaniel/architectury/mixin/fabric/MixinBlockEntityExtension.java

@@ -42,7 +42,9 @@ public interface MixinBlockEntityExtension extends BlockEntityClientSerializable
     default void fromClientTag(CompoundTag tag) {
         BlockEntity entity = (BlockEntity) this;
         if (entity.hasLevel()) {
-            entity.setLevelAndPosition(entity.getLevel(), new BlockPos(tag.getInt("x"), tag.getInt("y"), tag.getInt("z")));
+            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);
         }
     }