921aa091e0
Merge commit '04191ec44a00dd058f5d7e9e315d451e44285494'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l7-baseline.neon
2020-06-17 20:40:12 +01:00
017afead3b
extract FurnaceRecipeManager unit from CraftingManager
...
I'd like to have this directly provided to Furnace, but I don't know how to short of making into a singleton. Since I want to have per-furnace recipe managers (e.g. for stuff like blast furnace vs regular furnace etc), a singleton isn't really an option.
2020-06-03 18:59:59 +01:00
e250553670
Merge commit '3f2455f09'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/block/SnowLayer.php
2020-06-03 12:43:36 +01:00
d7ae86b30c
Merge commit '9d26a224a'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/block/DoublePlant.php
2020-06-03 12:35:59 +01:00
0a730db030
Merge commit '4199c3796f4c6d8da0eccba64fe4cd9812acadeb'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/block/Water.php
2020-05-31 14:46:51 +01:00
ec8ee29291
moving sneak & sprint properties to Living
2020-05-21 19:55:58 +01:00
f93bc0739c
Force types of RegistryTrait usages to shut PHPStan up
...
we need generic traits to solve this problem properly.
2020-05-21 19:12:48 +01:00
8e2b9b686b
Block: Invert default behaviour of silk touch (more logical)
...
Now, blocks do not respond to silk touch unless specifically opted into. Since this always involves custom drops in one way or another, it's easy enough to figure out which blocks need to be marked for silk touch - anything that overrides getDrops, getDropsForCompatibleTool or getSilkTouchDrops is a block which _might_ need to be flagged. Using these criteria to reduce the number of blocks needing to be checked, I was able to manually invert the behaviour as needed.
This fixes reoccurring bugs with blocks erroneously dropping themselves whenever new blocks are added and someone forgot to set that flag, granting players access to internal blocks with strange behaviour.
2020-05-21 13:02:36 +01:00
72f59eca3c
Slab: ignore silk touch on breaking tools, closes #2794
2020-05-21 11:46:43 +01:00
8ec2ba79de
Unhackify Registry member cloning, fixes #3519
2020-05-21 11:38:02 +01:00
3f1f135a59
remove a couple more Position->getWorld() usages
2020-05-19 21:38:51 +01:00
337addf1de
Eradicate remaining usages of public Position->world field
...
and as an added bonus, ditch a bunch of extra phpstan errors
2020-05-19 19:14:56 +01:00
8a8b1b0b97
Remove Position->setWorld()
2020-05-19 18:33:16 +01:00
86db3af896
remove utils\Color, use new pocketmine/color class
...
we're so close to separating protocol from core !!!
2020-05-14 20:38:08 +01:00
4437756987
Inventory: reduce API duplication by using a Set for viewers
2020-05-14 14:13:28 +01:00
6b037d6a4c
RuntimeBlockMapping: these IDs are not static any more
2020-05-11 12:40:55 +01:00
81f982a8d9
remove hardcoded legacy entity type ID mapping, load from resources instead
2020-05-04 13:47:39 +01:00
0eec536f97
Spawnable: remove unused field
2020-05-04 13:10:23 +01:00
a73c54bdd0
making tile spawn compound cache use CacheableNbt instead of strings
2020-05-04 12:35:13 +01:00
6f38031121
Liquid: do not schedule delayed blockupdate when hardening occurs on nearby blockupdate
...
fix #3390
fix #3392
2020-04-30 09:35:55 +01:00
a97cafd4f6
moving serializers into protocol namespace
2020-04-27 13:54:39 +01:00
ac5cf2443e
convert TileFactory to singleton
2020-04-26 01:11:30 +01:00
6dd31cc3f5
break cycle between block and inventory packages
2020-04-24 23:53:49 +01:00
4fbf4dcdc6
Rename InventoryChangeListener -> InventoryListener
2020-04-24 23:44:38 +01:00
7d9df6af6f
Convert EntityFactory to singleton
2020-04-24 22:43:02 +01:00
287bf4274f
move RuntimeBlockMapping to convert package
2020-04-24 12:42:43 +01:00
5cc03775d3
added a SingletonTrait to reduce code duplication
2020-04-24 00:31:55 +01:00
5a94af40e2
Convert ItemFactory to singleton
2020-04-24 00:18:31 +01:00
13d784cd0c
Convert BlockFactory to singleton
2020-04-23 23:45:13 +01:00
aa1828aa98
RuntimeBlockMapping is now a singleton instead of static class
...
this prepares for a fully dynamic block mapper, as well as allowing a small performance improvement to chunk encoding by eliding the constant lazy-init checks.
2020-04-23 21:09:58 +01:00
86e051b7bf
Merge commit 'a2543ff80d2906bccda1a4e2fdbd9d8e7d147fb3'
2020-04-18 17:33:05 +01:00
995309424e
updated pocketmine/nbt dependency
...
this is going to need work on exception handling, but right now it's so inconsistent that it doesn't matter anyway.
2020-03-04 17:53:37 +00:00
7c2741e4f5
Inventory: eliminate remaining $send parameters
2020-02-23 21:59:51 +00:00
fd675449e9
BlockFactory: fill blastResistance with float(0)
...
technically there wasn't anything wrong with this code, but it caused the type inference to report incompatibility, and I can't be bothered to report a PHPStan bug.
2020-02-07 22:06:34 +00:00
d2aca6023b
add native return types to closures (for phpstan)
2020-02-07 22:05:15 +00:00
aac7da6c96
eliminate remaining empty() usages
2020-02-07 21:51:50 +00:00
347b94b284
Merge branch 'stable'
2020-02-07 20:18:17 +00:00
fb1126797a
Merge branch 'stable'
2020-02-07 18:13:55 +00:00
e1eb9186fe
Merge branch 'stable'
2020-02-03 19:57:21 +00:00
356ed5f1de
DyeColor: fix PHP 7.2 compatibility
2020-02-01 20:50:16 +00:00
9c33ea8dd1
EnumTrait: use a better method to initialize enums
...
this method is simpler, and is also safe at the native type level.
Coincidentally, it also eliminates 30 PHPStan false-positives.
2020-02-01 20:33:30 +00:00
89c6da13ac
phpstan: use more class-string
2020-01-31 22:05:33 +00:00
f65bf76fd8
Merge commit '799183e13e61e89cc6820ad3132a4147454017c6'
...
# Conflicts:
# resources/vanilla
# src/Server.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/level/format/io/LevelProviderManager.php
# src/pocketmine/tile/Tile.php
# src/world/generator/GeneratorManager.php
2020-01-31 21:26:40 +00:00
cb16f5c142
Merge commit '260ac47588c76a2e6814cfba46773a990fb8c5da'
...
# Conflicts:
# resources/vanilla
# src/Server.php
# src/lang/Language.php
# src/network/mcpe/protocol/AddItemActorPacket.php
# src/network/mcpe/protocol/AddPlayerPacket.php
# src/network/mcpe/protocol/SetActorDataPacket.php
# src/network/mcpe/serializer/NetworkBinaryStream.php
# src/permission/Permission.php
# src/pocketmine/block/Leaves.php
# src/pocketmine/entity/DataPropertyManager.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/item/Banner.php
# src/pocketmine/item/Item.php
# src/pocketmine/level/format/io/LevelProvider.php
# src/pocketmine/level/format/io/LevelProviderManager.php
# src/pocketmine/network/mcpe/protocol/AddActorPacket.php
# src/pocketmine/network/mcpe/protocol/LoginPacket.php
# src/pocketmine/tile/Banner.php
# src/scheduler/BulkCurlTask.php
# src/updater/AutoUpdater.php
# src/utils/Config.php
# src/utils/Utils.php
# src/world/generator/Flat.php
# src/world/generator/Generator.php
2020-01-31 21:07:34 +00:00
1ae7960fc4
Merge commit '92a752053df598e5fe9366601bef070d967374fc'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/tile/Banner.php
# src/pocketmine/tile/Sign.php
# src/pocketmine/tile/Tile.php
2020-01-31 19:50:33 +00:00
1388a2287a
Merge commit '5c8a625d88e511a6ebad765714b75f1a86dfd37f'
2020-01-31 18:50:23 +00:00
42014311c5
BrewingStand: added missing void return type
2020-01-27 18:08:08 +00:00
5955ff5393
fix phpdoc spacing screwed up by phpstorm
2020-01-22 15:20:50 +00:00
055b13a6cf
strip extra blank lines (php-cs-fixer)
2020-01-22 15:14:10 +00:00
67bcc1c0fb
phpdoc armageddon for master, pass 1
2020-01-22 11:55:03 +00:00