13456 Commits

Author SHA1 Message Date
Dylan K. Taylor
1f9400f901
World: automatically remap invalid blockstates on chunk load
this fixes a wide range of blocks with invalid blockstates becoming update! blocks on the client.

The most common occurrence of this was air with nonzero metadata left behind by world editors which set blockIDs but not block metadata. This caused large ghost structures of update! blocks to appear from nowhere.

The performance impact of this is very minimal (20 microseconds per chunk load in timings, compared to average 660 microseconds to load tiles).
2021-11-27 01:12:30 +00:00
Dylan K. Taylor
e5149756a8
WorldTimings: fixed merge error introduced by 3bf87378ef24eec8845bb048a6916f188d9b1220 2021-11-27 00:06:09 +00:00
Dylan K. Taylor
c19174a174
3.25.7 is next 2021-11-26 23:37:47 +00:00
Dylan K. Taylor
f95142f6b6
Release 3.25.6 2021-11-26 23:37:46 +00:00
Dylan K. Taylor
32f619ac49
3.25.6 is next 2021-11-26 23:20:48 +00:00
Dylan K. Taylor
1bb6ac4fb6
Release 3.25.5 2021-11-26 23:20:40 +00:00
Dylan K. Taylor
533d3aae8b
Merge branch 'stable' 2021-11-26 22:41:18 +00:00
Dylan K. Taylor
71b813d4f9
Define pocketmine\BUILD_NUMBER from phar metadata
this way we don't have to patch the code (no idea why we were doing that anyway).
2021-11-26 22:27:58 +00:00
Dylan K. Taylor
f2540a72ad
Backport improved make-release.php from PM4 2021-11-26 22:10:46 +00:00
Dylan K. Taylor
1bc7869f6e
Added remapping for almost 4000 invalid blockstates
when a block has sole ownership of an ID, the state bitmask can be ignored and we can just claim the whole metadata range for that single block.
This fixes a large number of issues with unknown blocks on older worlds where world editors did not remove the metadata, although update blocks will currently still appear on initial chunk send due to lack of AOT conversion (TODO).
2021-11-26 01:58:52 +00:00
Dylan K. Taylor
5556861000
ItemFactory: move SweetBerries registration to the correct place 2021-11-26 00:46:35 +00:00
Dylan K. Taylor
7dd5d0b593
4.0.0-BETA14 is next 2021-11-25 00:40:43 +00:00
Dylan K. Taylor
9338d42742
Release 4.0.0-BETA13 2021-11-25 00:40:40 +00:00
Dylan K. Taylor
9346ecdc39
Merge branch 'stable' 2021-11-25 00:01:48 +00:00
Dylan K. Taylor
c023c02b6c
MemoryManager: Removed obsolete workaround for $GLOBALS not being defined on threads
this was long since fixed, and everyone has since been forced to upgrade to pthreads 4.0.0, which definitely has the fix.
2021-11-24 23:57:55 +00:00
Dylan K. Taylor
40575a6dcf
Merge branch 'master' of github.com:pmmp/PocketMine-MP 2021-11-24 23:43:03 +00:00
Dylan K. Taylor
0fe6038c41
Merge branch 'stable' 2021-11-24 23:41:40 +00:00
Colin
ad56392d95
Skull: fixed calculation of collision boxes (#4591) 2021-11-24 21:42:51 +00:00
Dylan K. Taylor
472ffb28ff
ScriptPluginLoader: use parseDocComment() instead of reinventing the wheel 2021-11-24 17:22:49 +00:00
Dylan K. Taylor
726c5652f7
ScriptPluginLoader: fixed reading @tags from non-docblock lines preceding the first docblock 2021-11-24 17:07:34 +00:00
Dylan K. Taylor
b784a04e08
Utils: fixed parseDocComment() ignoring tags containing hyphens 2021-11-24 16:38:37 +00:00
Dylan K. Taylor
5c7125f190
Improved error handling for loading broken entity / tile data 2021-11-23 17:41:26 +00:00
Covered123
eb0cf52d81
Remove useless code (#4590) 2021-11-23 17:09:33 +00:00
Dylan K. Taylor
d8f0fd0a7e
McRegion: skip chunks with TerrainGenerated=false
legacy PM used to save even ungenerated chunks, and omitted some tags when doing so which we expect to always be present.
2021-11-23 01:49:48 +00:00
Dylan K. Taylor
fb0eebc0dc
RegionWorldProvider: Show a more specific message on missing required ByteArrayTags 2021-11-23 01:39:35 +00:00
Dylan K. Taylor
020cd7b966
CrashDump: fixed encodedData being uninitialized before getEncodedData() is called 2021-11-22 22:31:07 +00:00
Dylan K. Taylor
c37c261c0f
Separate crashdump file generation from crashdump data collection
this allows CrashDump to be used just to generate data, which will come in useful for non-crash error reporting in the future (e.g. packet decoding errors).
2021-11-22 22:19:40 +00:00
Dylan K. Taylor
2bb97d8904
Be quiet CS 2021-11-22 15:40:47 +00:00
Dylan K. Taylor
d3878b2d57
fixed spam 2021-11-22 15:37:33 +00:00
Dylan K. Taylor
cbe0f44c4f
ConsoleReaderChildProcess: Commit suicide in more cases
this makes it slightly less annoying to get rid of as an orphan process, though it still won't immediately die.
2021-11-22 14:58:45 +00:00
Dylan K. Taylor
fc7d297f60
Added missing fields of StructureSettings 2021-11-21 20:51:35 +00:00
Dylan K. Taylor
7b4ef293bd
NetworkBinaryStream: fixed incorrect field types for StructureSettings 2021-11-21 20:49:00 +00:00
Rush2929
b34e6f53eb
Changed visibility of Projectile->move to Protected. (#4585) 2021-11-19 23:21:10 +00:00
Dylan K. Taylor
4599913034
Separate crashdump rendering from crashdump data collection
this allows this code to be reused for reproducing crashdumps based on the original data.
2021-11-18 00:58:20 +00:00
Dylan K. Taylor
c48aa274e7
Merge branch 'master' of github.com:pmmp/PocketMine-MP 2021-11-15 22:52:47 +00:00
Dylan K. Taylor
269231c228
Ban foreach(arrayWithStringKeys as k => v)
this is not as good as phpstan/phpstan-src#769 (e.g. array_key_first()/array_key_last() aren't covered by this, nor is array_rand()) but it does eliminate the most infuriating cases where this usually crops up.
2021-11-15 22:52:05 +00:00
ねらひかだ
4cad552909
Allow input of relative coordinates to setworldspawn command (#4575) 2021-11-14 20:07:37 +00:00
Dylan K. Taylor
2f408708f0
Explosion: fixed blocks with tiles not using said tiles for drop info
closes #4571
2021-11-14 16:27:47 +00:00
Dylan K. Taylor
3dd03075cb
StringToItemParser: added some quality-of-life aliases 2021-11-14 15:52:50 +00:00
Dylan K. Taylor
82b5bca83e
Merge branch 'master' of github.com:pmmp/PocketMine-MP 2021-11-14 15:52:05 +00:00
Dylan K. Taylor
639867a640
Added missing aliases for wooden items 2021-11-14 15:51:41 +00:00
ねらひかだ
d4a382d568
Fix position of setworldspawn command (#4574)
* The world spawn position is no longer rounded

* Remove round() since the position is always int
2021-11-14 15:40:20 +00:00
Covered123
399824c31c
Add correct drop for Podzol (#4573) 2021-11-14 14:15:36 +00:00
Dylan K. Taylor
e4754ab029
PluginBase: Improved error messages for commands containing illegal characters 2021-11-12 00:16:53 +00:00
Dylan K. Taylor
73592349cd
4.0.0-BETA13 is next 2021-11-09 16:50:46 +00:00
Dylan K. Taylor
635a9143de
Release 4.0.0-BETA12 2021-11-09 16:50:42 +00:00
Dylan K. Taylor
c3ec9c0948
Effect default duration is once again NOT hardcoded, like PM3
I have no fucking idea why I hardcoded this to begin with. Not one of my better ideas ...
2021-11-09 01:52:47 +00:00
Dylan K. Taylor
09a2e006a8
CS AGAIN 2021-11-09 00:20:06 +00:00
Dylan K. Taylor
fed59d3ebe
added missing file 2021-11-09 00:11:39 +00:00
Dylan K. Taylor
c7beb0a702
Clean up inventory auto close mess from PM3
on PM3 there was no concept of 'current window', we had no idea which window the player was actually looking at.
2021-11-08 23:51:25 +00:00