Commit Graph

2679 Commits

Author SHA1 Message Date
asofold
65f5f96d04 Test. 2016-03-13 23:44:21 +01:00
asofold
847e76ad48 Newline. 2016-03-13 23:43:24 +01:00
asofold
1e65556b00 Put the table last. 2016-03-13 23:42:38 +01:00
asofold
a8a1f1b53a Add profiles for spigot1_8_r3 and spigot1_9_r1. 2016-03-13 23:35:09 +01:00
asofold
1be694d869 Add a cbdev profile for building. 2016-03-13 23:23:04 +01:00
asofold
0be4373310 Allow step up. 2016-03-12 22:52:39 +01:00
asofold
c5bda06745 Prioritize flying over elytra. 2016-03-12 22:52:17 +01:00
asofold
ca71865589 Attempt to catch https://github.com/NoCheatPlus/Issues/issues/94.
Couldn't reproduce, set more lenient margin on a workaround.
2016-03-12 16:52:53 +01:00
asofold
8c1b21a96c Move code between classes of magic. More on splash moves.
Move/split:
* Generic/general/multipurpose stays in ...moving.magic.Magic.
* vDistAir -> MagicAir.
* vDistLiquid -> MagicLiquid.

Workarounds:
* Splash moves up/down (higher speeds).
* Other adjustments (in-water near-zero inversion thing).
2016-03-12 16:42:11 +01:00
asofold
8b6d1324a3 More splash moves. 2016-03-11 01:36:47 +01:00
asofold
783b89649f Delegate some rare checking to methods. 2016-03-10 23:08:54 +01:00
asofold
b0caec08d2 Ensure a set-back is set in the MovingListener with one method.
Unifies treatment of cf+sf after data reset or certain issues after
join/respawn.
2016-03-10 22:31:01 +01:00
asofold
7dcbe3df6b [BREAKING] Create a common interface for per-player debug messages.
Breaking, because it alters Check, CheckListener and BaseAdapter. Not
really meant/possible to be used by external plugins, though.
2016-03-10 22:24:31 +01:00
asofold
8d43b0abc5 Keep track of ModelFlying in MoveData. 2016-03-10 20:00:23 +01:00
asofold
ca8cbdaf05 Allow ProtocolLib 3.7.0 as well. Move method code to GenericVersion. 2016-03-10 19:39:38 +01:00
asofold
cb50f2cc61 [BLEEDING] Remove pvp-knockback workaround with 1.9 (read on).
If false positives with players receiving knockback from pvp hits
increase, setting checks.fight.pvp.knockbackvelocity to true instead of
default will force-activate the workaround.

Debug logging would reveal if this works or not. If the velocity events
fire correctly, the horizontal components will be clearly greater than
zero most of the time with pvp hits. [Can't test this right now.]
2016-03-09 11:57:02 +01:00
asofold
81c74441da Fix rush auto suggestion. 2016-03-07 22:54:48 +01:00
asofold
d34679371d [BLEEDING][INSTABLE] First rough levitation + elytra support (read on).
Very coarse modeling, players likely are able to abuse this and there
are verly likely more false positives.

Especially elytra will have issues:
* Players can fly very fast.
* Elytra will make players fly even faster than the set limit, resulting
in false positives at some point. Setting the allowed speed that high
will yield the problem of players being able to abuse even worse. Thus
limiting to the speed of spectator mode. Modeling will be changed  to
accomodate for gain vs. max. distance and other.
2016-03-06 14:46:45 +01:00
asofold
b40875060c Fetch block shapes without using updateState. 2016-03-05 20:17:44 +01:00
asofold
4221f5bf18 Extend pre-setup checks for dedicated MCAccess for 1.9. 2016-03-05 20:06:20 +01:00
asofold
e58b334911 Correctly note '1.9' blocks. Fixes Issue #109. 2016-03-05 13:07:36 +01:00
asofold
262a7b27b2 Allow standing on shulker (dedicated MCAccess for 1.9 only). 2016-03-04 22:43:45 +01:00
asofold
65c4815f14 Add rough values for 1.9 blocks. 2016-03-04 21:44:51 +01:00
asofold
c5d99f986a [BLEEDING] Fix block shape retrieval for 1.9. 2016-03-04 14:00:47 +01:00
asofold
62ea433a0f Confine the accepted Minecraft version for ProtocolLib 3.7 more.
9be2cd2400 (diff-2f1ecdb100c80df342f0249f8ebacbb1R83)
2016-03-03 22:43:38 +01:00
asofold
c22126449b [BLEEDING] Dedicated MCAccess for 1.9.
This won't cover all effects of internal changes, some blocks might be
interpreted wrongly still, some shapes may have changed in an
incompatible way (e.g. skulls).
2016-03-03 20:11:46 +01:00
asofold
c800b55d62 Prepare detecting other flying methods. Accidental import organize. 2016-03-03 16:48:55 +01:00
asofold
7d2c1ce1f8 Re-enable split move handling for MC 1.9. 2016-03-03 15:45:48 +01:00
asofold
9be2cd2400 [BLEEDING] Allow ProtocolLib 3.7 and disable SoundDistance on MC 1.9. 2016-03-02 19:49:02 +01:00
asofold
3c3ae4b351 Quick workaround for split moves (disable handling).
https://hub.spigotmc.org/jira/browse/SPIGOT-1646
2016-03-02 18:53:20 +01:00
asofold
d91a37256c Set version to 3.14.0-SNAPSHOT, due to a major MC version change. 2016-03-02 18:32:43 +01:00
asofold
bb6672630e Delegate testing for presence and level to generic methods. 2016-02-28 22:10:30 +01:00
asofold
557373ad0e Fix NPE with time running backwards. 2016-02-18 10:03:51 +01:00
asofold
5f41715fe2 [BLEEDING] Add early check for extreme moves (sub check of sf/cf). 2016-02-16 12:18:02 +01:00
asofold
10a1d1ffed Allow using blocks with boat in hand. 2016-02-16 12:07:44 +01:00
asofold
4599194eb0 Clarify javadocs. 2016-02-16 10:46:42 +01:00
asofold
e958e6ef7a Add Check.executeActions with IPenaltyList as extra argument. 2016-02-14 13:35:19 +01:00
asofold
0915acdee6 Use a provided interface to fill in input-specific penalties.
This seems to be more appropriate, for the case of multiple checks
triggering, but also for better performance, in case the check doesn't
even support input-specific penalties.
2016-02-12 00:51:18 +01:00
asofold
6d20b92ab6 Update readme (ProtocolLib). 2016-02-10 10:29:49 +01:00
asofold
851203edb9 [BREAKING][BLEEDING] Adjust the API to the upcoming penalty framework.
This is a first step in, which doesn't change the default behavior,
however it might break plugins that rely on certain internals.

PenaltyAction allows to do something with probabilities to consider,
including the possibility to select the first applicable penalty or
applying several penalties. There will be player-specific penalties,
which are applied during ViolationData.executeActions always, and there
will be input-specific penalties, e.g. for applying within the event
listener.

Potentially breaking:
* Return value of executeActions is now void for Action + ViolationData.
* Return value of Check.executeActions is ViolationData now.
* CancelAction is now extending PenaltyAction.
* CancelPenalty may cancel, but might not, due to probability.
* IViolationInfo.hasCancel -> deprecated, now returns willCancel().
* IViolationInfo.willCancel is now used, applicable penalties are
estimated on creation of ViolationData.
* Custom actions can no longer be used to cause cancel. Only penalties
can do so now (due to the return type change). CancelAction is still
there to keep a simple action for canceling.

Not yet:
* InputSpecificPenalty support for fight checks and using them in the
default actions.
* Configuration for penalties (currently only a plugin could override
the action factories, later penalties may have a probability to apply,
reference each other, allow first match, apply several at once).
2016-02-10 00:28:57 +01:00
asofold
8d6b930166 isHeadObstructed: Throw an IllegalArgumentException on margin < 0.
(Shouldn't fix anything.)
2016-02-09 14:46:07 +01:00
asofold
14e4620b76 Fix violation being added twice for display. 2016-02-08 20:36:16 +01:00
asofold
5e1c71b451 Just start small (Bukkit.getServer() fails on tests). 2016-02-08 01:53:40 +01:00
asofold
5d72a51001 Fix hash code use. 2016-02-08 01:35:24 +01:00
asofold
302b1ec824 PlayerPortalEvent: add to debug log, don't reset data if to is null. 2016-02-08 01:10:34 +01:00
asofold
f6a004015d [BLEEDING] Prepare 'data removal light' for time running backwards.
Introduce an interface to indicate if a CheckDataFactory or IRemoveData
instance can do something better than removing all data, in case the
system time ran backwards. An extra method in data manager is used
instead of clearAllData, which will test for implementation of that
interface. Concerns CheckDataFactory instances accessible via CheckType 
and IRemoveData instances registered with DataManager (via
NoCheatPlusAPI or directly).

Implementation details and related changes:
* TickTask: Let ActionFrequency handle time running backwards (spikes).
* NetData/Factory: Use HashMapLOW. Selectively clear/adjust.
* MovingData: Keep past move tracking (and some other).
2016-02-08 01:03:27 +01:00
asofold
40a83839e5 Clarify which versions of ProtocolLib are supported by NCP. 2016-02-02 00:09:21 +01:00
asofold
b2b5cd1e03 Set version to 3.13.8-SNAPSHOT for next iteration. 2016-01-31 17:38:52 +01:00
asofold
7360e33930 Set version to 3.13.7-RC for release.
Just to have something above the too old releases.
2016-01-31 17:15:19 +01:00
asofold
cc68a52ac4 Use one generic instance for Random. 2016-01-30 14:32:28 +01:00