SteamWar/BauSystem
Archiviert
13
0

Add /tpslimit Command #113

Manuell gemergt
YoyoNow hat 13 Commits von TPSLimiter nach master 2020-11-16 14:32:47 +01:00 zusammengeführt
Besitzer
Keine Beschreibung angegeben.
Lixfel hat 2020-11-15 13:27:26 +01:00 Änderungen angefragt
@ -0,0 +1,100 @@
package de.steamwar.bausystem.commands;
Besitzer

Fehlender AGPL-Header

Fehlender AGPL-Header
@ -0,0 +21,4 @@
private long currentTime = System.currentTimeMillis();
public CommandTPSLimiter() {
Bukkit.getScheduler().runTaskTimer(BauSystem.getPlugin(), () -> {
Besitzer

Finde ich nicht so ganz elegant, dass das die ganze Zeit mitläuft. Besser wäre, sich ggf. den Task zu merken und ihn dann zu Stoppen/zu starten.

Finde ich nicht so ganz elegant, dass das die ganze Zeit mitläuft. Besser wäre, sich ggf. den Task zu merken und ihn dann zu Stoppen/zu starten.
Autor
Besitzer

Wenn ich den Task cancel() dann würde natürlich der server kurzzeitig schneller als 20 tps laufen. Nur damit das klar ist.

Wenn ich den Task cancel() dann würde natürlich der server kurzzeitig schneller als 20 tps laufen. Nur damit das klar ist.
@ -0,0 +23,4 @@
public CommandTPSLimiter() {
Bukkit.getScheduler().runTaskTimer(BauSystem.getPlugin(), () -> {
lastTime = currentTime;
currentTime = System.currentTimeMillis();
Besitzer

Millis dürfte für diesen Zweck zu ungenau sein, besser wären Nanosekunden

Millis dürfte für diesen Zweck zu ungenau sein, besser wären Nanosekunden
@ -0,0 +46,4 @@
world.getEntities().stream().filter(entity -> entity instanceof TNTPrimed).forEach(entity -> {
Location location = entity.getLocation();
world.spawnParticle(Particle.BARRIER, location.getX(), location.getY() + 0.49, location.getZ(), 1);
Besitzer

Besser wäre ein aussenden von Velocity 0-Paketen, das hier dürfte den Server stark belasten.

Besser wäre ein aussenden von Velocity 0-Paketen, das hier dürfte den Server stark belasten.
Autor
Besitzer

Wie soll ich das genau umsetzten?

Wie soll ich das genau umsetzten?
Autor
Besitzer

Auch verschwindet das TNT nach 4 Sekunden (Clientseitig) sodass man es nicht mehr sieht!

Auch verschwindet das TNT nach 4 Sekunden (Clientseitig) sodass man es nicht mehr sieht!
@ -0,0 +86,4 @@
private void sendNewTPSLimitMessage(Player player) {
player.sendMessage(BauSystem.PREFIX + "TPS limit auf " + currentTPSLimit + " gesetzt.");
Bukkit.getOnlinePlayers().forEach(p -> p.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§eTPS limit auf " + currentTPSLimit + " gesetzt.")));
Besitzer

player bekommt eine doppelte Nachricht, ich denke, die Nachricht in der ActionBar reicht aus.

player bekommt eine doppelte Nachricht, ich denke, die Nachricht in der ActionBar reicht aus.
@ -0,0 +90,4 @@
}
private void sendInvalidArgumentMessage(Player player) {
player.sendMessage(BauSystem.PREFIX + "Nur Zahlen zwischen 1 und 20, und 'default' erlaubt.");
Besitzer

§c

§c
@ -76,0 +76,4 @@
if (CommandTPSLimiter.getCurrentTPSLimit() == 20) {
strings.add("§eTPS§8: §7" + TPSWatcher.getTPS());
} else {
strings.add("§eTPS§8: §7" + TPSWatcher.getTPS() + " §eLimit§8: §7" + CommandTPSLimiter.getCurrentTPSLimit());
Besitzer

Limit ist ein wenig lang (max. 15 Zeichen meines wissens nach). Besser wäre ggf. einfach TPS: 15.4/16

Limit ist ein wenig lang (max. 15 Zeichen meines wissens nach). Besser wäre ggf. einfach TPS: 15.4/16
Autor
Besitzer

Lixfel könntest du dich mal an eine solche Implementierung setzen. Ich kriege es nicht wirklich richtig hin. Oder könntest du mir ein Ansatz geben, womit ich weiter käme.
Also die Idee ist ja, dass das TNT angezeigt wird. Das es Clientseitig nicht verschwindet. Das habe ich auch schon hinbekommen. Jedoch funktioniert nicht, dass die Motion richtig ist. Da würde ich ganz gerne mal Hilfe bekommen.

Lixfel könntest du dich mal an eine solche Implementierung setzen. Ich kriege es nicht wirklich richtig hin. Oder könntest du mir ein Ansatz geben, womit ich weiter käme. Also die Idee ist ja, dass das TNT angezeigt wird. Das es Clientseitig nicht verschwindet. Das habe ich auch schon hinbekommen. Jedoch funktioniert nicht, dass die Motion richtig ist. Da würde ich ganz gerne mal Hilfe bekommen.
Autor
Besitzer

Ist nun fertig und getestet.

Ist nun fertig und getestet.
Lixfel hat 2020-11-16 14:05:45 +01:00 Änderungen angefragt
@ -0,0 +24,4 @@
import de.steamwar.bausystem.world.Welt;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import net.minecraft.server.v1_15_R1.*;
Besitzer

Nutzung von versionsspezifischen Teilen in versionsübergreifendem Codeteil

Nutzung von versionsspezifischen Teilen in versionsübergreifendem Codeteil
@ -0,0 +50,4 @@
public CommandTPSLimiter() {
}
Besitzer

Ist der überhaupt noch nötig?

Ist der überhaupt noch nötig?
Autor
Besitzer

Auch das ist nun fertig.

Auch das ist nun fertig.
Lixfel hat die Änderungen 2020-11-16 14:28:37 +01:00 genehmigt
YoyoNow hat diesen Pull-Request 2020-11-16 14:32:47 +01:00 geschlossen
YoyoNow löschte die Branch TPSLimiter 2020-11-16 14:33:02 +01:00
Dieses Repo ist archiviert. Du kannst Pull-Requests nicht kommentieren.
Keine Beschreibung angegeben.