Commit Graph

105 Commits

Author SHA1 Message Date
DeidaraMC
f09d3db999
fix: entity onGround applies correctly (#2059) 2024-03-28 08:22:21 +00:00
DeidaraMC
621f38c6a3
feat: justice for z (#2056) 2024-03-27 15:40:10 -04:00
DeidaraMC
f034296f28
feat: add aerodynamics record and the capability to set custom horizontal air resistance (#2053)
* feat: add aerodynamics record and the ability to set horizontal drag

* feat: entity physics simulation overhaul

* fix: made physics utils private, renamed to match other utils

* chore: separate concept of chunks and tps from PhysicsUtils, remove bad PhysicsResult constants

* chore: remove synchronization from PhysicsUtils, SYNCHRONIZE_ONLY_ENTITIES collection > set

* chore: remove extra vec allocations

* chore: improved flyingVelocity test

* chore: add all entities with client side prediction to SYNCRHONIZE_ONLY_ENTITIES, refactor velocity

---------

Co-authored-by: iam <iam4722202468@users.noreply.github.com>
2024-03-27 19:21:07 +00:00
mworzala
4d2e78e7cf
fix: do not add a 1,1,1->0,0,0 collision shape if no boundingbox is present 2024-03-25 19:02:12 -04:00
mworzala
ee17c032e7
fix: use collision shape for Shape#isFaceFull instead of occlusion shape 2024-03-24 21:50:54 -04:00
iam4722202468
a47dcb09ff Add intersect entity to shape 2024-03-02 16:09:42 -05:00
cosrnic
d86b890cc6 Change comments for expand, contract and withOffset 2024-02-24 12:10:49 -05:00
cosrnic
0555405064 Fix spelling mistake 2024-02-24 12:10:49 -05:00
cosrnic
0b66dd61db Change offset to withOffset 2024-02-24 12:10:49 -05:00
cosrnic
49a4226ebb Allow offsetting the BoundingBox 2024-02-24 12:10:49 -05:00
mworzala
35a4c803d9 feat: expose isFaceFull for testing if a block shape has a full face
(cherry picked from commit cf4a2d134e)
2024-02-09 14:27:43 -05:00
mworzala
9b794c2077 fix: re-fix the shape parsing issue
(cherry picked from commit d217e4d5b1)
2024-02-09 14:27:43 -05:00
mworzala
f4a123192b fix: bad collision shape parsing
(cherry picked from commit 666bb98957)
2024-02-09 14:27:43 -05:00
iam
7cce1aa479 hollow-cube/projectile-physics-improvements
* Add better protectiles

* Cleanup

* better physics

* Add filter

* Update EntityCollision.java

* Negate filter check

(cherry picked from commit 0400e2dda4)
2024-02-09 14:27:43 -05:00
iam
912fb34f17 hollow-cube/lighting (#13)
* Lighting

* Remove invalidate

* Private

* Fix chunk loading

* Small fixes

* Fix loading light from anvil world

* Fix solid

* Temporary

* Fix tests, add seagrass and tall seagrass to diffusion list

* Make test faster, replace hephaistos

* Cleanup

* Assume failed test

* Fix chunk not getting invalidated

(cherry picked from commit f13a7b49fa)
2024-02-09 14:27:43 -05:00
iam
8ad2c7701f
Fix physics not checking nearest block (#1815) 2023-04-03 22:08:49 +02:00
Steank
51ef4779c9
Fix for #1712 (#1713) 2023-01-25 15:13:15 +01:00
iam
88dd901438
Rewrite BlockIterator (#1509) 2022-11-09 23:07:31 +01:00
iam
f5f323fef9
Physics improvement (#1320) 2022-08-10 01:49:42 +02:00
iam
4a79a3af26
Refactor physics to simplify code (#1315) 2022-08-08 00:25:08 +02:00
Konstantin Shandurenko
4884051c6a
BlockCollision#canPlaceBlockAt player check fix (#1213) 2022-07-07 04:16:56 +02:00
Steank
18ab44706b
Fix floating point precision issue with RayUtils method (#1196) 2022-07-01 19:00:40 +02:00
TheMode
367c389bc6 Additional collision style
Signed-off-by: TheMode <themode@outlook.fr>
2022-05-17 18:35:38 +02:00
TheMode
83ff0daff7
Collision cleanup (#1085) 2022-05-17 17:09:16 +02:00
Steank
f774cc3b0f
Fix entities falling through tall blocks (#1047) 2022-05-11 21:30:48 +02:00
TogAr2
23d7df7cbb
Entity pose fixes (#487) 2022-05-03 22:29:38 +02:00
Weiiswurst
9ce5a79cc8
Ignore arrows and spectators (#986) 2022-04-26 13:01:47 +02:00
Bloepiloepi
f0fa81b712
Use smaller position offset when placing blocks (#940) 2022-04-18 01:15:38 +02:00
iam
bb236b34b6
Stop update from being sent to the player when the player places a block on themselves (#939) 2022-04-17 22:02:24 +02:00
TheMode
50a7d7ca81 ShapeImpl should not depend on the block material
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-13 12:07:43 +02:00
iam
50c1083a48
Fix relative max. Currently finds the minimum of all individual bounding box maximums. Updated to find maximum of all bounding box maximums (#869) 2022-04-05 04:20:46 +02:00
Konstantin Shandurenko
8df0d37107
Entity's line of sight methods improvements (#842) 2022-03-31 20:28:02 +02:00
Konstantin Shandurenko
eebdb4a7a3
Reducing allocations count when working with bounding boxes (#843) 2022-03-31 19:48:43 +02:00
iam
fb5d6b88e3
Reduce allocations from physics check (#813) 2022-03-27 00:27:47 +01:00
themode
db2d00819c Avoid stream for placement collision 2022-03-14 22:30:08 +01:00
themode
baca58daa6 BlockCollision must stay internal 2022-03-14 19:13:30 +01:00
iam
bcfb4c6ea4
Fix block placement below players (#767) 2022-03-14 19:07:29 +01:00
iam
9215e33e80
Remove faces and cartesian product (#762) 2022-03-14 00:32:18 +01:00
themode
df64ce9653 Remove dependency from instance/entity for collisions 2022-03-13 23:28:31 +01:00
themode
60f583b179 Cache shapes size 2022-03-13 21:27:56 +01:00
themode
11708a1c1a Remove dedicated Faces class 2022-03-13 21:20:11 +01:00
iam
37a18eced5
Physics Test + revert (#742) 2022-03-13 18:53:20 +01:00
themode
a29a51ee0a Greatly reduce the number of checks 2022-03-09 20:14:42 +01:00
themode
e7545e470f Cache compiled pattern 2022-03-09 19:47:42 +01:00
themode
d3432011d9 Avoid boxing and streams 2022-03-09 19:45:05 +01:00
iam
6891a530f5
Block Collision Physics (#730) 2022-03-09 19:08:42 +01:00
TheMode
ba77a9ea10 Make BlockSetter/Getter inner interfaces inside Block
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
b308ce5baa
Update to Java 17 (#462) 2021-10-22 01:55:55 +02:00
TheMode
d53ef36586 Use an array instead of list
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-18 22:14:46 +02:00
TheMode
a3ff3b25c4 Add hint in BlockGetter to only retrieve a block type at a position (ignore the handler + nbt)
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-18 16:18:41 +02:00