Skip to content

Commit

Permalink
Fix List Data not being loaded
Browse files Browse the repository at this point in the history
  • Loading branch information
ZockerAxel committed Dec 24, 2021
1 parent 8193e74 commit 9c2b759
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import org.bukkit.entity.Player;

import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;

Expand Down Expand Up @@ -714,7 +715,7 @@ public SaveFile createNewSave(UUID uuid, Advancement... advancements) {
progressData.add(new ProgressData(advancement.getName(), getCriteriaProgress(uuid, advancement)));
break;
case LIST:
criteriaData.add(new CriteriaData(advancement.getName(), advancement.getProgress(uuid).getAwardedCriteria()));
criteriaData.add(new CriteriaData(advancement.getName(), Lists.newArrayList(advancement.getProgress(uuid).getAwardedCriteria())));
break;
}
}
Expand Down Expand Up @@ -808,7 +809,7 @@ public void loadProgress(UUID uuid, SaveFile saveFile, Advancement... advancemen
int progress = progressData.getProgress();

for(Advancement advancement: advancementsList) {
if(advancement.hasName(name)) {
if(advancement.getCriteria().getType() == CriteriaType.NUMBER && advancement.hasName(name)) {
advancement.getProgress(uuid).setCriteriaProgress(progress);
break;
}
Expand All @@ -820,7 +821,7 @@ public void loadProgress(UUID uuid, SaveFile saveFile, Advancement... advancemen
Iterable<String> criteria = progressData.getCriteria();

for(Advancement advancement: advancementsList) {
if(advancement.hasName(name)) {
if(advancement.getCriteria().getType() == CriteriaType.LIST && advancement.hasName(name)) {
advancement.getProgress(uuid).grantCriteria(Iterables.toArray(criteria, String.class));
break;
}
Expand Down Expand Up @@ -896,7 +897,8 @@ private static SaveFile generateSaveFile(File file) {
SaveFile saveFile = SaveFile.fromJSON(element);
return saveFile;
} catch (Exception ex) {
//Do nothing
System.err.println("Unable to read Save File!");
ex.printStackTrace();
}
}
//Return Empty Save if Save File doesn't exist
Expand Down
8 changes: 5 additions & 3 deletions src/eu/endercentral/crazy_advancements/save/CriteriaData.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package eu.endercentral.crazy_advancements.save;

import java.util.List;

import eu.endercentral.crazy_advancements.NameKey;
import eu.endercentral.crazy_advancements.advancement.criteria.CriteriaType;

Expand All @@ -12,15 +14,15 @@
public class CriteriaData {

private final NameKey name;
private final Iterable<String> criteria;
private final List<String> criteria;

/**
* Constructor for creating CriteriaData
*
* @param name The Unique Name of the Advancement
* @param criteria The Criteria that has been awarded
*/
public CriteriaData(NameKey name, Iterable<String> criteria) {
public CriteriaData(NameKey name, List<String> criteria) {
this.name = name;
this.criteria = criteria;
}
Expand All @@ -39,7 +41,7 @@ public NameKey getName() {
*
* @return The Criteria
*/
public Iterable<String> getCriteria() {
public List<String> getCriteria() {
return criteria;
}

Expand Down

0 comments on commit 9c2b759

Please sign in to comment.