Commit Graph

3943 Commits

Author SHA1 Message Date
TheMode
68107c9a90 Reuse the tick buffer when possible & avoid iteration
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-22 23:24:22 +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
1d8addaea6 Prevent TickThreads from stopping if something weird happens 2021-09-21 21:31:02 +02:00
TheMode
e97f1db184 Call Player#remove on server shutdown
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 19:30:36 +02:00
TheMode
5a4fc95ffd Shutdown the server on OOM
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 10:44:36 +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
ccbbf6b512 Fix BinaryBuffer#canRead
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 10:17:33 +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
3ea414fe85 Merge remote-tracking branch 'origin/master' 2021-09-20 22:29:11 +02:00
TheMode
a6fda18af6 Ensure that passengers are visible
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 22:28:09 +02:00
Bloepiloepi
497816df5a Allow playerSkin to be null 2021-09-20 20:56:12 +02:00
TheMode
62769fc343
Merge pull request #470 from MrBretze/master
Added isChunkLoaded to Instance.java
2021-09-20 19:56:14 +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
8f3e8c5a13 Remove players during their next tick
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 19:30:52 +02:00
TheMode
17807f35da Add experimental PlayerConnection#sendFramedPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 18:59:15 +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
TheMode
e65c9f6a79 Avoid block allocation if the properties map is the same
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 18:09:16 +02:00
TheMode
25055413ff Avoid unnecessary allocation in the anvil loader
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 17:49:39 +02:00
TheMode
860c6b21d1 Remove threadChunkMap
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 13:31:45 +02:00
TheMode
1edab499f1 Make dedicated thread class for tick scheduling
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 13:01:58 +02:00
TheMode
82a68cbfad Inline shouldBenchmark
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 12:47:22 +02:00
ALS
64100c64e6 Make isChunkLoaded not abstract 2021-09-19 20:54:13 +02:00
ALS
66f476b2cd Added isChunkLoaded to Instance.java 2021-09-19 20:37:39 +02:00
TheMode
cbc87a2a68
Merge pull request #468 from Project-Cepi/relative-vec-coordinate-type-getter
Add `getCoordinateType` to RelativeVec
2021-09-19 14:37:26 +02:00
LeoDog896
7c6c583ce1 Record getter 2021-09-19 08:36:27 -04:00
LeoDog896
7cc50467e2 Update RelativeVec.java 2021-09-19 08:25:22 -04:00
TheMode
872a49d371 Use a bitset for light mask (thanks @Kebab11noel)
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-19 10:09:08 +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
TheMode
dda90a6dfe Improve chunk block getter
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-18 15:59:20 +02:00
TheMode
5376b8af76 Synchronize chunk packet creation
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-17 16:58:50 +02:00
TheMode
380f5a5a67 Remove faulty fast exit
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 19:50:57 +02:00
TheMode
4b5ec566bd Allow FramedPackets to be sent safely
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 19:37:30 +02:00
TheMode
be4542e936 Ignore air when shift clicking
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 19:21:36 +02:00
TheMode
ba8da0647e Properly call click events for shift & double clicks
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 18:57:13 +02:00
TheMode
13c05626e2 Handle the connection exception being null
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 07:50:12 +02:00
TheMode
3211831073 Ensure that the viewable element can be collected
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 07:43:08 +02:00
KrystilizeNevaDies
e061c1e640 Correct Instance#getNearbyEntities implementation 2021-09-16 14:56:08 +10:00
TheMode
2589cc4f3e Inline TickThread tick method
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 06:21:45 +02:00
TheMode
f1a1adc74f Issue fixed in GraalVM 21.3
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 05:08:49 +02:00
TheMode
aa33e2256c Remove useless map lookup
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 17:45:09 +02:00
TheMode
0e8c07a811 Simplify ThreadDispatcher even further
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 17:33:01 +02:00
TheMode
9ab5e746ca Prevent another lambda allocation
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 15:30:24 +02:00
TheMode
cffbf47b94 Prevent lambda allocation
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 14:57:17 +02:00
TheMode
7f463cdf94 Cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 14:54:11 +02:00
TheMode
a0c38b94c6 Avoid unnecessary thread local lookup for acquirable entities
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 14:41:01 +02:00
TheMode
2ecd10a4ec Cipher#update is copy-safe
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 03:47:48 +02:00