- DiscordSRV integration for halt notifications

- Added server insights, provides suggestions on how to improve server performance (more will be added with each new update)
This commit is contained in:
KyTDK committed 2023-11-16 22:20:45 +11:00
1 parent 0a9b3dd0ee
commit 7ead4a2666
4 files changed
+6 -55

No files matched your search

@@ -26,7 +26,9 @@ public class InsightGUIReport {
return;
}
ArrayList<String> lore = new ArrayList<>();
lore.add(ChatColor.translateAlternateColorCodes('&', "&aCategory: ") + category);
lore.add(ChatColor.translateAlternateColorCodes('&', "&7Category: ") + category);
lore.add(ChatColor.translateAlternateColorCodes('&', "&7Current value: &4") + insightElement.currentValue());
lore.add(ChatColor.translateAlternateColorCodes('&', "&7Recommended value: &a") + insightElement.recommendedValue());
Consumer<InventoryClickEvent> fixAction = event -> {
insightElement.fix();
@@ -34,7 +36,7 @@ public class InsightGUIReport {
MessageUtil.sendMM(event.getWhoClicked(), NeoPerformance.getLanguageManager().getString("insights.fixAutomaticDone", null));
};
InventoryItem item = new InventoryItem.InventoryItemBuilder(
() -> ItemUtil.createItem(Material.ANVIL, 1, "&7" + insightName + " (Click to fix)", lore))
() -> ItemUtil.createItem(Material.ANVIL, 1, "&7" + insightName + " &f&l(Click to fix)", lore))
.setAction(fixAction)
.build();
inventoryGUI.addItem(item);
@@ -1,51 +0,0 @@
package com.neomechanical.neoperformance.performance.insight;
import com.neomechanical.neoconfig.neoutils.kyori.adventure.text.Component;
import com.neomechanical.neoconfig.neoutils.kyori.adventure.text.TextComponent;
import com.neomechanical.neoconfig.neoutils.kyori.adventure.text.event.ClickEvent;
import com.neomechanical.neoconfig.neoutils.kyori.adventure.text.event.HoverEvent;
import com.neomechanical.neoconfig.neoutils.messages.MessageUtil;
import com.neomechanical.neoperformance.NeoPerformance;
import com.neomechanical.neoperformance.utils.messages.Messages;
import org.bukkit.command.CommandSender;
import java.util.HashMap;
public class InsightReport {
private final TextComponent.Builder builder = Component.text();
public InsightReport buildReport(HashMap<String, HashMap<String, InsightElement>> insights) {
insights.forEach((category, categoryInsights) -> {
TextComponent.Builder insightElements = Component.text();
categoryInsights.forEach((insightName, insightElement) -> {
insightElements
.append(Component.newline())
.append(Component.text(" • "))
.append(MessageUtil.parseComponent(insightName + ": <red>" + insightElement.currentValue() + "<white> | "
+ NeoPerformance.getLanguageManager().getString("insights.recommended", null)
+ ": <green>" + insightElement.recommendedValue()))
.append(MessageUtil.parseComponent(" <white><bold>(click to fix)"))
.clickEvent(ClickEvent.runCommand("/np insights fix " + category.replace(" ", "-") + " " + insightName))
.hoverEvent(HoverEvent.showText(Component.text("Click to fix")));
});
if (!insightElements.children().isEmpty()) {
if (!builder.children().isEmpty()) {
builder.append(Component.newline());
}
builder.append(MessageUtil.parseComponent("<gray><bold>" + category + ": "))
.append(insightElements);
}
});
if (builder.children().isEmpty()) {
builder.append(MessageUtil.parseComponent(NeoPerformance.getLanguageManager().getString("insights.noElements", null)));
}
return this;
}
public void sendReport(CommandSender commandSender) {
TextComponent message = builder.build();
MessageUtil.send(commandSender, Messages.MAIN_INSIGHTS_PREFIX);
MessageUtil.sendMM(commandSender, message);
MessageUtil.send(commandSender, Messages.MAIN_SUFFIX);
}
}
@@ -22,6 +22,7 @@ com/neomechanical/neoperformance/performance/lagPrevention/LagPrevention.class
com/neomechanical/neoperformance/performance/smart/smartReport/grading/GradeData.class
com/neomechanical/neoperformance/performance/smart/smartReport/gradingSubjects/dependent/SparkMSPTGrading.class
com/neomechanical/neoperformance/config/LagNotifier.class
com/neomechanical/neoperformance/performance/insight/utils/YAMLOthers.class
com/neomechanical/neoperformance/performance/smart/smartClear/SmartClear.class
com/neomechanical/neoperformance/performance/insight/elements/spigot/yml/MergeRadiusExp.class
com/neomechanical/neoperformance/performance/smart/smartReport/relatedManagers/SparkData.class
@@ -63,7 +64,6 @@ com/neomechanical/neoperformance/utils/updates/UpdateChecker.class
com/neomechanical/neoperformance/config/PerformanceTweaksConfiguration.class
com/neomechanical/neoperformance/utils/mail/EmailClient$1.class
com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsWaterAnimals.class
com/neomechanical/neoperformance/performance/insight/InsightReport.class
com/neomechanical/neoperformance/performance/smart/smartNotifier/dataGetters/ChunkData.class
com/neomechanical/neoperformance/performance/haltActions/HaltActions.class
com/neomechanical/neoperformance/integrations/discorsrv/DiscordSRVListener.class
@@ -57,6 +57,7 @@
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/integrations/discorsrv/DiscordSRVHook.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/commands/SmartClearCommand.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/config/PerformanceTweaksConfiguration.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/insight/utils/YAMLOthers.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/SpawnLimitsAmbient.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/register/StartRegistering.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/smart/smartNotifier/report/LagReportBuilder.java
@@ -72,7 +73,6 @@
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/smart/smartReport/gradingSubjects/TpsGrading.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/bukkit/yml/ChunkGCPeriodLoadThreshold.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/haltActions/RegisterHaltActions.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightReport.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/insight/InsightManager.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/insight/elements/server/properties/NetworkCompressionThreshold.java
/mnt/HDD1/Documents/GitHub/NeoPerformance/api/src/main/java/com/neomechanical/neoperformance/performance/smart/smartReport/SmartReport.java