src/main/java/noahnok/dbdl/files/signs/SignManager.java
package noahnok.dbdl.files.signs;
import lombok.Getter;
import lombok.Setter;
import noahnok.dbdl.files.DeadByDaylight;
import noahnok.dbdl.files.game.DGame;
import org.bukkit.Location;
import org.bukkit.block.Block;
import java.util.ArrayList;
import java.util.List;
public class SignManager {
private final DeadByDaylight main;
@Getter
@Setter
private List<DSign> signs = new ArrayList<>();
public SignManager(DeadByDaylight main) {
this.main = main;
}
public void saveSignsToFile() {
int count = 1;
for (DSign sign : signs) {
String path = "signs." + count + ".";
main.getSignConfig().getConfig().set(path + "loc", sign.getSignBlock().getLocation());
count++;
}
main.getSignConfig().saveConfig();
}
public void loadSignsFromFile() {
try {
for (String key : main.getSignConfig().getConfig().getConfigurationSection("signs").getKeys(false)) {
String path = "signs." + key + ".loc";
Location loc = (Location) main.getSignConfig().getConfig().get(path);
DSign newSign = new DSign(loc.getBlock());
signs.add(newSign);
}
} catch (NullPointerException e) {
main.getLogger().warning("No signs were found!");
}
}
public DSign getSign(DGame game) {
for (DSign sign : signs) {
if (sign.getGame().equals(game)) {
return sign;
}
}
return null;
}
public DSign getSign(Block b) {
for (DSign sign : signs) {
if (sign.getSignBlock().equals(b)) {
return sign;
}
}
return null;
}
public void removeSign(Block b) {
for (DSign sign : signs) {
if (sign.getSignBlock().equals(b)) {
sign.setGame(null);
signs.remove(sign);
}
}
}
}