8400 Commits

Author SHA1 Message Date
Dylan K. Taylor
0d9952d53e Rename BaseLang -> Language 2018-07-30 17:07:19 +01:00
Dylan K. Taylor
d26631d8e0 Clean up BaseLang error handling, throw exceptions instead 2018-07-30 17:00:52 +01:00
Dylan K. Taylor
cab2d52ff8 Merge branch 'release/3.2' 2018-07-30 15:21:50 +01:00
Dylan K. Taylor
c09ad9263b Empty merge of 3.1 into 3.2 2018-07-30 15:21:42 +01:00
Dylan K. Taylor
4c4761d200 back to dev 2018-07-30 15:21:10 +01:00
Dylan K. Taylor
5492495d38 disable dev flag 3.1.2 2018-07-30 15:10:12 +01:00
Dylan K. Taylor
6bef07db7c Empty merge of 3.0 into 3.1 2018-07-30 15:09:53 +01:00
Dylan K. Taylor
e8c7ae595d back to dev 2018-07-30 15:08:32 +01:00
Dylan K. Taylor
0d9f40873f disable dev flag 3.0.9 2018-07-30 14:57:51 +01:00
Dylan K. Taylor
fd3456e831 Merge branch 'release/3.2' 2018-07-30 14:54:15 +01:00
Dylan K. Taylor
4cc2f037a9 Merge branch 'release/3.1' into release/3.2 2018-07-30 14:54:10 +01:00
Dylan K. Taylor
f7358cd7e1 Merge branch 'release/3.0' into release/3.1 2018-07-30 14:54:01 +01:00
Dylan K. Taylor
a4aee98cba TimingsCommand: some code cleanup 2018-07-30 14:53:10 +01:00
Frago9876543210
a97c7d3132 Fix for timings 2018-07-30 14:42:16 +01:00
Dylan K. Taylor
14f144b6f6 Merge branch 'release/3.2' 2018-07-30 09:36:53 +01:00
Enes
99045fe21a Entity: Implement setting score tag 2018-07-30 09:36:32 +01:00
Dylan K. Taylor
bdd42d6a78 Added NetworkSession->sendEncoded(), clean up some code 2018-07-27 18:39:14 +01:00
Dylan K. Taylor
2647b3f404 VerifyLoginTask: remove unnecessary wordwrap()
I don't recall why this was needed, but it's not.
2018-07-27 18:33:10 +01:00
Dylan K. Taylor
7541a6070f Player: clean up handling of authentication 2018-07-27 18:04:13 +01:00
Dylan K. Taylor
f3cf64c2cf
Security vulnerability reporting for dummies 2018-07-27 12:27:29 +01:00
Dylan K. Taylor
df45e8a2cc Merge branch 'release/3.2' 2018-07-27 11:47:43 +01:00
Dylan K. Taylor
bda271ca63 Merge branch 'release/3.1' into release/3.2 2018-07-27 11:47:36 +01:00
Dylan K. Taylor
808d289610 Merge branch 'release/3.0' into release/3.1 2018-07-27 11:47:22 +01:00
95CivicSi
4a1ed21e52 PluginManager: Fix patch level check to allow loading the plugin when the server's minor level is higher than the plugins declared minor level. 2018-07-27 11:46:24 +01:00
Dylan K. Taylor
eb738d1d72 Apply more typehints to generator namespace 2018-07-26 19:31:18 +01:00
Dylan K. Taylor
edb03e8a9b Remove more dead code from the generator
this stuff is useless broken crap that just makes noise in inspections for no good reason... bye
2018-07-26 19:21:38 +01:00
Dylan K. Taylor
20a5b75622 PluginBase: fixed error always being emitted on saveConfig()
This now throws exceptions... let's let the caller deal with this instead, it makes more sense anyway
2018-07-26 19:14:16 +01:00
Dylan K. Taylor
c3bc751b04 Merge branch 'release/3.2' 2018-07-26 16:00:46 +01:00
Dylan K. Taylor
b3f2396ea5 UPnP: Make error message less useless 2018-07-26 16:00:35 +01:00
Dylan K. Taylor
be37236c76 Deduplicate code for general classpath registries 2018-07-26 15:21:03 +01:00
Dylan K. Taylor
e016693779 Test one extra case for LevelProviderManager 2018-07-26 15:17:16 +01:00
Dylan K. Taylor
d305a1342f Make Tile::registerTile() and Entity::registerEntity() throw exceptions instead of returning false 2018-07-26 14:55:55 +01:00
Dylan K. Taylor
b9769c407b Merge branch 'release/3.2' 2018-07-26 14:40:39 +01:00
Dylan K. Taylor
ab0510cb37 Merge branch 'release/3.1' into release/3.2 2018-07-26 14:40:33 +01:00
Dylan K. Taylor
06c035bfe6 Merge branch 'release/3.0' into release/3.1 2018-07-26 14:40:24 +01:00
Dylan K. Taylor
1b053c7928 Clean up pointless checks in Thread/Worker 2018-07-26 14:20:55 +01:00
Dylan K. Taylor
c684f99cc4 Clean up Thread/Worker quit() 2018-07-26 14:17:01 +01:00
Dylan K. Taylor
522f0f5c25 Config: remove dead field 2018-07-26 14:05:38 +01:00
Dylan K. Taylor
7e81a09409 Merge branch 'release/3.2' 2018-07-26 14:03:39 +01:00
Dylan K. Taylor
9a423be1db Internet: Throw more specific exceptions
RuntimeException is very generic and might be thrown for other reasons apart from web request failures.

