5967 Commits

Author SHA1 Message Date
Dylan K. Taylor
1c9b4f3e21 Fixed ItemBlocks retaining Level references after being placed, close #1395 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 (#878)
* 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 #315
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 (#1394)
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 #45 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 #1398 2017-09-24 10:29:36 +01:00
Sandertv
6e961ae897 Addition of Coarse Dirt (#1396) 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
Dylan K. Taylor
c8fd0eaf8b Removed autogenerated stub TODO from BoneBlock 2017-09-21 19:50:03 +01:00
Dylan K. Taylor
53ef9b653a Added some getters to FloatingTextParticle 2017-09-21 19:10:30 +01:00
Dylan K. Taylor
030cc4afb0 FloatingTextParticle: import cleanup & typehints 2017-09-21 19:09:33 +01:00
Dylan K. Taylor
9bd7f771d3 "Fixed" FloatingTextParticle yet again
- nametag visibility flags don't work properly, only players show them all the time
- invisibility overrides nametag visibility
- scale 0 triggers asserts on debug builds

..... how hard is it to NOT break these simple things each update Mojang?

closes #1205
2017-09-21 19:04:45 +01:00
Dylan K. Taylor
10f6a0eef0 FloatingTextParticle: fixed incorrect parameter type doc 2017-09-21 18:31:12 +01:00
Dylan K. Taylor
d0a96f35da ./ hack is back (/help is client-side >_<) 2017-09-21 17:51:39 +01:00
Dylan K. Taylor
d7091f4460 Fixed not being able to disable stats reporting using command line options 2017-09-21 17:14:44 +01:00
Dylan K. Taylor
c6670b2e74 Fixed Nether Wart's name 2017-09-21 16:56:41 +01:00
Dylan K. Taylor
0e2e9aab2e Fixed crash when block classes override the constructor but don't specify a fallback name 2017-09-21 16:43:33 +01:00
Dylan K. Taylor
1b5fed983b Revert "Fixed slab placement, close #145", reopen #145, close #1314
This reverts commit f2ff0198cca01db0e93a9b45d428e624822f18e9.
2017-09-21 14:41:18 +01:00