Commits vergleichen
Keine gemeinsamen Commits. "7502270b96e59ffc5b0739bc45267b39b2d7c404" und "add259788dd00be488307fdf18d30a79107b9170" haben vollständig unterschiedliche Historien.
7502270b96
...
add259788d
@ -149,13 +149,8 @@ public class TraceRecorder implements Listener {
|
||||
private TNTPoint record(TNTPrimed tntPrimed, TraceRecordingWrapper wrappedTrace, List<Block> destroyedBlocks) {
|
||||
List<TNTPoint> 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() &&) {
|
||||
Region region = tntSpawnRegion.get(tntPrimed);
|
||||
if (region == null) return null;
|
||||
trackedTNT.get(region).remove(tntPrimed);
|
||||
tntSpawnRegion.remove(tntPrimed);
|
||||
historyMap.remove(tntPrimed);
|
||||
tntSpawnRegion.remove(tntPrimed);
|
||||
if (history.size() > 0 && history.get(history.size() - 1).getFuse() == tntPrimed.getFuseTicks()) {
|
||||
removeFromRecording(tntPrimed);
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -254,6 +249,20 @@ public class TraceRecorder implements Listener {
|
||||
tntSpawnRegion.remove((TNTPrimed) event.getEntity());
|
||||
|
||||
activeTraces.get(region).addRecord(record((TNTPrimed) event.getEntity(), activeTraces.get(region), event.blockList()));
|
||||
tntSpawnRegion.remove((TNTPrimed) event.getEntity());
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode to be used if a tnt should be removed for internal or technical reasons
|
||||
*
|
||||
* @param tnt tnt to remove
|
||||
* @return whether the tnt was tracked beforehand or not
|
||||
*/
|
||||
public boolean removeFromRecording(TNTPrimed tnt) {
|
||||
Region region = tntSpawnRegion.getOrDefault(tnt, null);
|
||||
if (region == null) return false;
|
||||
trackedTNT.get(region).remove(tnt);
|
||||
tntSpawnRegion.remove(tnt);
|
||||
historyMap.remove(tnt);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren