From 0b1c035c4b7579c5c769c7bf8e5e0174c8d35957 Mon Sep 17 00:00:00 2001 From: Zrips Date: Mon, 28 Oct 2019 13:02:52 +0200 Subject: [PATCH] Lets clear out block protection by set days limit on plugin load --- .../jobs/config/BlockProtectionManager.java | 3 ++- .../java/com/gamingmesh/jobs/dao/JobsDAO.java | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java b/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java index 92e87c89..93f0348f 100644 --- a/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java @@ -12,6 +12,7 @@ import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.CMILib.ItemManager.CMIMaterial; import com.gamingmesh.jobs.container.BlockProtection; import com.gamingmesh.jobs.container.DBAction; +import com.gamingmesh.jobs.stuff.Debug; public class BlockProtectionManager { @@ -100,7 +101,7 @@ public class BlockProtectionManager { locations.put(v, Bp); - if (locations.size() > 100) { + if (locations.size() > 10) { Jobs.getJobsDAO().saveBlockProtection(loc.getWorld().getName(), new HashMap(locations)); locations.clear(); } diff --git a/src/main/java/com/gamingmesh/jobs/dao/JobsDAO.java b/src/main/java/com/gamingmesh/jobs/dao/JobsDAO.java index 26b91ef2..c7e01935 100644 --- a/src/main/java/com/gamingmesh/jobs/dao/JobsDAO.java +++ b/src/main/java/com/gamingmesh/jobs/dao/JobsDAO.java @@ -35,6 +35,7 @@ import com.gamingmesh.jobs.container.PlayerPoints; import com.gamingmesh.jobs.container.TopList; import com.gamingmesh.jobs.dao.JobsManager.DataBaseType; import com.gamingmesh.jobs.economy.PaymentData; +import com.gamingmesh.jobs.stuff.Debug; import com.gamingmesh.jobs.stuff.TimeManage; import com.gamingmesh.jobs.stuff.Util; @@ -1031,7 +1032,7 @@ public abstract class JobsDAO { } finally { close(usersStatement); } - + PreparedStatement limitsStatement = null; try { limitsStatement = conn.prepareStatement("UPDATE `" + DBTables.LimitsTable.getTableName() + "` SET `" + LimitTableFields.typeid.getCollumn() + "` = ?, `" + LimitTableFields.type @@ -1047,8 +1048,7 @@ public abstract class JobsDAO { } finally { close(limitsStatement); } - - + } public void recordNewJobName(Job job) { @@ -2187,10 +2187,22 @@ public abstract class JobsDAO { if (conn == null) return; PreparedStatement prest = null; + PreparedStatement prestDel = null; ResultSet res = null; Jobs.getBpManager().timer = 0L; + try { + Long mark = System.currentTimeMillis() - (Jobs.getGCManager().BlockProtectionDays * 24L * 60L * 60L * 1000L); + prestDel = conn.prepareStatement("DELETE FROM `" + DBTables.BlocksTable.getTableName() + "` WHERE `" + BlockTableFields.recorded.getCollumn() + "` < ?;"); + prestDel.setLong(1, mark); + prestDel.execute(); + } catch (SQLException e) { + e.printStackTrace(); + } finally { + close(prestDel); + } + try { prest = conn.prepareStatement("SELECT * FROM `" + DBTables.BlocksTable.getTableName() + "`;"); res = prest.executeQuery();