mirror of
https://github.com/TotalFreedomMC/TotalFreedomMod.git
synced 2024-05-20 11:31:23 +00:00
Fix SQL bugs
This commit is contained in:
parent
edb1f224ca
commit
9e107c546d
|
@ -237,7 +237,7 @@ public class LoginProcess extends FreedomService
|
||||||
int noteCount = playerData.getNotes().size();
|
int noteCount = playerData.getNotes().size();
|
||||||
if (noteCount != 0)
|
if (noteCount != 0)
|
||||||
{
|
{
|
||||||
String noteMessage = "This player has " + noteCount + " admin note" + (noteCount > 1 ? "s" : "") + ".";
|
String noteMessage = "This player has " + noteCount + " note" + (noteCount > 1 ? "s" : "") + ".";
|
||||||
JSONMessage notice = JSONMessage.create(ChatColor.GOLD + noteMessage + " Click here to view them.")
|
JSONMessage notice = JSONMessage.create(ChatColor.GOLD + noteMessage + " Click here to view them.")
|
||||||
.tooltip("Click here to view them.")
|
.tooltip("Click here to view them.")
|
||||||
.runCommand("/notes " + player.getName() + " list");
|
.runCommand("/notes " + player.getName() + " list");
|
||||||
|
|
|
@ -17,7 +17,6 @@ import org.bukkit.entity.Player;
|
||||||
@CommandParameters(description = "Manage notes for a player", usage = "/<command> <name> <list | add <note> | remove <id> | clear>")
|
@CommandParameters(description = "Manage notes for a player", usage = "/<command> <name> <list | add <note> | remove <id> | clear>")
|
||||||
public class Command_notes extends FreedomCommand
|
public class Command_notes extends FreedomCommand
|
||||||
{
|
{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
|
@ -46,69 +45,78 @@ public class Command_notes extends FreedomCommand
|
||||||
playerData = plugin.pl.getData(player);
|
playerData = plugin.pl.getData(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args[1].equals("list"))
|
switch (args[1])
|
||||||
{
|
{
|
||||||
final StringBuilder noteList = new StringBuilder();
|
case "list":
|
||||||
noteList.append(ChatColor.GREEN + "Player notes for " + playerData.getName() + ":");
|
|
||||||
int id = 1;
|
|
||||||
for (String note : playerData.getNotes())
|
|
||||||
{
|
{
|
||||||
String noteLine = id + ". " + note;
|
if (playerData.getNotes().size() == 0)
|
||||||
noteList.append("\n" + ChatColor.GOLD + noteLine);
|
{
|
||||||
id++;
|
msg("This player has no notes.", ChatColor.RED);
|
||||||
}
|
return true;
|
||||||
msg(noteList.toString());
|
}
|
||||||
return true;
|
final StringBuilder noteList = new StringBuilder();
|
||||||
}
|
noteList.append(ChatColor.GREEN + "Player notes for ").append(playerData.getName()).append(":");
|
||||||
else if (args[1].equals("add"))
|
int id = 1;
|
||||||
{
|
for (String note : playerData.getNotes())
|
||||||
if (args.length < 3)
|
{
|
||||||
{
|
String noteLine = id + ". " + note;
|
||||||
return false;
|
noteList.append("\n" + ChatColor.GOLD).append(noteLine);
|
||||||
}
|
id++;
|
||||||
String note = sender.getName() + ": " + StringUtils.join(ArrayUtils.subarray(args, 2, args.length), " ");
|
}
|
||||||
playerData.addNote(note);
|
msg(noteList.toString());
|
||||||
plugin.pl.save(playerData);
|
|
||||||
msg("Note added.", ChatColor.GREEN);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (args[1].equals("remove"))
|
|
||||||
{
|
|
||||||
if (args.length < 3)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
int id;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
id = Integer.valueOf(args[2]);
|
|
||||||
}
|
|
||||||
catch (NumberFormatException e)
|
|
||||||
{
|
|
||||||
msg("Invalid number: " + args[2], ChatColor.RED);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
id--;
|
case "add":
|
||||||
if (playerData.removeNote(id))
|
if (args.length < 3)
|
||||||
{
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String note = sender.getName() + ": " + StringUtils.join(ArrayUtils.subarray(args, 2, args.length), " ");
|
||||||
|
playerData.addNote(note);
|
||||||
plugin.pl.save(playerData);
|
plugin.pl.save(playerData);
|
||||||
msg("Note removed.");
|
msg("Note added.", ChatColor.GREEN);
|
||||||
}
|
return true;
|
||||||
else
|
case "remove":
|
||||||
{
|
{
|
||||||
msg("No note with the ID of " + args[2] + " exists.", ChatColor.RED);
|
if (args.length < 3)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int id;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
id = Integer.parseInt(args[2]);
|
||||||
|
}
|
||||||
|
catch (NumberFormatException e)
|
||||||
|
{
|
||||||
|
msg("Invalid number: " + args[2], ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
id--;
|
||||||
|
if (playerData.removeNote(id))
|
||||||
|
{
|
||||||
|
plugin.pl.save(playerData);
|
||||||
|
msg("Note removed.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msg("No note with the ID of " + args[2] + " exists.", ChatColor.RED);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
case "clear":
|
||||||
|
{
|
||||||
|
int count = playerData.getNotes().size();
|
||||||
|
playerData.clearNotes();
|
||||||
|
plugin.pl.save(playerData);
|
||||||
|
msg("Cleared " + count + " notes.", ChatColor.GREEN);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
else if (args[1].equals("clear"))
|
|
||||||
{
|
|
||||||
int count = playerData.getNotes().size();
|
|
||||||
playerData.clearNotes();
|
|
||||||
plugin.pl.save(playerData);
|
|
||||||
msg("Cleared " + count + " notes.", ChatColor.GREEN);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -117,27 +117,6 @@ public class ItemFun extends FreedomService
|
||||||
player.sendMessage("Stacked " + entity.getName());
|
player.sendMessage("Stacked " + entity.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getInventory().getItemInMainHand().getType().equals(Material.BONE) || entity.getType().equals(EntityType.PLAYER))
|
|
||||||
{
|
|
||||||
if (!fPlayer.mobThrowerEnabled())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Location playerLoc = player.getLocation();
|
|
||||||
Vector direction = playerLoc.getDirection().normalize();
|
|
||||||
|
|
||||||
LivingEntity livingEntity = (LivingEntity)event.getRightClicked();
|
|
||||||
EntityType entityType = livingEntity.getType();
|
|
||||||
if (!(entityType == fPlayer.mobThrowerCreature()))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
livingEntity.setVelocity(direction.multiply(fPlayer.mobThrowerSpeed()));
|
|
||||||
fPlayer.enqueueMob(livingEntity);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
|
|
@ -46,10 +46,6 @@ public class FPlayer
|
||||||
private final CageData cageData = new CageData(this);
|
private final CageData cageData = new CageData(this);
|
||||||
private boolean isOrbiting = false;
|
private boolean isOrbiting = false;
|
||||||
private double orbitStrength = 10.0;
|
private double orbitStrength = 10.0;
|
||||||
private boolean mobThrowerEnabled = false;
|
|
||||||
private EntityType mobThrowerEntity = EntityType.PIG;
|
|
||||||
private double mobThrowerSpeed = 4.0;
|
|
||||||
private final List<LivingEntity> mobThrowerQueue = new ArrayList<>();
|
|
||||||
private BukkitTask lockupScheduleTask = null;
|
private BukkitTask lockupScheduleTask = null;
|
||||||
private boolean lockedUp = false;
|
private boolean lockedUp = false;
|
||||||
private String lastMessage = "";
|
private String lastMessage = "";
|
||||||
|
@ -192,46 +188,6 @@ public class FPlayer
|
||||||
this.freecamPlaceCount = 0;
|
this.freecamPlaceCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableMobThrower(EntityType mobThrowerCreature, double mobThrowerSpeed)
|
|
||||||
{
|
|
||||||
this.mobThrowerEnabled = true;
|
|
||||||
this.mobThrowerEntity = mobThrowerCreature;
|
|
||||||
this.mobThrowerSpeed = mobThrowerSpeed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void disableMobThrower()
|
|
||||||
{
|
|
||||||
this.mobThrowerEnabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public EntityType mobThrowerCreature()
|
|
||||||
{
|
|
||||||
return this.mobThrowerEntity;
|
|
||||||
}
|
|
||||||
|
|
||||||
public double mobThrowerSpeed()
|
|
||||||
{
|
|
||||||
return this.mobThrowerSpeed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean mobThrowerEnabled()
|
|
||||||
{
|
|
||||||
return this.mobThrowerEnabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void enqueueMob(LivingEntity mob)
|
|
||||||
{
|
|
||||||
mobThrowerQueue.add(mob);
|
|
||||||
if (mobThrowerQueue.size() > 4)
|
|
||||||
{
|
|
||||||
LivingEntity oldmob = mobThrowerQueue.remove(0);
|
|
||||||
if (oldmob != null)
|
|
||||||
{
|
|
||||||
oldmob.damage(500.0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isMuted()
|
public boolean isMuted()
|
||||||
{
|
{
|
||||||
return unmuteTask != null;
|
return unmuteTask != null;
|
||||||
|
|
|
@ -17,7 +17,6 @@ import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||||
public class SQLite extends FreedomService
|
public class SQLite extends FreedomService
|
||||||
{
|
{
|
||||||
private final String FILE_NAME = "database.db";
|
private final String FILE_NAME = "database.db";
|
||||||
|
|
||||||
private Connection connection;
|
private Connection connection;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -93,7 +92,7 @@ public class SQLite extends FreedomService
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
connection.createStatement().execute("CREATE TABLE `players` (`username` VARCHAR NOT NULL, `ips` VARCHAR NOT NULL, `notes` VARCHAR, `tag` VARCHAR, `discord_id` VARCHAR, `backup_codes` VARCHAR, `donator` BOOLEAN NOT NULL, `master_builder` BOOLEAN NOT NULL,`verification` BOOLEAN NOT NULL, `ride_mode` VARCHAR NOT NULL, `coins` INT, `items` VARCHAR, `total_votes` INT NOT NULL, `display_discord` BOOLEAN NOT NULL, `login_message` VARCHAR);");
|
connection.createStatement().execute("CREATE TABLE `players` (`username` VARCHAR NOT NULL, `ips` VARCHAR NOT NULL, `notes` VARCHAR, `tag` VARCHAR, `discord_id` VARCHAR, `backup_codes` VARCHAR, `master_builder` BOOLEAN NOT NULL,`verification` BOOLEAN NOT NULL, `ride_mode` VARCHAR NOT NULL, `coins` INT, `items` VARCHAR, `total_votes` INT NOT NULL, `display_discord` BOOLEAN NOT NULL, `login_message` VARCHAR);");
|
||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
{
|
{
|
||||||
|
@ -247,16 +246,16 @@ public class SQLite extends FreedomService
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PreparedStatement statement = connection.prepareStatement("INSERT INTO admins VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
PreparedStatement statement = connection.prepareStatement("INSERT INTO admins VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||||
statement.setString(1, admin.getName());
|
statement.setString(1, admin.getName());
|
||||||
statement.setString(2, FUtil.listToString(admin.getIps()));
|
statement.setString(2, FUtil.listToString(admin.getIps()));
|
||||||
statement.setString(3, admin.getRank().toString());
|
statement.setString(3, admin.getRank().toString());
|
||||||
statement.setBoolean(4, admin.isActive());
|
statement.setBoolean(4, admin.isActive());
|
||||||
statement.setLong(5, admin.getLastLogin().getTime());
|
statement.setLong(5, admin.getLastLogin().getTime());
|
||||||
statement.setBoolean(7, admin.getCommandSpy());
|
statement.setBoolean(6, admin.getCommandSpy());
|
||||||
statement.setBoolean(8, admin.getPotionSpy());
|
statement.setBoolean(7, admin.getPotionSpy());
|
||||||
statement.setString(9, admin.getAcFormat());
|
statement.setString(8, admin.getAcFormat());
|
||||||
statement.setString(10, admin.getPteroID());
|
statement.setString(9, admin.getPteroID());
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
|
@ -270,7 +269,7 @@ public class SQLite extends FreedomService
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PreparedStatement statement = connection.prepareStatement("INSERT INTO players VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
PreparedStatement statement = connection.prepareStatement("INSERT INTO players VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||||
statement.setString(1, player.getName());
|
statement.setString(1, player.getName());
|
||||||
statement.setString(2, FUtil.listToString(player.getIps()));
|
statement.setString(2, FUtil.listToString(player.getIps()));
|
||||||
statement.setString(3, FUtil.listToString(player.getNotes()));
|
statement.setString(3, FUtil.listToString(player.getNotes()));
|
||||||
|
@ -281,10 +280,10 @@ public class SQLite extends FreedomService
|
||||||
statement.setBoolean(8, player.hasVerification());
|
statement.setBoolean(8, player.hasVerification());
|
||||||
statement.setString(9, player.getRideMode());
|
statement.setString(9, player.getRideMode());
|
||||||
statement.setInt(10, player.getCoins());
|
statement.setInt(10, player.getCoins());
|
||||||
statement.setString(12, FUtil.listToString(player.getItems()));
|
statement.setString(11, FUtil.listToString(player.getItems()));
|
||||||
statement.setInt(13, player.getTotalVotes());
|
statement.setInt(12, player.getTotalVotes());
|
||||||
statement.setBoolean(14, player.doesDisplayDiscord());
|
statement.setBoolean(13, player.doesDisplayDiscord());
|
||||||
statement.setString(15, player.getLoginMessage());
|
statement.setString(14, player.getLoginMessage());
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
|
|
|
@ -12,7 +12,6 @@ softdepend:
|
||||||
- WorldGuardExtraFlags
|
- WorldGuardExtraFlags
|
||||||
- TFGuilds
|
- TFGuilds
|
||||||
- JDA
|
- JDA
|
||||||
- JRAW
|
|
||||||
- Votifier
|
- Votifier
|
||||||
authors: [Madgeek1450, Prozza]
|
authors: [Madgeek1450, Prozza]
|
||||||
api-version: "1.16"
|
api-version: "1.16"
|
Loading…
Reference in a new issue