diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightElement.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightElement.java index d286b99..2f5a67e 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightElement.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightElement.java @@ -1,11 +1,41 @@ package com.neomechanical.neoperformance.performance.insight; -public abstract class InsightElement { +import com.neomechanical.neoconfig.neoutils.NeoUtils; + +public abstract class InsightElement { + public T recommendedValue; + public abstract boolean isInsightApplicableOrAlreadyPresent(); - public abstract String recommendedValue(); + public InsightElement() { + setDefaultValue(); + } - public abstract String currentValue(); + public String getRecommendedValue() { + return String.valueOf(recommendedValue); + } + + public void setRecommendedValue(String recommendedValue) { + try { + if (this.recommendedValue instanceof String) { + this.recommendedValue = (T) recommendedValue; + } else if (this.recommendedValue instanceof Integer) { + this.recommendedValue = (T) Integer.valueOf(recommendedValue); + } else if (this.recommendedValue instanceof Boolean) { + this.recommendedValue = (T) Boolean.valueOf(recommendedValue); + } else if (this.recommendedValue instanceof Double) { + this.recommendedValue = (T) Double.valueOf(recommendedValue); + } else { + NeoUtils.getNeoUtilities().getFancyLogger().warn("Failed to set value"); + } + } catch (Exception e) { + NeoUtils.getNeoUtilities().getFancyLogger().warn("Failed to convert values: " + e.getMessage()); + } + } + + public abstract void setDefaultValue(); + + public abstract T currentValue(); public abstract void fix(); } diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightGUIReport.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightGUIReport.java index d605005..13dea95 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightGUIReport.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightGUIReport.java @@ -1,5 +1,6 @@ package com.neomechanical.neoperformance.performance.insight; +import com.neomechanical.neoconfig.anvilgui.AnvilGUI; import com.neomechanical.neoconfig.neoutils.inventory.InventoryUtil; import com.neomechanical.neoconfig.neoutils.inventory.managers.data.InventoryGUI; import com.neomechanical.neoconfig.neoutils.inventory.managers.data.InventoryItem; @@ -10,34 +11,59 @@ import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.scheduler.BukkitRunnable; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.function.Consumer; public class InsightGUIReport { private final InventoryGUI inventoryGUI = InventoryUtil.createInventoryGUI(null, 54, "Insights"); - public InsightGUIReport buildReport(HashMap> insights) { + public InsightGUIReport buildReport(HashMap>> insights) { insights.forEach((category, categoryInsights) -> { categoryInsights.forEach((insightName, insightElement) -> { - if (!insightElement.isInsightApplicableOrAlreadyPresent()) { - return; - } ArrayList lore = new ArrayList<>(); lore.add(ChatColor.translateAlternateColorCodes('&', "&7Category: ") + category); lore.add(ChatColor.translateAlternateColorCodes('&', "&7Current value: &4") + insightElement.currentValue()); - lore.add(ChatColor.translateAlternateColorCodes('&', "&7Recommended value: &a") + insightElement.recommendedValue()); + lore.add(ChatColor.translateAlternateColorCodes('&', "&7Recommended value: &a") + insightElement.getRecommendedValue()); + lore.add(ChatColor.translateAlternateColorCodes('&', "&f&lRight click &r&7to set custom value")); Consumer fixAction = event -> { insightElement.fix(); new Insights().openInsights(event.getWhoClicked()); MessageUtil.sendMM(event.getWhoClicked(), NeoPerformance.getLanguageManager().getString("insights.fixAutomaticDone", null)); }; + + Consumer changeRecommendedValue = event -> { + new AnvilGUI.Builder(). + onClick((slot, snapshot) -> { + insightElement.setRecommendedValue(snapshot.getText()); + insightElement.fix(); + new Insights().openInsights(event.getWhoClicked()); + return Collections.singletonList(AnvilGUI.ResponseAction.close()); + }) + .onClose(stateSnapshot -> { + new BukkitRunnable() { + @Override + public void run() { + new Insights().openInsights(event.getWhoClicked()); + } + }.runTaskLater(NeoPerformance.getInstance(), 1L); + }) + .text(insightElement.getRecommendedValue()) + .title("Change recommended value") + .plugin(NeoPerformance.getInstance()) + .open((Player) event.getWhoClicked()); + }; + InventoryItem item = new InventoryItem.InventoryItemBuilder( - () -> ItemUtil.createItem(Material.ANVIL, 1, "&7" + insightName + " &f&l(Click to fix)", lore)) - .setAction(fixAction) + () -> ItemUtil.createItem(Material.ANVIL, 1, "&7" + insightName + " &f&l(Left click to fix)", lore)) + .setAction(fixAction, ClickType.LEFT) + .setAction(changeRecommendedValue, ClickType.RIGHT) .build(); inventoryGUI.addItem(item); }); diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightManager.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightManager.java index f79cb6b..aaa80f2 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightManager.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightManager.java @@ -9,7 +9,7 @@ import com.neomechanical.neoperformance.performance.insight.elements.spigot.yml. import java.util.HashMap; public class InsightManager { - private final HashMap> categories = new HashMap<>(); + private final HashMap>> categories = new HashMap<>(); public InsightManager() { //Server.properties @@ -40,7 +40,7 @@ public class InsightManager { addInsight("bukkit.yml", "ticks-per-animal-autosave", new TicksPerAutosave()); } - public void addInsight(String category, String insightName, InsightElement insightElement) { + public void addInsight(String category, String insightName, InsightElement insightElement) { if (insightElement.isInsightApplicableOrAlreadyPresent()) { categories.computeIfAbsent(category, k -> new HashMap<>()).put(insightName, insightElement); } @@ -50,7 +50,7 @@ public class InsightManager { return categories.getOrDefault(category, new HashMap<>()).get(insight); } - public HashMap> getInsightsMap() { + public HashMap>> getInsightsMap() { return categories; } } \ No newline at end of file diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodInTicks.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodInTicks.java index 7cc3265..c590d17 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodInTicks.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodInTicks.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class ChunkGCPeriodInTicks extends InsightElement { +public class ChunkGCPeriodInTicks extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.chunk-gc.period-in-ticks") > 300; + return yamlOthers.getConfig().getDouble("spawn-limits.chunk-gc.period-in-ticks") > recommendedValue; } @Override - public String recommendedValue() { - return "300"; + public void setDefaultValue() { + recommendedValue = 300; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.chunk-gc.period-in-ticks"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.chunk-gc.period-in-ticks"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.chunk-gc.period-in-ticks", 300); + yamlConfiguration.set("spawn-limits.chunk-gc.period-in-ticks", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodLoadThreshold.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodLoadThreshold.java index 0f8ed93..c3ee67e 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodLoadThreshold.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodLoadThreshold.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class ChunkGCPeriodLoadThreshold extends InsightElement { +public class ChunkGCPeriodLoadThreshold extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.chunk-gc.load-threshold") > 300; + return yamlOthers.getConfig().getDouble("spawn-limits.chunk-gc.load-threshold") > recommendedValue; } @Override - public String recommendedValue() { - return "300"; + public void setDefaultValue() { + recommendedValue = 300; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.chunk-gc.load-threshold"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.chunk-gc.load-threshold"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.chunk-gc.load-threshold", 300); + yamlConfiguration.set("spawn-limits.chunk-gc.load-threshold", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAmbient.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAmbient.java index c1eda69..419737f 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAmbient.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAmbient.java @@ -6,30 +6,31 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class SpawnLimitsAmbient extends InsightElement { +public class SpawnLimitsAmbient extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); + @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.ambient") > 4; + return yamlOthers.getConfig().getDouble("spawn-limits.ambient") > recommendedValue; } @Override - public String recommendedValue() { - return "4"; + public void setDefaultValue() { + recommendedValue = 4; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.ambient"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.ambient"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.ambient", 4); + yamlConfiguration.set("spawn-limits.ambient", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAnimals.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAnimals.java index 2e221a1..05caac8 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAnimals.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAnimals.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class SpawnLimitsAnimals extends InsightElement { +public class SpawnLimitsAnimals extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.animals") > 10; + return yamlOthers.getConfig().getDouble("spawn-limits.animals") > recommendedValue; } @Override - public String recommendedValue() { - return "10"; + public void setDefaultValue() { + recommendedValue = 10; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.animals"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.animals"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.animals", 10); + yamlConfiguration.set("spawn-limits.animals", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsMonsters.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsMonsters.java index 4aeb6a8..7dd2ab8 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsMonsters.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsMonsters.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class SpawnLimitsMonsters extends InsightElement { +public class SpawnLimitsMonsters extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.monsters") > 50; + return yamlOthers.getConfig().getDouble("spawn-limits.monsters") > recommendedValue; } @Override - public String recommendedValue() { - return "50"; + public void setDefaultValue() { + recommendedValue = 50; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.monsters"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.monsters"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.monsters", 50); + yamlConfiguration.set("spawn-limits.monsters", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsWaterAnimals.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsWaterAnimals.java index 246d149..725c518 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsWaterAnimals.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsWaterAnimals.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class SpawnLimitsWaterAnimals extends InsightElement { +public class SpawnLimitsWaterAnimals extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.water-animals") > 3; + return yamlOthers.getConfig().getDouble("spawn-limits.water-animals") > recommendedValue; } @Override - public String recommendedValue() { - return "3"; + public void setDefaultValue() { + recommendedValue = 3; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.water-animals"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.water-animals"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.water-animals", 3); + yamlConfiguration.set("spawn-limits.water-animals", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAnimalSpawns.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAnimalSpawns.java index 8d4b62e..1059e3b 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAnimalSpawns.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAnimalSpawns.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class TicksPerAnimalSpawns extends InsightElement { +public class TicksPerAnimalSpawns extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.ticks-per.animal-spawns") > 400; + return yamlOthers.getConfig().getDouble("spawn-limits.ticks-per.animal-spawns") > recommendedValue; } @Override - public String recommendedValue() { - return "400"; + public void setDefaultValue() { + recommendedValue = 400; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.ticks-per.animal-spawns"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.ticks-per.animal-spawns"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.ticks-per.animal-spawns", 400); + yamlConfiguration.set("spawn-limits.ticks-per.animal-spawns", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAutosave.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAutosave.java index 49d0aee..71c093b 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAutosave.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerAutosave.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class TicksPerAutosave extends InsightElement { +public class TicksPerAutosave extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.ticks-per.autosave") > 6000; + return yamlOthers.getConfig().getDouble("spawn-limits.ticks-per.autosave") > recommendedValue; } @Override - public String recommendedValue() { - return "6000"; + public void setDefaultValue() { + recommendedValue = 6000; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.ticks-per.autosave"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.ticks-per.autosave"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.ticks-per.autosave", 6000); + yamlConfiguration.set("spawn-limits.ticks-per.autosave", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerMonsterSpawns.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerMonsterSpawns.java index 9895300..49c3141 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerMonsterSpawns.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/TicksPerMonsterSpawns.java @@ -6,30 +6,30 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class TicksPerMonsterSpawns extends InsightElement { +public class TicksPerMonsterSpawns extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("bukkit.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("spawn-limits.ticks-per.monster-spawns") > 40; + return yamlOthers.getConfig().getDouble("spawn-limits.ticks-per.monster-spawns") > recommendedValue; } @Override - public String recommendedValue() { - return "40"; + public void setDefaultValue() { + recommendedValue = 40; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("spawn-limits.ticks-per.monster-spawns"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("spawn-limits.ticks-per.monster-spawns"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("spawn-limits.ticks-per.monster-spawns", 40); + yamlConfiguration.set("spawn-limits.ticks-per.monster-spawns", recommendedValue); try { yamlConfiguration.save(new File("bukkit.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/NetworkCompressionThreshold.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/NetworkCompressionThreshold.java index ddf2a46..87f8414 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/NetworkCompressionThreshold.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/NetworkCompressionThreshold.java @@ -3,24 +3,24 @@ package com.neomechanical.neoperformance.performance.insight.elements.server.pro import com.neomechanical.neoperformance.performance.insight.InsightElement; import com.neomechanical.neoperformance.performance.insight.utils.ServerConfiguration; -public class NetworkCompressionThreshold extends InsightElement { +public class NetworkCompressionThreshold extends InsightElement { @Override public boolean isInsightApplicableOrAlreadyPresent() { - return Integer.parseInt(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.PACKET_COMPRESSION_LIMIT)) < 512; + return Integer.parseInt(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.PACKET_COMPRESSION_LIMIT)) < recommendedValue; } @Override - public String recommendedValue() { - return "512"; + public void setDefaultValue() { + recommendedValue = 512; } @Override - public String currentValue() { - return ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.PACKET_COMPRESSION_LIMIT); + public Integer currentValue() { + return Integer.valueOf(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.PACKET_COMPRESSION_LIMIT)); } @Override public void fix() { - ServerConfiguration.setServerProperty(ServerConfiguration.ServerProperty.PACKET_COMPRESSION_LIMIT, "512"); + ServerConfiguration.setServerProperty(ServerConfiguration.ServerProperty.PACKET_COMPRESSION_LIMIT, String.valueOf(recommendedValue)); } } diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/RenderDistance.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/RenderDistance.java index 16741ec..f5f9c53 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/RenderDistance.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/RenderDistance.java @@ -3,24 +3,24 @@ package com.neomechanical.neoperformance.performance.insight.elements.server.pro import com.neomechanical.neoperformance.performance.insight.InsightElement; import com.neomechanical.neoperformance.performance.insight.utils.ServerConfiguration; -public class RenderDistance extends InsightElement { +public class RenderDistance extends InsightElement { @Override public boolean isInsightApplicableOrAlreadyPresent() { - return Integer.parseInt(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.VIEW_DISTANCE)) > 4; + return Integer.parseInt(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.VIEW_DISTANCE)) > recommendedValue; } @Override - public String recommendedValue() { - return "4"; + public void setDefaultValue() { + recommendedValue = 4; } @Override - public String currentValue() { - return ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.VIEW_DISTANCE); + public Integer currentValue() { + return Integer.valueOf(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.VIEW_DISTANCE)); } @Override public void fix() { - ServerConfiguration.setServerProperty(ServerConfiguration.ServerProperty.VIEW_DISTANCE, "4"); + ServerConfiguration.setServerProperty(ServerConfiguration.ServerProperty.VIEW_DISTANCE, String.valueOf(recommendedValue)); } } diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/Snooper.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/Snooper.java index b17e5cf..2afae3f 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/Snooper.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/Snooper.java @@ -3,24 +3,24 @@ package com.neomechanical.neoperformance.performance.insight.elements.server.pro import com.neomechanical.neoperformance.performance.insight.InsightElement; import com.neomechanical.neoperformance.performance.insight.utils.ServerConfiguration; -public class Snooper extends InsightElement { +public class Snooper extends InsightElement { @Override public boolean isInsightApplicableOrAlreadyPresent() { return Boolean.parseBoolean(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.SNOOPER)); } @Override - public String recommendedValue() { - return "false"; + public void setDefaultValue() { + recommendedValue = false; } @Override - public String currentValue() { - return ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.SNOOPER); + public Boolean currentValue() { + return Boolean.valueOf(ServerConfiguration.getServerProperty(ServerConfiguration.ServerProperty.SNOOPER)); } @Override public void fix() { - ServerConfiguration.setServerProperty(ServerConfiguration.ServerProperty.SNOOPER, "false"); + ServerConfiguration.setServerProperty(ServerConfiguration.ServerProperty.SNOOPER, String.valueOf(recommendedValue)); } } diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeAnimals.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeAnimals.java index f96cf9b..3f51721 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeAnimals.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeAnimals.java @@ -6,30 +6,29 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class EntityActivationRangeAnimals extends InsightElement { +public class EntityActivationRangeAnimals extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override public boolean isInsightApplicableOrAlreadyPresent() { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.entity-activation-range.animals") > 8; + return yamlOthers.getConfig().getDouble("world-settings.default.entity-activation-range.animals") > recommendedValue; + } + + public void setDefaultValue() { + recommendedValue = 8; } @Override - public String recommendedValue() { - return "8"; - } - - @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.entity-activation-range.animals"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.entity-activation-range.animals"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.entity-activation-range.animals", 8); + yamlConfiguration.set("world-settings.default.entity-activation-range.animals", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMisc.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMisc.java index da5cc0f..c7fad0c 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMisc.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMisc.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class EntityActivationRangeMisc extends InsightElement { +public class EntityActivationRangeMisc extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class EntityActivationRangeMisc extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.entity-activation-range.monsters") > 2; + return yamlOthers.getConfig().getDouble("world-settings.default.entity-activation-range.monsters") > recommendedValue; } @Override - public String recommendedValue() { - return "2"; + public void setDefaultValue() { + recommendedValue = 2; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.entity-activation-range.monsters"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.entity-activation-range.monsters"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.entity-activation-range.monsters", 2); + yamlConfiguration.set("world-settings.default.entity-activation-range.monsters", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMonsters.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMonsters.java index 7d391d9..41fbc55 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMonsters.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/EntityActivationRangeMonsters.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class EntityActivationRangeMonsters extends InsightElement { +public class EntityActivationRangeMonsters extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class EntityActivationRangeMonsters extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.entity-activation-range.monsters") > 10; + return yamlOthers.getConfig().getDouble("world-settings.default.entity-activation-range.monsters") > recommendedValue; } @Override - public String recommendedValue() { - return "10"; + public void setDefaultValue() { + recommendedValue = 10; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.entity-activation-range.monsters"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.entity-activation-range.monsters"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.entity-activation-range.monsters", 10); + yamlConfiguration.set("world-settings.default.entity-activation-range.monsters", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/ItemDespawnRate.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/ItemDespawnRate.java index 0b42c4b..49b94f0 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/ItemDespawnRate.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/ItemDespawnRate.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class ItemDespawnRate extends InsightElement { +public class ItemDespawnRate extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class ItemDespawnRate extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.item-despawn-rate") > 1200; + return yamlOthers.getConfig().getDouble("world-settings.default.item-despawn-rate") > recommendedValue; } @Override - public String recommendedValue() { - return "1200"; + public void setDefaultValue() { + recommendedValue = 1200; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.item-despawn-rate"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.item-despawn-rate"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.item-despawn-rate", 1200); + yamlConfiguration.set("world-settings.default.item-despawn-rate", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeEntity.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeEntity.java index 314fc63..3ceda0a 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeEntity.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeEntity.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class MaxTickTimeEntity extends InsightElement { +public class MaxTickTimeEntity extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class MaxTickTimeEntity extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.max-tick-time.entity") > 50; + return yamlOthers.getConfig().getDouble("world-settings.default.max-tick-time.entity") > recommendedValue; } @Override - public String recommendedValue() { - return "50"; + public void setDefaultValue() { + recommendedValue = 50; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.max-tick-time.entity"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.max-tick-time.entity"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.max-tick-time.entity", 50); + yamlConfiguration.set("world-settings.default.max-tick-time.entity", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeTile.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeTile.java index 908a031..ef4e10d 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeTile.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTickTimeTile.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class MaxTickTimeTile extends InsightElement { +public class MaxTickTimeTile extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class MaxTickTimeTile extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.max-tick-time.tile") > 50; + return yamlOthers.getConfig().getDouble("world-settings.default.max-tick-time.tile") > recommendedValue; } @Override - public String recommendedValue() { - return "50"; + public void setDefaultValue() { + recommendedValue = 50; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.max-tick-time.tile"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.max-tick-time.tile"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.max-tick-time.tile", 50); + yamlConfiguration.set("world-settings.default.max-tick-time.tile", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTntPerTick.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTntPerTick.java index f67c506..2020ae5 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTntPerTick.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MaxTntPerTick.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class MaxTntPerTick extends InsightElement { +public class MaxTntPerTick extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class MaxTntPerTick extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.max-tnt-per-tick") > 10; + return yamlOthers.getConfig().getDouble("world-settings.default.max-tnt-per-tick") > recommendedValue; } @Override - public String recommendedValue() { - return "10"; + public void setDefaultValue() { + recommendedValue = 10; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.max-tnt-per-tick"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.max-tnt-per-tick"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.max-tnt-per-tick", 10); + yamlConfiguration.set("world-settings.default.max-tnt-per-tick", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusExp.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusExp.java index 7b9cde4..3386fe0 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusExp.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusExp.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class MergeRadiusExp extends InsightElement { +public class MergeRadiusExp extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class MergeRadiusExp extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.merge-radius.exp") > 6; + return yamlOthers.getConfig().getDouble("world-settings.default.merge-radius.exp") > recommendedValue; } @Override - public String recommendedValue() { - return "6"; + public void setDefaultValue() { + recommendedValue = 6; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.merge-radius.exp"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.merge-radius.exp"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.merge-radius.exp", 6); + yamlConfiguration.set("world-settings.default.merge-radius.exp", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusItem.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusItem.java index 63a0156..9af648e 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusItem.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusItem.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class MergeRadiusItem extends InsightElement { +public class MergeRadiusItem extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class MergeRadiusItem extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.merge-radius.item") > 4; + return yamlOthers.getConfig().getDouble("world-settings.default.merge-radius.item") > recommendedValue; } @Override - public String recommendedValue() { - return "4"; + public void setDefaultValue() { + recommendedValue = 4; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.merge-radius.item"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.merge-radius.item"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.merge-radius.item", 4); + yamlConfiguration.set("world-settings.default.merge-radius.item", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperCheck.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperCheck.java index e29dbe8..f1cf23f 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperCheck.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperCheck.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class TicksPerHopperCheck extends InsightElement { +public class TicksPerHopperCheck extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class TicksPerHopperCheck extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.ticks-per.hopper-check") > 24; + return yamlOthers.getConfig().getDouble("world-settings.default.ticks-per.hopper-check") > recommendedValue; } @Override - public String recommendedValue() { - return "24"; + public void setDefaultValue() { + recommendedValue = 24; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.ticks-per.hopper-check"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.ticks-per.hopper-check"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.ticks-per.hopper-check", 24); + yamlConfiguration.set("world-settings.default.ticks-per.hopper-check", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) { diff --git a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperTransfer.java b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperTransfer.java index b210000..4ca41df 100644 --- a/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperTransfer.java +++ b/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/TicksPerHopperTransfer.java @@ -6,7 +6,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -public class TicksPerHopperTransfer extends InsightElement { +public class TicksPerHopperTransfer extends InsightElement { private final YAMLOthers yamlOthers = new YAMLOthers("spigot.yml"); @Override @@ -14,23 +14,23 @@ public class TicksPerHopperTransfer extends InsightElement { if (!yamlOthers.configExists()) { return false; } - return yamlOthers.getConfig().getDouble("world-settings.default.ticks-per.hopper-transfer") > 24; + return yamlOthers.getConfig().getDouble("world-settings.default.ticks-per.hopper-transfer") > recommendedValue; } @Override - public String recommendedValue() { - return "24"; + public void setDefaultValue() { + recommendedValue = 24; } @Override - public String currentValue() { - return yamlOthers.getConfig().getString("world-settings.default.ticks-per.hopper-transfer"); + public Integer currentValue() { + return yamlOthers.getConfig().getInt("world-settings.default.ticks-per.hopper-transfer"); } @Override public void fix() { YamlConfiguration yamlConfiguration = yamlOthers.getConfig(); - yamlConfiguration.set("world-settings.default.ticks-per.hopper-transfer", 24); + yamlConfiguration.set("world-settings.default.ticks-per.hopper-transfer", recommendedValue); try { yamlConfiguration.save(new File("spigot.yml")); } catch (Exception e) {