Просмотр исходного кода

Fix block entity without position

shedaniel 4 лет назад
Родитель
Сommit
c0c496007e

+ 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);
         }
     }