SteamWar/BauSystem2.0
Archiviert
12
0

Commits vergleichen

..

Keine gemeinsamen Commits. "7a9a2283a9f3fbbd5f4d7f7e25ba5cd50758ba96" und "163967483fd6ccf27ad1545f03254e02a0871ee4" haben vollständig unterschiedliche Historien.

8 geänderte Dateien mit 31 neuen und 38 gelöschten Zeilen

Datei anzeigen

@ -179,13 +179,8 @@ public class TNTPoint implements Externalizable {
@Override @Override
public String toString() { public String toString() {
return "TNTPoint{" + return "TNTRecord{" +
"tntId=" + tntId + "explosion=" + explosion +
", explosion=" + explosion +
", inWater=" + inWater +
", afterFirstExplosion=" + afterFirstExplosion +
", destroyedBuildArea=" + destroyedBuildArea +
", destroyedTestBlock=" + destroyedTestBlock +
", ticksSinceStart=" + ticksSinceStart + ", ticksSinceStart=" + ticksSinceStart +
", fuse=" + fuse + ", fuse=" + fuse +
", location=" + location + ", location=" + location +

Datei anzeigen

@ -279,6 +279,8 @@ public class Trace {
records.add((TNTPoint) inputStream.readObject()); records.add((TNTPoint) inputStream.readObject());
} }
System.out.println("Loaded... " + records);
Map<Integer, List<TNTPoint>> histories = new HashMap<>(); Map<Integer, List<TNTPoint>> histories = new HashMap<>();
for (TNTPoint record : records) { for (TNTPoint record : records) {
int tntId = record.getTntId(); int tntId = record.getTntId();

Datei anzeigen

@ -68,24 +68,24 @@ public class TraceCommand extends SWCommand {
@Register(value = "show", description = "TRACE_COMMAND_HELP_SHOW") @Register(value = "show", description = "TRACE_COMMAND_HELP_SHOW")
public void show(@Validator Player player, @OptionalValue("STRICT") BundleFilter bundleFilter, ViewFlag... flags) { public void show(@Validator Player player, @OptionalValue("STRICT") BundleFilter bundleFilter, ViewFlag... flags) {
showInternal(player, bundleFilter, flags); showInternal(player, 0, Integer.MAX_VALUE, bundleFilter, flags);
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW", player); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW", player);
} }
@Register(value = {"show", "at"}, description = "TRACE_COMMAND_HELP_SHOW_AT_WITH") @Register(value = { "show", "at" }, description = "TRACE_COMMAND_HELP_SHOW_AT_WITH")
public void showAt(@Validator Player player, @Min(intValue = 0) int time, @StaticValue("with") String with, @OptionalValue("STRICT") BundleFilter bundleFilter, @ArrayLength(min = 1) ViewFlag... flags) { public void showAt(@Validator Player player, @Min(intValue = 0) int time, @StaticValue("with") String with, @OptionalValue("STRICT") BundleFilter bundleFilter, @ArrayLength(min = 1) ViewFlag... flags) {
showInternal(player, time, time, bundleFilter, flags); showInternal(player, time, time, bundleFilter, flags);
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_AT", player, time); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_AT", player, time);
} }
@Register(value = {"show", "from"}, description = "TRACE_COMMAND_HELP_SHOW_FROM_WITH") @Register(value = { "show", "from" }, description = "TRACE_COMMAND_HELP_SHOW_FROM_WITH")
public void showFromTo(@Validator Player player, @Min(intValue = 0) int from, @StaticValue("with") String with, public void showFromTo(@Validator Player player, @Min(intValue = 0) int from, @StaticValue("with") String with,
@OptionalValue("STRICT") BundleFilter bundleFilter, @ArrayLength(min = 1) ViewFlag... flags) { @OptionalValue("STRICT") BundleFilter bundleFilter, @ArrayLength(min = 1) ViewFlag... flags) {
showInternal(player, from, Integer.MAX_VALUE, bundleFilter, flags); showInternal(player, from, Integer.MAX_VALUE, bundleFilter, flags);
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM", player, from); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM", player, from);
} }
@Register(value = {"show", "from"}, description = "TRACE_COMMAND_HELP_SHOW_FROM_TO_WITH") @Register(value = { "show", "from" }, description = "TRACE_COMMAND_HELP_SHOW_FROM_TO_WITH")
public void showFromTo(@Validator Player player, @Min(intValue = 0) int from, @StaticValue("to") String toString, int to, @StaticValue("with") String with, @OptionalValue("STRICT") BundleFilter bundleFilter, @ArrayLength(min = 1) ViewFlag... flags) { public void showFromTo(@Validator Player player, @Min(intValue = 0) int from, @StaticValue("to") String toString, int to, @StaticValue("with") String with, @OptionalValue("STRICT") BundleFilter bundleFilter, @ArrayLength(min = 1) ViewFlag... flags) {
if (to < from) { if (to < from) {
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_TO_SMALLER", player); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_TO_SMALLER", player);
@ -95,36 +95,30 @@ public class TraceCommand extends SWCommand {
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM_TO", player, from, to); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM_TO", player, from, to);
} }
private void showInternal(Player player, int from, int to, BundleFilter bundleFilter, ViewFlag... flags) {
PlayerTraceShowData playerTraceShowData = new PlayerTraceShowData(bundleFilter, flags);
playerTraceShowData.addViewFlag(new AtFlag(from, to));
TraceManager.instance.show(player, playerTraceShowData);
}
@Register(value = {"show", "at"}, description = "TRACE_COMMAND_HELP_SHOW_AT") @Register(value = { "show", "at" }, description = "TRACE_COMMAND_HELP_SHOW_AT")
public void showAt(@Validator Player player, @Min(intValue = 0) int time) { public void showAt(@Validator Player player, @Min(intValue = 0) int time) {
TraceManager.instance.renderAt(player, time, time); TraceManager.instance.renderAt(player, time, time);
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_AT", player, time); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_AT", player, time);
} }
@Register(value = {"show", "from"}, description = "TRACE_COMMAND_HELP_SHOW_FROM") @Register(value = { "show", "from" }, description = "TRACE_COMMAND_HELP_SHOW_FROM")
public void showFrom(@Validator Player player, @Min(intValue = 0) int from) { public void showFrom(@Validator Player player, @Min(intValue = 0) int from) {
TraceManager.instance.renderAt(player, from, Integer.MAX_VALUE); TraceManager.instance.renderAt(player, from, Integer.MAX_VALUE);
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM", player, from); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM", player, from);
} }
@Register(value = {"show", "from"}, description = "TRACE_COMMAND_HELP_SHOW_FROM_TO") @Register(value = { "show", "from" }, description = "TRACE_COMMAND_HELP_SHOW_FROM_TO")
public void showFromTo(@Validator Player player, @Min(intValue = 0) int from, @StaticValue("to") String toString, int to) { public void showFromTo(@Validator Player player, @Min(intValue = 0) int from, @StaticValue("to") String toString, int to) {
TraceManager.instance.renderAt(player, from, to); TraceManager.instance.renderAt(player, from, to);
BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM_TO", player, from, to); BauSystem.MESSAGE.send("TRACE_MESSAGE_SHOW_FROM_TO", player, from, to);
} }
private void showInternal(Player player, BundleFilter bundleFilter, ViewFlag... flags) {
PlayerTraceShowData playerTraceShowData = new PlayerTraceShowData(bundleFilter, flags);
TraceManager.instance.show(player, playerTraceShowData);
}
private void showInternal(Player player, int from, int to, BundleFilter bundleFilter, ViewFlag... flags) {
PlayerTraceShowData playerTraceShowData = new PlayerTraceShowData(bundleFilter, flags);
playerTraceShowData.addViewFlag(new AtFlag(from, to));
TraceManager.instance.show(player, playerTraceShowData);
}
@Register(value = "hide", description = "TRACE_COMMAND_HELP_HIDE") @Register(value = "hide", description = "TRACE_COMMAND_HELP_HIDE")
public void hide(@Validator Player player) { public void hide(@Validator Player player) {
TraceManager.instance.hide(player); TraceManager.instance.hide(player);

Datei anzeigen

@ -202,7 +202,8 @@ public class TraceManager implements Listener {
unfollow(player); unfollow(player);
Region region = Region.getRegion(player.getLocation()); Region region = Region.getRegion(player.getLocation());
PlayerTraceShowData previous = showDataPerRegionPerPlayer.getOrDefault(region, Collections.emptyMap()).remove(player); PlayerTraceShowData previous = showDataPerRegionPerPlayer.getOrDefault(region, Collections.emptyMap())
.remove(player);
if (previous == null) return; if (previous == null) return;
tracesByRegion.getOrDefault(player, Collections.emptyMap()).forEach((integer, trace) -> { tracesByRegion.getOrDefault(player, Collections.emptyMap()).forEach((integer, trace) -> {
trace.hide(player); trace.hide(player);
@ -220,7 +221,9 @@ public class TraceManager implements Listener {
showDataPerRegionPerPlayer.forEach((region, playerPlayerTraceShowDataMap) -> { showDataPerRegionPerPlayer.forEach((region, playerPlayerTraceShowDataMap) -> {
if (playerPlayerTraceShowDataMap.containsKey(follower)) { if (playerPlayerTraceShowDataMap.containsKey(follower)) {
tracesByRegion.getOrDefault(region, Collections.emptyMap()).forEach((integer, trace) -> trace.hide(follower)); tracesByRegion.getOrDefault(region, Collections.emptyMap()).forEach((integer, trace) -> {
trace.hide(follower);
});
} }
PlayerTraceShowData playerTraceShowData = playerPlayerTraceShowDataMap.get(following); PlayerTraceShowData playerTraceShowData = playerPlayerTraceShowDataMap.get(following);

Datei anzeigen

@ -168,7 +168,8 @@ public class TraceRecorder implements Listener {
} }
boolean afterFirstExplosion = wrappedTrace.isExplosionRecorded(); boolean afterFirstExplosion = wrappedTrace.isExplosionRecorded();
TNTPoint record = new TNTPoint(tntID, tntPrimed, isExplosion, afterFirstExplosion, TPSUtils.currentTick.get() - wrappedTrace.getStartTick(), history, destroyedBlocks); TNTPoint record = new TNTPoint(tntID, tntPrimed, isExplosion, afterFirstExplosion,
TPSUtils.currentTick.get() - wrappedTrace.getStartTick(), history, destroyedBlocks);
history.add(record); history.add(record);
return record; return record;
@ -198,7 +199,8 @@ public class TraceRecorder implements Listener {
trackedTNT.get(region).add((TNTPrimed) event.getEntity()); trackedTNT.get(region).add((TNTPrimed) event.getEntity());
tntSpawnRegion.put((TNTPrimed) event.getEntity(), region); tntSpawnRegion.put((TNTPrimed) event.getEntity(), region);
activeTraces.get(region).addRecord(record((TNTPrimed) event.getEntity(), activeTraces.get(region), Collections.emptyList())); activeTraces.get(region).addRecord(
record((TNTPrimed) event.getEntity(), activeTraces.get(region), Collections.emptyList()));
} }
} }
@ -217,6 +219,7 @@ public class TraceRecorder implements Listener {
trackedTNT.get(region).remove((TNTPrimed) event.getEntity()); trackedTNT.get(region).remove((TNTPrimed) event.getEntity());
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()));
} }
} }

Datei anzeigen

@ -38,7 +38,7 @@ public class TraceRecordingWrapper {
private final long startTick; private final long startTick;
private final List<TNTPoint> recordsToAdd; private final List<TNTPoint> recordsToAdd;
private final List<TNTPoint> recordList; private final List<TNTPoint> recordList;
private final ObjectOutputStream recordsOutputStream; private ObjectOutputStream recordsOutputStream;
private int nextOpenRecordId = 0; private int nextOpenRecordId = 0;
@Getter @Getter
private boolean explosionRecorded = false; private boolean explosionRecorded = false;

Datei anzeigen

@ -30,7 +30,7 @@ public class PlayerTraceShowData {
@Setter @Setter
private BundleFilter bundleFilter; private BundleFilter bundleFilter;
private final Map<Class<? extends ViewFlag>, ViewFlag> viewFlags = new HashMap<>(); private Map<Class<? extends ViewFlag>, ViewFlag> viewFlags = new HashMap<>();
public PlayerTraceShowData(BundleFilter bundleFilter, ViewFlag... viewFlags) { public PlayerTraceShowData(BundleFilter bundleFilter, ViewFlag... viewFlags) {
this.bundleFilter = bundleFilter; this.bundleFilter = bundleFilter;
@ -49,8 +49,6 @@ public class PlayerTraceShowData {
} }
} }
System.out.println(flagList);
// Manage inverse flags // Manage inverse flags
ViewFlag.inverseFlags.forEach(viewFlag -> { ViewFlag.inverseFlags.forEach(viewFlag -> {
if (!flagList.remove(viewFlag)) { if (!flagList.remove(viewFlag)) {
@ -58,8 +56,6 @@ public class PlayerTraceShowData {
} }
}); });
System.out.println(flagList);
return flagList; return flagList;
} }

Datei anzeigen

@ -56,7 +56,7 @@ public abstract class ViewFlag {
@Override @Override
public List<TNTPoint> filter(List<TNTPoint> records) { public List<TNTPoint> filter(List<TNTPoint> records) {
return records.stream() return records.stream()
.filter(record -> record.isAfterFirstExplosion()) .filter(record -> !record.isAfterFirstExplosion())
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
}; };