Commit Graph

1311 Commits

Author SHA1 Message Date
Konstantin Shandurenko
244f8785ff
Another fix for EntityProjectile (#826) 2022-03-29 00:00:43 +02:00
Konstantin Shandurenko
b3ee3e2345
EntityProjectile fixes and optimizations (#807) 2022-03-28 22:06:25 +02:00
MrGazdag
5469fef417
send teams on join (#803) 2022-03-26 16:16:35 +01:00
iam
3fbdf4f22a
Fix Entity Touch Block Check (#795) 2022-03-21 00:04:54 +01:00
Bloepiloepi
81b4c3158d
Guardian target fix (#791) 2022-03-20 22:07:30 +01:00
themode
54fd65eded Remove writeAndFlush 2022-03-20 02:35:45 +01:00
themode
b304e1328a Fix packet parsing for disconnected clients 2022-03-20 02:29:00 +01:00
TheMode
f2fec73202
Tag internal rework (#782) 2022-03-20 01:47:57 +01:00
Moulberry
84871ea93e
Fix typo in EntityMeta 2022-03-18 23:10:10 +08:00
themode
8cf598d290 Use the main scheduler 2022-03-16 06:58:01 +01:00
themode
1e58318a3a Fix potential deadlock on instance join 2022-03-16 06:54:39 +01:00
GreatWyrm
2f5661b313
Have projectiles spawn at the creature's eye position (#598) 2022-03-16 00:59:15 +01:00
themode
acee29c20a Fix player position being wrong inside tests 2022-03-14 19:01:48 +01:00
themode
df64ce9653 Remove dependency from instance/entity for collisions 2022-03-13 23:28:31 +01:00
themode
c890a1ae9a Reduce field lookup for block touch 2022-03-13 17:55:00 +01:00
themode
b906bd89ce Oops 2022-03-10 16:07:56 +01:00
iam
6891a530f5
Block Collision Physics (#730) 2022-03-09 19:08:42 +01:00
themode
d1b654e843 Fix rare viewer NPE 2022-03-09 17:28:37 +01:00
EpicPlayerA10
2e73f00331
Fix axolotl meta (#738) 2022-03-06 15:16:55 +01:00
TheMode
0f8f1f9906
Unique node mapping (#737) 2022-03-06 07:29:51 +01:00
TheMode
1bea4848ac
Local node (#734) 2022-03-05 17:01:10 +01:00
TheMode
cc69fcf05a
Revert "Local node support (#688)" (#733)
This reverts commit 0cb2600929.
2022-03-05 12:06:59 +01:00
TheMode
0cb2600929
Local node support (#688) 2022-03-05 11:11:39 +01:00
themode
7c874bb588 GameMode cleanup 2022-03-04 07:07:53 +01:00
themode
fff0e3d97a Allow viewing predicates to be null to properly support hasPredictableViewers 2022-03-03 16:32:52 +01:00
themode
122d3ebaf3 Test hasPredictableViewers 2022-03-03 16:12:05 +01:00
TheMode
f7d44c4774
Snapshot API (#722) 2022-03-03 07:44:57 +01:00
themode
96fee8541d Move ObjectArray 2022-03-02 11:44:11 +01:00
themode
5930626dad Fast exit when the entity has no viewer 2022-03-01 05:36:33 +01:00
themode
45fe2f1ac9 Improve entity viewer iterator creation 2022-03-01 04:21:16 +01:00
themode
ebb6dffb31 Entities should not retrieve viewers from shared instances 2022-02-26 00:38:27 +01:00
TheMode
50c0f01fb2
View engine improvements (#715) 2022-02-26 00:10:26 +01:00
Aleksey Demchenkov
f9367ef4a6
Resetting player flying speed after changing gamemode (#710) 2022-02-22 21:02:26 +01:00
themode
b1353c69fe Remove viewEngine mention in updateNewViewer/updateOldViewer 2022-02-21 19:05:11 +01:00
themode
be100fa5b8 Fix invalid username/uuid in static PlayerSkin methods 2022-02-14 21:04:37 +01:00
themode
2438393ce1 Remove GlobalHandles for better testability 2022-02-13 12:34:27 +01:00
themode
4459bbeebd Cleanup view tracking 2022-02-13 07:51:47 +01:00
TheMode
2006098ee2 Fix falling block velocity prediction
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-11 07:36:03 +01:00
TheMode
52852d339a Fix viewable packets in shared instances
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 05:28:19 +01:00
TheMode
0743759eed
Do not cache registry (#651) 2022-02-04 22:28:05 +01:00
TheMode
5b699e0375 Fix removal scheduling involving server ticks
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-30 08:23:34 +01:00
emortal
f1ca048eb6
Fix player settings (#620) 2022-01-29 22:07:50 +01:00
TheMode
f9080fa4f8 Tab list changes must be broadcasted
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-29 16:59:46 +01:00
Moulberry
6a83fd6ac8
Fix permission level resetting & make entity in EntityMeta nullable (#595) 2022-01-29 14:56:45 +01:00
themode
bd23cd6568 Add interpretPacketQueue for testing purpose 2022-01-28 05:32:35 +01:00
Moulberry
54af9a7c96
Make Entity nullable in Metadata (#596) 2022-01-23 09:34:30 +01:00
TheMode
9947afe18b Ensure that all meta are registered
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-20 21:04:14 +01:00
TheMode
7f9f33d462 Fix test
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-20 04:57:41 +01:00
Luke Bingham
37bebff883
Navigator entity pitch Direction.y() -> dy (#593) 2022-01-19 19:51:36 +01:00
TheMode
e979d71dee Update & test acquirable api
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-17 14:24:37 +01:00
TheMode
b87259f21b properly update viewing references
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 21:34:20 +01:00
TheMode
7a9b08b085 Improve Registry.Container
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 10:45:44 +01:00
TheMode
0366027c5d Misc cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-12 22:15:50 +01:00
themode
2dacaa8020 Avoid static initialization 2022-01-12 09:50:09 +01:00
TheMode
5bbf4642e8 Server process (#550) 2022-01-10 16:51:21 +01:00
Articdive
3089843cc9 Build system update (#527) 2022-01-10 16:51:21 +01:00
TheMode
da69526f49 Dispatcher testing (#570) 2022-01-10 16:51:21 +01:00
themode
6dc56b1f81 Fix players being unregistered from instance twice 2022-01-10 16:51:21 +01:00
themode
26dbc59aa9 Prevent AddPlayer info packet from being sent twice 2022-01-10 16:51:21 +01:00
Bloepiloepi
1a7fece34e Add sound and animation to damage event (#506) 2022-01-10 16:51:21 +01:00
themode
6aaf5aa0ce Remove the concept of non-shared attribute 2022-01-10 16:51:21 +01:00
themode
eee5778cfe make pathfinding classes internals 2022-01-10 16:51:21 +01:00
TheMode
2c7aae6bec Dirty tracking (#547) 2022-01-10 16:51:21 +01:00
themode
639254b19e Remove the need to specify the entity position on movement 2022-01-10 16:51:21 +01:00
themode
9ccc9040df Remove Update#updateTracker, more tracking tests 2022-01-10 16:51:21 +01:00
themode
39a0923326 Add LazyPacket 2022-01-10 16:51:21 +01:00
themode
b17c66e339 Improve thread dispatcher update 2022-01-10 16:51:21 +01:00
TheMode
5d15e76323 Style
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
deda87ecb2 Improve PlayerInfoPacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
705a1e3e18 Simplify tick logic
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
themode
dd3e51c420 Primitive map for metadata 2022-01-10 16:51:21 +01:00
TheMode
895642dd44 Use flare thread-safe collections
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
d865e9f75a Remove redundant entity tracking
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
9717e54aac Revamped scheduling API (#535) 2022-01-10 16:51:21 +01:00
TheMode
615f8e7edd use a map for join game nbt
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
Xavier Niochaut
9ab4277502 Port to Hephaistos v2 (#424) 2022-01-10 16:51:21 +01:00
TheMode
bc5f5dd8ee Simplify metadata code
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
05de99f45f immutable packets (record) (#528) 2022-01-10 16:51:21 +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
5897fcb6e3 Update registry
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
a94cc20dba Default simulation distance to view distance
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
d3b55700e2 Initial non-working 1.18 commit
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
GreatWyrm
83ab75d1bf
Only increment arrow count if the projectile is an arrow (#560) 2021-12-28 12:06:43 +01:00
Christian
0cdc017c68 Fix wrong metadata method calls 2021-12-22 23:00:50 +01:00
TheMode
e53c0a68fb Properly remove manual viewers
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-25 21:30:58 +01:00
TheMode
fc3fbe83f0 Change queue for inbound packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-20 11:56:35 +01:00
TheMode
cca614fea8 No need to retrieve the chunk to send unload packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-19 06:06:32 +01:00
TheMode
8b1856d5b7
Async packet write (#533) 2021-11-17 06:31:24 +01:00
TheMode
c5e947c76e Move CachedPacket and FramedPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 00:48:43 +01:00
TheMode
e75b9f238d Update registry data
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-10 16:45:46 +01:00
TheMode
c8ccc62525 Do not continue tick if entity has been removed in a nextTick task
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-08 23:39:00 +01:00
TheMode
5959b37600 Cache destroy packet
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 17:29:14 +01:00
TheMode
a29cac471b More records
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 14:33:07 +01:00
TheMode
d7cbcfe239 Add Blocking annotation
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 11:59:10 +01:00
TheMode
08f9b065de Cache handle for PlayerChunkUnloadEvent
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 01:54:48 +01:00
TheMode
ec90af0e12 Remove unnecessary size check for queues
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 01:51:46 +01:00
TheMode
20891070d1 Reduce code duplication
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-01 20:25:44 +01:00
TheMode
faa289a097
Entity tracking rework (#486) 2021-11-01 18:04:00 +01:00
Kezz
429db5b2bf
chore: Update Adventure to 4.9.3 and remove some deprecated elements (#510) 2021-10-31 19:29:41 +01:00
Luke Bingham
3be4edc096
Allow chained method calls on FakePlayerOption (#507) 2021-10-30 21:03:18 +02:00
TheMode
d46db09080 Make PlayerSkin record
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-27 23:05:53 +02:00
Moulberry
723bee2ea5
Move sync time reset (#504) 2021-10-27 16:02:33 +02:00
TheMode
b1ef97b5af Use toList in stream chains
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:23:14 +02:00
TheMode
7891cc5bbe Use more instanceof pattern matching
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:19:38 +02:00
TheMode
5030664ff9 Use more enhanced switches
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:14:12 +02:00
TheMode
b308ce5baa
Update to Java 17 (#462) 2021-10-22 01:55:55 +02:00
Alex K
0b7b7283e6
Fix adding viewers to FakePlayer (#497) 2021-10-19 20:04:54 +02:00
Konstantin Shandurenko
ba76e746a2
Entity#lookAt and updating view in melee/ranged/combined attack goals when within attackable range (#494) 2021-10-17 21:07:59 +02:00
TheMode
13a8a22546 Add preventive kick instead of hard to debug timeouts
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-15 15:54:11 +02:00
TheMode
0bd519c894 Use fastutil for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-15 06:17:48 +02:00
TheMode
bd4aa90753
Framed packet cleanup (#489) 2021-10-13 06:33:44 +02:00
Moulberry
26341005b1
Passenger Fixes (#476)
Don't teleport player when entering/exiting vehicle + better height offset logic
2021-10-01 16:35:42 +02:00
TheMode
be9b11f238 Simplify path finding code, do not expose internal parts
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-24 19:31:54 +02:00
TheMode
d5d4a97694 EntityTeleportPacket must also be prepared
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-22 19:12:48 +02:00
TheMode
93a62ba133 Optimize entity teleport, prevent movement packets from being sent with teleport ones
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-22 01:13:05 +02:00
TheMode
e43d001076 Passenger entities should not send velocity packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 10:37:36 +02:00
TheMode
22ead81ebe Take the vehicle eye height into consideration
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 09:10:51 +02:00
TheMode
d8abdef1da Synchronize entity position when removing vehicle
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 22:43:54 +02:00
TheMode
2e017c3f0e Put equality check in the final method
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 22:32:16 +02:00
TheMode
a6fda18af6 Ensure that passengers are visible
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 22:28:09 +02:00
TheMode
2c4ea3c3c4 Serialize/Compress tag packet only once
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 19:34:43 +02:00
TheMode
4e58d61345 Prevent deadlock when adding/removing viewers very fast
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 18:42:31 +02:00
Moulberry
c5362bffba Remove debugging 2021-09-14 17:50:56 +08:00
Moulberry
ee435f43f2 Set proper pose once flying finishes 2021-09-14 17:50:19 +08:00
Moulberry
1933914bbc Set proper pose once flying finishes 2021-09-14 17:43:02 +08:00
Moulberry
73ea79bed2 Fix flying clip bug 2021-09-14 17:37:57 +08:00
Moulberry
5bf4758a3a Remove extra chunk unloads 2021-09-13 15:08:57 +08:00
Moulberry
9531bd5cb3 Merge upstream 2021-09-13 15:07:11 +08:00
Moulberry
0360fd3f79 Fix 2 entity loading issues 2021-09-13 15:05:16 +08:00
TheMode
06d8586f7f Improve the thread provider api
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-12 22:55:37 +02:00
TheMode
b5062ab4d6 Gravity tick counter should be part of the velocity tick method
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-11 05:54:26 +02:00
TheMode
3977b6f967 Code style
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-11 05:31:35 +02:00
TheMode
0c5b37ed18 Optimize unnecessary chunk coordinate conversion
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-11 01:04:11 +02:00
TheMode
3ddf729a46 Code style, remove deprecated ChatMode
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-10 05:50:08 +02:00
TheMode
e6db47ec6e Add fancy Player#sendPacket shortcut
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-10 05:41:54 +02:00
TheMode
ffbc8e5f27 Fix Player#getLocale
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-08 00:54:00 +02:00
TheMode
3e386a1491 Send unload packet
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 21:26:24 +02:00
TheMode
02d927cc4d Rename internal registry constant holder interfaces
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-06 13:32:52 +02:00
TheMode
8cbd6460f4 Cleanup...
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 03:40:30 +02:00
TheMode
96bfc4c6fa Add getters for chunk coordinates in Point
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 15:29:20 +02:00
TheMode
4b2bda15f5 Merge branch 'master' into viewable-broadcast
# Conflicts:
#	src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java
2021-09-02 18:50:55 +02:00
EpicPlayerA10
8b7fb7a7c5 Add missing husk 2021-08-28 21:10:56 +02:00
TheMode
9739403ff4 Properly update the client position when switching vehicle 2021-08-28 11:37:42 +02:00
TheMode
34ba838ab5 Improve movement cancelling 2021-08-28 11:28:14 +02:00
TheMode
b60b785dcd Fix unhandled exception
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-26 17:59:51 +02:00
Matt Worzala
3ce51ff470 switch permission level back to an int internally 2021-08-26 11:12:03 -04:00
kiipy
6eac7282af Made Player#setPermissionLevel persistent after death. 2021-08-26 11:12:03 -04:00
TheMode
2ae0c0bbcd Batch movement packets 2021-08-25 09:01:13 +02:00
TheMode
5ddd97cee2 Move optimized event calling inside ListenerHandle 2021-08-24 15:35:09 +02:00
TheMode
2cf4e89694 Implement shift-click equip 2021-08-24 07:23:44 +02:00