fam gotta backup

This commit is contained in:
5vl 2021-02-20 21:46:39 +01:00
parent f4a30e919c
commit 267f0cbfce
5 changed files with 146 additions and 3 deletions

View File

@ -0,0 +1,41 @@
package sbr.sbr.commands;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import sbr.sbr.main;
import sbr.sbr.utils.chatcolors;
import java.sql.ResultSet;
import java.sql.SQLException;
public class balance extends chatcolors implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
Player p = (Player) sender;
try {
ResultSet rs = main.prepareStatement("SELECT * FROM sbr WHERE UUID = '" + p.getUniqueId().toString() + "';").executeQuery();
rs.next();
int bal = rs.getInt("Balance");
int argint;
if (args.length == 0) {
p.sendMessage(color("&bYour balance is: &a" + bal));
}
if (args.length > 0) {
try {
argint = Integer.parseInt(args[0]);
int nbal = bal + argint;
main.prepareStatement("UPDATE Balance='" + nbal + "' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate();
p.sendMessage(color("&dYou added &b" + argint + " &dto your balance."));
p.sendMessage(color("&aYou now have: &b" + nbal));
} catch (NumberFormatException x) {
p.sendMessage(color("&c&lArgument must be an number or nothing!"));
}
}
} catch (SQLException x) {
x.printStackTrace();
}
return false;
}
}

View File

@ -0,0 +1,28 @@
package sbr.sbr.events;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import sbr.sbr.main;
import sbr.sbr.utils.chatcolors;
import java.sql.SQLException;
public class onPlayerJoin extends chatcolors implements Listener {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
if (!p.hasPlayedBefore()) {
try {
main.prepareStatement("INSERT INTO Balance(UUID, Balance) VALUES('" + p.getUniqueId().toString() + "', 0);").executeUpdate();
} catch (SQLException x) {
x.printStackTrace();
}
p.sendMessage(color("&c&lWelcome to the server!"));
}
else {
p.sendMessage(color("&a&lWelcome back to the server!"));
}
}
}

View File

@ -1,17 +1,57 @@
package sbr.sbr;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import sbr.sbr.commands.balance;
import sbr.sbr.events.onPlayerJoin;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public final class main extends JavaPlugin {
private static Connection connection;
private static String host, database, username, password;
private static int port;
@Override
public void onEnable() {
// Plugin startup logic
PluginManager plm = Bukkit.getPluginManager();;
host = "localhost";
port = 3306;
database = "sbr";
username = "root";
password = "";
try {
openConnection();
System.out.println("MySQL Database Connected.");
} catch (SQLException x) {
x.printStackTrace();
}
plm.registerEvents(new onPlayerJoin(), this);
getCommand("balance").setExecutor(new balance());
}
@Override
public void onDisable() {
// Plugin shutdown logic
try {
connection.close();
} catch (SQLException x) {
x.printStackTrace();
}
}
public static void openConnection() throws SQLException {
connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, username, password);
}
public static PreparedStatement prepareStatement(String query) {
PreparedStatement ps = null;
try {
ps = connection.prepareStatement(query);
} catch (SQLException x) {
x.printStackTrace();
}
return ps;
}
}

View File

@ -0,0 +1,32 @@
package sbr.sbr.utils;
import org.bukkit.ChatColor;
public class chatcolors {
public static String color(String s) {
s = s.replaceAll("<black>", "&0");
s = s.replaceAll("<dark blue>", "&1");
s = s.replaceAll("<dark green>", "&2");
s = s.replaceAll("<dark acqua>", "&3");
s = s.replaceAll("<dark red>", "&4");
s = s.replaceAll("<dark purple>", "&5");
s = s.replaceAll("<gold>", "&6");
s = s.replaceAll("<gray>", "&7");
s = s.replaceAll("<dark gray>", "&8");
s = s.replaceAll("<blue>", "&9");
s = s.replaceAll("<green>", "&a");
s = s.replaceAll("<aqua>", "&b");
s = s.replaceAll("<red>", "&c");
s = s.replaceAll("<light purple>", "&d");
s = s.replaceAll("<yellow>", "&e");
s = s.replaceAll("<white>", "&f");
s = s.replaceAll("<reset>", "&r");
s = s.replaceAll("<bold>", "&l");
s = s.replaceAll("<random>", "&k");
s = s.replaceAll("<italic>", "&o");
s = s.replaceAll("<strike>", "&m");
s = s.replaceAll("<underline>", "&n");
s = ChatColor.translateAlternateColorCodes('&', s);
return s;
}
}

View File

@ -4,3 +4,5 @@ main: sbr.sbr.main
api-version: 1.16
authors: [ 5vl ]
description: Hypxel Skyblock Remake
commands:
balance: