Put award native advancement in one for...each;

feat/data-edit-commands
HarvelsX 3 years ago
parent ec6809aecc
commit c5f63b4d65
No known key found for this signature in database
GPG Key ID: 9637BCFE856BB8F3

@ -284,7 +284,6 @@ public class PlayerSetter {
// Clear
AdvancementUtils.clearPlayerAdvancementsMap(playerAdvancements);
final Map<Object, List<String>> syncAdvancementMap = new HashMap<>();
advancementRecords.forEach(advancementRecord -> {
NamespacedKey namespacedKey = Objects.requireNonNull(
NamespacedKey.fromString(advancementRecord.advancementKey()),
@ -297,16 +296,12 @@ public class PlayerSetter {
return;
}
syncAdvancementMap.put(
AdvancementUtils.getHandle(bukkitAdvancement),
advancementRecord.awardedAdvancementCriteria()
);
});
// todo: sync date of get advancement
Date date = Date.from(Instant.now().minus(Period.ofWeeks(1)));
syncAdvancementMap.forEach((advancement, criteriaList) -> {
Object advancement = AdvancementUtils.getHandle(bukkitAdvancement);
List<String> criteriaList = advancementRecord.awardedAdvancementCriteria();
{
Map<String, Object> nativeCriteriaMap = new HashMap<>();
criteriaList.forEach(criteria ->
nativeCriteriaMap.put(criteria, AdvancementUtils.newCriterionProgress(date))
@ -314,6 +309,8 @@ public class PlayerSetter {
Object nativeAdvancementProgress = AdvancementUtils.newAdvancementProgress(nativeCriteriaMap);
AdvancementUtils.startProgress(playerAdvancements, advancement, nativeAdvancementProgress);
}
});
AdvancementUtils.markPlayerAdvancementsFirst(playerAdvancements);

Loading…
Cancel
Save