This is backwards compatible because InternetException is a descendent of RuntimeException. Additionally, getURL() and postURL() have intentionally been left untouched for backwards compatibility's sake.
2018-07-26 12:34:14 +01:00
Dylan K. Taylor
08be51dc23 Clear permissions on server reload 2018-07-26 10:40:28 +01:00
Dylan K. Taylor
94352782d5 https://media.giphy.com/media/UAUtB4Oi9U4EM/giphy.gif 2018-07-26 10:31:57 +01:00
Dylan K. Taylor
e6cbdd090e Merge branch 'release/3.2' 2018-07-26 10:25:25 +01:00
Dylan K. Taylor
8fae79f85b Merge branch 'release/3.1' into release/3.2 2018-07-26 10:25:19 +01:00
Dylan K. Taylor
8d47a222b4 Merge branch 'release/3.0' into release/3.1 2018-07-26 10:25:13 +01:00
Dylan K. Taylor
695793795e PluginManager: Remove dead $pluginParentTimer left over from 9e4d88a85260999dba49add87dc1c800aed75639 2018-07-26 10:25:01 +01:00
Dylan K. Taylor
9a2845640b
Permissions management cleanup (#2332)
* Added a new PermissionManager, remove ridiculous cyclic dependencies of Permissions on Server

Aside from all the other ridiculous design problems with the permission system, the biggest problems are its API. This is, once again, a result of poor API design copied from Bukkit.

This pull request removes all permission-related functionality from `PluginManager` and moves it to the `pocketmine\permission\PermissionManager` class.

As can be observed from the removed code in the diff, the permissions system was previously entirely dependent on the Server, because it needed to get the PluginManager for registering permissions. This is utterly ridiculous. This refactor isolates _most_ permission-related functionality within the `permission` namespace.

As mentioned above, this stupid API is a direct result of copying from Bukkit. If you look at the API documentation for Bukkit for `PluginManager` you will see that the methods I'm deprecating here are also in there.

## Changes
- Added a new `PermissionManager` class. This can be accessed via its singleton `getInstance()` static method.
- Deprecated the following `PluginManager` methods - these will be removed no later than 4.0.0:
  - `getPermission()`
  - `addPermission()`
  - `removePermission()`
  - `getDefaultPermissions()`
  - `recalculatePermissionDefaults()`
  - `subscribeToPermission()`
  - `unsubscribeFromPermission()`
  - `getPermissionSubscriptions()`
  - `subscribeToDefaultPerms()`
  - `unsubscribeFromDefaultPerms()`
  - `getDefaultPermSubscriptions()`
  - `getPermissions()`
2018-07-26 10:21:41 +01:00
Dylan K. Taylor
203d7e23f4 Merge branch 'release/3.2' 2018-07-25 20:57:57 +01:00
Dylan K. Taylor
580f71d496 Permission: cosmetic reorg 2018-07-25 20:56:23 +01:00
Dylan K. Taylor
057d4fc62f Merge branch 'release/3.2' 2018-07-25 18:52:26 +01:00