Merge pull request 'TNTTracer' (#74) from TNTTracer into master
Reviewed-by: Lixfel <lixfel@steamwar.de>
Dieser Commit ist enthalten in:
Commit
32fbe9ddf3
@ -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) {
|
||||||
|
@ -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();
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren