Commit Graph

1888 Commits

Author SHA1 Message Date
asofold
d77c63a228 SF: Optimization and fixes with bunny and permchecks.
* Currently bunny applies very often on sprinting, thus it can be pre-
  checked before permchecks, and if necessary re-checked after 
  permchecks.
* Remove heuristic permchecks, since the above should do better.
* Fix bunny not trigger for assumeonground && jumpphase == 0.

Further we will try to get rid of the horizontal buffer as we know it,
 confining it to special cases. However we have to extend bunny hop to
 apply without sprinting as well. Might need a more general concept
 for ground-move-modifiers and friction to achieve it.
2013-07-23 12:10:20 +02:00
asofold
9e920b89cb SF: Set initial hbuf to 0. Need new concept/discussion.
Setting to something on creation of data is ineffective, because it gets
set to 0 on passable violations.

Keeping the buffer means other abuse potential.

Probably better postpone until re-design/removal of the buffer concept.
2013-07-23 10:31:46 +02:00
asofold
a872cc8a86 "lost sprint": Remove checking vs horizontal buffer.
Might consider for future:
The problems of the type lost-sprint, bunny seem to be client mechanics.
The ground-modifiers apply and stay valid during jump, thus turning off 
sprint for attacking makes sense.

So i revert the statement about "could be worth a ticket" for the
moment. However with looking forward to have a Minecraft API, it could 
could be appropriate to provide something to allow server-side checking,
yet again finding the right ground modifier needs knowledge of the 
exact moves the client did, so client side could change to send all the 
transition events as suggested before.
2013-07-23 10:17:58 +02:00
asofold
b2694d93fa [BLEEDING] SF(bunny/after failure checks): Alter order and conditions.
Horizontal speed after-failure checks:
* More conditions to confine use more (on-ground, web/fluid/etc.).
* Increase bunny counter during bunny-fly until touching the ground.
* Check bunny fly first and ignore sprinting for that one.
* Attempt to fix "double bunny", i.e. small blocks on blocks.
* Redo part of checking order, do permission checks first, otherwise 
	there might happen unwanted invalidation of velocity.
* Force permission check with the first getting of hDistance on 
	certain conditions, to prevent certain redundant call.
2013-07-23 00:19:19 +02:00
asofold
fdca61ca90 Only allow "lost sprint", if MediumLiftOff is not LIMIT_JUMP.
No reward for attacking entities jumping in/out of water/web/etc.
2013-07-22 23:16:59 +02:00
asofold
d31fe6b53e SF: Minor cleanup on horizontal buffer.
* Remove code duplication by checking buffer regain after all other.
	The usual case is that regain is checked anyway.
* Don't use buffer for bunnyfly. Makes tags more unique.
2013-07-22 19:05:43 +02:00
asofold
ec956a9be0 SF: Fix horizontal buffer allowing negative values + adjust tags.
* Horizontal buffer is not modeled such that it can't become negative.
* hvel tag added for using horizontal velocity.
* hspeed tag is only added on hspeed violations.
2013-07-22 16:47:11 +02:00
asofold
0bb978dbf1 Longer delay times for the default low vl log messages for SurvivalFly. 2013-07-21 14:04:34 +02:00
asofold
3255bf97d7 More conditions for waterwalk.
Prevent triggering if walking into water on a half step, by excluding
any on-ground moves.
2013-07-21 00:02:12 +02:00
asofold
baccd41931 [BLEEDING] bunny hop bunny fly.
Altered model for bunny-hop problem. We reduce the sprinting-modificator
 by a lot, and add extra buffer during the now introduced "bunny fly" 
 phase. Conditions have been refined.
 
 Certainly needs more testing, also regarding effects.
2013-07-20 22:11:21 +02:00
asofold
7569d126aa More moving/SF cleanup.
* [ONGOING/MERGED] Add sfLastHDist.
* Add MovingData.prepareSetBack, call for hover and moving violations.
* Move vertical velocity handling into Movingdata.velocityTick.
2013-07-20 20:09:12 +02:00
asofold
1d9e4d114e SF: Further confine conditions for "bunny" to apply. 2013-07-20 15:43:44 +02:00
asofold
2f647980c1 SF: Keep naming as lostGround. 2013-07-20 14:24:06 +02:00
asofold
2856919409 Re-model extra horizontal buffer to a counter for "lost sprint".
The problems with attacking + sprint/bunny seems to be that the player 
moves on as if sprinting, thus we reformulate it as the "lost sprint"
problem. The sprintback check is skipped during lostsprint phases.

This should be worth a ticket for Mojang/CB, sprint + jump + attack 
somewhere around touch down time (+-) - server side sprinting turns off,
but the player moves on as if sprinting.
2013-07-19 22:57:10 +02:00
asofold
471579d595 Move sprintback check back to where it was (not allowing vel/buf use).
Since the sprinting time has been fixed, it should not be necessary to 
consume buffers/velocity, because it will not trigger at all.
(Context: throwing ender pearls at entities.)
2013-07-19 18:23:22 +02:00
asofold
c2fb27b842 More cleanup (mostly survivalfly).
Checking order, grouping, comments...
2013-07-19 18:07:58 +02:00
asofold
a7344eb462 [BLEEDING] SF: Sharpen vertical accounting (vacc). Read details!
Potential false positives are survivalfly violations with vacc[...].
 * Touch down near ground (lost-ground miss).
 * Slow falling after login/teleports.
2013-07-18 14:46:45 +02:00
asofold
65ee38bf9a More cleanup for SurvivalFly.
* Further split off rather seldom triggering code parts into methods.
* Accounting does not manipulate the accumulator anymore.
* Remove some unused parameters form signature(s).
* Method renaming.
* Comment cleanups.

(Expect more with time...)
2013-07-18 13:54:44 +02:00
asofold
fb30a84f5e No reason for private here. 2013-07-18 01:44:06 +02:00
asofold
3826807c56 Commented that out during testing. 2013-07-18 01:42:29 +02:00
asofold
13cb783c72 Add an annotation for registration order with INotifyReload.
SetupOrder allows to define a priority, so you can register
 ActionFactoryFactory instances before any checks get them.
 
 Default priorities are NCP core at -100, DataManager -80, rest at 0.
2013-07-18 01:42:07 +02:00
asofold
2913baa6c7 [Bleeding] Change to lazy ActionFactory setting.
Allows to set a new ActionFactoryFactory without the ConfigManager.init 
already trying to parse actions, thus implementing special actions 
should be easier. Still three calls might be necessary to be on the 
safe side:
1. ConfigManager.setActionFactoryFactory(new factory)
2. ConfigManaher.setAllActionFactories()
3. DataManager.clearConfigs()

Not entirely convinced if concurrency issues might arise with reload or 
even on startup (chat).
2013-07-18 01:19:47 +02:00
asofold
b49df04120 Comments.
Hint at per-velocity friction factor. Could be used to add short term 
velocity that does not decrease. However it can't replace extra-buffer
due to special invalidation conditions.
2013-07-17 23:22:38 +02:00
asofold
13add02392 Handle the resetting of the jump-amplifier in MovingListener. 2013-07-17 22:18:15 +02:00
asofold
12bd184517 More cleanup for survivalfly.
Move the after-failure permission-, velocity- and 
extra-buffer-checks into an extra method.

Move special checks like web/liquid to extra methods.

Alter checking order slightly.

Other cleanups (comments, declaration order, grouping).

Shuffle methods.

Finished? No.
2013-07-17 20:10:42 +02:00
asofold
f82a0c084a Reset sprinting if the player is not set sprinting.
Only give the sprintinggrace time concerning the food level.
Should fix more sprintback issues, potentially.
2013-07-17 17:33:27 +02:00
asofold
63b2cd3156 Change default for BUILD_SERIES to '?'. 2013-07-17 12:18:54 +02:00
asofold
f46618c619 Prefix series with s in order to not ever confuse with SNAPSHOT/RC. 2013-07-17 12:17:33 +02:00
asofold
793291b71b Build parameters: Add BUILD_SERIES. Add default values.
BUILD_SERIES = UNKNOWN
BUILD_NUMBER = ?
2013-07-17 11:35:45 +02:00
asofold
71ffa298f5 Ineffective workaround. 2013-07-17 01:06:13 +02:00
asofold
9accfc3831 Allow using up horizontal velocity for sprintback. 2013-07-17 00:58:47 +02:00
asofold
6e2844745c Confine "sprintback" alerts to speeds greater than walking.
This reduces false positives with throwing enderpearls at nearby
entities or for horizontal velocity.

Missing: Use up horizontal velocity if sprintback is triggered and
queued velocity is present.
2013-07-17 00:29:56 +02:00
asofold
e97a9297aa Attempt to work around another ender-pearl + survivalfly issue.
Jump (+run) and throw an ender pearl at a nearby entity. 
Survivalfly might trigger with limitjump, since the MediumLiftOff gets 
reset on teleporting (would appreciate MC adding sequence numbers to 
moving packets :p).
2013-07-17 00:23:05 +02:00
asofold
adf9bcb9be Adjust a compatibility method for speed and probably compatibility. 2013-07-16 19:56:06 +02:00
asofold
27a063abe8 Minor cleanups. 2013-07-16 19:37:40 +02:00
asofold
2b4a1f20d3 More to vehicle internals.
Set-back handling:
* Make the VehicleSetBack a class in the moving package.
* For set-backs use the debug flag from the time of checking.

Debugging:
* Alter debug output for moves slightly (differing locations).
* Add debug output for vehicle moves with players involved.

Note on 1.6:
* Not even PlayerMove is fired for pigs and horses, so no tracking.
2013-07-16 19:28:47 +02:00
asofold
f556422cd7 Add info about returned object for BridgeHealth recovery failure. 2013-07-16 15:26:07 +02:00
asofold
c7b85f9faa Flying permissions: survivalfly is now child of creativefly. 2013-07-16 00:24:20 +02:00
asofold
172b103521 [BLIND] CreativeFly: Account for walk- and fly-speed. 2013-07-16 00:05:50 +02:00
asofold
80f58d94ce Also check for player.isFlying. 2013-07-15 23:59:51 +02:00
asofold
240bff5b62 [BLEEDING] SurvivalFly: Account for per-player walk-speed. 2013-07-15 23:50:42 +02:00
asofold
e35f1f7c9c Switch do mods instead of speeds for sf. 2013-07-15 23:24:51 +02:00
asofold
c382082c40 Add "sprinting" to moving output. 2013-07-15 22:33:22 +02:00
asofold
f17378b3e0 More cleanup for health API changes. 2013-07-15 12:31:37 +02:00
asofold
489c60f07f Bad last minute ordering. 2013-07-15 02:21:20 +02:00
asofold
268c51b729 Refine conditions for passable.
* Do not check if moving inside of a block that is ignored by passable.
* ray-tracing: Always check vclip up AND down.
2013-07-15 02:15:20 +02:00
asofold
75e21797e1 Minor cleanup. 2013-07-15 01:49:19 +02:00
asofold
4e9e0bd7c1 Fix CreativeFly ignoring possible passable set-backs. 2013-07-15 01:21:45 +02:00
asofold
83187fa549 Bind BridgeHealth API incompatibility warnings to logging.debug. 2013-07-15 00:24:46 +02:00
asofold
cf1c89d646 [BLEEDING] Change message sending queue from per-player to global.
Adds an API to queue messages (thread safe).
2013-07-14 22:04:42 +02:00