Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.neo.points;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.YamlConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.io.File;
- import java.io.IOException;
- import java.util.logging.Level;
- /**
- * Created by Neotroost on 13-9-2015.
- * Copyrighted!
- */
- public class Library extends JavaPlugin implements Listener {
- public String prefix;
- public String color1;
- public String color2;
- @Override
- public void onEnable() {
- getConfig().options().copyDefaults();
- saveDefaultConfig();
- getCommand("points").setExecutor(this);
- load();
- getServer().getPluginManager().registerEvents(this, this);
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- if (!(sender instanceof Player)) {
- return true;
- }
- if (args.length == 0) {
- Player p = (Player) sender;
- String name = p.getName();
- File userfile = new File(getUserFolder(), name + ".yml");
- File file = new File(getDataFolder(), "userdata");
- FileConfiguration userconfig = YamlConfiguration.loadConfiguration(userfile);
- int points = userconfig.getInt("Points");
- String message = ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.points"));
- String replaced = message.replaceAll("<points>", String.valueOf(points));
- p.sendMessage(replaced);
- return true;
- }
- if (args[0].equalsIgnoreCase("add")) {
- if (!(sender.hasPermission("points.use"))) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.nopermission")));
- return true;
- }
- if (!(args.length >= 3)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.noamount")));
- return true;
- }
- String name = args[1];
- File userfile = new File(getUserFolder(), name + ".yml");
- File file = new File(getDataFolder(), "userdata");
- FileConfiguration userconfig = YamlConfiguration.loadConfiguration(userfile);
- int points = userconfig.getInt("Points");
- Double pointss = null;
- try {
- pointss = Double.parseDouble(args[2]);
- }
- catch (NumberFormatException e) {
- sender.sendMessage(color1 + "arguments" + color2 + " 2" + color1 + " must contain numbers only!");
- sender.sendMessage(color1 + "Argument:" + color2 + " " + args[2]);
- return true;
- }
- double amounts = (points + pointss);
- userconfig.set("Points", amounts);
- try {
- userconfig.save(userfile);
- } catch (IOException u) {
- getLogger().log(Level.SEVERE, "cannot save critical user information!", u);
- }
- return true;
- }
- if (args[0].equalsIgnoreCase("remove")) {
- if (!(sender.hasPermission("points.use"))) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.nopermission")));
- return true;
- }
- if (!(args.length >= 3)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.noamount")));
- return true;
- }
- String name = args[1];
- File userfile = new File(getUserFolder(), name + ".yml");
- File file = new File(getDataFolder(), "userdata");
- FileConfiguration userconfig = YamlConfiguration.loadConfiguration(userfile);
- int points = userconfig.getInt("Points");
- Double pointss = null;
- try {
- pointss = Double.parseDouble(args[2]);
- }
- catch (NumberFormatException e) {
- sender.sendMessage(color1 + "arguments" + color2 + " 2" + color1 + " must contain numbers only!");
- sender.sendMessage(color1 + "Argument:" + color2 + " " + args[2]);
- return true;
- }
- double amounts = (points - pointss);
- userconfig.set("Points", amounts);
- try {
- userconfig.save(userfile);
- } catch (IOException u) {
- getLogger().log(Level.SEVERE, "cannot save critical user information!", u);
- }
- }
- return true;
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) {
- String name = e.getPlayer().getName();
- File userfile = new File(getUserFolder(), name + ".yml");
- File file = new File(getDataFolder(), "userdata");
- try {
- userfile.createNewFile();
- } catch (IOException u) {
- getLogger().log(Level.SEVERE, "User file not created!",u);
- return;
- }
- FileConfiguration userconfig = YamlConfiguration.loadConfiguration(userfile);
- userconfig.set("Username", e.getPlayer().getName());
- userconfig.set("Points", 0);
- try {
- userconfig.save(userfile);
- } catch (IOException u) {
- getLogger().log(Level.SEVERE, "cannot save critical user information!", e);
- }
- }
- public void load() {
- prefix = ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.prefix"));
- String success = ChatColor.translateAlternateColorCodes('&', String.valueOf(getConfig().getStringList("Settings.success")));
- color1 = ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.color1"));
- color2 = ChatColor.translateAlternateColorCodes('&', getConfig().getString("Settings.color2"));
- }
- public File getUserFolder() {
- File file = new File(getDataFolder(), "userdata");
- if (!file.exists()) {
- //noinspection ResultOfMethodCallIgnored
- file.mkdir();
- }
- return file;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement