Commit Graph

104 Commits

Author SHA1 Message Date
asofold 30902ec352 [BROKEN] Data storage overhaul (basics). (+)
(SAFETY COMMIT)

Largely breaking change.
* Interfaces in front of data types (and 'managers'), some interfaces
removed.
* Data and configuration fetching.
* Check activation checking (config flags, isEnabled, hasBypass).
* CheckType (activation checks, factories removed).
* Lots of collateral signature changes, including IPlayerData.

The (I)WorldDataManager stores per-world data (+ per world per check
type).
* Raw configurations.
* Typical flags: check activation, debug, lag adaption.
* Generic data, such as check configurations or per world check data.

The (I)PlayerDataManager stores per player data.
* Check Data.
* Typical flags: debug
* Exemption
* Check data (and config cache).
* Further mappings and later OfflinePlayerData.
* The registration interface will allow defining, how instances are
handled for registered types (factory, proxy, what on world change, what
on logout, global removal handler, per player removal handler).

(I)PlayerData is intended to be/become the central access point.
* External interface is IPlayerData now.
* Per player debug flags, exemptions.
* Fetching configuration and data: local cache, relaying fetching to
registered factories and proxy-registries/storage (e.g. fetching
configuration from per world storage).

Other fixes/changes:
(+) Extend the debug player command (set true/false, reset to world
default, arbitrary check types).
(+) PlayerData maintains a currentWorldIdentifier (to be used instead of
ChatData in future).
(+) The WorldConfigProvider getAll implementation returns a
LinkedHashSet now, avoiding duplicates.
(+) Move DefaultGenericInstanceRegistry to NCPCore.
(+) Thread-safety considerations for DefaultGenericInstanceRegistry.
(+) Don't log errors on hasBypass checking. TBD: Instead intercept
during listener methods (or even as a feature within the listener node:
e.g. @ThreadContext(primaryThread=true, skipOffContext=true,
cancelOffContext=true).
(+) Add fight.wrongturn permissions to plugin.yml.
(+) Missing GPLv3 headers.

Broken/Missing:
* WorldData inheritance from default: propagate all changes done
directly to the default config to children (all worlds that don't have
an explicit world_config.yml set) - possibly add an OverrideState or
similar, (NONE, FROM_DEFAULT, EXPLICIT) and don't override EXPLICIT if
coming from the default. Calling override on the default WorldData is
not to be confused with calling override for WorldDataManager (override
for all worlds as EXPLICIT).
* Organize overriding for special circumstances (version dependent
activation  and the like). Might want to add registered override
handlers to be called on reload automatically.
* Store generic per check type per world data in the WorldDataManager,
such as configurations and per-world check data. TBD: Factories, cleanup
(!).
* Most efficient referencing (IWorldCheckTypeNode, IHandle<something>?).
* All the registry stuff (see PlayerData).
* Use interfaces for auto registry (and a flag within
RegistrationContext?) - world unload, world change, player join / leave.
* (Data expiration handling including transition to IOfflinePlayerData,
because now data is a little heavier.)
* Further details.
2018-02-26 12:15:53 +01:00
asofold 46b0b3df02 Set version to 3.16.1-SNAPSHOT for the next iteration of development. 2018-01-14 13:44:14 +01:00
asofold 424b357db1 Set version to 3.16.0-RC for release. 2018-01-10 22:37:28 +01:00
asofold 22393db749 Set version to 3.16.0-SNAPSHOT because we can't build.
Intention had been to make the breaking changes have a larger impact on
the version anyway.
2018-01-07 22:00:44 +01:00
asofold e961f94bce Set version to 3.15.2-RC for release. 2018-01-07 21:02:19 +01:00
asofold 1b41fc52a1 Attempt https here. 2017-12-16 17:15:04 +01:00
asofold 97cdbe8046 Move the java version into the root pom.
Not set higher, as we can't really make use of that now - diamond
operator postponed.
2017-04-24 18:35:25 +02:00
asofold 55715b0a9a Set version to 3.15.2-SNAPSHOT for a development iteration. 2017-04-18 13:04:01 +02:00
asofold 9714790250 Set version to 3.15.1-RC for release. 2017-04-16 19:34:07 +02:00
asofold e7aab4272e Use https for dbo. 2016-12-04 14:35:07 +01:00
asofold 33d85a8d79 Set version to 3.15.0-SNAPSHOT for MC 1.10. 2016-06-09 09:41:02 +02: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 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 9ef8399b15 Set version to 3.13.7-SNAPSHOT for next development iteration. 2016-01-29 00:16:27 +01:00
asofold 12d038eb66 Set version to 3.13.6-BETA for release. 2016-01-29 00:07:28 +01:00
asofold ec2c63101e Set version to 3.13.6-SNAPSHOT for progress. 2016-01-07 22:53:53 +01:00
asofold 0634e22b6b Set version to 3.13.5-BETA for release. 2016-01-07 22:46:10 +01:00
asofold b7825a15f9 Set version to 3.13.5-SNAPSHOT. 2015-12-12 16:07:31 +01:00
asofold 87ba5983e3 Set version to 3.13.4-BETA for release. 2015-12-12 16:06:04 +01:00
asofold 0645922ad7 Set version to continued 3.13.4-SNAPSHOT. 2015-12-07 10:48:47 +01:00
asofold 023bddbbad Set version to 3.13.3-BETA for release. 2015-12-07 10:40:33 +01:00
asofold 219f2222ef Set version to 3.13.3-SNAPSHOT for continous thing. 2015-12-07 08:31:54 +01:00
asofold 48f9d24f28 Set version to 3.13.2-BETA for release. 2015-12-07 08:22:27 +01:00
asofold e315b43812 Set version to 3.13.2-SNAPSHOT. 2015-11-25 09:23:00 +01:00
asofold cb4613e2fa Set version to 3.13.1-BETA for release. 2015-11-25 09:15:47 +01:00
asofold 0c6c38b2e1 Set version to 3.13.1-SNAPSHOT for continuous development. 2015-11-23 06:13:43 +01:00
asofold 59a43984f3 Set version to 3.13.0-BETA for release. 2015-11-22 02:49:21 +01:00
asofold 2dd081d118 Bump version to 3.13.0. 2015-10-18 18:49:05 +02:00
asofold 866a2248cf Use tabs for all the pom.xml. 2015-08-01 00:58:33 +02:00
asofold 2d94389eae Building NCP: Build without cbdedicated by default.
Using profiles:
* Profile "minimal" will build by default, excluding all dedicated cb
dependencies, making it easier to quickly test stuff.
* Set the property 'cbdedicated' to true, in order to build all, using
the profile "all".
* The properties BUILD_NUMBER and BUILD_SERIES don't seem to set to
defaults anymore, so they have to be set manually (BUILD_NUMBER does get
set on jenkins).
2015-08-01 00:52:06 +02:00
asofold e96d142c63 Minimize includes. 2015-07-31 23:05:37 +02:00
asofold 865779d5d8 [RANDOM] Move repository for deployment to the other pom. 2015-07-30 11:33:50 +02:00
asofold 7da874ad66 Attempt to deploy only the final plugin jar. 2015-07-30 11:27:30 +02:00
asofold 3cf6943efb [BLIND] Add compat module for Spigot/CB 1.8.4 (1_8_R3). 2015-05-24 16:07:50 +02:00
asofold 888f1cbaa8 Dedicated compat module for Spigot/CB 1.8.3 (1_8_R2). 2015-05-24 15:29:12 +02:00
asofold 806b31ec4f Include the _R... part for naming compat modules. 2015-05-24 14:56:45 +02:00
asofold 139d47a7b1 Set version to 3.12.1-SNAPSHOT for continued development. 2015-03-21 22:13:24 +01:00
asofold 2ef6a541e5 Set version to 3.12.0-BETA2 for beta release. 2015-03-21 18:50:16 +01:00
asofold ef72564e3d Set version to 3.12.0-BETA for beta-release. 2015-03-21 12:15:04 +01:00
asofold 26d7122a57 Add dedicated compatibility module for MC 1.8 with CraftBukkit/Spigot. 2015-03-11 22:55:00 +01:00
asofold c4b6845b8f Put bukkit + spigot repositories only into the parent pom. 2015-02-08 01:13:27 +01:00
asofold e0a8ef21d6 Revert module dependency versions to 1.1-SNAPSHOT.
(LATEST would use the old static ones.)
2015-02-06 02:05:48 +01:00
asofold a7127336a8 Use LATEST as version for internal dependencies. 2015-02-04 23:42:05 +01:00
asofold 2cecd50961 Change all "static" pom versions to "1.1-SNAPSHOT", to allow deploy. 2015-02-04 18:49:52 +01:00
asofold 1db8b695bb Set version to 3.12.0-SNAPSHOT, since logging and 1.8 change a lot. 2014-11-29 02:08:01 +01:00
asofold d5cefe4c5a Add dedicated compatibility module for CB 3100 (MC 1.7.10). 2014-11-11 21:44:40 +01:00
asofold 7b2a680ead [BLIND] Add dedicated compatibility module for Glowstone.
This is extending the classes for Bukkit (API only), and only overriding
very few methods, such as getCommandMap, dealFallDamage.
2014-10-26 20:25:00 +01:00
asofold ac84c9b04a Set version to 3.11.2-SNAPSHOT for continued development. 2014-10-05 08:48:23 +02:00
asofold 8e3b8622d9 Set version to 3.11.1-RC for release. 2014-09-21 19:41:05 +02:00