Inlined failsave
Dieser Commit ist enthalten in:
Ursprung
add259788d
Commit
0c91261d55
@ -150,7 +150,12 @@ public class TraceRecorder implements Listener {
|
|||||||
List<TNTPoint> history = historyMap.getOrDefault(tntPrimed, new ArrayList<>());
|
List<TNTPoint> history = historyMap.getOrDefault(tntPrimed, new ArrayList<>());
|
||||||
// Failsave for tnt entering unloaded chunks
|
// Failsave for tnt entering unloaded chunks
|
||||||
if (history.size() > 0 && history.get(history.size() - 1).getFuse() == tntPrimed.getFuseTicks()) {
|
if (history.size() > 0 && history.get(history.size() - 1).getFuse() == tntPrimed.getFuseTicks()) {
|
||||||
removeFromRecording(tntPrimed);
|
Region region = tntSpawnRegion.get(tntPrimed);
|
||||||
|
if (region == null) return null;
|
||||||
|
trackedTNT.get(region).remove(tntPrimed);
|
||||||
|
tntSpawnRegion.remove(tntPrimed);
|
||||||
|
historyMap.remove(tntPrimed);
|
||||||
|
tntSpawnRegion.remove(tntPrimed);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -249,20 +254,6 @@ public class TraceRecorder implements Listener {
|
|||||||
tntSpawnRegion.remove((TNTPrimed) event.getEntity());
|
tntSpawnRegion.remove((TNTPrimed) event.getEntity());
|
||||||
|
|
||||||
activeTraces.get(region).addRecord(record((TNTPrimed) event.getEntity(), activeTraces.get(region), event.blockList()));
|
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