Commit Graph

13804 Commits

Author SHA1 Message Date
e1b7bf31bb World: make the second parameter for getCollidingEntities() mandatory and non-nullable
the only reason to use getCollidingEntities() instead of getNearbyEntities() is if you have an entity that may or may not be collidable depending on certain conditions.
Really, I don't think this logic belongs in World at all, but for now it has to stay, because some other stuff depends on it.
2021-09-05 15:22:12 +01:00
2fc33d3bff World: remove unused variable 2021-09-05 15:15:48 +01:00
19513c65f0 World: avoid code duplication between getCollidingEntities() and getNearbyEntities()
these two methods are very misleadingly named, but they do almost exactly the same thing - the only difference is that getCollidingEntities() does a couple of additional checks.
2021-09-05 15:13:22 +01:00
d4d00a9b80 Living: added calculateFallDamage()
to clean up the way that fall damage is handled for flying players; also, onHitGround() isn't only doing fall damage things these days.
2021-09-05 14:36:58 +01:00
6b7e671794 Living: use Vector3->down() instead of subtract(). 2021-09-05 14:12:04 +01:00
17dfd2cc52 Living: Trigger fall sounds on the nearest collidable block below
we can't have landed on it unless it actually has a collision box - otherwise, we only landed _in_ it.
This assumes, of course, that no blocks have bounding boxes >= 2 blocks tall, which currently none do.
2021-09-05 14:10:54 +01:00
d329bfb25d Entity: rename movX/movY/movZ to wantedX/wantedY/wantedZ
this makes the code much easier to understand.
2021-09-05 14:06:53 +01:00
73cc841d0b Entity: rename checkBlockCollisions() to checkBlockIntersections() 2021-09-05 14:00:27 +01:00
8be1f34736 Entity: Rename fall() to onHitGround(), and make it protected
this had no business being exposed to public API in the first place.
2021-09-05 13:36:40 +01:00
6ecad153ea Entity: remove fallDistance parameter from fall() 2021-09-05 13:34:43 +01:00
7e82cafdeb Entity: remove a bunch of commented code that no one cares about 2021-09-05 13:27:48 +01:00
7d5b9295cb PoisonEffect should accept Translatable|string, like its parent
this doesn't really break anything, but someone will likely whine about consistency if it's not fixed now.
2021-09-03 21:33:55 +01:00
0404298c74 Effect: get rid of runtimeIDs 2021-09-03 21:25:06 +01:00
c062282954 Drop enchantment runtime IDs 2021-09-03 21:20:43 +01:00
ed1e7322dd be quiet phpstan 2021-09-03 21:16:37 +01:00
f95eb6a218 Server is not cloneable 2021-09-03 21:08:29 +01:00
62435fe935 Standardize clone denying 2021-09-03 21:07:39 +01:00
b026ada489 Standardize serialize denying 2021-09-03 21:07:10 +01:00
aa5a9f6d12 Enchantment: use Translatable instead of hardcoded translation keys 2021-09-03 20:52:05 +01:00
fbbaef4401 Enchantment: use promoted properties 2021-09-03 20:41:43 +01:00
665f2473e1 Effect: stop using hardcoded translation keys for names 2021-09-03 20:39:02 +01:00
8e58beef7f Effect: use promoted properties 2021-09-03 20:32:13 +01:00
078347b44a MemoryManager: fixed a PHPStan error 2021-09-03 20:26:58 +01:00
f207f9e3e9 Merge remote-tracking branch 'origin/stable' 2021-09-03 20:00:15 +01:00
2e153624ad Anvil: actually add slot constants, this time 2021-09-03 12:44:41 +01:00
963f4a9cf3 Added constant slot IDs for Furnace, Enchanting, Anvil and Brewing Stand inventories 2021-09-03 12:16:07 +01:00
85ed7efcb4 PHPStan 0.12.98 2021-09-03 11:50:18 +01:00
183489e863 PHPUnit 9.5.9 2021-09-03 11:47:31 +01:00
ac060f2ec6 Update build/php submodule to pmmp/php-build-scripts@e55c60f176 2021-09-03 11:45:43 +01:00
2fe03757d5 PopulationTask: fixed PHPStan errors 2021-08-30 00:26:54 +01:00
e0d6357eb7 OreType: use promoted constructo properties 2021-08-30 00:18:34 +01:00
0289b45202 Chunk: Drop dirty flags for tiles and entities
instead, just ungate this and allow the provider to decide what to do.
Any chunk that contains entities or tiles is already always considered dirty, so the only thing the flags are good for is flagging chunks that previously had tiles and/or entities but no longer do.
In those cases, it's just removing keys from LevelDB anyway, so it's already very cheap.
Avoiding these redundant deletions is not worth the extra complexity and fragility of relying on flags to track this stuff.
2021-08-30 00:09:36 +01:00
6c85d4d254 CommandReader: fixed CS with php-cs-fixer 3.1.0 2021-08-29 23:35:07 +01:00
4b06e19d28 Cover tools/ in php-cs-fixer 2021-08-29 23:33:07 +01:00
7def3db781 Fixed generate-known-translation-apis script not getting PHPStan'd 2021-08-29 23:32:08 +01:00
ee8b854f30 Add tools/ to PHPStan analysis 2021-08-29 23:31:24 +01:00
6bbc0aae7d Merge branch 'stable' 2021-08-29 23:23:30 +01:00
f506c922b5 phpstan.neon.dist: fix indentation inconsistency
fuck you, phpstorm!

it doesn't have an option to use tabs for indentation in YAML, and YAML is the closest thing to NEON, so ...
2021-08-29 23:19:35 +01:00
994a2c9eb9 Clean up entity/tile data loading from world providers 2021-08-29 23:11:18 +01:00
533b0d0724 Updated convert-world CLI tool 2021-08-29 21:04:59 +01:00
b4e23a57d2 CraftingDataCache: Replace hardcoded recipe block names with constants from BedrockProtocol 2021-08-29 16:26:18 +01:00
510b75ef38 Use tagged version of BedrockProtocol 2021-08-29 16:23:56 +01:00
8847aa2d7f LegacyStringToItemParser: mark as deprecated, and point people towards StringToItemParser, which is much nicer 2021-08-29 16:13:19 +01:00
dee2062b1b CraftingManager: Reduce footprint of recipe keys
this was using json before, which is horribly inefficient.
This saved about 200 KB of memory on initial startup (which isn't much, but for more complex recipes, it might have been significantly worse.
2021-08-29 15:49:18 +01:00
c2558573e2 Fix offhand pickup (#4412) 2021-08-29 12:45:23 +01:00
2139171a55 added BlockItemPickupEvent class (#4402) 2021-08-29 00:40:09 +01:00
3fe6ce7d1f [ci skip] changelog: mention StructureGrowEvent 2021-08-27 21:02:52 +01:00
43d90d621d [ci skip] update changelog 2021-08-27 20:55:19 +01:00
938e430b0f Convert Populator into an interface 2021-08-27 20:41:54 +01:00
c7f78bec15 Added missing change to complete beba0ffe15 2021-08-27 20:33:17 +01:00