From 66a1570455e9b760b3ba177bb8aecb33d48dda40 Mon Sep 17 00:00:00 2001 From: XiaoMoMi <972454774@qq.com> Date: Tue, 12 Sep 2023 23:39:26 +0800 Subject: [PATCH] remove todo --- .../command/sub/DebugCommand.java | 1 - .../mechanic/fishing/FishingManagerImpl.java | 4 - .../requirement/RequirementManagerImpl.java | 79 +++++++++++-------- .../database/sql/AbstractSQLDatabase.java | 4 +- .../method/database/sql/SQLiteImpl.java | 4 +- 5 files changed, 51 insertions(+), 41 deletions(-) diff --git a/plugin/src/main/java/net/momirealms/customfishing/command/sub/DebugCommand.java b/plugin/src/main/java/net/momirealms/customfishing/command/sub/DebugCommand.java index 2573cd48..42779419 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/command/sub/DebugCommand.java +++ b/plugin/src/main/java/net/momirealms/customfishing/command/sub/DebugCommand.java @@ -96,7 +96,6 @@ public class DebugCommand { boolean inLava = (boolean) arg.getOrDefault("lava fishing", false); fishingPreparation.insertArg("{lava}", String.valueOf(inLava)); fishingPreparation.mergeEffect(initialEffect); - //TODO apply totems var map = CustomFishingPlugin.get().getFishingManager().getPossibleLootKeysWithWeight(initialEffect, fishingPreparation); List loots = new ArrayList<>(); diff --git a/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java b/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java index 412033df..76b46fa1 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java +++ b/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java @@ -296,10 +296,6 @@ public class FishingManagerImpl implements Listener, FishingManager { FishingEffect initialEffect = plugin.getEffectManager().getInitialEffect(); fishingPreparation.mergeEffect(initialEffect); - // Apply enchants - - //TODO Apply totem effects - // Call custom event RodCastEvent rodCastEvent = new RodCastEvent(event, fishingPreparation, initialEffect); Bukkit.getPluginManager().callEvent(rodCastEvent); diff --git a/plugin/src/main/java/net/momirealms/customfishing/mechanic/requirement/RequirementManagerImpl.java b/plugin/src/main/java/net/momirealms/customfishing/mechanic/requirement/RequirementManagerImpl.java index 8c44572d..c49fd8c4 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/mechanic/requirement/RequirementManagerImpl.java +++ b/plugin/src/main/java/net/momirealms/customfishing/mechanic/requirement/RequirementManagerImpl.java @@ -116,6 +116,7 @@ public class RequirementManagerImpl implements RequirementManager { this.registerYRequirement(); this.registerContainRequirement(); this.registerStartWithRequirement(); + this.registerEndWithRequirement(); this.registerEqualsRequirement(); this.registerBiomeRequirement(); this.registerDateRequirement(); @@ -127,7 +128,7 @@ public class RequirementManagerImpl implements RequirementManager { this.registerLavaFishingRequirement(); this.registerRodRequirement(); this.registerBaitRequirement(); - this.registerCompareRequirement(); + this.registerGreaterThanRequirement(); this.registerAndRequirement(); this.registerOrRequirement(); this.registerLevelRequirement(); @@ -137,6 +138,8 @@ public class RequirementManagerImpl implements RequirementManager { this.registerCoolDownRequirement(); this.registerGroupRequirement(); this.registerLootRequirement(); + this.registerLessThanRequirement(); + this.registerNumberEqualRequirement(); } public ConditionalElement getConditionalElements(ConfigurationSection section) { @@ -603,7 +606,7 @@ public class RequirementManagerImpl implements RequirementManager { }); } - private void registerCompareRequirement() { + private void registerGreaterThanRequirement() { registerRequirement(">=", (args, actions, advanced) -> { if (args instanceof ConfigurationSection section) { String v1 = section.getString("value1", ""); @@ -636,38 +639,9 @@ public class RequirementManagerImpl implements RequirementManager { return null; } }); - registerRequirement("<", (args, actions, advanced) -> { - if (args instanceof ConfigurationSection section) { - String v1 = section.getString("value1", ""); - String v2 = section.getString("value2", ""); - return condition -> { - String p1 = v1.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v1) : v1; - String p2 = v2.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v2) : v2; - if (Double.parseDouble(p1) < Double.parseDouble(p2)) return true; - if (advanced) triggerActions(actions, condition); - return false; - }; - } else { - LogUtils.warn("Wrong value format found at < requirement."); - return null; - } - }); - registerRequirement("<=", (args, actions, advanced) -> { - if (args instanceof ConfigurationSection section) { - String v1 = section.getString("value1", ""); - String v2 = section.getString("value2", ""); - return condition -> { - String p1 = v1.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v1) : v1; - String p2 = v2.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v2) : v2; - if (Double.parseDouble(p1) <= Double.parseDouble(p2)) return true; - if (advanced) triggerActions(actions, condition); - return false; - }; - } else { - LogUtils.warn("Wrong value format found at <= requirement."); - return null; - } - }); + } + + private void registerNumberEqualRequirement() { registerRequirement("==", (args, actions, advanced) -> { if (args instanceof ConfigurationSection section) { String v1 = section.getString("value1", ""); @@ -702,6 +676,40 @@ public class RequirementManagerImpl implements RequirementManager { }); } + private void registerLessThanRequirement() { + registerRequirement("<", (args, actions, advanced) -> { + if (args instanceof ConfigurationSection section) { + String v1 = section.getString("value1", ""); + String v2 = section.getString("value2", ""); + return condition -> { + String p1 = v1.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v1) : v1; + String p2 = v2.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v2) : v2; + if (Double.parseDouble(p1) < Double.parseDouble(p2)) return true; + if (advanced) triggerActions(actions, condition); + return false; + }; + } else { + LogUtils.warn("Wrong value format found at < requirement."); + return null; + } + }); + registerRequirement("<=", (args, actions, advanced) -> { + if (args instanceof ConfigurationSection section) { + String v1 = section.getString("value1", ""); + String v2 = section.getString("value2", ""); + return condition -> { + String p1 = v1.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v1) : v1; + String p2 = v2.startsWith("%") ? ParseUtils.setPlaceholders(condition.getPlayer(), v2) : v2; + if (Double.parseDouble(p1) <= Double.parseDouble(p2)) return true; + if (advanced) triggerActions(actions, condition); + return false; + }; + } else { + LogUtils.warn("Wrong value format found at <= requirement."); + return null; + } + }); + } private void registerStartWithRequirement() { registerRequirement("startsWith", (args, actions, advanced) -> { @@ -736,6 +744,9 @@ public class RequirementManagerImpl implements RequirementManager { return null; } }); + } + + private void registerEndWithRequirement() { registerRequirement("endsWith", (args, actions, advanced) -> { if (args instanceof ConfigurationSection section) { String v1 = section.getString("value1", ""); diff --git a/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/AbstractSQLDatabase.java b/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/AbstractSQLDatabase.java index cac6dc4d..ada144ea 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/AbstractSQLDatabase.java +++ b/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/AbstractSQLDatabase.java @@ -91,7 +91,9 @@ public abstract class AbstractSQLDatabase extends AbstractStorage { if (rs.next()) { int lock = rs.getInt(2); if (!force && (lock != 0 && getCurrentSeconds() - CFConfig.dataSaveInterval <= lock)) { - statement.close(); rs.close(); connection.close(); + statement.close(); + rs.close(); + connection.close(); future.complete(Optional.of(PlayerData.LOCKED)); return; } diff --git a/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/SQLiteImpl.java b/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/SQLiteImpl.java index 4bdb3ea5..03d79f60 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/SQLiteImpl.java +++ b/plugin/src/main/java/net/momirealms/customfishing/storage/method/database/sql/SQLiteImpl.java @@ -89,7 +89,9 @@ public class SQLiteImpl extends AbstractSQLDatabase { if (rs.next()) { int lock = rs.getInt(2); if (!force && (lock != 0 && getCurrentSeconds() - CFConfig.dataSaveInterval <= lock)) { - statement.close(); rs.close(); connection.close(); + statement.close(); + rs.close(); + connection.close(); future.complete(Optional.of(PlayerData.LOCKED)); return; }