diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBan.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBan.java index dbc3c970f..d8c4d1c1a 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBan.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBan.java @@ -10,16 +10,18 @@ public class ClansBan private int _id; private int _accountId; private String _reason; + private String _admin; private Timestamp _banTime; private Timestamp _unbanTime; private boolean _permanent; private boolean _removed; - public ClansBan(int id, int accountId, String reason, Timestamp banTime, Timestamp unbanTime, boolean permanent, boolean removed) + public ClansBan(int id, int accountId, String admin, String reason, Timestamp banTime, Timestamp unbanTime, boolean permanent, boolean removed) { _id = id; _accountId = accountId; _reason = reason; + _admin = admin; _banTime = banTime; _unbanTime = unbanTime; _permanent = permanent; @@ -36,6 +38,11 @@ public class ClansBan return _accountId; } + public String getAdmin() + { + return _admin; + } + public String getReason() { return _reason; diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanManager.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanManager.java index beceb6c83..f612f7ae9 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanManager.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanManager.java @@ -30,8 +30,6 @@ import mineplex.core.updater.event.UpdateEvent; import mineplex.game.clans.clans.ClanInfo; import mineplex.game.clans.clans.ClansManager; import mineplex.game.clans.clans.ban.commands.ClansBanCommand; -import mineplex.game.clans.clans.ban.commands.ClansBanListCommand; -import mineplex.game.clans.clans.ban.ui.ClansBanListShop; import mineplex.game.clans.clans.ban.ui.ClansBanShop; public class ClansBanManager extends MiniPlugin @@ -41,7 +39,6 @@ public class ClansBanManager extends MiniPlugin private Map _clients; private Map _cache; private ClansBanShop _shop; - private ClansBanListShop _shop2; private Object _lock = new Object(); @@ -57,14 +54,12 @@ public class ClansBanManager extends MiniPlugin _cache = new HashMap<>(); _shop = new ClansBanShop(this, clientManager, donationManager); - _shop2 = new ClansBanListShop(this, clientManager, donationManager); } @Override public void addCommands() { addCommand(new ClansBanCommand(this)); - addCommand(new ClansBanListCommand(this)); } @EventHandler @@ -85,9 +80,9 @@ public class ClansBanManager extends MiniPlugin } } - public void ban(ClansBanClient client, String name, long time, String reason, Callback callback) + public void ban(ClansBanClient client, String name, String admin, long time, String reason, Callback callback) { - _repository.ban(client.AccountId, time, reason, time == -1); + _repository.ban(client.AccountId, admin, time, reason, time == -1); LoadClient(name, callback); } @@ -217,11 +212,6 @@ public class ClansBanManager extends MiniPlugin return _shop; } - public ClansBanListShop getShop2() - { - return _shop2; - } - public void cache(Player player, String playerName) { _cache.put(player.getName(), playerName); @@ -248,9 +238,4 @@ public class ClansBanManager extends MiniPlugin LoadClient(name, callback); } - - public void listRecordedNames(Callback> callback) - { - GetRepository().loadAll(callback); - } } diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanRepository.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanRepository.java index 0e2449ea6..85eb69bd4 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanRepository.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ClansBanRepository.java @@ -1,7 +1,5 @@ package mineplex.game.clans.clans.ban; -import java.sql.ResultSet; -import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; @@ -10,10 +8,8 @@ import org.bukkit.plugin.java.JavaPlugin; import mineplex.core.account.CoreClient; import mineplex.core.common.util.Callback; -import mineplex.core.common.util.EnclosedObject; import mineplex.core.database.MinecraftRepository; import mineplex.serverdata.database.DBPool; -import mineplex.serverdata.database.ResultSetCallable; import mineplex.serverdata.database.column.ColumnBoolean; import mineplex.serverdata.database.column.ColumnInt; import mineplex.serverdata.database.column.ColumnTimestamp; @@ -24,10 +20,9 @@ public class ClansBanRepository extends MinecraftRepository private ClansBanManager _manager; private static final String GET_LONGEST_BAN = "SELECT * FROM clanBans WHERE (NOW() < unbanTime OR permanent=1) AND accountId = ? ORDER BY permanent DESC, unbanTime DESC LIMIT 1;"; - private static final String BAN_PLAYER = "INSERT INTO clanBans (accountId, reason, banTime, unbanTime, permanent, removed) VALUES (?, ?, ?, ?, ?, ?);"; + private static final String BAN_PLAYER = "INSERT INTO clanBans (accountId, admin, reason, banTime, unbanTime, permanent, removed) VALUES (?, ?, ?, ?, ?, ?, ?);"; private static final String REMOVE_BAN = "UPDATE clanBans SET removed = 1 WHERE id = ?;"; private static final String GET_ALL_BANS = "SELECT * FROM clanBans WHERE accountId = ?;"; - private static final String GET_ALL_ACCOUNTS = "SELECT DISTINCT accountId FROM clanBans;"; public ClansBanRepository(JavaPlugin plugin, ClansBanManager manager) { @@ -36,10 +31,11 @@ public class ClansBanRepository extends MinecraftRepository _manager = manager; } - public void ban(int accountId, long time, String reason, boolean permanent) + public void ban(int accountId, String admin, long time, String reason, boolean permanent) { executeInsert(BAN_PLAYER, null, new ColumnInt("accountId", accountId), + new ColumnVarChar("admin", 16, admin), new ColumnVarChar("reason", 128, reason), new ColumnTimestamp("banTime", new Timestamp(System.currentTimeMillis())), new ColumnTimestamp("unbanTime", new Timestamp(System.currentTimeMillis() + time)), @@ -63,13 +59,14 @@ public class ClansBanRepository extends MinecraftRepository { int id = resultSet.getInt(1); int accountId = resultSet.getInt(2); - String reason = resultSet.getString(3); - Timestamp banTime = resultSet.getTimestamp(4); - Timestamp unbanTime = resultSet.getTimestamp(5); - boolean permanent = resultSet.getBoolean(6); - boolean removed = resultSet.getBoolean(7); + String admin = resultSet.getString(3); + String reason = resultSet.getString(4); + Timestamp banTime = resultSet.getTimestamp(5); + Timestamp unbanTime = resultSet.getTimestamp(6); + boolean permanent = resultSet.getBoolean(7); + boolean removed = resultSet.getBoolean(8); - list.add(new ClansBan(id, accountId, reason, banTime, unbanTime, permanent, removed)); + list.add(new ClansBan(id, accountId, admin, reason, banTime, unbanTime, permanent, removed)); } callback.run(new ClansBanClient(client.getAccountId(), list)); @@ -93,13 +90,14 @@ public class ClansBanRepository extends MinecraftRepository { int id = resultSet.getInt(1); int accountId = resultSet.getInt(2); - String reason = resultSet.getString(3); - Timestamp banTime = resultSet.getTimestamp(4); - Timestamp unbanTime = resultSet.getTimestamp(5); - boolean permanent = resultSet.getBoolean(6); - boolean removed = resultSet.getBoolean(7); + String admin = resultSet.getString(3); + String reason = resultSet.getString(4); + Timestamp banTime = resultSet.getTimestamp(5); + Timestamp unbanTime = resultSet.getTimestamp(6); + boolean permanent = resultSet.getBoolean(7); + boolean removed = resultSet.getBoolean(8); - callback.run(new ClansBan(id, accountId, reason, banTime, unbanTime, permanent, removed)); + callback.run(new ClansBan(id, accountId, admin, reason, banTime, unbanTime, permanent, removed)); } }, new ColumnInt("accountId", client.getAccountId())); }); @@ -117,34 +115,6 @@ public class ClansBanRepository extends MinecraftRepository } } - public void loadAll(Callback> callback) - { - _manager.runAsync(() -> { - executeQuery(GET_ALL_ACCOUNTS, new ResultSetCallable() - { - @Override - public void processResultSet(ResultSet resultSet) throws SQLException - { - final List clients = new ArrayList<>(); - final EnclosedObject resultsProcessed = new EnclosedObject<>(); - int resultsFound = 0; - - while (resultSet.next()) - { - resultsFound++; - - int accountId = resultSet.getInt(0); - -// loadBans(_manager.getClientManager().) - - } - - System.out.println("Found: " + resultsFound + ", Processed: " + resultsProcessed); - } - }); - }); - } - @Override protected void initialize() { diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/commands/ClansBanCommand.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/commands/ClansBanCommand.java index 55e575561..e48514970 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/commands/ClansBanCommand.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/commands/ClansBanCommand.java @@ -69,7 +69,7 @@ public class ClansBanCommand extends CommandBase if (target != null) { Plugin.LoadClient(playerName, client -> { - Plugin.ban(client, target.getName(), permanent ? -1 : (long) (time * 24.f * 60.f * 60.f * 1000.f), finalReason, c -> { + Plugin.ban(client, target.getName(), caller.getName(), permanent ? -1 : (long) (time * 24.f * 60.f * 60.f * 1000.f), finalReason, c -> { UtilPlayer.message(caller, F.main("Clans", F.elem(playerName) + " is now banned " + F.time(c.getBanTimeFormatted()) + ".")); Plugin.runSync(() -> target.kickPlayer(C.cRedB + "You have been banned from Clans " + c.getBanTimeFormatted() + ".")); }); @@ -79,7 +79,7 @@ public class ClansBanCommand extends CommandBase } Plugin.LoadClient(playerName, client -> { - Plugin.ban(client, playerName, permanent ? -1 : (long) (time * 24.f * 60.f * 60.f * 1000.f), finalReason, c -> { + Plugin.ban(client, playerName, caller.getName(), permanent ? -1 : (long) (time * 24.f * 60.f * 60.f * 1000.f), finalReason, c -> { UtilPlayer.message(caller, F.main("Clans", F.elem(playerName) + " is now banned " + c.getBanTimeFormatted() + ".")); }); }); diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/commands/ClansBanListCommand.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/commands/ClansBanListCommand.java deleted file mode 100644 index d4727bb4d..000000000 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/commands/ClansBanListCommand.java +++ /dev/null @@ -1,21 +0,0 @@ -package mineplex.game.clans.clans.ban.commands; - -import org.bukkit.entity.Player; - -import mineplex.core.command.CommandBase; -import mineplex.core.common.Rank; -import mineplex.game.clans.clans.ban.ClansBanManager; - -public class ClansBanListCommand extends CommandBase -{ - public ClansBanListCommand(ClansBanManager plugin) - { - super(plugin, Rank.ADMIN, "listbans"); - } - - @Override - public void Execute(final Player caller, String[] args) - { - Plugin.getShop2().attemptShopOpen(caller); - } -} diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ui/ClansBanListPage.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ui/ClansBanListPage.java deleted file mode 100644 index 22c58a21d..000000000 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ui/ClansBanListPage.java +++ /dev/null @@ -1,32 +0,0 @@ -package mineplex.game.clans.clans.ban.ui; - -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - -import mineplex.core.account.CoreClientManager; -import mineplex.core.common.util.C; -import mineplex.core.donation.DonationManager; -import mineplex.core.itemstack.ItemBuilder; -import mineplex.core.shop.page.ShopPageBase; -import mineplex.game.clans.clans.ban.ClansBanClient; -import mineplex.game.clans.clans.ban.ClansBanManager; - -public class ClansBanListPage extends ShopPageBase -{ - public ClansBanListPage(final ClansBanManager banManager, final ClansBanListShop shop, final CoreClientManager clientManager, final DonationManager donationManager, final String name, final Player player) - { - super(banManager, shop, clientManager, donationManager, name, player); - - buildPage(); - } - - protected void buildPage() - { - getPlugin().listRecordedNames(clients -> { - for (ClansBanClient client : clients) - { - } - }); - } -} diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ui/ClansBanListShop.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ui/ClansBanListShop.java deleted file mode 100644 index d3086d620..000000000 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ban/ui/ClansBanListShop.java +++ /dev/null @@ -1,24 +0,0 @@ -package mineplex.game.clans.clans.ban.ui; - -import org.bukkit.entity.Player; - -import mineplex.core.account.CoreClientManager; -import mineplex.core.donation.DonationManager; -import mineplex.core.shop.ShopBase; -import mineplex.core.shop.page.ShopPageBase; -import mineplex.game.clans.clans.ban.ClansBanManager; - -public class ClansBanListShop extends ShopBase -{ - public ClansBanListShop(final ClansBanManager plugin, final CoreClientManager clientManager, final DonationManager donationManager) - { - super(plugin, clientManager, donationManager, "Clans Punish"); - } - - @Override - protected ShopPageBase> buildPagesFor(final Player player) - { - return new ClansBanListPage(getPlugin(), this, getClientManager(), getDonationManager(), "Clans Punish", player); - } - -} \ No newline at end of file diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/regions/ClansRegions.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/regions/ClansRegions.java index ceb4ab680..3dcd7d975 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/regions/ClansRegions.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/regions/ClansRegions.java @@ -75,10 +75,10 @@ public class ClansRegions extends MiniPlugin claimArea("Fields", FIELDS_RADIUS, 0, false, true, worldCenter); claimArea("Borderlands", BORDERLANDS_RADIUS, 48, false, true, worldCenter); - //debugClan("Spawn"); - //debugClan("Shops"); - //debugClan("Fields"); - //debugClan("Borderlands"); + debugClan("Spawn"); + debugClan("Shops"); + debugClan("Fields"); + debugClan("Borderlands"); } public void initializeBorder() @@ -114,18 +114,21 @@ public class ClansRegions extends MiniPlugin private void clearClaims(String name) { ClanInfo clan = _manager.getClan(name); - System.out.println("Clearing claims for " + name + " with clan id " + clan.getId() + "!"); - if (clan != null) + if (clan == null) { - for (String chunk : clan.getClaimSet()) - { - _manager.getClaimMap().remove(chunk); - } - - clan.getClaimSet().clear(); - _manager.getClanDataAccess().getRepository().removeTerritoryClaims(clan.getId()); + return; } + + System.out.println("Clearing claims for " + name + " with clan id " + clan + "!"); + + for (String chunk : clan.getClaimSet()) + { + _manager.getClaimMap().remove(chunk); + } + + clan.getClaimSet().clear(); + _manager.getClanDataAccess().getRepository().removeTerritoryClaims(clan.getId()); } /** @@ -141,8 +144,8 @@ public class ClansRegions extends MiniPlugin { final ClanInfo clan = _manager.getClan(clanName); - // Only claim if the clan doesn't exist yet. Speeds up startup time - if (clan == null) + // Only claim if the clan doesn't have claims. Speeds up startup time + if (clan == null || clan.getClaimSet().size() == 0) { _manager.getClanDataAccess().create("ClansRegions", clanName, true, new Callback() {