Commit Graph

32 Commits

Author SHA1 Message Date
asofold
24120f306a Ensure ActionFRequency does reset if time ran backwards. 2014-07-31 10:05:15 +02:00
asofold
b498f993dd Array then. 2014-07-29 22:56:00 +02:00
asofold
c2722abc19 Add the "ncp top" command, allowing to search all the violation history.
Original pull request:
https://github.com/NoCheatPlus/NoCheatPlus/pull/24

This probably is not the final implementation, but it allows some
minimal freedom:
* Specify number of entries to show.
* Specify check types (and groups!).
* Specify what to sort by.

There might be need for some merged view, combining several different
check types somehow, or just shortcuts for specific selections, e.g. for
fighting-related checks.

----

+ Fix root command not showing sub commmand usage.
2014-07-29 13:49:43 +02:00
asofold
bf0b515889 Add removeAll.
Considering to use this map for otherwise fully synchronized maps, e.g.
with the chat checks.
2014-07-17 14:40:33 +02:00
asofold
923f08c308 Add an insertion ordered COW version of a LinkedHashMap. 2014-07-16 15:42:09 +02:00
asofold
1ada725476 import time 2014-06-04 21:54:48 +02:00
asofold
dcb48c8800 Add method for Collection. 2014-04-07 09:46:49 +02:00
asofold
4031cb55e8 [MEANWHILE] Refactor penalty time handling + add one for "item change".
Refactored penalty time handling to use a PenaltyTime object, taking
into account time running backwards, also unify attack (close combat)
penalties to a generic attack penalty. Combined.yawrate still keeps the
timeFreeze penalty, due to also cancelling other actions than melee,
still changed to a PenaltyTime object.

Changing the item in hand now leads to an attack penalty (that also goes 
for not changing the item, but changing the slot).

"Quick" addition, not much testing, except few unit tests.

Note that this could change false detection behavior of other sub-checks
of fight, because the penalty time is checked last. Previously checks
like direction or reach would have cancelled already if the player was 
within their penalty time. Hard to say if this creates new false
positives, but it will be more strict on continuous violations.
2014-02-02 23:37:29 +01:00
asofold
61a1d963b4 comment. 2013-12-09 19:58:02 +01:00
asofold
d202d73cab Changes for command lists, opinconsoleonly -> consoleonly.
The command lists for handleaschat and exclusions are now also fed with
 a leading "/" if missing. Allows more convenient setup and less 
 confusion potential for relating comamnd lists in "protect plugins" to 
 other lists.
 
opinconsoleonly has been made a list of commands:
	protection.commands.consoleonly.
Further the message sent to the player is the permission message,
 if the player does not have permission to use the command,
 provided NCP can find the command.

All three command lists are also checked with the original 
command label.
2013-08-11 13:05:24 +02:00
asofold
86da983cf8 Add test for SimpleCharprefixTree. 2013-08-11 12:10:05 +02:00
asofold
adf9bcb9be Adjust a compatibility method for speed and probably compatibility. 2013-07-16 19:56:06 +02:00
asofold
d8d5992569 Update some javadocs. 2013-07-13 12:31:07 +02:00
asofold
c00117a0ad Check some method signatures with MCAccess implementations.
Minimum safeguard: Check the getMinX etc. methods for proper signatures,
to avoid use with mods that have incomplete CraftBukkit mappings.
2013-07-13 09:52:06 +02:00
asofold
9edfb14103 Move workarounds for health-API changes to a utility. 2013-07-06 20:37:11 +02:00
asofold
a7581d509d [TEST] Fix reflection for health changes. 2013-07-06 18:53:21 +02:00
asofold
f315336005 [TEST] Attempt to fall back to reflection for health issues (one spot). 2013-07-06 15:48:26 +02:00
asofold
e60006d6a3 Update pom.xml descriptions. 2013-07-06 14:49:24 +02:00
asofold
ce834675d7 Move most code to NCPCore, removes NCPCompat.
Factories are now on NCPPlugin level, thus all the core stuff can be in
one module, giving better source code browsing.

Updates has been moved into an updates package, because there is to be
expected more content, and to make utilities less fat.

To indicate the direction, the basic infra-structure has been added to
allow adding components to the DefaultComponentFactory. Further
processQueuedSubComponents is now called after each components adding in
order to allow more flexible registry features.
2013-05-22 12:24:48 +02:00
asofold
6e6b198188 Move auxiliary code. 2013-05-21 15:51:51 +02:00
asofold
de5f152df9 [BLEEDING] Flesh out aspects of ComponentRegistry.
* Fixes data removal ignoring chat.logins and chat.text for a part.
* Move some components interfaces and ReflectionUtil to NCPCommons.
* Unregister components in reverse order.
* Add ComponentRegistryProvider for generic sub-registries (DataManager
for instance).
* Add IHoldSUbComponents for delayed sub-component registration
(convenient for iteration over parent-components with later registration
of sub components not missing out any registered parent components for
those). [Partly implemented: Using this during runtime does not yet
work, only used in onEnable.]
* Let CheckListener implement IHoldSubComponents and use this with
addCheck to register the queued checks after all the listeners.
* Register the core system components in a bunch before the
CheckListenerS, to allow sub-registries to work directly and to allow
getAPI().addComponent on the plugin class during construction of
CheckListeners.
2013-04-15 16:11:08 +02:00
asofold
31faf7f11e Adjust available build parameters: TEST_LEVEL and DEBUG_LEVEL
Not yet too much in use, though.
2013-02-28 18:09:42 +01:00
asofold
7a84ed371b Add module for build parameter info.
This is needed with the current technique in order to have it available
at the time of testing NCPCommons.
2013-02-27 00:46:56 +01:00
asofold
33af656b29 Add support for build parameters (example: EXTENSIVE_TESTING).
We can put through build parameters for testing and other purposes so
NCP can see them during testing or runtime otherwise. Not sure this is
the final version, though.
2013-02-26 23:14:33 +01:00
asofold
33abae929b Should have used a regex :p. 2013-02-20 22:04:43 +01:00
asofold
c16ccd8435 Add convenience method to StringUtil for splitting by chars. 2013-02-20 21:18:16 +01:00
asofold
ca0fe64688 Add new accumulator class.
This allows accumulating values grouped by number of events rather than
real-time.
2013-02-01 17:27:44 +01:00
asofold
ee1f410dae [SAFETY COMMIT, REFACTOR, BREAKING]
Moving big parts of code between sub-projects. Some refactoring was
needed to unlink some classes. Deprecated methods removed. Some utility
methods were moved to differently named utilities. Few signatures
changed (e.g. BlockProperties.init). Most changes should only concern
bugs or developers who dug into some NCP deeply (not sure those exist).
It should still all be there.
2013-01-20 04:18:08 +01:00
asofold
923b4ebdca No brain necessary for parent pom version, hahaha! 2012-12-17 17:37:42 +01:00
asofold
c433bfe215 Update pom descriptions. 2012-12-14 10:36:58 +01:00
asofold
42521cbb1c Add resources. 2012-12-13 22:57:21 +01:00
asofold
f21ffd68cb RAW split setup (does not compile in eclipse). 2012-12-13 22:48:56 +01:00