SteamWar/BauSystem
Archiviert
13
0

TNTTracer #74

Manuell gemergt
Lixfel hat 4 Commits von TNTTracer nach master 2020-07-19 15:27:34 +02:00 zusammengeführt
7 geänderte Dateien mit 21 neuen und 7 gelöschten Zeilen

Datei anzeigen

@ -23,6 +23,8 @@ public class PlayerTraceCache_15 {
private float[] pLocation; private float[] pLocation;
private float locationThreshold = square(10.0F); private float locationThreshold = square(10.0F);
private boolean hiding = false;
public PlayerTraceCache_15() { public PlayerTraceCache_15() {
this.pLocation = new float[]{0.0F, 0.0F, 0.0F}; this.pLocation = new float[]{0.0F, 0.0F, 0.0F};
} }
@ -49,7 +51,8 @@ public class PlayerTraceCache_15 {
return false; return false;
} }
public synchronized void show(Player player, TNTShowCallback_15.ShowMode showMode) { public void show(Player player, TNTShowCallback_15.ShowMode showMode) {
if (hiding) return;
if (positions.length == 0 || positions.length % 3 != 0) return; if (positions.length == 0 || positions.length % 3 != 0) return;
for (int i = 0; i < positions.length; i += 3) { for (int i = 0; i < positions.length; i += 3) {
float x = positions[i + 0]; float x = positions[i + 0];
@ -84,6 +87,7 @@ public class PlayerTraceCache_15 {
} }
public synchronized void hide(Player player) { public synchronized void hide(Player player) {
hiding = true;
if (positions.length == 0 || positions.length % 3 != 0) return; if (positions.length == 0 || positions.length % 3 != 0) return;
for (int i = 0; i < positions.length; i += 3) { for (int i = 0; i < positions.length; i += 3) {
float x = positions[i + 0]; float x = positions[i + 0];
@ -102,6 +106,7 @@ public class PlayerTraceCache_15 {
hideBlock(player, x, y + 0.49F, z); hideBlock(player, x, y + 0.49F, z);
} }
updatePoints = new float[0]; updatePoints = new float[0];
hiding = false;
} }
private static void showCorner(Player player, float x, float y, float z, Particle particle) { private static void showCorner(Player player, float x, float y, float z, Particle particle) {

Datei anzeigen

@ -31,7 +31,7 @@ public class CommandTrace implements CommandExecutor {
player.sendMessage("§8/§etrace toggleshow §8<§7TNT-ID§8> §8- §7Zeigt/Versteckt ein TNT"); player.sendMessage("§8/§etrace toggleshow §8<§7TNT-ID§8> §8- §7Zeigt/Versteckt ein TNT");
player.sendMessage("§8/§etrace delete §8<§7TNT-ID§8> §8- §7Löscht alle TNT-Positionen"); player.sendMessage("§8/§etrace delete §8<§7TNT-ID§8> §8- §7Löscht alle TNT-Positionen");
player.sendMessage("§8/§etrace interpolate §8[§eall§8|§eyaxis§8|§enone§8] §8- §7Interpolationsoptionen"); player.sendMessage("§8/§etrace interpolate §8[§eall§8|§eyaxis§8|§enone§8] §8- §7Interpolationsoptionen");
player.sendMessage("§8/§etrace list §8<§7FRAME-ID§8>§8- §7Listet alle TNT auf"); player.sendMessage("§8/§etrace list §8<§7FRAME-ID§8> §8- §7Listet alle TNT auf");
//player.sendMessage("§8/§etrace gui §8- §7Zeigt die Trace Oberfläche an"); //player.sendMessage("§8/§etrace gui §8- §7Zeigt die Trace Oberfläche an");
player.sendMessage("§7Optionale Parameter mit §8<>§7, Benötigte Parameter mit §8[]"); player.sendMessage("§7Optionale Parameter mit §8<>§7, Benötigte Parameter mit §8[]");
} }

Datei anzeigen

@ -29,7 +29,7 @@ public class TNTTracer12 {
TNTTracer_12.remove(locations, tnt); TNTTracer_12.remove(locations, tnt);
} }
public static void start(){ public static void start() {
if(status == Status.RECORD) if(status == Status.RECORD)
return; return;
stop(); stop();
@ -39,7 +39,7 @@ public class TNTTracer12 {
task = Bukkit.getScheduler().runTaskTimer(BauSystem.getPlugin(), TNTTracer12::run, 1, 1); task = Bukkit.getScheduler().runTaskTimer(BauSystem.getPlugin(), TNTTracer12::run, 1, 1);
} }
public static int show(){ public static int show() {
if(status == Status.SHOW) if(status == Status.SHOW)
return printedLocs.size(); return printedLocs.size();
stop(); stop();
@ -48,7 +48,7 @@ public class TNTTracer12 {
return TNTTracer_12.show(locations, printedLocs); return TNTTracer_12.show(locations, printedLocs);
} }
public static void stop(){ public static void stop() {
status = Status.IDLE; status = Status.IDLE;
if(task != null) if(task != null)
task.cancel(); task.cancel();

Datei anzeigen

@ -326,6 +326,7 @@ public class TNTTracer15 {
Bukkit.getOnlinePlayers().forEach(player -> player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§7Automatischer TNT-Tracer §8- §aAufnahme gestoppt"))); Bukkit.getOnlinePlayers().forEach(player -> player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§7Automatischer TNT-Tracer §8- §aAufnahme gestoppt")));
status = Status.IDLE_AUTO; status = Status.IDLE_AUTO;
} }
ShowManager.dirty();
if (task != null) task.cancel(); if (task != null) task.cancel();
if (tntFrames.getLast().finish()) { if (tntFrames.getLast().finish()) {
tntFrames.removeLast(); tntFrames.removeLast();

Datei anzeigen

@ -1,6 +1,7 @@
package de.steamwar.bausystem.tracer.trace; package de.steamwar.bausystem.tracer.trace;
import de.steamwar.bausystem.tracer.TNTTracer15; import de.steamwar.bausystem.tracer.TNTTracer15;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.HashMap; import java.util.HashMap;
@ -15,6 +16,14 @@ public class ShowManager {
TNTTracer15.worldInit(); TNTTracer15.worldInit();
} }
public static void dirty() {
for (Player player : Bukkit.getOnlinePlayers()) {
if (showMap.get(player).getShow() != ShowStatus.Show.NONE) {
showMap.get(player).dirty = true;
}
}
}
public static void remove(Player player) { public static void remove(Player player) {
showMap.remove(player); showMap.remove(player);
} }

Datei anzeigen

@ -16,7 +16,7 @@ public class ShowStatus {
private Player p; private Player p;
private boolean dirty = false; boolean dirty = false;
public ShowStatus(Player p) { public ShowStatus(Player p) {
this.p = p; this.p = p;

Datei anzeigen

@ -50,7 +50,6 @@ public class TNTFrame {
private void delete(TNTPrimed tntPrimed, boolean delete) { private void delete(TNTPrimed tntPrimed, boolean delete) {
if (aliveTNT == null) return; if (aliveTNT == null) return;
TNTTrace tntTrace = aliveTNT.get(tntPrimed); TNTTrace tntTrace = aliveTNT.get(tntPrimed);
tntTrace.addLocation(tntPrimed.getLocation());
if (delete) { if (delete) {
aliveTNT.remove(tntPrimed); aliveTNT.remove(tntPrimed);
} }