package me.altug.levelingsystem;
import me.altug.levelingsystem.data.playerData;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.io.IOException;
public final class Leveling_System extends JavaPlugin implements Listener {
@Override
public void onEnable() {
// Plugin startup logic
saveResource("config.yml", false);
createCustomConfig();
getCommand("level").setExecutor(new command(this));
Bukkit.getPluginManager().registerEvents(this, this);
Bukkit.getPluginManager().registerEvents(new boosters(), this);
}
private void createCustomConfig()
{
File createDataFile = new File(getDataFolder(), "players.yml");
if(!createDataFile.exists())
{
createDataFile.getParentFile().mkdirs();
saveResource("players.yml", false);
}
}
@Override
public void onDisable() {
saveConfig();
}
@EventHandler
private void onJoinEvent(PlayerJoinEvent event)
{
playerData data = new playerData();
File dat = new File(getDataFolder().getAbsolutePath() + "/players.yml");
FileConfiguration conf = YamlConfiguration.loadConfiguration(dat);
if(conf.contains("players." + event.getPlayer().getUniqueId().toString()))
{
data.setLevel(conf.getInt("players." + event.getPlayer().getUniqueId().toString() + ".main.level"));
data.setReq(conf.getInt("players." + event.getPlayer().getUniqueId().toString() + ".main.required"));
data.setExp(conf.getInt("players." + event.getPlayer().getUniqueId().toString() + ".main.exp"));
data.setBoost(conf.getInt("players." + event.getPlayer().getUniqueId().toString() + ".main.boost"));
System.out.println("§d(Created Data for) §e" + event.getPlayer());
System.out.println("§dLevel " + data.getLevel());
System.out.println("§dRequired " + data.getReq());
System.out.println("§dExperience " + data.getExp());
System.out.println("§dBoost " + data.getBoost());
} else {
data.setLevel(1);
data.setReq(50);
data.setExp(0);
data.setBoost(1);
System.out.println("§d(Loaded Data for) §e" + event.getPlayer());
System.out.println("§dLevel " + data.getLevel());
System.out.println("§dRequired " + data.getReq());
System.out.println("§dExperience " + data.getExp());
System.out.println("§dBoost " + data.getBoost());
}
command.setPlayerData(event.getPlayer(), data);
}
@EventHandler
private void onQuit(PlayerQuitEvent event)
{
playerData data = command.getPlayerData(event.getPlayer());
File dat = new File(getDataFolder().getAbsolutePath() + "/players.yml");
FileConfiguration conf = YamlConfiguration.loadConfiguration(dat);
conf.set("players." + event.getPlayer().getUniqueId().toString() + ".main.level", data.getLevel());
conf.set("players." + event.getPlayer().getUniqueId().toString() + ".main.required", data.getReq());
conf.set("players." + event.getPlayer().getUniqueId().toString() + ".main.exp", data.getExp());
conf.set("players." + event.getPlayer().getUniqueId().toString() + ".main.boost", 1);
try {
conf.save(dat);
System.out.println("§d(Quit save ran for) §e" + event.getPlayer());
System.out.println("§dLevel " + data.getLevel());
System.out.println("§dRequired " + data.getReq());
System.out.println("§dExperience " + data.getExp());
System.out.println("§dBoost " + data.getBoost());
} catch
(IOException e){
e.printStackTrace();
}
command.resPlayerData(event.getPlayer());
}
}