diff --git a/src/main/java/net/momirealms/customcrops/datamanager/ConfigManager.java b/src/main/java/net/momirealms/customcrops/datamanager/ConfigManager.java index 989136c..5892707 100644 --- a/src/main/java/net/momirealms/customcrops/datamanager/ConfigManager.java +++ b/src/main/java/net/momirealms/customcrops/datamanager/ConfigManager.java @@ -29,6 +29,7 @@ public class ConfigManager { public static boolean need_water; public static boolean greenhouse; public static boolean limit; + public static boolean log_time; public static List worlds; public static List cropGrowTimeList; @@ -82,10 +83,10 @@ public class ConfigManager { FileConfiguration configuration = CustomCrops.instance.getConfig(); cropLoad(); //处理配置 - Config.res = configuration.getBoolean("config.integration.residence"); - Config.king = configuration.getBoolean("config.integration.kingdomsX"); - Config.wg = configuration.getBoolean("config.integration.worldguard"); - Config.gd = configuration.getBoolean("config.integration.griefdefender"); + Config.res = configuration.getBoolean("config.integration.residence",false); + Config.king = configuration.getBoolean("config.integration.kingdomsX",false); + Config.wg = configuration.getBoolean("config.integration.worldguard",false); + Config.gd = configuration.getBoolean("config.integration.griefdefender",false); if(res){ if(Bukkit.getPluginManager().getPlugin("Residence") == null){ @@ -124,6 +125,7 @@ public class ConfigManager { Config.need_water = configuration.getBoolean("config.bone-meal-consume-water"); Config.greenhouse = configuration.getBoolean("config.enable-greenhouse"); Config.limit = configuration.getBoolean("config.enable-limit"); + Config.log_time = configuration.getBoolean("config.log-time-consume", false); Config.bone_chance = configuration.getDouble("config.bone-meal-chance"); @@ -172,7 +174,6 @@ public class ConfigManager { Config.summer = configuration.getString("messages.summer"); Config.autumn = configuration.getString("messages.autumn"); Config.winter = configuration.getString("messages.winter"); - Config.winter = configuration.getString("messages.noperm"); } /* diff --git a/src/main/java/net/momirealms/customcrops/datamanager/CropManager.java b/src/main/java/net/momirealms/customcrops/datamanager/CropManager.java index a62f266..fc5a001 100644 --- a/src/main/java/net/momirealms/customcrops/datamanager/CropManager.java +++ b/src/main/java/net/momirealms/customcrops/datamanager/CropManager.java @@ -81,7 +81,9 @@ public class CropManager { data.set(key.getWorld().getName() + "." + key.getBlockX() + "," + key.getBlockY()+ ","+ key.getBlockZ(), entry.getValue()); } long finish1 = System.currentTimeMillis(); - MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7农作物数据更新耗时&a" + (finish1 - start1) + "&fms",Bukkit.getConsoleSender()); + if (ConfigManager.Config.log_time){ + MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7农作物数据更新耗时&a" + (finish1 - start1) + "&fms",Bukkit.getConsoleSender()); + } /* 阶段2:清理数据内无效的农作物并让有效农作物生长 */ @@ -225,7 +227,9 @@ public class CropManager { }); } long finish2 = System.currentTimeMillis(); - MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7农作物生长耗时&a" + (finish2 - start2) + "&fms",Bukkit.getConsoleSender()); + if (ConfigManager.Config.log_time){ + MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7农作物生长耗时&a" + (finish2 - start2) + "&fms",Bukkit.getConsoleSender()); + } /* 阶段3:保存文件 @@ -238,6 +242,8 @@ public class CropManager { CustomCrops.instance.getLogger().warning("crop-data.yml保存出错!"); } long finish3 = System.currentTimeMillis(); - MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7农作物数据保存耗时&a" + (finish3 - start3) + "&fms",Bukkit.getConsoleSender()); + if (ConfigManager.Config.log_time){ + MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7农作物数据保存耗时&a" + (finish3 - start3) + "&fms",Bukkit.getConsoleSender()); + } } } diff --git a/src/main/java/net/momirealms/customcrops/datamanager/SprinklerManager.java b/src/main/java/net/momirealms/customcrops/datamanager/SprinklerManager.java index df3b32f..52a7906 100644 --- a/src/main/java/net/momirealms/customcrops/datamanager/SprinklerManager.java +++ b/src/main/java/net/momirealms/customcrops/datamanager/SprinklerManager.java @@ -78,7 +78,9 @@ public class SprinklerManager { data.set(entry.getKey().getWorld().getName() + "." + entry.getKey().getBlockX() + "," + entry.getKey().getBlockY()+ ","+entry.getKey().getBlockZ(), entry.getValue()); } long finish1 = System.currentTimeMillis(); - MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7洒水器数据更新耗时&a" + (finish1-start1) + "&fms",Bukkit.getConsoleSender()); + if (ConfigManager.Config.log_time){ + MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7洒水器数据更新耗时&a" + (finish1-start1) + "&fms",Bukkit.getConsoleSender()); + } /* 阶段2:清理数据内无效的洒水器并工作 */ @@ -118,8 +120,9 @@ public class SprinklerManager { }); } long finish2 = System.currentTimeMillis(); - MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7洒水器工作耗时&a" + (finish2-start2) + "&fms",Bukkit.getConsoleSender()); - + if (ConfigManager.Config.log_time){ + MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7洒水器工作耗时&a" + (finish2-start2) + "&fms",Bukkit.getConsoleSender()); + } bukkitScheduler.runTaskAsynchronously(CustomCrops.instance,()->{ /* 阶段3:保存数据 @@ -132,7 +135,9 @@ public class SprinklerManager { CustomCrops.instance.getLogger().warning("sprinkler-data.yml保存出错!"); } long finish3 = System.currentTimeMillis(); - MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7洒水器数据保存耗时&a" + (finish3-start3) + "&fms",Bukkit.getConsoleSender()); + if (ConfigManager.Config.log_time){ + MessageManager.consoleMessage("&#ccfbff-#ef96c5&[CustomCrops] &7洒水器数据保存耗时&a" + (finish3-start3) + "&fms",Bukkit.getConsoleSender()); + } }); return null; }); diff --git a/src/main/java/net/momirealms/customcrops/integrations/IntegrationCheck.java b/src/main/java/net/momirealms/customcrops/integrations/IntegrationCheck.java index 48853d5..843d915 100644 --- a/src/main/java/net/momirealms/customcrops/integrations/IntegrationCheck.java +++ b/src/main/java/net/momirealms/customcrops/integrations/IntegrationCheck.java @@ -8,36 +8,27 @@ public class IntegrationCheck { //收获权限检测 public static boolean HarvestCheck(Location location, Player player){ - boolean canH = false; if(ConfigManager.Config.res){ - if(ResidenceIntegrations.checkResHarvest(location, player)){ - canH = true; - }else { + if(!ResidenceIntegrations.checkResHarvest(location, player)){ return false; } } if(ConfigManager.Config.king){ - if(KingdomsXIntegrations.checkKDBuild(location, player)){ - canH = true; - }else { + if(!KingdomsXIntegrations.checkKDBuild(location, player)){ return false; } } if(ConfigManager.Config.wg){ - if(WorldGuardIntegrations.checkWGHarvest(location, player)){ - canH = true; - }else { + if(!WorldGuardIntegrations.checkWGHarvest(location, player)){ return false; } } if(ConfigManager.Config.gd){ - if(GriefDefenderIntegrations.checkGDBreak(location, player)){ - canH = true; - }else { + if(!GriefDefenderIntegrations.checkGDBreak(location, player)){ return false; } } - return canH; + return true; } //种植等权限检测 public static boolean PlaceCheck(Location location, Player player){ diff --git a/src/main/java/net/momirealms/customcrops/timer/TimeCheck.java b/src/main/java/net/momirealms/customcrops/timer/TimeCheck.java index 887c8c6..2c30ac3 100644 --- a/src/main/java/net/momirealms/customcrops/timer/TimeCheck.java +++ b/src/main/java/net/momirealms/customcrops/timer/TimeCheck.java @@ -14,16 +14,17 @@ public class TimeCheck extends BukkitRunnable { @Override public void run() { ConfigManager.Config.worlds.forEach(world ->{ - BukkitScheduler bukkitScheduler = Bukkit.getScheduler(); if(Bukkit.getWorld(world) != null){ long time = Bukkit.getWorld(world).getTime(); ConfigManager.Config.cropGrowTimeList.forEach(cropGrowTime -> { if(time == cropGrowTime){ + BukkitScheduler bukkitScheduler = Bukkit.getScheduler(); bukkitScheduler.runTaskAsynchronously(CustomCrops.instance, () -> CropManager.CropGrow(world)); } }); ConfigManager.Config.sprinklerWorkTimeList.forEach(sprinklerTime -> { if(time == sprinklerTime){ + BukkitScheduler bukkitScheduler = Bukkit.getScheduler(); bukkitScheduler.runTaskAsynchronously(CustomCrops.instance, () -> SprinklerManager.SprinklerWork(world)); } }); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 9cbd64a..2a844a5 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -37,13 +37,11 @@ config: #使用骨粉失败的粒子 failure: VILLAGER_ANGRY - #温室系统,在温室玻璃正下方的方块可以无视季节种植 enable-greenhouse: true #温室玻璃有效范围 greenhouse-range: 7 - #植物的种植盆方块 pot: customcrops:pot #植物的浇过水的种植盆方块 @@ -67,17 +65,18 @@ config: #农作物枯萎后变成的方块,物品ID中请保留stage以保持其下方方块被破坏时,枯萎作物也被破坏的特性 dead-crop: customcrops:crop_stage_death - #种植的最低和最高Y坐标 height: min: 50 - max: 100 + max: 150 #每个区块最大农作物数量和洒水器数量 #是否启用限制 enable-limit: true max-crops: 64 max-sprinklers: 8 + #记录生长判断和洒水所需的时间 + log-time-consume: false #插件兼容 integration: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index c18b15d..d98d822 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: CustomCrops -version: '1.4.5' +version: '1.4.7' main: net.momirealms.customcrops.CustomCrops api-version: 1.16 depend: