10180 Commits

Author SHA1 Message Date
Dylan K. Taylor
3c677bd3ec added PermissibleDelegateTrait to cut down boilerplate in Player and ConsoleCommandSender 2019-06-17 16:10:13 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
fe98b6c765 EnumTrait: rename getEnumName() -> name()
this is more concise and brings it more in line with Java.
2019-06-17 14:55:25 +01:00
Dylan K. Taylor
c45c1c930e SetEntityMotionPacket: Mark as garbage serverbound 2019-06-17 14:22:08 +01:00
Dylan K. Taylor
b344427a30 Added a hack to allow dropping garbage serverbound packets sent by a buggy client 2019-06-17 14:20:29 +01:00
Dylan K. Taylor
698193622a WorldManager: rename get/setAutoSaveTicks() to get/setAutoSaveInterval()
this is less ambiguous.
2019-06-16 18:23:13 +01:00
Dylan K. Taylor
4878fc4c93 Merge branch 'stable' 2019-06-16 17:18:17 +01:00
Dylan K. Taylor
cd48d8272c added changelog for 3.8.5 2019-06-16 17:17:21 +01:00
Dylan K. Taylor
6d09460abc Merge branch 'changelogs' into stable 2019-06-16 17:12:57 +01:00
Dylan K. Taylor
b71bb867f4 DefaultPermissions: remove pocketmine.command.reload 2019-06-16 16:52:47 +01:00
Dylan K. Taylor
94180cda72 Merge branch 'next-minor' 2019-06-16 16:42:05 +01:00
Dylan K. Taylor
5a17a0d1aa Merge branch 'stable' into next-minor 2019-06-16 16:37:23 +01:00
Dylan K. Taylor
b38c81c96f backport f84a1729c: Inventory: added swap() function 2019-06-16 16:35:34 +01:00
Dylan K. Taylor
0fabc0c199 backport b8d1eb20b: EntityDeathEvent: add XP amount API, closes #2690 2019-06-16 16:31:03 +01:00
Dylan K. Taylor
0ca07ad075 Fire QueryRegenerateEvent every 1 second instead of every 25, fixes #2670 2019-06-16 16:17:06 +01:00
Dylan K. Taylor
60b183b0d9 backport a753c1342: Clean up Query cache handling, remove useless timeouts
the timeout was entirely useless, because:
- when shorter than 25.6 seconds (512 ticks) it would cause caches to be needlessly destroyed and regenerated
- when longer than 25.6 seconds, just made outdated caches persist for longer, even after the query info was regenerated.

