Dylan K. Taylor
e39d2c4621
Beacon: fixed crash in PC worlds
2020-10-06 13:40:49 +01:00
Dylan K. Taylor
dfee8b7fa5
Added SignLikeRotationTrait
2020-10-04 21:09:45 +01:00
Dylan K. Taylor
fc1084d65c
Sponge: fixed wet/dry state not persisting in inventory
2020-10-04 19:42:29 +01:00
Dylan K. Taylor
309d23acfb
regenerated blockfactory consistency check
2020-10-04 19:12:36 +01:00
Dylan K. Taylor
6fb45de405
fixed phpstan baseline
2020-10-04 19:12:04 +01:00
Dylan K. Taylor
7f9c4355f0
Revert back to floor/wall banner variants
...
this code largely duplicates the same code in FloorSign/WallSign and needs to be de-duplicated.
2020-10-04 19:05:43 +01:00
Dylan K. Taylor
505d4e402f
ItemFactory: do not reuse the same itemstack instance for air()
...
this is mutable, so it's possible for plugins to mess with it and break everything that references it.
2020-10-04 18:36:46 +01:00
Dylan K. Taylor
c42a6d7552
ItemBlock no longer depends on legacy ID/metadata
2020-10-04 18:27:20 +01:00
Dylan K. Taylor
7ef794d725
imports cleanup
2020-10-04 18:22:07 +01:00
Dylan K. Taylor
d3a3a41d2b
Revert back to separated floor/wall sign
...
the conditionally useless properties are problematic.
2020-10-04 17:52:23 +01:00
Dylan K. Taylor
e6bf7278fc
Sign: remove obsolete clone hook
...
this is no longer required because SignText is not mutable anymore.
2020-10-04 17:24:40 +01:00
Dylan K. Taylor
388a19ef5d
Persistent block metadata may now have mutable parts
...
Not allowing this makes stuff like anvil damage, colour, wood type, live/dead bit, wet/dry etc all too much hassle to deal with.
Naturally I want to get rid of this shit altogether, but first it's necessary to construct a new system that we can shift into before all this bullshit can be addressed fully, so for now we have to work within the bounds of the old system.
This change will permit dynamic colours for concrete/concrete powder etc, dynamic wood types where the wood type isn't embedded in the legacy ID, and so forth. Allowing full flexibility requires either more old system hacks or completing the migration to a new system which doesn't have these limitations. I prefer to do the latter, but this change will make it somewhat easier to do.
2020-10-04 11:40:05 +01:00
Dylan K. Taylor
9191e75392
LevelDB: quick and dirty hack for air with bad metadata
...
this needs a proper solution, but this is a pressing issue that can't wait.
2020-10-03 16:41:26 +01:00
Dylan T
d0213f99ac
MountainsBiome: fix error from stale PR merge
2020-10-02 12:24:18 +01:00
IceCruelStuff
a77970448e
Emerald ore in Mountains biome ( #3750 )
2020-10-02 12:07:49 +01:00
Dylan K. Taylor
e17629244c
Merge branch 'master' of https://github.com/pmmp/pocketmine-mp into master
2020-10-02 01:00:21 +01:00
Dylan K. Taylor
5807a385cc
Added stub classes for Beacon
...
this doesn't do anything yet, it's intended solely to prevent further loss of data.
2020-10-02 00:59:53 +01:00
Tayyab R
6734dcc79f
Introduce PlayerDisplayNameChangeEvent (listen only) ( #3847 )
2020-10-01 22:23:02 +01:00
Dylan K. Taylor
7a436dc47c
updated blockfactory consistency check
2020-10-01 22:10:02 +01:00
Dylan K. Taylor
4492c80af1
Merge remote-tracking branch 'origin/stable' into master
...
# Conflicts:
# composer.lock
# resources/vanilla
2020-10-01 22:08:27 +01:00
Dylan K. Taylor
201bdc069c
phpstan 0.12.47
2020-10-01 22:07:43 +01:00
Dylan T
8db7867881
travis: notify about build results
2020-10-01 22:05:12 +01:00
Dylan K. Taylor
84feec954f
BlockLegacyMetadata: Added constants for mushroom block variants
2020-10-01 21:41:46 +01:00
Dylan K. Taylor
14c156b162
Added ChemicalHeat block stub
2020-10-01 14:46:14 +01:00
dependabot-preview[bot]
d8f8afe531
Bump phpstan/phpstan from 0.12.46 to 0.12.47 ( #3844 )
2020-09-30 10:51:33 +00:00
dependabot-preview[bot]
7dabf305f8
Bump phpstan/phpstan from 0.12.44 to 0.12.46 ( #3841 )
2020-09-29 07:01:51 +00:00
Dylan K. Taylor
12087c9850
Wall: use facing as value as well as key in connections
2020-09-26 17:41:00 +01:00
Dylan K. Taylor
9e3ff21aea
Wall: remove unused import
2020-09-26 17:26:54 +01:00
Dylan K. Taylor
ec7c5fd669
Added a BrewingStandSlot enum
2020-09-26 17:20:02 +01:00
Dylan K. Taylor
e192c75019
MemoryManager: Analyze contents of function/method static variables
...
it's possible for stuff to hide inside these things that would cause leaks.
2020-09-26 15:18:34 +01:00
Dylan K. Taylor
b8e1bdbed4
MemoryManager: Look inside Closure objects to resolve dependencies
...
the lack of closure analysis allowed several memory leaks to be unable to be debugged using memory dumps.
2020-09-26 15:11:47 +01:00
Dylan K. Taylor
7b02cc3efd
Implemented #3836 : Replace setCancelled() in events with cancel() and uncancel()
...
The motivation for this is to prevent passing a dynamic argument to cancellation, which in almost all cases is a bug in user code. This same mistake also appears in a few places in the PM core (as seen in this commit), but in those cases the mistakes were mostly harmless since they were taking place before the event was actually called.
closes #3836
2020-09-26 14:31:56 +01:00
Dylan K. Taylor
75e3a0aa0f
Merge branch 'stable' into master
...
# Conflicts:
# composer.lock
# resources/vanilla
# src/command/defaults/StatusCommand.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/level/format/SubChunk.php
2020-09-26 13:27:08 +01:00
Dylan K. Taylor
ed0053d0ee
Updated build/php submodule to pmmp/php-build-scripts@732ceba847
2020-09-26 13:20:45 +01:00
Dylan K. Taylor
28255e35d1
Updated composer dependencies
2020-09-26 13:18:38 +01:00
Dylan K. Taylor
05a94f35d6
Updated composer dependencies
2020-09-26 13:17:54 +01:00
Dylan K. Taylor
89cce4c749
performance: only calculate light for chunks inside ticking areas
...
this produces a major performance improvement for large render distances, and reduces the impact of lighting calculation to zero on servers which have random blockupdates turned off.
2020-09-26 13:13:12 +01:00
Dylan K. Taylor
b727972c76
World: remove useless isLightPopulated() check
...
chunks are never light populated when loaded from disk now.
2020-09-26 12:52:28 +01:00
Dylan K. Taylor
626680c6c1
Use new Location objects instead of mutating Entity->location directly
...
I'm actually not a big fan of needing to recreate the whole thing just to modify the coordinates. This seems kind of stupid.
2020-09-25 18:43:49 +01:00
Dylan K. Taylor
db7fb25196
Avoid more Vector3 mutations using withComponents()
2020-09-25 18:40:13 +01:00
Dylan K. Taylor
1d8e7abdd4
Entity: avoid direct mutation of Vector3 in checkObstruction(), use withComponents() instead
...
this ugly code can be simplified quite a lot further, but that's a job for later.
2020-09-25 18:38:41 +01:00
Dylan K. Taylor
25566c2f1a
Entity: avoid direct Vector3 mutations in tryChangeMovement()
2020-09-25 18:37:29 +01:00
Dylan K. Taylor
9dda99f844
Updated composer dependencies
2020-09-25 18:36:45 +01:00
Dylan K. Taylor
38b97dd0b7
Entity: remove useless function
2020-09-25 18:11:24 +01:00
Dylan K. Taylor
3b4e9eea96
RuntimeBlockMapping: drop useless doc comment
2020-09-25 17:43:00 +01:00
Dylan K. Taylor
7c192f85e2
protocol: remove final remaining Vector3 mutations
...
this really should be replaced with a network layer BlockPos structure in the absence of a general int-vector structure in math.
2020-09-25 17:41:12 +01:00
Dylan K. Taylor
a5e21bfaa9
Entity: protect getBlocksAroundWithEntityInsideActions()
2020-09-25 16:40:30 +01:00
Dylan K. Taylor
3556f26e00
Entity: Rename getBlocksAround() -> getBlocksAroundWithEntityInsideActions()
...
this name is more long-winded, but much less misleading.
2020-09-25 16:39:55 +01:00
Dylan K. Taylor
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
dependabot-preview[bot]
0fc9170bbf
Bump phpstan/phpstan from 0.12.43 to 0.12.44 ( #3838 )
2020-09-25 13:20:29 +00:00