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
c77e75fa93
FastChunkSerializer: fix typo
2019-06-14 19:42:50 +01:00
468340d55b
this was stupid
2019-06-14 19:41:19 +01:00
8356285b66
Consistently call InventoryCloseEvent
...
this wasn't being fired when a plugin did the removal.
2019-06-14 19:39:35 +01:00
f671f2ebfa
Inventory: drop useless proxy functions
2019-06-14 19:37:45 +01:00
787d305c2a
Player: call InventoryOpenEvent consistently
2019-06-14 19:32:38 +01:00
2cb6fda286
Moved network chunk serializing code to network\mcpe namespace
2019-06-14 18:25:06 +01:00
08de657c8d
Extract FastChunkSerializer unit from Chunk
...
this functionality doesn't directly pertain to Chunk functionality.
2019-06-14 18:19:46 +01:00
92035ac2ec
Chunk: drop premature optimizations
2019-06-14 18:07:13 +01:00
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
c8eefddfc0
Chunk: fix tiles not being loaded from NBT in some cases
2019-06-14 17:59:00 +01:00
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
9e9de1e8ba
Log a debug message when receiving a mismatch transaction
2019-06-13 19:52:53 +01:00
da4c646d27
Simplify InventoryAction implementation
...
none of these action types are able to fail now.
2019-06-13 18:35:05 +01:00
44be2179c4
SlotChangeAction: fix feedback loop
2019-06-13 18:31:25 +01:00
8551d1e282
Remove Inventory->sendSlot() and Inventory->sendContents()
...
the plan is to remove this from inventory entirely and use listeners for this.
2019-06-13 18:14:11 +01:00
7ba1dd3242
BaseInventory: remove setSize()
...
no inventory is designed to deal with this. Changing this can break transactions, specialized logic like double chest / furnace and more.
2019-06-13 17:24:17 +01:00
f128fc1849
Merge branch 'stable'
2019-06-13 16:07:00 +01:00
3568c7b1c7
Merge branch 'stable' of https://github.com/pmmp/PocketMine-MP into stable
2019-06-13 16:05:18 +01:00
862c844759
Write PID into lock file
2019-06-13 15:11:59 +01:00
6bd67730eb
AsyncWorker: use a shorter name on logs
2019-06-13 14:00:26 +01:00
e95d81e04b
Server: fix possible comparison bug in load orders
2019-06-12 19:50:27 +01:00
31f0576725
Server: remove useless constructor assignment
2019-06-12 19:47:51 +01:00
8afea36919
Clean up some internal commands protocol handling
2019-06-12 19:35:14 +01:00
4364d2a942
AvailableCommandsPacket: Clean up internals
...
this is still disgusting, but it's a little more bearable now.
2019-06-12 16:54:30 +01:00
42954c1d72
Server: document the crazy behaviour of some innocent looking functions
2019-06-12 10:14:29 +01:00
9765d78a5d
Merge branch 'stable'
2019-06-11 19:19:32 +01:00
4c5f6eb1b7
Moved preprocessor submodule to build/ directory
2019-06-11 17:56:13 +01:00
858f440bcf
TimingsHandler: return the result of $closure() for easier usage
...
this isn't type safe, but it doesn't matter a whole lot, and there's nothing we can do about it without generics.
2019-06-11 15:04:30 +01:00
de6053de11
TimingsHandler: use a try/finally block in time()
2019-06-11 14:54:54 +01:00
f349a58f2b
TimingsHandler: added time(Closure) function
...
I find myself often using try/finally blocks to avoid accidentally forgetting to stop a timer. This allows a cleaner more concise way of doing it.
2019-06-11 14:46:19 +01:00
1c69226187
NetworkSession: add an extra debug
2019-06-11 09:55:32 +01:00
8e6f21afad
clean up gamemode net sync
2019-06-10 19:58:14 +01:00
f0d56f25b6
Moved creative inventory sync to NetworkSession
2019-06-10 19:54:24 +01:00
dd45753fa9
NetworkSession: add some more debug
2019-06-10 19:47:02 +01:00
3ac0c98199
De-spaghettify spawn notification handling
2019-06-10 19:31:54 +01:00
714393820f
MainLogger: Use millisecond precision on log timestamps
2019-06-10 19:14:08 +01:00
3175a319a2
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/VersionInfo.php
2019-06-10 18:20:01 +01:00
7c1f038f20
3.8.5 is next
2019-06-10 17:56:23 +01:00
a42f68d3cf
Release 3.8.4
3.8.4
2019-06-10 17:55:50 +01:00
b6f3f6120b
InventoryTransaction: Shuffle actions on execution to prevent plugins relying on the order
...
closes #2955
2019-06-10 17:24:16 +01:00
96d3f4f78b
Updated documentation for transaction classes
2019-06-10 17:19:03 +01:00
6756203aec
InventoryTransaction: Added a warning about ordering
2019-06-10 16:54:45 +01:00
419fc418fe
SubChunk: reduce memory usage on fast-deserialized chunks
...
this saves about 25MB RAM on an idle server on HEAD commit with 856 chunks loaded.
2019-06-10 15:52:21 +01:00
261ba017a6
Merge branch 'stable'
2019-06-10 11:15:17 +08:00
adb78679c5
Added link to docker image
2019-06-09 18:47:04 +08:00
c1f900ab18
Start using transactions for block placement
2019-06-08 18:56:27 +01:00
f84040a7ad
FlowerPot (tile): Allow BlockFactory to determine id/data validity
2019-06-08 17:55:50 +01:00
1b629d7ac0
implement daylight sensor power recalculation
2019-06-08 17:52:47 +01:00
73964e6e2f
Always do chunk relighting for unlit chunks on load
...
this is necessary because we stopped saving light info some time ago, so it has to be calculated on load for things to work properly.
2019-06-08 17:47:55 +01:00