441b06f6c7
Merge branch 'stable' into next-minor
2022-09-15 12:44:53 +01:00
f88c4d9a8c
Remove more unnecessary local static variable usages
...
these are never mutated. Local constants would be better, if we had those.
2022-09-02 19:19:04 +01:00
2940547026
Eliminate repeated calls to Position->getWorld()
...
as well as improving readability, it also improves performance in some areas.
2022-07-20 20:44:05 +01:00
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00
6482aa7c64
Block: introduce logic for face support types ( #4886 )
...
fixes #4856
fixes #458
fixes #4529
fixes #3299
Added API method Block::getSupportType(Facing) : SupportType
Added SupportType enum
fixes torch, lantern, door etc. placement on slabs and upside-down stairs
2022-05-20 15:18:34 +01:00
0642364a44
block: added constants for various integer property bounds
2022-01-28 21:27:30 +00:00
79d1feff9c
Replace disallowed operators in src/block/
2022-01-20 16:57:09 +00:00
7fd712c1ff
Refactor Block & Tile: getPos() to getPosition() ( #4395 )
...
this also changes the name of the class property 'pos' to 'position' as well as Block->getPosOffset() to Block->getPositionOffset()
2021-08-23 14:01:32 +01:00
f68b9e79e1
Use typed properties in block namespace
2021-05-22 23:52:31 +01:00
376d2c4cd4
Consistently declare BlockBreakInfo at the constructor call site
...
instead of inside the class
2021-05-20 22:49:51 +01:00
32929925aa
Block: added a bunch of state manipulation APIs
2020-11-03 19:13:32 +00:00
de6d260b76
Fixed cactus and sugarcane trying to grow past the top of the world
2020-10-17 15:05:55 +01:00
8e12693494
Entity: Invalid blocksAround cache when something happens during onEntityInside()
...
this fixes TNT spawning multiple entities when lit by flaming arrows.
The problem here is a bit more complex (entities aren't immediately notified when local block updates happen, so they cache stuff that becomes unusable). The simplest option would be to just lose the cache, but that would have some impacts on performance.
Barring a rethink of the block updating mechanism, this solution seems usable for now.
2020-09-25 16:35:59 +01:00
670ad9eb9d
Position: rename getWorldNonNull() to getWorld(), remove original getWorld()
2020-06-29 21:19:46 +01:00
86e051b7bf
Merge commit 'a2543ff80d2906bccda1a4e2fdbd9d8e7d147fb3'
2020-04-18 17:33:05 +01:00
4898a35613
cleanup block dual bounding box clusterfuck
...
"bounding box" serves no tangible purpose, only collision boxes do right now.
2019-08-15 17:23:55 +01:00
53ab860db5
first shot making Block not extend Position
...
this makes some stuff a lot less pretty, but this seems to be the bare minimum necessary to do this task. It can be enhanced later.
2019-08-05 16:44:09 +01:00
5499ac620c
Removed pocketmine subdirectory, map PSR-4 style
2019-07-30 19:14:57 +01:00