Fix a few null pointer issues.

This commit is contained in:
Melledy
2022-07-18 02:33:13 -07:00
parent 2e85834e9c
commit 7f898417b0
3 changed files with 15 additions and 7 deletions

View File

@@ -5,13 +5,15 @@ import java.util.List;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import emu.grasscutter.game.props.FightProperty;
import it.unimi.dsi.fastutil.ints.Int2FloatMap;
import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
@ResourceType(name = "ReliquaryLevelExcelConfigData.json")
public class ReliquaryLevelData extends GameResource {
private int id;
private Int2ObjectMap<Float> propMap;
private Int2FloatMap propMap;
private int rank;
private int level;
@@ -40,15 +42,15 @@ public class ReliquaryLevelData extends GameResource {
}
public float getPropValue(int id) {
return propMap.get(id);
return propMap.getOrDefault(id, 0f);
}
@Override
public void onLoad() {
this.id = (rank << 8) + this.getLevel();
this.propMap = new Int2ObjectOpenHashMap<>();
this.propMap = new Int2FloatOpenHashMap();
for (RelicLevelProperty p : addProps) {
this.propMap.put(FightProperty.getPropByName(p.getPropType()).getId(), (Float) p.getValue());
this.propMap.put(FightProperty.getPropByName(p.getPropType()).getId(), p.getValue());
}
}