Fix errors when loading raid files without a PDC

This commit is contained in:
Shane Freeder 2025-05-02 19:43:06 +01:00
parent 51345a1cc8
commit 93246a0730
No known key found for this signature in database
GPG Key ID: A3F61EA5A085289C

View File

@ -17,7 +17,7 @@
Raid.RaidStatus.CODEC.fieldOf("status").forGetter(raid -> raid.status),
BlockPos.CODEC.fieldOf("center").forGetter(raid -> raid.center),
UUIDUtil.CODEC_SET.fieldOf("heroes_of_the_village").forGetter(raid -> raid.heroesOfTheVillage)
+ , org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer.createCodec(PDC_TYPE_REGISTRY).fieldOf(PDC_NBT_KEY).forGetter(raid -> raid.persistentDataContainer)
+ , org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer.createCodec(PDC_TYPE_REGISTRY).lenientOptionalFieldOf(PDC_NBT_KEY).forGetter(raid -> java.util.Optional.of(raid.persistentDataContainer))
)
.apply(instance, Raid::new)
);
@ -33,7 +33,7 @@
Raid.RaidStatus status,
BlockPos center,
Set<UUID> heroesOfTheVillage
+ , final org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer persistentDataContainer // Paper - add persistent data container
+ , final Optional<org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer> persistentDataContainer // Paper - add persistent data container
) {
this.started = started;
this.active = active;
@ -41,7 +41,7 @@
this.numGroups = numGroups;
this.status = status;
this.heroesOfTheVillage.addAll(heroesOfTheVillage);
+ this.persistentDataContainer = persistentDataContainer; // Paper - add persistent data container
+ this.persistentDataContainer = persistentDataContainer.orElseGet(() -> new org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer(PDC_TYPE_REGISTRY)); // Paper - add persistent data container
}
public boolean isOver() {