14567 Commits

Author SHA1 Message Date
Dylan K. Taylor
956780c6a6
Entity: add getters and setters for fallDistance 2021-09-05 23:59:04 +01:00
Dylan K. Taylor
df3b112877
Implemented slime blocks 2021-09-05 20:46:59 +01:00
Dylan K. Taylor
8e2486b96a
Bed: bounce doesn't apply if the entity was sneaking 2021-09-05 20:14:17 +01:00
Dylan K. Taylor
ded778f422
Implemented bed bouncing 2021-09-05 20:11:49 +01:00
Dylan K. Taylor
b0b28ec6ed
3.22.5 is next 2021-09-05 15:47:54 +01:00
Dylan K. Taylor
2fb4704269
Release 3.22.4 3.22.4 2021-09-05 15:47:54 +01:00
Dylan K. Taylor
0c0eb72b1b
make-release: display the current and next version numbers 2021-09-05 15:46:40 +01:00
Dylan K. Taylor
466107d3b8
actions: fix release build shitting the bed 2021-09-05 15:45:07 +01:00
Dylan K. Taylor
4f59d3487a
3.22.4 is next 2021-09-05 15:42:39 +01:00
Dylan K. Taylor
65220b4f7f
Release 3.22.3 3.22.3 2021-09-05 15:42:38 +01:00
Dylan K. Taylor
85eb6b30a5
Player: do not allow doFirstSpawn() to be executed before the constructor is called
this problem doesn't exist on PM4.
2021-09-05 15:38:14 +01:00
Dylan K. Taylor
1c2eb35025
actions: fixed bad git hash on published releases 2021-09-05 15:32:31 +01:00
Dylan K. Taylor
92f3a7d206
make-release: allow specifying the nextVer as well as currentVer 2021-09-05 15:29:55 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
2fc33d3bff
World: remove unused variable 2021-09-05 15:15:48 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
6b7e671794
Living: use Vector3->down() instead of subtract(). 2021-09-05 14:12:04 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
73cc841d0b
Entity: rename checkBlockCollisions() to checkBlockIntersections() 2021-09-05 14:00:27 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
6ecad153ea
Entity: remove fallDistance parameter from fall() 2021-09-05 13:34:43 +01:00
Dylan K. Taylor
7e82cafdeb
Entity: remove a bunch of commented code that no one cares about 2021-09-05 13:27:48 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
0404298c74
Effect: get rid of runtimeIDs 2021-09-03 21:25:06 +01:00
Dylan K. Taylor
c062282954
Drop enchantment runtime IDs 2021-09-03 21:20:43 +01:00
Dylan K. Taylor
ed1e7322dd
be quiet phpstan 2021-09-03 21:16:37 +01:00
Dylan K. Taylor
f95eb6a218
Server is not cloneable 2021-09-03 21:08:29 +01:00
Dylan K. Taylor
62435fe935
Standardize clone denying 2021-09-03 21:07:39 +01:00
Dylan K. Taylor
b026ada489
Standardize serialize denying 2021-09-03 21:07:10 +01:00
Dylan K. Taylor
aa5a9f6d12
Enchantment: use Translatable instead of hardcoded translation keys 2021-09-03 20:52:05 +01:00
Dylan K. Taylor
fbbaef4401
Enchantment: use promoted properties 2021-09-03 20:41:43 +01:00
Dylan K. Taylor
665f2473e1
Effect: stop using hardcoded translation keys for names 2021-09-03 20:39:02 +01:00
Dylan K. Taylor
8e58beef7f
Effect: use promoted properties 2021-09-03 20:32:13 +01:00
Dylan K. Taylor
078347b44a
MemoryManager: fixed a PHPStan error 2021-09-03 20:26:58 +01:00
Dylan K. Taylor
f207f9e3e9
Merge remote-tracking branch 'origin/stable' 2021-09-03 20:00:15 +01:00
Dylan K. Taylor
2e153624ad
Anvil: actually add slot constants, this time 2021-09-03 12:44:41 +01:00
Dylan K. Taylor
963f4a9cf3
Added constant slot IDs for Furnace, Enchanting, Anvil and Brewing Stand inventories 2021-09-03 12:16:07 +01:00
Dylan K. Taylor
85ed7efcb4
PHPStan 0.12.98 2021-09-03 11:50:18 +01:00
Dylan K. Taylor
183489e863
PHPUnit 9.5.9 2021-09-03 11:47:31 +01:00
Dylan K. Taylor
ac060f2ec6
Update build/php submodule to pmmp/php-build-scripts@e55c60f176 2021-09-03 11:45:43 +01:00
Dylan K. Taylor
2fe03757d5
PopulationTask: fixed PHPStan errors 2021-08-30 00:26:54 +01:00
Dylan K. Taylor
e0d6357eb7
OreType: use promoted constructo properties 2021-08-30 00:18:34 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
6c85d4d254
CommandReader: fixed CS with php-cs-fixer 3.1.0 2021-08-29 23:35:07 +01:00
Dylan K. Taylor
4b06e19d28
Cover tools/ in php-cs-fixer 2021-08-29 23:33:07 +01:00
Dylan K. Taylor
7def3db781
Fixed generate-known-translation-apis script not getting PHPStan'd 2021-08-29 23:32:08 +01:00
Dylan K. Taylor
ee8b854f30
Add tools/ to PHPStan analysis 2021-08-29 23:31:24 +01:00
Dylan K. Taylor
6bbc0aae7d
Merge branch 'stable' 2021-08-29 23:23:30 +01:00