From 38bb687c5b26c37cce76c348f50e5ba119f3c4b7 Mon Sep 17 00:00:00 2001 From: D4rkr34lm Date: Thu, 4 Jul 2024 15:33:40 +0200 Subject: [PATCH 1/7] fix(tracer): Fixed wrong velocity taken in advanced flag --- .../steamwar/bausystem/features/tracer/rendering/ViewFlag.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java index 8702a607..f86c99d8 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java @@ -123,6 +123,7 @@ public abstract class ViewFlag { if (prev.isEmpty()) continue; TNTPoint previous = prev.get(); + Vector previousVelocity = previous.getVelocity(); Location delta = representative.getLocation().clone().subtract(previous.getLocation()); @@ -133,7 +134,7 @@ public abstract class ViewFlag { } Location secoundLocation; - if (delta.getX() >= delta.getZ()) { + if (previousVelocity.getX() >= previousVelocity.getZ()) { secoundLocation = previous.getLocation().clone().add(delta.getX(), delta.getY(), 0); } else { secoundLocation = previous.getLocation().clone().add(0, delta.getY(), delta.getZ()); From e253e1299473f7c272b122cdfd8b267bc71e93b2 Mon Sep 17 00:00:00 2001 From: D4rkr34lm Date: Thu, 4 Jul 2024 17:15:19 +0200 Subject: [PATCH 2/7] use fixed ci --- .../steamwar/bausystem/features/tracer/rendering/ViewFlag.java | 1 - 1 file changed, 1 deletion(-) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java index f86c99d8..088aee4e 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java @@ -119,7 +119,6 @@ public abstract class ViewFlag { for (TraceEntity entity : entities) { TNTPoint representative = entity.getRecords().get(0); Optional prev = representative.getPrevious(); - if (prev.isEmpty()) continue; TNTPoint previous = prev.get(); From a62c08b097b8b4f828266830efb573fa25afd7ca Mon Sep 17 00:00:00 2001 From: D4rkr34lm Date: Sat, 6 Jul 2024 12:54:09 +0200 Subject: [PATCH 3/7] fix(tracer): Fixed first point of advanced flag incorrect calc order --- .../bausystem/features/tracer/rendering/ViewFlag.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java index 088aee4e..9aa83f13 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java @@ -34,6 +34,9 @@ import java.util.stream.Stream; * A settable flag that changes how a trace is rendered */ public abstract class ViewFlag { + public static final Vector GRAVATY = new Vector(0.0, -0.04, 0.0); + public static final Vector DRAG_FACTOR = new Vector(0.98, 0.98, 0.98); + /** * Static registry of static flags */ @@ -122,9 +125,8 @@ public abstract class ViewFlag { if (prev.isEmpty()) continue; TNTPoint previous = prev.get(); - Vector previousVelocity = previous.getVelocity(); - Location delta = representative.getLocation().clone().subtract(previous.getLocation()); + Vector previousVelocity = previous.isAfterFirstExplosion() ? previous.getVelocity() : delta.toVector().clone().divide(DRAG_FACTOR).subtract(GRAVATY); Location yLocation = previous.getLocation().clone().add(0, delta.getY(), 0); if (yLocation.distanceSquared(representative.getLocation()) >= 1.0 / 256.0 && yLocation.distanceSquared(previous.getLocation()) >= 1.0 / 256.0) { From 515360977625de0dbf87008f142b5229b3819a9b Mon Sep 17 00:00:00 2001 From: D4rkr34lm Date: Tue, 16 Jul 2024 21:56:08 +0200 Subject: [PATCH 4/7] Added debug message for trace history map nullpointer and potential fix --- .../bausystem/features/tracer/TraceRecorder.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java index 0fba6df0..af796850 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java @@ -23,6 +23,7 @@ import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.features.tpslimit.TPSUtils; import de.steamwar.bausystem.region.Region; import de.steamwar.linkage.Linked; +import org.bukkit.Bukkit; import org.bukkit.block.Block; import org.bukkit.entity.TNTPrimed; import org.bukkit.event.EventHandler; @@ -32,6 +33,8 @@ import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntitySpawnEvent; import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; @Linked public class TraceRecorder implements Listener { @@ -158,14 +161,23 @@ public class TraceRecorder implements Listener { List history = historyMap.getOrDefault(tntPrimed, new ArrayList<>()); // Failsave for tnt entering unloaded chunks - if (tntPrimed.isDead() || history.size() > 0 && history.get(history.size() - 1).getFuse() == tntPrimed.getFuseTicks()) { + if (tntPrimed == null || tntPrimed.isDead() || history.size() > 0 && history.get(history.size() - 1).getFuse() == tntPrimed.getFuseTicks()) { return null; } int tntID; if (history.size() == 0) { - historyMap.put(tntPrimed, history); + try { + historyMap.put(tntPrimed, history); + } + catch (NullPointerException e) { + Logger logger = Bukkit.getLogger(); + logger.log(Level.WARNING, "Nullpointer thrown by historyMap"); + logger.log(Level.WARNING, "TNT History: " + history); + logger.log(Level.WARNING, "History Map" + history); + throw e; + } tntID = wrappedTrace.getNextOpenRecordIdAndIncrement(); } else { tntID = history.get(0).getTntId(); From 7fc76e5e2a21016df69a1252455bca4b86f4cb5f Mon Sep 17 00:00:00 2001 From: D4rkr34lm Date: Tue, 16 Jul 2024 22:19:11 +0200 Subject: [PATCH 5/7] fixed wrong map in debug message --- .../de/steamwar/bausystem/features/tracer/TraceRecorder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java index af796850..78fb60ed 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java @@ -175,7 +175,7 @@ public class TraceRecorder implements Listener { Logger logger = Bukkit.getLogger(); logger.log(Level.WARNING, "Nullpointer thrown by historyMap"); logger.log(Level.WARNING, "TNT History: " + history); - logger.log(Level.WARNING, "History Map" + history); + logger.log(Level.WARNING, "History Map: " + historyMap); throw e; } tntID = wrappedTrace.getNextOpenRecordIdAndIncrement(); From 2b0b2a08d7dfbfb54f3215a26a8316d1d93d57db Mon Sep 17 00:00:00 2001 From: D4rkr34lm Date: Tue, 16 Jul 2024 22:31:09 +0200 Subject: [PATCH 6/7] Added todo for debug removal --- .../src/de/steamwar/bausystem/features/tracer/TraceRecorder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java index 78fb60ed..fd0274fc 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceRecorder.java @@ -173,6 +173,7 @@ public class TraceRecorder implements Listener { } catch (NullPointerException e) { Logger logger = Bukkit.getLogger(); + //TODO remove when no longer neccecary logger.log(Level.WARNING, "Nullpointer thrown by historyMap"); logger.log(Level.WARNING, "TNT History: " + history); logger.log(Level.WARNING, "History Map: " + historyMap); From 75e6b28e0e4c35251424d974aae393438df984ee Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Wed, 17 Jul 2024 07:45:51 +0200 Subject: [PATCH 7/7] Trigger Rebuild --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 5b8a3f12..57d533f8 100644 --- a/build.gradle +++ b/build.gradle @@ -16,6 +16,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ + plugins { // Adding the base plugin fixes the following gradle warnings in IntelliJ: //