package dev.loki.loparkour.player.data;
import java.util.ArrayList;
import java.util.List;
/**
* Per-player parkour preferences: what to show, which style to play, how hard the schematics may be.
*
*
Persistence goes through the flat key/value map built by PlayerSettingsManager, so the storage keys
* are stable and independent of these field names.
*
* @author loki
*/
public class PlayerSettings {
private Double schematicDifficulty;
private Integer blockLead;
private Boolean particles;
private Boolean sound;
private Boolean useSpecialBlocks;
private Boolean showFallMessage;
private Boolean showScoreboard;
private Boolean ghostRecording;
private Integer selectedTime;
private String style;
private List collectedRewards;
public Double schematicDifficulty() {
return schematicDifficulty;
}
public void setSchematicDifficulty(Double schematicDifficulty) {
this.schematicDifficulty = schematicDifficulty;
}
public Integer blockLead() {
return blockLead;
}
public void setBlockLead(Integer blockLead) {
this.blockLead = blockLead;
}
public Boolean particles() {
return particles;
}
public void setParticles(Boolean particles) {
this.particles = particles;
}
public Boolean sound() {
return sound;
}
public void setSound(Boolean sound) {
this.sound = sound;
}
public Boolean useSpecialBlocks() {
return useSpecialBlocks;
}
public void setUseSpecialBlocks(Boolean useSpecialBlocks) {
this.useSpecialBlocks = useSpecialBlocks;
}
public Boolean showFallMessage() {
return showFallMessage;
}
public void setShowFallMessage(Boolean showFallMessage) {
this.showFallMessage = showFallMessage;
}
public Boolean showScoreboard() {
return showScoreboard;
}
public void setShowScoreboard(Boolean showScoreboard) {
this.showScoreboard = showScoreboard;
}
public Boolean ghostRecording() {
return ghostRecording;
}
public void setGhostRecording(Boolean ghostRecording) {
this.ghostRecording = ghostRecording;
}
public Integer selectedTime() {
return selectedTime;
}
public void setSelectedTime(Integer selectedTime) {
this.selectedTime = selectedTime;
}
public String style() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
/** Reward keys already claimed by this player; never null after first access. */
public List collectedRewards() {
if (collectedRewards == null) {
collectedRewards = new ArrayList<>();
}
return collectedRewards;
}
}