1
0
mirror of https://github.com/pmmp/PocketMine-MP.git synced 2025-07-27 13:23:44 +00:00

12977 Commits

Author SHA1 Message Date
Dylan K. Taylor
7ba193dc2e Set ErrorException handler on AsyncWorkers 2017-09-28 18:01:31 +01:00
Dylan K. Taylor
f565791e41 World loading: Actually use the data in each item instead of getProperty() 2017-09-28 16:38:10 +01:00
Dylan K. Taylor
bc0434913e Fixed crash when a numeric world seed is set in pocketmine.yml 2017-09-28 16:35:19 +01:00
Dylan K. Taylor
9bc8d8db79 Revert "Add buffering for non-immediate priority packets to reduce compression overhead"
This reverts commit 2162675b6400807cf650f6fc7ad236c52fa99c01.

This broke Human skins... it seems MCPE doesn't like you adding and
removing a player from the list in the same batch.
2017-09-28 14:29:17 +01:00
Dylan K. Taylor
d0bf0ff083 Imports cleanup 2017-09-28 10:51:05 +01:00
Dylan K. Taylor
7dc1fc54b1 Oops, didn't mean to commit this 2017-09-27 20:34:37 +01:00
Dylan K. Taylor
bae42dc0d9 Fixed incorrect field names in PlayerSkinPacket 2017-09-27 17:55:04 +01:00
Dylan K. Taylor
ab809f8a2b Updated RakLib submodule 2017-09-27 15:53:43 +01:00
Dylan K. Taylor
2162675b64 Add buffering for non-immediate priority packets to reduce compression overhead 2017-09-27 14:06:42 +01:00
Dylan K. Taylor
8f63117dac Use try...finally in Player->sendDataPacket() so we don't forget to stop timings 2017-09-27 13:52:25 +01:00
Dylan K. Taylor
1c9b4f3e21 Fixed ItemBlocks retaining Level references after being placed, close 2017-09-27 12:04:56 +01:00
Dylan K. Taylor
48d2d7e422 Remove unused import from FoodSource 2017-09-27 12:01:55 +01:00
Dylan K. Taylor
52bd042bde BaseInventory: Don't keep calling getSize() over and over and over again 2017-09-27 11:24:21 +01:00
Dylan K. Taylor
4b63a22f8c More use of Item->isNull() 2017-09-27 11:05:40 +01:00
Dylan K. Taylor
c47f1f572c Added API method Item->pop() 2017-09-27 10:56:04 +01:00
Dylan K. Taylor
7a77bb0402 Login verification: guilty until proven innocent
assume it's invalid until we've verified everything
2017-09-27 10:29:01 +01:00
Dylan K. Taylor
90cb018de2 Re-organise some Block code 2017-09-26 19:39:05 +01:00
Dylan K. Taylor
992c4ce6a0 Added API method Block->getVariant() 2017-09-26 19:35:04 +01:00
Dylan K. Taylor
78af87a572 ConcretePowder: add tool type 2017-09-26 19:00:53 +01:00
Dylan K. Taylor
c79a5509f6 Implemented concrete powder
this is a little buggy with water updating due to a hack for liquids to fix a CPU leak (210bdc2436269ca4d634aa791b1054e594769baa), but everything works fine when a block nearby gets updated.
2017-09-26 18:56:43 +01:00
Dylan K. Taylor
827ee5d4f9 Fixed falling blocks glitching when spawned
this now (finally) works flawlessly
2017-09-26 18:33:34 +01:00
Dylan K. Taylor
f5b0cbb337 Generated some TODOs for BlockFactory & ItemFactory 2017-09-26 16:15:35 +01:00
Dylan K. Taylor
18777a9041 Remove useless EntityEventPacket
vanilla doesn't send this, and it doesn't do anything if we _do_ send it.
2017-09-26 12:50:36 +01:00
Dylan K. Taylor
13d50aff62 don't break bows, stupid 2017-09-26 12:20:40 +01:00
Dylan K. Taylor
5b191327bc Fixed players' arms staying stuck up after eating something 2017-09-26 12:14:10 +01:00
Dylan K. Taylor
8811188e71 Split FoodSource up into two interfaces 2017-09-26 11:48:47 +01:00
Dylan K. Taylor
38fad4b963 Implement difficulty per-world ()
* Moved Server::getDifficultyFromString() to Level
* Added ability to set difficulty in worlds section of pocketmine.yml for generation
2017-09-26 11:16:51 +01:00
Dylan K. Taylor
e64076ec81 Disconnect 1.1 clients properly (HACK!) 2017-09-26 10:01:32 +01:00
Dylan K. Taylor
ccbdb77618 Cleaned up LoginPacket handling, don't nuke the buffer 2017-09-26 09:49:35 +01:00
Dylan K. Taylor
91c6086ae1 Updated PocketMine-Language submodule 2017-09-26 09:35:43 +01:00
Dylan K. Taylor
85ec7d9732 Change default MOTD
"Minecraft: PE Server" is no longer accurate, "Minecraft: Bedrock
Edition Server" is too wordy, and "Minecraft: BE Server" just sounds
weird.

