Commit Graph

1131 Commits

Author SHA1 Message Date
Dylan K. Taylor
fd0b07a0aa Added API to allow getting player latency 2017-11-06 14:33:27 +00:00
Dylan K. Taylor
20d2ef9d38 Fixed players respawning in the wrong world
add() returns a Vector3 instance, not a Position instance... argh
2017-11-04 22:04:33 +00:00
Dylan K. Taylor
eab7b93483 Fixed misuse of kill() and close() when deleting entities (#1490) 2017-11-04 19:30:48 +00:00
Dylan K. Taylor
a66a757f56 Cleaned up EntityEventPacket handling 2017-11-04 18:31:35 +00:00
Dylan K. Taylor
ddb7fd12f2 removed obsolete EntityEvent broadcast 2017-11-04 18:28:29 +00:00
Dylan K. Taylor
6ccb494f8d added API to get player language code
sadly this isn't particularly useful without something like the intl
extension to translate the language codes to ISO-632-1 codes like the
ones PocketMine-MP uses. However, this will do for now.
2017-11-04 15:50:00 +00:00
Dylan K. Taylor
6ebe3bfbea use Player->sendDataPacket() with immediate parameter 2017-11-03 19:00:08 +00:00
Dylan K. Taylor
4533df17cf make username validation on login less stupid
why are we checking if the username is valid AFTER we already tried to set it? it might not even be a string
2017-11-03 18:49:28 +00:00
Dylan K. Taylor
451f5d0cd7 Fixed block-pick on crops giving the crop block itself 2017-11-03 12:17:38 +00:00
Dylan K. Taylor
42ed03fd02 Merge branch 'left-click-spawn-prot' 2017-11-03 11:59:26 +00:00
Dylan K. Taylor
91c256f1a9 Added Level->getTileAt() 2017-10-30 13:36:42 +00:00
Dylan K. Taylor
7e490ccdf2 broadcast player skin to all online players by default
otherwise we could end up with undesirable bugs like players having the wrong skin when travelling from another part of the world... the skin has to be sent to everyone to update the player list
2017-10-29 12:19:47 +00:00
Dylan K. Taylor
991d321928 improved geometry debloating, also apply on skin changes 2017-10-29 12:14:16 +00:00
Dylan K. Taylor
600d80331a Accept null for targets in Human->sendSkin()
For humans, it'll send to all viewers. For players, it'll send to all viewers, and the player itself.
2017-10-29 11:18:34 +00:00
Dylan K. Taylor
c55bc2d7e9 added use-item click vector to PlayerInteractEvent
now go and make some touchscreens with maps!
2017-10-27 19:00:17 +01:00
Dylan K. Taylor
52d0ad8a61 be yet more tolerant for on-ground checks on players 2017-10-26 23:23:11 +01:00
Dylan K. Taylor
b6264d188e Change Server->getConfigBoolean() to getConfigBool()
to be consistent, deprecated the original
2017-10-25 16:30:39 +01:00
Dylan K. Taylor
a82efc44aa wtf 2017-10-24 13:29:28 +01:00
Dylan K. Taylor
6daa0135d5 Cancel PlayerInteractEvent automatically on left-click block when spawn protection is triggered 2017-10-24 13:11:19 +01:00
Dylan K. Taylor
0df3b00de4 Fixed incompatible protocol message showing an empty pair of brackets when protocol is null
this happens if an exception occurs while or before trying to read the protocol version
2017-10-23 19:44:19 +01:00
Dylan K. Taylor
3765511317 rename WritableBook->swapPage() to swapPages() 2017-10-23 17:55:01 +01:00
Frago9876543210
e055ce9526 Use translation for flight kick message (#1489) 2017-10-23 13:18:57 +01:00
Dylan K. Taylor
18e4e5364f Fixed getBlock() performance degradation caused by 781de3efab, added Level->getBlockAt() to avoid creating vectors everywhere 2017-10-20 13:22:49 +01:00
Dylan K. Taylor
a245615531 fixed non-living entities lingering for a second after being kill()ed
only living entities should have death animation time
2017-10-19 20:51:50 +01:00
Dylan K. Taylor
11cc20972f extended death animation time 2017-10-19 13:39:51 +01:00
Dylan K. Taylor
584810780a Moved projectile-related classes to their own namespace 2017-10-19 12:27:44 +01:00
Dylan K. Taylor
ece37d1e19 Added more methods to PlayerIllegalMoveEvent 2017-10-17 16:14:41 +01:00
Takuya Sawada
cccaade00c make Player#unloadChunk() method protected 2017-10-17 14:22:57 +01:00
Dylan K. Taylor
d8c90be5b8 Make on-ground checking less fussy 2017-10-13 13:19:20 +01:00
Dylan K. Taylor
7b5df10b6a Reset position properly when reverting movement 2017-10-12 20:33:26 +01:00
Dylan K. Taylor
be2d134994 Added API to allow flagging an entity not to be saved to disk when its chunk is saved (#1452) 2017-10-11 16:09:08 +01:00
Dylan K. Taylor
287f08cbd1 Changed confusing MovePlayerPacket field name to be consistent with other packets 2017-10-10 21:56:17 +01:00
Dylan K. Taylor
9598b8cee4 Use API methods instead of directly setting properties 2017-10-09 11:38:52 +01:00
Dylan K. Taylor
2601e35990 Cleaned up and added API for entity air supply, fixed oxygen being used in creative/spectator
this commit also includes respiration checks because it's cherry-picked
from api3/blocks, but respiration won't work until it's registered.
2017-10-09 11:28:40 +01:00
Dylan K. Taylor
bdfd9c95dd Minor cleanup to attack handler 2017-10-09 11:02:00 +01:00
Dylan K. Taylor
cd44551d64 Cleaned up checks for handling inventory transactions 2017-10-09 10:57:28 +01:00
Dylan K. Taylor
66a3354b31 Fixed not respawning adjacent tiles correctly when cancelling block break events 2017-10-09 10:30:48 +01:00
Dylan K. Taylor
ac7384a2b4 Re-organise some Player methods
- group spawn-related methods
- group achievement-related methods
- move isSleeping()
- group name-related methods
- move Player->sendAllInventories()
- move Player->jump()
2017-10-09 10:25:33 +01:00
Dylan K. Taylor
748beaaaa7 Changed a couple of very misleading default values
why on earth did I do this
2017-10-09 09:55:18 +01:00
Dylan K. Taylor
58788b4bc7 Removed some unnecessary stuff PhpStorm complained about 2017-10-09 09:46:21 +01:00
Dylan K. Taylor
ae76ac82c8 Removed unnecessary delegate packet handlers
let's keep all the TODOs in one place
2017-10-09 09:44:22 +01:00
Dylan K. Taylor
e4000f8f03 Reorganise some packet methods in Player 2017-10-09 09:35:31 +01:00
Dylan K. Taylor
ebcce43131 Don't hold player references for hiddenPlayers
they aren't needed, and this is just one more thing that could go wrong in Player->close() that could lead to leaks.
2017-10-09 09:20:44 +01:00
Dylan K. Taylor
1a88f59b23 Moved some stuff from join to login
this is how it should be
2017-10-08 19:38:03 +01:00
Dylan K. Taylor
fdfe70b9f2 Removed entity metadata setting from LoginPacket handler
why the f was this here
2017-10-08 19:10:49 +01:00
Dylan K. Taylor
3bda1473e7 Removed outdated documentation for Player->getClientId() 2017-10-08 18:47:13 +01:00
Dylan K. Taylor
29cd071108 Added some documentation on player UUIDs 2017-10-08 18:40:27 +01:00
Dylan K. Taylor
1810088acf Use Player->isCreative() 2017-10-08 18:17:12 +01:00
Dylan K. Taylor
51e4a62e7b Use setUsingItem() instead of directly setting data flags 2017-10-08 18:03:19 +01:00
Dylan K. Taylor
aa91183504 Added Durable class, fixed some tools not breaking correctly, removed some boilerplate code 2017-10-08 15:54:31 +01:00