tracer/simulator-autotrace-fix #245
@ -113,9 +113,8 @@ public class TraceRecorder implements Listener {
|
|||||||
public void stopRecording(Region region) {
|
public void stopRecording(Region region) {
|
||||||
TraceRecordingWrapper wrappedTrace = activeTraces.getOrDefault(region, null);
|
TraceRecordingWrapper wrappedTrace = activeTraces.getOrDefault(region, null);
|
||||||
if (wrappedTrace == null) return;
|
if (wrappedTrace == null) return;
|
||||||
|
|
||||||
wrappedTrace.finalizeRecording();
|
wrappedTrace.finalizeRecording();
|
||||||
|
|
||||||
activeTraces.remove(region);
|
activeTraces.remove(region);
|
||||||
for (TNTPrimed tnt : trackedTNT.getOrDefault(region, Collections.emptyList())) {
|
for (TNTPrimed tnt : trackedTNT.getOrDefault(region, Collections.emptyList())) {
|
||||||
historyMap.remove(tnt);
|
historyMap.remove(tnt);
|
||||||
@ -132,6 +131,7 @@ public class TraceRecorder implements Listener {
|
|||||||
Iterator<TNTPrimed> iter = trackedTNT.getOrDefault(region, Collections.emptyList()).iterator();
|
Iterator<TNTPrimed> iter = trackedTNT.getOrDefault(region, Collections.emptyList()).iterator();
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
TNTPrimed tnt = iter.next();
|
TNTPrimed tnt = iter.next();
|
||||||
|
if (tnt.getFuseTicks() == 80) continue;
|
||||||
TNTPoint record = record(tnt, wrappedTrace, Collections.emptyList());
|
TNTPoint record = record(tnt, wrappedTrace, Collections.emptyList());
|
||||||
if (record == null) {
|
if (record == null) {
|
||||||
iter.remove();
|
iter.remove();
|
||||||
@ -156,6 +156,7 @@ public class TraceRecorder implements Listener {
|
|||||||
*/
|
*/
|
||||||
private TNTPoint record(TNTPrimed tntPrimed, TraceRecordingWrapper wrappedTrace, List<Block> destroyedBlocks) {
|
private TNTPoint record(TNTPrimed tntPrimed, TraceRecordingWrapper wrappedTrace, List<Block> destroyedBlocks) {
|
||||||
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 (tntPrimed.isDead() || history.size() > 0 && history.get(history.size() - 1).getFuse() == tntPrimed.getFuseTicks()) {
|
if (tntPrimed.isDead() || history.size() > 0 && history.get(history.size() - 1).getFuse() == tntPrimed.getFuseTicks()) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
name: BauSystem
|
name: BauSystem
|
||||||
authors: [Lixfel, YoyoNow, Chaoscaot, Zeanon]
|
authors: [ Lixfel, YoyoNow, Chaoscaot, Zeanon, D4rkr34lm ]
|
||||||
version: "2.0"
|
version: "2.0"
|
||||||
depend: [WorldEdit, SpigotCore]
|
depend: [ WorldEdit, SpigotCore ]
|
||||||
load: POSTWORLD
|
load: POSTWORLD
|
||||||
main: de.steamwar.bausystem.BauSystem
|
main: de.steamwar.bausystem.BauSystem
|
||||||
api-version: "1.13"
|
api-version: "1.13"
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren