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
6c1fec8a29
Tree: renamed generateChunkHeight to generateTrunkHeight
...
I guess it must have been late at night when I originally wrote this code.
2021-08-27 20:32:07 +01:00
beba0ffe15
Remove circular dependency between Tree and its children
2021-08-27 20:25:21 +01:00
4778c1483a
Tree: fixed formatting error
2021-08-27 20:14:31 +01:00