updated tablist
This commit is contained in:
		| @@ -19,19 +19,19 @@ import java.util.List; | ||||
|  | ||||
| public class Tablist extends Appliance { | ||||
|     private final int refreshRate = Ticks.TICKS_PER_SECOND * 3; | ||||
|     private final RainbowComponent serverName = new RainbowComponent(" CraftAttack 6 ", 7, 3); | ||||
|     private final RainbowComponent serverName = new RainbowComponent(" CraftAttack 7 ", 7, 3); | ||||
|  | ||||
|     @Override | ||||
|     public void onEnable() { | ||||
|         Bukkit.getScheduler().runTaskTimerAsynchronously( | ||||
|                 Main.instance(), | ||||
|                 () -> IteratorUtil.onlinePlayers(this::update), | ||||
|                 () -> IteratorUtil.onlinePlayers(this::updateHeader), | ||||
|                 refreshRate, | ||||
|                 refreshRate | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     public void update(Player player) { | ||||
|     public void fullUpdate(Player player) { | ||||
|         updateHeader(player); | ||||
|         updateFooter(player); | ||||
|     } | ||||
|   | ||||
| @@ -7,6 +7,6 @@ import org.bukkit.event.player.PlayerJoinEvent; | ||||
| public class TablistListener extends ApplianceListener<Tablist> { | ||||
|     @EventHandler | ||||
|     public void onPlayerJoin(PlayerJoinEvent event) { | ||||
|         getAppliance().update(event.getPlayer()); | ||||
|         getAppliance().fullUpdate(event.getPlayer()); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -40,29 +40,38 @@ public class ComponentUtil { | ||||
|  | ||||
|     public static Component getFormattedMSPT() { | ||||
|         long[] times = Bukkit.getServer().getTickTimes(); | ||||
|         double mspt = ((double) Arrays.stream(times).sum() / (double) times.length) * 1.0E-6D; | ||||
|         double roundedMspt = (double) Math.round(mspt * 100d) / 100d; | ||||
|  | ||||
|         int percentage = (int) (Math.min(100, (mspt / 50.0) * 100)); | ||||
|         float mspt = ((float) Arrays.stream(times).sum() / times.length) * 1.0E-6f; | ||||
|         float roundedMspt = Math.round(mspt * 100f) / 100f; | ||||
|         int loadPercentage = (int) (Math.min(100, (mspt / 50.0) * 100)); | ||||
|         float roundedTPS = Math.round(Bukkit.getTPS()[0] * 100f) / 100f; | ||||
|  | ||||
|         TextColor msptColor = ColorUtil.mapGreenToRed(roundedMspt, 0, 50, true); | ||||
|         TextColor percentageColor = ColorUtil.mapGreenToRed(percentage, 80, 100, true); | ||||
|         TextColor percentageColor = ColorUtil.mapGreenToRed(loadPercentage, 80, 100, true); | ||||
|         TextColor tpsColor = ColorUtil.mapGreenToRed(roundedTPS, 15, 20, false); | ||||
|  | ||||
|         return Component.text() | ||||
|                 .append(Component.text("Serverlast: ", NamedTextColor.GRAY)) | ||||
|                 .append(Component.text(percentage + "% ", percentageColor)) | ||||
|                 .append(Component.text(loadPercentage + "% ", percentageColor)) | ||||
|                 .appendNewline() | ||||
|                 .append(Component.text("(", NamedTextColor.GRAY)) | ||||
|                 .append(Component.text(roundedMspt + "ms", msptColor)) | ||||
|                 .append(Component.text(" per tick)", NamedTextColor.GRAY)) | ||||
|                 .append(Component.text(roundedMspt + "mspt", msptColor)) | ||||
|                 .append(Component.text(" | ", NamedTextColor.GRAY)) | ||||
|                 .append(Component.text(roundedTPS + "tps", tpsColor)) | ||||
|                 .build(); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static Component getFormattedPing(Player player) { | ||||
|         int playerPing = player.getPing(); | ||||
|         int averagePing = Bukkit.getOnlinePlayers().stream() | ||||
|                 .map(Player::getPing).reduce(Integer::sum) | ||||
|                 .orElse(0) / Bukkit.getOnlinePlayers().size(); | ||||
|  | ||||
|         return Component.text() | ||||
|                 .append(Component.text("Dein Ping: ", NamedTextColor.GRAY)) | ||||
|                 .append(Component.text(player.getPing() + "ms", ColorUtil.mapGreenToRed(player.getPing(), 100, 500, true))) | ||||
|                 .append(Component.text(playerPing + "ms", ColorUtil.mapGreenToRed(playerPing, 50, 200, true))) | ||||
|                 .append(Component.text(" | ", NamedTextColor.GRAY)) | ||||
|                 .append(Component.text("Durschnitt: ", NamedTextColor.GRAY)) | ||||
|                 .append(Component.text(averagePing + "ms", ColorUtil.mapGreenToRed(averagePing, 50, 200, true))) | ||||
|                 .build(); | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user