diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java index 894d7269eb..4b032fcf34 100644 --- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java +++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java @@ -1307,8 +1307,13 @@ private void migrateUniversalData( var universalData = createUniversalBlock(l, sfId); Slimefun.runSync( - () -> Slimefun.getBlockDataService() - .updateUniversalDataUUID(l.getBlock(), String.valueOf(universalData.getUUID())), + () -> { + if (Slimefun.getBlockDataService() + .isTileEntity(l.getBlock().getType())) { + Slimefun.getBlockDataService() + .updateUniversalDataUUID(l.getBlock(), String.valueOf(universalData.getUUID())); + } + }, 10L); kvData.forEach(recordSet -> universalData.setData( diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalBlockData.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalBlockData.java index 4c39783ce1..6c9463595c 100644 --- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalBlockData.java +++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalBlockData.java @@ -19,6 +19,7 @@ public SlimefunUniversalBlockData(UUID uuid, String sfId, BlockPosition present) super(uuid, sfId); this.lastPresent = present; + setTraitData(UniversalDataTrait.BLOCK, LocationUtils.locationToString(lastPresent.toLocation())); } public SlimefunUniversalBlockData(UUID uuid, String sfId, Location present) { @@ -30,6 +31,10 @@ public void setLastPresent(BlockPosition lastPresent) { this.lastPresent = lastPresent; } + public void setLastPresent(Location l) { + setLastPresent(new BlockPosition(l)); + } + public BlockPosition getLastPresent() { if (lastPresent != null) { return lastPresent;