Commit Graph

4827 Commits

Author SHA1 Message Date
TheMode
c5bef0958d Prepare potential CAS tag impl
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-16 19:15:48 +02:00
TheMode
49488c4893 Remove nbt tag list/map restriction
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-16 14:37:41 +02:00
TheMode
198618ba98 Add rate limiter for incoming packets
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-15 12:25:58 +02:00
TheMode
164cf9fe2b Fix FireworkEffectMeta
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-15 04:44:34 +02:00
TheMode
1ad6caaf8b Add TagSerializer.fromCompound
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-15 03:50:57 +02:00
TheMode
5839ec71cc Make ItemMetaView.Builder extends ItemMeta.Builder
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-15 02:31:58 +02:00
Bloepiloepi
0c6da422c7
Add onGround to PlayerMoveEvent (#921) 2022-04-14 18:47:17 +02:00
TheMode
98a6e73e99 Improve memory usage of tags
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-14 16:26:57 +02:00
TheMode
821063addf Fix empty fork
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-14 01:32:54 +02:00
TheMode
3371de9556 Improve tag nbt convertor tests
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-14 01:13:45 +02:00
TheMode
e026a841ab Improve creation of item builder
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-14 00:50:19 +02:00
TheMode
83baabcbba Do not loop through parents if nothing has been removed
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-13 22:37:54 +02:00
TheMode
57832351ea Add pathInvalidClear
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-13 22:26:56 +02:00
TheMode
6c250de41c Fix OOB when clearing path-able tag entries
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-13 22:22:39 +02:00
Konstantin Shandurenko
d8cda624c8
PlayerDiggingListener fix (#918) 2022-04-13 22:03:25 +02:00
TheMode
b3030a3eb2 Fix PlayerHeadMeta
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-13 21:57:59 +02:00
TheMode
c9c2cc9ec8 Fix standalone view meta building
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-13 21:22:13 +02:00
Konstantin Shandurenko
f1606362b7
Stacking rule can be changed now (#916) 2022-04-13 20:42:09 +02:00
Konstantin Shandurenko
19eae7ef93
EntityTracker fix (#915) 2022-04-13 20:29:05 +02:00
TheMode
63b40deb34
Item API refactoring (#904) 2022-04-13 17:57:15 +02:00
TheMode
0875becdc7 Test integration of path & structure
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-13 13:16:23 +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
TheMode
59d5bfe6d1 Invalidate ChunkCache on unload
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 23:55:17 +02:00
TheMode
384126e3b4 Optimize block retrieval from Instance
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 23:50:45 +02:00
TheMode
c56cd1054a DiggingResult can become a record
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 23:38:15 +02:00
Konstantin Shandurenko
c4a4ebd51a
Check whether chunk is loaded on ClientPlayerDiggingPacket input (#910) 2022-04-12 23:37:29 +02:00
TheMode
f073cc46c8 Add Tag.UUID
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 19:16:11 +02:00
TheMode
3f172a8d2c Support Tag.Component and for record auto-structure
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 16:20:17 +02:00
TheMode
86526ab219 Simplify flow
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 14:14:36 +02:00
TheMode
6a79de2406 Final entry
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 12:18:00 +02:00
TheMode
0c9542486f Dedicated traversePath method
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-12 12:16:40 +02:00
TheMode
afbc6d6a47 Fix potential NPE
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-11 22:38:37 +02:00
TheMode
5812482922 Document GenerationUnit size guarantee
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-11 21:12:58 +02:00
Konstantin Shandurenko
2cea7ca5af
Async tasks cancellation fix (#907) 2022-04-11 20:26:59 +02:00
TheMode
1bb0af7f77 Add TagHandler#copy
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-10 15:49:33 +02:00
TheMode
1cdc0aeddb Add Boolean tag
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-10 15:38:13 +02:00
Lorenzo Lapucci
97abccce0c
Use eye height difference when setting direction using Entity#lookAt(Entity) (#900) 2022-04-10 14:13:13 +02:00
TheMode
73fed47040 Misc
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-10 12:26:33 +02:00
TheMode
d25f791d59 Use isView()
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-10 11:44:08 +02:00
TheMode
af43c977bd
Tag nbt conversion (#901) 2022-04-10 10:01:39 +02:00
TheMode
23e1c8a0bc Prepare better nbt conversion
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-09 16:17:24 +02:00
TheMode
c22c4e914a Test read from compounds
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-09 15:29:14 +02:00
TheMode
b294cb3f1c Style
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-09 15:20:11 +02:00
TheMode
30aa3ac8f3 Fix fillHeight
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-08 15:08:40 +02:00
TheMode
b8b850fca1 Print problematic future
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-08 12:20:17 +02:00
TheMode
a70bb15146
Low level generation API (#574) 2022-04-08 07:19:52 +02:00
themode
3c2ef39d1b Test item snbt in tag 2022-04-07 15:26:45 +02:00
TheMode
60d22929a1 Move assert
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-07 11:35:09 +02:00
TheMode
031d9253a3 Fix view tag access
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-07 11:34:18 +02:00
TheMode
bbd9e58d35
Generate Tag from record type (#883) 2022-04-07 11:05:11 +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
TheMode
5109acac42 WIP singleTickMovementUpdate
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-05 03:08:34 +02:00
Alexander Mandera
740ffc8846
Fix bad conversion of block index using negative Y (#861) 2022-04-04 23:19:48 +02:00
TheMode
467decbb20 Remove explicit fences
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-03 04:09:11 +02:00
TheMode
7a371fe616 Do not fallback to waiting list
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-02 23:35:11 +02:00
TheMode
ff8dd0cdaa Misc networking improvements
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-02 22:05:29 +02:00
TheMode
446e4a64b7 Catch exceptions during skin request
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-01 22:53:46 +02:00
themode
3674fcc97d Fix nearbyEntities 2022-04-01 20:41:32 +02:00
TheMode
43734a9c58 Slight nearbyEntities improvement
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-01 16:04:23 +02:00
TheMode
4e6c92e2c5
Unique stacking rule (#844) 2022-04-01 01:00:18 +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
Konstantin Shandurenko
4c8b4c1abc
Fixed players visibility and relevancy within tablist (#840) 2022-03-31 18:57:56 +02:00
TheMode
a988327f37 Add held/left/right click integration tests
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-30 17:24:16 +02:00
themode
bc0cb57c61 Cache optimization 2022-03-30 16:50:08 +02:00
themode
c81b0c0125 Palette misc 2022-03-29 16:50:16 +02:00
Konstantin Shandurenko
244f8785ff
Another fix for EntityProjectile (#826) 2022-03-29 00:00:43 +02:00
TheMode
29a06487ce Better flow control
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-28 23:53:53 +02:00
Konstantin Shandurenko
b3ee3e2345
EntityProjectile fixes and optimizations (#807) 2022-03-28 22:06:25 +02:00
themode
cf1373396b Counted loop 2022-03-28 15:59:36 +02:00
TheMode
1c9b6f3529 Do not call Chunk#removeViewer
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-27 15:31:34 +02:00
iam
fb5d6b88e3
Reduce allocations from physics check (#813) 2022-03-27 00:27:47 +01:00
MrGazdag
5469fef417
send teams on join (#803) 2022-03-26 16:16:35 +01:00
EpicPlayerA10
40024da5c9
Fix compression packet order (#811) 2022-03-26 15:40:14 +01:00
TheMode
835b8ca89d Add TagReadPathBenchmark
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-26 15:26:46 +01:00
TheMode
ac4d78acf1 Synchronize cache access
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-26 13:05:21 +01:00
TheMode
85559abb28 TagHandlerImpl cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-26 13:03:28 +01:00
TheMode
131116013d Event nodes need total order
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-26 12:02:36 +01:00
themode
a689691873 Unnecessary fences 2022-03-26 11:44:40 +01:00
TheMode
daf83a25d1 Add some event node query tests
Signed-off-by: TheMode <themode@outlook.fr>
2022-03-26 10:13:43 +01:00
themode
8dcb3191f6 Improve tag value sharing 2022-03-25 17:48:18 +01:00
themode
edabb19891 Explicit fences 2022-03-25 10:12:04 +01:00
themode
0fc9cab6ab Unnecessary array lookup 2022-03-25 08:23:33 +01:00
themode
9ee74845e1 Avoid list copy when unnecessary 2022-03-25 08:18:30 +01:00
themode
2d6368f6bd copy-on-write index map 2022-03-24 12:51:24 +01:00
themode
043c139b91 Improve read performance with different tag 2022-03-24 11:23:16 +01:00
TheMode
2301ad9976
Tag list (#801) 2022-03-24 09:03:30 +01:00
themode
2ab3bca6d7 Remove suites 2022-03-24 06:52:59 +01:00
themode
d2e3055225 Use assertEqualsSNBT 2022-03-24 06:52:37 +01:00
TheMode
b5367ee96a
Tag path API (#800) 2022-03-24 05:42:01 +01:00
themode
54b65f49a6 Prevent unlikely race condition 2022-03-23 10:52:39 +01:00
themode
dc9580b990 Add IndexMap 2022-03-23 08:49:40 +01:00
themode
d20cf85982 Unnecessary class parameter 2022-03-23 07:04:05 +01:00
themode
355beac466 Unnecessary methods 2022-03-23 06:51:36 +01:00
themode
ee5ca9050c Improve tag index retrieval 2022-03-23 06:22:48 +01:00
mworzala
0bd266da23
Add Junit test suites for isolated unit and integration tests. 2022-03-21 22:32:13 +00: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
71b6e8df90 Misc network improvement 2022-03-20 03:22:38 +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
055cc409ed Ensure proper chunk synchronization 2022-03-17 00:14:12 +01:00
themode
058e645c33 Store all missing entity meta in test 2022-03-16 23:08:53 +01: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
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
themode
acee29c20a Fix player position being wrong inside tests 2022-03-14 19:01:48 +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
a7ca1a37bf
Complete test coverage (#761) 2022-03-13 19:48:51 +01:00
iam
37a18eced5
Physics Test + revert (#742) 2022-03-13 18:53:20 +01:00
themode
c890a1ae9a Reduce field lookup for block touch 2022-03-13 17:55:00 +01:00
themode
27b046b52c Simplify toSectionRelativeCoordinate 2022-03-11 17:55:56 +01:00
themode
d9e51beebb Make dedicated snapshot test classes 2022-03-10 22:43:47 +01:00
themode
024ba736ce Improve tasks performance 2022-03-10 16:57:36 +01:00
themode
b906bd89ce Oops 2022-03-10 16:07:56 +01:00
themode
c1d65071d3 Change getTag annotation 2022-03-10 15:54:12 +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
9bca6ee0e3 Fix override registry 2022-03-09 17:51:03 +01:00
themode
d1b654e843 Fix rare viewer NPE 2022-03-09 17:28:37 +01:00
themode
03cf585121 Unnecessary null check 2022-03-07 22:18:03 +01:00
themode
4ab2f43eed Simplify ObjectArray 2022-03-07 20:45:51 +01:00
themode
3764e83a4f Dead code 2022-03-07 13:55:13 +01:00
themode
29f55ee720 Remove PROPERTIES_VALUES 2022-03-07 13:49:56 +01:00
themode
94406d5380 More reliable builds 2022-03-07 10:15:24 +01:00
themode
5579392b05 Ask for free port in server address test 2022-03-07 10:02:09 +01:00
EpicPlayerA10
2e73f00331
Fix axolotl meta (#738) 2022-03-06 15:16:55 +01:00
themode
2f6e3b62b0 Registration cleanup 2022-03-06 09:06:59 +01:00
TheMode
0f8f1f9906
Unique node mapping (#737) 2022-03-06 07:29:51 +01:00
themode
cccbd98a3a Do not prevent entity gc if a local listener is added 2022-03-05 17:38:27 +01:00
themode
bd533fc2f2 Add test to ensure entities are GCed 2022-03-05 17:28:48 +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
b43c404ed2 Never-mind 2022-03-04 05:33:46 +01:00
themode
ad3e723437 CAS to reset acquiring time 2022-03-04 05:31:50 +01:00
themode
c5d1d8bc36 Synchronize the full reference method 2022-03-03 18:20:32 +01:00
EpicPlayerA10
f1465804c6
Fix advancement exception on player disconnect (#724) 2022-03-03 17:11:42 +01:00
themode
fff0e3d97a Allow viewing predicates to be null to properly support hasPredictableViewers 2022-03-03 16:32:52 +01:00
Moulberry
baa603ba41
Fix naming error in SpawnLivingEntityPacket 2022-03-03 23:13:49 +08:00
themode
122d3ebaf3 Test hasPredictableViewers 2022-03-03 16:12:05 +01:00
themode
708307dbde Add additional barriers 2022-03-03 12:13:25 +01:00
TheMode
f7d44c4774
Snapshot API (#722) 2022-03-03 07:44:57 +01:00
themode
3e184abc0f Unnecessary array util 2022-03-02 14:55:03 +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
fa5fe8f208 Simplify 2022-03-01 03:18:49 +01:00
themode
69ab2c0045 Fix nearbyEntities not working with chunk borders 2022-03-01 03:15:13 +01:00
themode
9a7d5039a7 Change assert 2022-03-01 01:04:58 +01:00
TheMode
98e6b23fdd
1.18.2 update (#714) 2022-03-01 00:40:19 +01:00
themode
e23de98587 InstanceContainer misc improvements 2022-03-01 00:35:55 +01:00
themode
15f3c01b7c Assert entity position on spawn 2022-02-28 03:37:01 +01:00
themode
762bbf525d Move native image resources 2022-02-28 00:08:25 +01:00
themode
4512cef7d9 Use bytes whenever possible 2022-02-27 22:50:58 +01:00
themode
41862c576b No need to update the palette count on resize 2022-02-27 01:14:57 +01:00
themode
5579415513 FlexiblePalette cleanup 2022-02-26 22:37:53 +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
themode
487fbcb5b9 Stricter resize rule 2022-02-25 22:58:55 +01:00
themode
8839503767 Remove some AdaptivePalette fields 2022-02-25 22:36:39 +01:00
themode
58b103afd6 Improve FilledPalette serialization 2022-02-25 03:00:53 +01:00
themode
2627c1702e Bring back palette compression 2022-02-25 03:00:24 +01:00
themode
119afa6311 Simplify EntityTracker, reduce allocations 2022-02-25 02:30:01 +01:00
themode
b6ba957a7b Temporarily disable palette compression 2022-02-25 02:19:29 +01:00
themode
c34ec0107e Comment out palette debug 2022-02-25 01:29:35 +01:00
themode
d57b03f54d Better caching for CachedPacket#packet 2022-02-25 00:01:16 +01:00
themode
f09dacf795 Misc cleanup 2022-02-24 23:29:41 +01:00
themode
842373da7d Static import in entity tracker 2022-02-24 23:07:36 +01:00
themode
7428176206 Test for palette optimizations 2022-02-24 22:21:11 +01:00
themode
2c0b026e46 Fix BenchmarkManager on substrate VM 2022-02-23 04:46:15 +01:00
themode
d7af91b603 Reduce field lookup 2022-02-23 04:10:34 +01:00
themode
6af3a9da0c Include failing test 2022-02-23 01:28:49 +01:00
themode
5b3cb709d6 Use ClassValue to store event handles 2022-02-23 00:02:11 +01:00
Aleksey Demchenkov
f9367ef4a6
Resetting player flying speed after changing gamemode (#710) 2022-02-22 21:02:26 +01:00
themode
dab6ec6000 Dead code 2022-02-21 22:04:05 +01:00
themode
b1353c69fe Remove viewEngine mention in updateNewViewer/updateOldViewer 2022-02-21 19:05:11 +01:00
themode
338ffb80db Ensure that entities are not registered twice 2022-02-21 05:14:19 +01:00
themode
dc90307e80 Fix vehicle viewing 2022-02-21 04:30:47 +01:00
themode
6ef04ae618 Add assert for tick park 2022-02-20 17:44:22 +01:00
Mrln
4586fc8fd8
Make min distance to interact with entities 6, staying consistent to notchian server (#704) 2022-02-20 15:29:13 +01:00
themode
62a7346f40 cacheBuffer does not need to be volatile 2022-02-20 13:15:46 +01:00
themode
a15156aeb4 Add EncryptionContext 2022-02-20 12:58:09 +01:00
themode
e7253488c6 Dead code 2022-02-19 16:54:13 +01:00
themode
b54ab55efe Use interactAt instead of interact 2022-02-19 14:38:31 +01:00
themode
5802179206 More view engine rule tests 2022-02-19 03:08:09 +01:00
themode
7634096bce Add tests for manual viewer/viewable update 2022-02-19 02:12:24 +01:00
themode
688ab31d79 Remove Math.max call 2022-02-18 16:52:33 +01:00
themode
c3c139735a Improve ChunkSet 2022-02-18 11:13:45 +01:00