b92a2ded8a
RegionLoader: check for zero sector count when loading location table
...
implementations shouldn't be writing location entries that have an offset but zero sectors, but just in case they do, we need to be aware of it.
2020-06-15 12:08:55 +01:00
22f25dfbdb
RegionLocationTableEntry: require sector count to be at least 1
2020-06-15 12:05:48 +01:00
6bf840c72e
RegionLoader: use actual null instead of zeroed entry for non-allocated chunks
...
this forces the code to be properly aware of non-allocated chunks, because it'll crash with NPE if it isn't.
2020-06-15 12:02:03 +01:00
745be19a56
RegionLoader: fixed regions ballooning when writing chunks to the end of file
...
we already have a region growth problem due to the lack of garbage collection, but this bug was making it worse. If the region already contained 1024 allocated chunks, 4MB of file space would get wasted before the next chunk would be appended to the file.
2020-06-14 23:40:33 +01:00
e05bee5ffb
RegionLoader: do a full check for chunk overlaps during initial load
2020-06-14 22:39:01 +01:00
d8d994351b
phpstan 0.12.29
2020-06-14 16:25:55 +01:00
0029efa370
Server: add getPlayerDataPath(), reduce logic duplication
2020-06-14 12:40:24 +01:00
df13e967fd
imports cleanup
2020-06-14 10:27:15 +01:00
097c260dbb
Eradicate all usages of strtoupper()
...
strtoupper() is an evil function whose behaviour depends on the system locale. mb_strtoupper() has more consistent behaviour.
2020-06-13 19:47:00 +01:00
710c162604
QueryRegenerateEvent: fixed possible type violation on listPlugins
2020-06-10 12:11:39 +01:00
409c8c1703
TimingsCommand: workaround a PHPStan type specifying bug
2020-06-10 12:11:10 +01:00
376926c700
TimingsCommand: fix missing type information for async task local storage
2020-06-10 12:10:33 +01:00
c3fabe833e
FileWriteTask: mark as deprecated
2020-06-10 11:22:18 +01:00
3e09ff5350
EnchantTable: fix formatting issue [ci skip]
2020-06-10 10:54:22 +01:00
7255065106
LevelDB: stop passing false to places where it's not expected
2020-06-10 10:45:54 +01:00
76f1add3b3
Timezone: return false if date_parse() fails
...
I hate this, but I don't want to change it to throw right now because it'll create a bunch of extra work.
2020-06-10 10:34:34 +01:00
fcc9e62c65
CommandEnum: specify enumValues type
...
phpstan 0.12.26 starts reporting errors about the result of array_search() being given to some constructor or another because of the lack of key type specification.
2020-06-10 10:33:35 +01:00
3d50aafcc4
ShapedRecipe: remove a curly-brace array-access that nothing noticed
2020-06-06 11:12:45 +01:00
a27b29897c
TimingsCommand: tell operators what's going on for audit purposes
...
previously nobody except the person who was managing timings would know that timings was running, being pasted or whatever else. Since timings can impact performance (and, for example, block the main thread when writing timings to a file), access to it should be logged so that server owners know what's going on.
2020-06-05 11:12:36 +01:00
dfbd857771
3.13.1 is next
2020-06-04 20:01:28 +01:00
323d96d5c1
Release 3.13.0
2020-06-04 20:01:27 +01:00
f495ba1d0b
Merge branch 'next-minor' into stable
2020-06-04 19:59:46 +01:00
643cf0ebf8
3.12.7 is next
2020-06-04 19:55:09 +01:00
1614206a6d
Release 3.12.6
2020-06-04 19:55:09 +01:00
0ae2c6302a
Merge branch 'stable' into next-minor
2020-06-04 13:59:30 +01:00
f4ee2912db
Server: tell me what is wrong when crash archive submission fails
2020-06-04 13:48:40 +01:00
a0de9b0d46
Player: use real time to update rate limit, fixes #3554 (except in very extreme cases)
2020-06-04 13:39:26 +01:00
03e8cd3ed4
Player: fixing ground state handling in spectator mode, closes #3552 , closes #3553
2020-06-04 11:10:21 +01:00
7af4e70f64
Entity: fixed movement updates not firing after teleport
...
this became obvious by teleporting non-moving entities into the air and observing that they didn't fall.
2020-06-04 10:52:04 +01:00
c864647cd1
Merge branch 'stable' into next-minor
2020-06-03 13:04:08 +01:00
92ed9e6125
3.12.6 is next
2020-06-03 10:59:33 +01:00
c32026333f
Release 3.12.5
2020-06-03 10:59:33 +01:00
915224c8e5
Living: fix being unable to die in the void
2020-06-02 23:18:40 +01:00
734bc6c4a7
3.12.5 is next
2020-06-02 18:40:33 +01:00
d36b24c518
Release 3.12.4
2020-06-02 18:40:33 +01:00
d554d8060b
fixed absorption hearts not being consumed, closes #3546
...
this was caused by a bad fix for switching. we can't consider zero-damage attacks as cancelled because zero-damage might have been the result of things like consuming absorption hearts, so the aftereffects need to be processed even when the net damage is zero.
2020-06-02 10:09:18 +01:00
3be83e09f2
Revert BC-breaking backport from b38c81c96
...
this can't be applied to a minor version because it places additional requirements on the Inventory contract.
2020-06-01 13:51:36 +01:00
f24be2b055
Merge branch 'stable' into next-minor
...
# Conflicts:
# src/pocketmine/Player.php
# src/pocketmine/block/SnowLayer.php
2020-06-01 13:42:59 +01:00
92cffc00d0
3.12.4 is next
2020-06-01 13:18:28 +01:00
e87e974323
Release 3.12.3
2020-06-01 13:18:28 +01:00
a3f6338626
Player: fixed internal server error when using insert-before on a client-sided book page
2020-06-01 12:59:18 +01:00
21aef97ba7
Player: fixed swapping book pages that only exist client-side, closes #3322
2020-06-01 12:50:39 +01:00
ed0d1978aa
WritableBook: fixed thrown exception when asking for a page that doesn't exist (it's allowed to return null for a reason ...)
2020-06-01 12:46:41 +01:00
d64561b0b1
Fixed internal server error when deleting book pages that only exist client side
2020-06-01 12:39:17 +01:00
d234d3e45e
ParticleCommand: added mobflame, closes #3102
2020-05-31 20:28:57 +01:00
5056754cea
NetworkBinaryStream: do not round vectors directly on reading
...
fixes #3199
2020-05-31 20:17:42 +01:00
2dc3cf8162
InventoryTransaction: sync inventories before throwing validation exception to caller
...
fixes #3226
really the transaction shouldn't be handling inventory sync at all, but that's a job for another commit.
2020-05-31 20:10:29 +01:00
8c5a81cf5c
Living: improved projectile knockback
...
this isn't pretty, but it works. I have a nicer idea how to do this on PM4, but it's going to involve BC breaks (as usual).
closes #3382
2020-05-31 20:04:12 +01:00
2b58f2bafd
FallingBlock: remove superfluous transparent check, closes #3339
2020-05-31 19:54:47 +01:00
5dadf12374
Living: fixed cooldown damage logic, closes #2939
2020-05-31 19:46:51 +01:00