Commit Graph

6778 Commits

Author SHA1 Message Date
7eaca6bbaa Separate packet-sender functionality from NetworkInterface, break cyclic dependency between NetworkInterface and NetworkSession 2019-06-26 18:19:29 +01:00
9cedfeb2b2 Use the appropriate synchronization for held item rollbacks 2019-06-26 17:56:39 +01:00
f62d9cbb99 Player: rename equipItem() to selectHotbarSlot() 2019-06-26 15:52:01 +01:00
7bdb99ae8b Player: fixed consumable relying on undefined network behaviour to set using-item flags 2019-06-26 15:47:16 +01:00
eee039a490 Player: don't fire events on equipItem() when sending the same slot 2019-06-26 15:32:57 +01:00
ee72680f44 Removing "metadata": overengineered useless Bukkit copy-pasta
the intentions of this are good, but the usability is terrible and it's not fit for purpose. Since there are a total of zero plugins on Poggit which use this garbage, it makes more sense to eliminate the technical debt. See #2766 for discussion about replacing this.
2019-06-26 14:43:21 +01:00
26178b4435 InventoryManager: remove redundant cyclic dependency 2019-06-26 13:57:52 +01:00
9bebc6c69d PreSpawnPacketHandler: drop useless sending time
this is already sent in StartGamePacket.
2019-06-26 13:46:53 +01:00
4448919a8b Consider unknown chunk formats as corrupted
the reasoning for this is that the world version number should have accounted for a chunk format change. If it didn't, then we assume any chunk with a wrong version number is corrupted, since the handling of unknown formats is the same as that of corrupted chunks.
2019-06-26 13:22:45 +01:00
42b1c45fa5 Player: remove deprecated parameter from sendPopup() 2019-06-25 19:41:00 +01:00
a6395c9ac7 allow use of any iterable for enum initialization
this allows possible use of generators
2019-06-25 19:37:31 +01:00
44b7239847 SetDefaultGameTypePacket: added ::create()
not using this yet, but it was in my workspace and it might come in useful
2019-06-25 19:28:30 +01:00
e8d9acb59f added NoteSound and NoteInstrument enum 2019-06-25 19:26:18 +01:00
73938486fc added PaintingPlaceSound 2019-06-25 18:39:02 +01:00
6bbae4b2df SetDifficultyPacket: added create() 2019-06-25 18:34:12 +01:00
ff55f5e9ac Make BlockInventory non-abstract 2019-06-25 17:45:07 +01:00
f152ae9cbf EntityFactory: Allow registering entities without legacy numeric IDs associated
this shit really ought to be broken up into factories for each world format.
2019-06-25 17:23:41 +01:00
c19c42a934 PlayerBlockPickEvent: pre-cancel the event when picking would fail in survival 2019-06-25 16:30:07 +01:00
edccce1419 added ChunkListenerNoOpTrait to reduce chunklistener boilerplate 2019-06-25 16:23:43 +01:00
d85a27c5b2 BanList: remove useless Server dependency 2019-06-25 15:54:26 +01:00
8ec25b59a3 Remove useless $items parameter from inventory constructors 2019-06-25 15:43:55 +01:00
94ee33e47b Moved common Thread parts to trait 2019-06-25 14:57:40 +01:00
75a4136ab2 Player: fix bug in unloadChunk() causing entity artifacts on world change 2019-06-25 14:17:56 +01:00
de10e401bf Fixed wrong chunks being sent to players post-teleport or post-world-change 2019-06-25 13:41:03 +01:00
d15284e638 work on moving inventory network functionality to network layer 2019-06-25 13:28:01 +01:00
9f09dc3dd7 Player: Log a debug message when GC kicks in
I use this frequently to identify leaks. This isn't expected to appear immediately after disconnect, but it shouldn't take long to appear.
2019-06-24 17:46:30 +01:00
91580ce321 fix bug in InventoryCloseEvent 2019-06-24 17:27:12 +01:00
181cfef731 Remove a whole bunch of useless crap from PluginLogger
this is pretty much just an implementation of a NTS attachable logger now. It should probably be converted into a trait.
2019-06-23 19:39:40 +01:00
197a56e3e1 move BookEditPacket handler out of Player 2019-06-23 19:23:20 +01:00
3103579ba6 Merge branch 'stable' 2019-06-22 20:26:21 +01:00
6925451f3f StartGamePacket: added rogue field
this was added after 1.11.0 without a protocol version bump.
2019-06-22 20:25:50 +01:00
0273bd4f53 Merge branch 'next-minor' 2019-06-22 16:05:17 +01:00
6afc689529 Add Level->getTimeOfDay(), closes #2908 (#2979) 2019-06-22 16:00:18 +01:00
ce74549ba3 Use 10 bits for Y coordinate in blockhash
fixes #2553
2019-06-22 15:53:56 +01:00
ff8ca99c9f CrashDump: revert removal of RCON password redact in 738e310798
there's guaranteed to be some plant pot who uses 4.0, leaks his RCON password, downgrades back to 3.x, and then gets hacked.
2019-06-18 19:53:43 +01:00
2559f5ec2b Moved Player-related classes to pocketmine\player namespace 2019-06-18 18:51:36 +01:00
c66af4648c Move thread-related classes from pocketmine to pocketmine\thread namespace 2019-06-18 17:36:25 +01:00
075f49aef0 don't send double disconnect messages 2019-06-18 16:22:41 +01:00
709963f90a shut up PhpStorm 2019-06-18 16:07:43 +01:00
b18bd4f33c rename SessionHandler -> PacketHandler 2019-06-18 16:02:46 +01:00
87c3636d44 ResourcePacksSessionHandler: moar debug 2019-06-18 15:10:58 +01:00
94299534b3 NetworkSession: fix some blind spots on logging 2019-06-18 15:01:44 +01:00
9df2ca3655 fixup some formatting issues 2019-06-18 14:12:37 +01:00
bb675ac99b Set parallel bootstrap file if the extension is loaded 2019-06-18 14:05:39 +01:00
7b049b6db1 NetworkSession: use a better check for timeout 2019-06-17 17:30:42 +01:00
e0a9ea2573 Player: clean up some crazy spawn logic in constructor
this was probably a leftover from some old code, I guess
2019-06-17 17:07:31 +01:00
db3305cb16 Remove Entity->isClosed() checks from places where they don't make sense
in all of these cases, this is just potentially concealing bugs. Closed entities should never appear at these points.
2019-06-17 16:39:46 +01:00
92e81e3298 Player: move some respawn net sync logic to NetworkSession 2019-06-17 16:27:04 +01:00
3c677bd3ec added PermissibleDelegateTrait to cut down boilerplate in Player and ConsoleCommandSender 2019-06-17 16:10:13 +01:00
20f092a685 Living: Do not use spl_object_id() for identifying effects
it's possible for these to have different IDs if they were cloned, serialized or copied between threads.
2019-06-17 15:58:33 +01:00