This now uses a mark-dirty model to deal with caches, which means that plugin modifications to the query data will be reflected immediately, regardless of when they are made. Previously, modifying the result of Server->getQueryInformation() would have inconsistent results.
2019-06-16 16:08:27 +01:00
Dylan K. Taylor
ec5598dbb1 Deprecate things removed in acb794e72 and 97c836f19 2019-06-16 15:37:27 +01:00
Dylan K. Taylor
5d3b4f23a3 Merge branch 'next-minor' 2019-06-16 14:52:37 +01:00
Dylan K. Taylor
7b98d203f4 Merge branch 'stable' into next-minor 2019-06-16 14:47:01 +01:00
Dylan K. Taylor
dbf4054b1f backport 209135492: UUID: add type docs 2019-06-16 14:44:13 +01:00
Dylan K. Taylor
82e4ef6d48 backport d8c81c0a1: UUID: remove useless default values
these are overwritten by the constructor, so they have no use here.
2019-06-16 14:43:28 +01:00
Dylan K. Taylor
4635b93f4d backport 23071d257 + deprecations: Extract process-related functions from Utils into a separate Process class 2019-06-16 14:40:51 +01:00
Dylan K. Taylor
a8433697ad backport aaaddd1fd: Terminal: stick a RESET on the end when writing a newline 2019-06-16 14:25:16 +01:00
Dylan K. Taylor
d0d300a6f8 backport 342b48b75: VersionString: Use the correct bitwise operators 2019-06-16 14:21:02 +01:00
Dylan K. Taylor
680cdb8e3e backport f5dbbea5f: Utils: added recursiveUnlink() 2019-06-16 14:20:05 +01:00
Jack M. Taylor
eaa78fe849 backport 205e13d88: Config: add getPath() (#2758)
Config->getPath() returns the path of the config i.e. the place where the config file is located.
2019-06-16 14:18:50 +01:00
Dylan K. Taylor
eedea4998b Terminal: Added write() and writeLine() to allow easily emitting Minecraft-formatted text to the console 2019-06-16 14:16:14 +01:00
Dylan K. Taylor
4e5a80c481 Recipe: deprecate interface 2019-06-16 14:12:49 +01:00
Dylan K. Taylor
4d54dc30c1 crafting: deprecate some stuff that's been removed on bleeding edge 2019-06-16 14:11:08 +01:00
Dylan K. Taylor
ac5339414a Merge branch 'stable' into next-minor
# Conflicts:
#	build/preprocessor
2019-06-16 14:08:06 +01:00
Dylan K. Taylor
6161155660 CraftingManager: micro optimization: reuse closure for item deserialize & reduce indirection 2019-06-16 14:05:37 +01:00
Dylan K. Taylor
2a5561fcd1 added more MultiRecipe UUIDs 2019-06-15 19:51:59 +01:00
Dylan K. Taylor
4e734989bc fixing add/remove items from anvil & enchanting table
the functionality of these don't work yet, but the inventories work more correctly now.
2019-06-15 18:56:42 +01:00
Dylan K. Taylor
93b83b4189 Player: Window system now only allows 1 window at a time 2019-06-15 18:19:09 +01:00
Dylan K. Taylor
312a755a27 Player: rename $windows to $inventoryNetworkIdMap 2019-06-15 15:51:43 +01:00
Dylan K. Taylor
a94541c531 Split CreativeInventoryAction into two new action types 2019-06-15 14:40:15 +01:00
Dylan K. Taylor
4bbf1d56dc NetworkInventoryAction: shorten exception message
This is logged with the network session's logger, which provides context information already.
2019-06-15 14:27:11 +01:00
Dylan K. Taylor
50a7fc0ba3 Rework inventory window open/close handling
- This fixes InventoryOpenEvent and InventoryCloseEvent being fired for persistent windows. Close #2950
- The ability to specify a custom network ID to assign the inventory to in addWindow() has been removed.
- The ability to assign a non-removable window in addWindow() has been removed.
- The ability to remove non-removable windows in removeWindow() and removeAllWindows() has been removed. This was previously needed for internal purposes.
2019-06-15 14:23:02 +01:00
Dylan K. Taylor
c77e75fa93 FastChunkSerializer: fix typo 2019-06-14 19:42:50 +01:00
Dylan K. Taylor
468340d55b this was stupid 2019-06-14 19:41:19 +01:00
Dylan K. Taylor
8356285b66 Consistently call InventoryCloseEvent
this wasn't being fired when a plugin did the removal.
2019-06-14 19:39:35 +01:00
Dylan K. Taylor
f671f2ebfa Inventory: drop useless proxy functions 2019-06-14 19:37:45 +01:00
Dylan K. Taylor
787d305c2a Player: call InventoryOpenEvent consistently 2019-06-14 19:32:38 +01:00
Dylan K. Taylor
2cb6fda286 Moved network chunk serializing code to network\mcpe namespace 2019-06-14 18:25:06 +01:00
Dylan K. Taylor
08de657c8d Extract FastChunkSerializer unit from Chunk
this functionality doesn't directly pertain to Chunk functionality.
2019-06-14 18:19:46 +01:00
Dylan K. Taylor
92035ac2ec Chunk: drop premature optimizations 2019-06-14 18:07:13 +01:00
Dylan K. Taylor
722da5e88d Simplify hasChanged handling for chunk init
we always want chunks to be saved if they have tiles or entities
2019-06-14 18:00:37 +01:00
Dylan K. Taylor
c8eefddfc0 Chunk: fix tiles not being loaded from NBT in some cases 2019-06-14 17:59:00 +01:00
Dylan K. Taylor
211836274f World: remove redundant checks
when entities are added and removed which are savable, the dirty flag is set anyway, so these checks aren't needed.
2019-06-14 17:47:39 +01:00
Dylan K. Taylor
5d531b56db travis.sh: lock down PHPUnit at 7.5.11
7.5.12 makes changes which assume libxml is present, which isn't the case with our PHP builds.
2019-06-14 16:58:56 +01:00