Debug log the timing window for the BlockChangeTracker, Adjust comments.

Currently the oldest available entries are used, as if the player had
the maximum allowed latency always. Later on, at least attempting to hit
a global latency estimate (+window) should be attempted.

We'll still have a (moderate) fast-forward implementation to see what
opportunistic checking can do on live servers (elevators, doors etc.).
This commit is contained in:
asofold 2016-11-29 13:20:38 +01:00
parent 00b4dc5545
commit 65777e0e32
2 changed files with 9 additions and 3 deletions

View File

@ -797,6 +797,9 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
* those).
*/
if (cc.trackBlockMove && data.blockChangeRef.firstSpanEntry != null) {
if (data.debug) {
debug(player, "BlockChangeReference: " + data.blockChangeRef.firstSpanEntry.tick + " .. " + data.blockChangeRef.lastSpanEntry.tick + " / " + tick);
}
data.blockChangeRef.updateFinal(pTo);
}

View File

@ -3835,7 +3835,11 @@ public class BlockProperties {
}
/**
* Check on-ground in a very opportunistic way, in terms of fcfs+no-consistency+no-actual-side-condition-checks.
* Check on-ground in a very opportunistic way, in terms of
* fcfs+no-consistency+no-actual-side-condition-checks.
* <hr>
* Assume this gets called after the ordinary isOnGround has returned false.
*
* @param loc
* @param yShift
* @param blockChangetracker
@ -3845,8 +3849,7 @@ public class BlockProperties {
public static final boolean isOnGroundInAnOverlyOpportunisticWay(final PlayerLocation loc, final double yShift,
final BlockChangeTracker blockChangetracker, final BlockChangeReference blockChangeRef) {
// TODO: Implement in an overly opportunistic way.
// TODO: collidesBlock( BlockCacheNode(s) , isPassableWorkaround(...)
// TODO: Optimized queries (and query on with later states) for node + nodeAbove.
return false;
}