diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/BlockDataService.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/BlockDataService.java index 8aeda5a4bf..f03b2ebacb 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/BlockDataService.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/BlockDataService.java @@ -137,7 +137,17 @@ public Optional getUniversalDataUUID(@Nonnull Block b) { return uuid.map(data -> { try { - return UUID.fromString(data); + var uniId = UUID.fromString(data); + + var uniData = + Slimefun.getDatabaseManager().getBlockDataController().getUniversalBlockDataFromCache(uniId); + + // Auto fix missing location + if (uniData != null && uniData.getLastPresent() == null) { + uniData.setLastPresent(b.getLocation()); + } + + return uniId; } catch (IllegalArgumentException e) { return null; }