and I'm not calling it simply a "Minecraft Server"
2017-09-25 23:43:09 +01:00
Dylan K. Taylor
10f597cd64 Stop hardcoding "PocketMine-MP" everywhere 2017-09-25 18:17:35 +01:00
Dylan K. Taylor
6e5759b1d1 Made incompatible client disconnect messages more informative 2017-09-25 14:30:11 +01:00
Dylan K. Taylor
03d3e595d6 Implement JWT signature verification and Xbox Live checks, close
This can be enabled or disabled using the "online-mode" directive in
server.properties.

NOTE: For safety reasons it is enabled by default, since many naive server owners currently believe that authentication is not needed because "the client is forced to sign-in".
Newsflash for readers: the forced authentication is easily bypassed using a LAN proxy.

Un-authenticated LAN connections will still work fine if the online mode is disabled.

Added the following API methods:
- Server->getOnlineMode() : bool
- Server->requiresAuthentication() : bool
- Player->isAuthenticated() : bool

JWT verification is rather expensive, so it is done in an AsyncTask. Make sure you don't hog your worker threads.
2017-09-25 12:30:58 +01:00
Dylan K. Taylor
8ca59d12e9 Updated PocketMine-Language submodule 2017-09-25 11:36:39 +01:00
Dylan K. Taylor
89e4defa29 use null coalesce in Server->getLevel() 2017-09-25 09:51:21 +01:00
Dylan K. Taylor
f5534a9ab0 Server: add some typehints 2017-09-25 09:49:19 +01:00
Dylan K. Taylor
28bce8d48c Fixed plugins causing crashes by using Level->unload() and add a warning
yes, we don't want you to use this, but it still shouldn't crash if it can be prevented...
2017-09-25 09:46:19 +01:00
Dylan K. Taylor
3c02a6a8ed Fixed eating sounds 2017-09-24 21:18:08 +01:00
Dylan K. Taylor
6b0ac8adb8 Don't overwrite the input map with reindexed stuff
we might need this again?
2017-09-24 19:17:00 +01:00
Dylan K. Taylor
38ec5da260 Refactored API compatibility checking code into its own method ()
Refactored API compatibility checking code into its own method so plugins can use it
this change was inspired by https://github.com/poggit/devirion/blob/master/src/poggit/virion/devirion/DEVirion.php#L140-L172
2017-09-24 15:00:08 +01:00
Dylan K. Taylor
240cc3043a Rewritten crafting, fixed 2017-09-24 14:14:24 +01:00
Dylan K. Taylor
043ae487de Fixed some inconsistent uses of new ShortTag vs setValue() in Furnace 2017-09-24 10:34:25 +01:00
Dylan K. Taylor
f12701e582 Fixed possible undefined NBT in Furnace, close 2017-09-24 10:29:36 +01:00
Sandertv
6e961ae897 Addition of Coarse Dirt () 2017-09-23 22:25:03 +01:00
Dylan K. Taylor
e1d10f595a AdventureSettingsPacket: removed leftover TODO comment 2017-09-23 16:51:58 +01:00
Dylan K. Taylor
178dd1b981 Fixed block picking, added PlayerBlockPickEvent 2017-09-23 14:42:28 +01:00
Dylan K. Taylor
826ec90856 Revert "Workaround for some plugins crashing clients during PlayerLoginEvent"
This reverts commit 087a994393be23f694c6d0585bcd3797a15bf50b.
2017-09-23 13:23:19 +01:00
Dylan K. Taylor
0523f26613 Send forced movement when getting bad movements after teleport, fixes AlwaysSpawn-type plugins
it's mostly harmless to send it here anyway
2017-09-23 12:49:46 +01:00
Dylan K. Taylor
5190d9c1e2 Fixed possible issue with JWT decoding
this is url-encoded, these characters should be replaced before base64_decode()ing. Not sure how this didn't get noticed before now.
2017-09-22 19:52:08 +01:00