Commit Graph

4891 Commits

Author SHA1 Message Date
Weiiswurst
c32153d221
Fix #942 (#962) 2022-04-22 19:03:28 +02:00
TheMode
057109c94e Add experimental TagSerializer.COMPOUND
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-22 04:32:44 +02:00
TheMode
3f98bde82e No need to return a new meta
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-21 18:43:42 +02:00
TheMode
3c0abb0409 Make ItemStack.Builder extends Taggable
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-20 23:14:37 +02:00
TheMode
917302cbbb Avoid potential stacktrace generation
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-20 17:19:45 +02:00
TheMode
a4adbb49fe Add a new Pos#sameView
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-19 21:09:02 +02:00
Zak Shearman
64f617c81c
Add Pos#withLookAt (#945) 2022-04-19 20:31:05 +02:00
Weiiswurst
21e6ed4918
Check for adventure mode when finishing to break a block (#948) (#949) 2022-04-19 16:52:56 +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
Bloepiloepi
e57e3ff305
Fix enchantment reading (#938) 2022-04-17 21:51:16 +02:00
Bloepiloepi
ff7098a083
Item metadata fixes (#935) 2022-04-17 20:52:29 +02:00
iam
0d93faf0db
Fix worldborder size on resize + test (#937) 2022-04-17 19:54:41 +02:00
iam
6aa999aa77
Don't reload chunk when player places block on entity (#936) 2022-04-17 19:21:01 +02:00
TheMode
8b187894f7 Make Instance implements EventHandler
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-17 06:19:14 +02:00
TheMode
0f767da5f0 Use NBT#getValue
Signed-off-by: TheMode <themode@outlook.fr>
2022-04-17 00:16:59 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
TheMode
9b04e89552
Add PlayerPacketOutEvent (#689) 2022-02-17 13:51:55 +01:00
themode
be100fa5b8 Fix invalid username/uuid in static PlayerSkin methods 2022-02-14 21:04:37 +01:00
themode
c4e455b376 Avoid list conversion 2022-02-14 08:31:56 +01:00
themode
028b187eda Remove unnecessary synchronization in ChunkSet 2022-02-14 07:46:19 +01:00
themode
01e5be9454 Remove distinct call 2022-02-13 20:35:02 +01:00
themode
056f819cc8 Slightly optimize viewable stream 2022-02-13 20:02:06 +01:00
themode
ab2fee2bac Synchronize updateAndAwait 2022-02-13 19:36:29 +01:00
themode
0ca5e2ade6 Update VIEWABLE_STORAGE_MAP as compute is no longer required 2022-02-13 19:15:24 +01:00
themode
2608071ee4 Use method reference to create tick threads 2022-02-13 18:11:15 +01:00
themode
fef0bbe01b Do not override stream methods 2022-02-13 17:36:06 +01:00
themode
0f421c22db Specialize ViewEngine set for entities & chunks. Also fix manual viewers for entities 2022-02-13 17:34:09 +01:00
themode
49e727d177 Move removal of unix socket file 2022-02-13 16:05:19 +01:00
themode
36c27cbe05 Fix rare case where the phaser gets terminated on ARM cpus 2022-02-13 15:52:01 +01:00
themode
1fe93ce653 Fix socket close 2022-02-13 14:34:30 +01:00
themode
2438393ce1 Remove GlobalHandles for better testability 2022-02-13 12:34:27 +01:00
themode
84d154b8db Add ChunkUtils#getChunkCount 2022-02-13 10:27:24 +01:00
themode
4459bbeebd Cleanup view tracking 2022-02-13 07:51:47 +01:00
themode
d08635dbc3 Avoid unnecessary/unsafe field lookups 2022-02-13 07:28:50 +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
de71900cb9 Add readByteArray shortcut
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-11 04:32:49 +01:00
TheMode
502db8ec5c Fix block entity packet not being sent on placement
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-10 16:48:59 +01:00
TheMode
5b9784d85a Misc cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-10 13:27:46 +01:00
TheMode
1ad013e02e Remove deprecated data/storage APIs
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-09 23:07:18 +01:00
TheMode
e505c965e2 Avoid floor whenever possible
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 09:52:50 +01:00
TheMode
f633e6e276 Simplify parseProperties
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 09:42:18 +01:00
TheMode
09aea3c8d4 palette inlining
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 08:41:50 +01:00
TheMode
920bf62699 Style
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 05:31:47 +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
b26abc11b0 Fix shared instance unregistering
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-07 23:39:57 +01:00
TheMode
0f352a8f92 Fix potion registry
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-07 23:26:30 +01:00
themode
2e02dfd4d8 Fix synchronization issue with viewable packets 2022-02-05 08:21:19 +01:00
TheMode
0934c8ef16 counter thread provider should never update partitions
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-05 06:17:04 +01:00
TheMode
95fd6e7c81 Change int array to byte in BlockImpl
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-04 22:30:30 +01:00
TheMode
0743759eed
Do not cache registry (#651) 2022-02-04 22:28:05 +01:00
TheMode
6716b21a4a Bring back palette optimization
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-03 16:09:43 +01:00
TheMode
fbd462a6ee Temporarily remove palette optimization
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-03 05:34:32 +01:00
TheMode
d622eab048 Oopsie
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 21:30:03 +01:00
TheMode
5b91e0c622 Dead code
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 19:55:14 +01:00
TheMode
852712c4ed
Palette specialization (#638) 2022-02-02 19:24:08 +01:00
TheMode
81ab4214f2 Add Pos#withView(Pos)
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 16:42:00 +01:00
TheMode
a2b1148343 Make EventNode#toString return a graph of the current node state
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 15:41:11 +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
fb81578028 Move string length check in ClientSettingsPacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-29 21:04:01 +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
87d5a33c76
Fix corruption when receiving multiple compressed packets (#611)
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-29 10:18:23 +01:00
themode
bd23cd6568 Add interpretPacketQueue for testing purpose 2022-01-28 05:32:35 +01:00
themode
735184b909 Add tests for reading complete un/compressed stream 2022-01-27 14:58:30 +01:00
themode
6ecf486b9d Remove guava dependency 2022-01-27 05:15:51 +01:00
themode
a111271113 Fix tests 2022-01-26 18:37:21 +01:00
themode
1cedb8b49a Fix chunk viewers using entity view distance 2022-01-26 18:19:50 +01:00
themode
9157799e67 Remove unnecessary chunk viewer check 2022-01-26 17:49:14 +01:00
Moulberry
cd591dd388
Fix cachedBuffer being overriden (#603) 2022-01-26 17:28:41 +01:00
themode
85677360eb Move MOJANG_AUTH_URL 2022-01-26 06:58:41 +01:00
themode
0b4dd3b8aa Heavily reduce the number of direct buffers required for each worker 2022-01-26 06:37:46 +01:00
TheMode
d0b874ed7c Move local buffers
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-26 05:01:43 +01:00
TheMode
32d692a56a Avoid more allocation
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 14:14:01 +01:00
Joris Guffens
a7971bf343
Fixed nullpointer when unloading a dependent extention that was already unloaded (#601) 2022-01-25 13:51:10 +01:00
TheMode
b5bcd8fd4a Avoid string internal during properties parsing
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 13:33:14 +01:00
TheMode
e9f9829c30 Remove implementation details from Palette to allow better compression
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 12:29:17 +01:00
TheMode
30cf6e8e4f Improve block properties performance
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 07:43:52 +01:00
Andre Roldan
2d305cb0f0
Add ResourcePack#optional overload to specify prompt (#600) 2022-01-25 01:42:32 +01:00
TheMode
e0e5fe049d Remove deprecated ResponseDataConsumer, add support for unix domain socket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 01:38:18 +01:00
TheMode
d316290ab8
Command test (#597) 2022-01-23 23:30:57 +01:00
Moulberry
54af9a7c96
Make Entity nullable in Metadata (#596) 2022-01-23 09:34:30 +01:00
TheMode
6340a10331 Improve item lore
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 23:22:00 +01:00
TheMode
be1495a385 Add extractClientNbt utils
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 05:46:26 +01:00
themode
8778e32700 Extract constant tick time 2022-01-21 10:10:24 +01:00
themode
ae377307c7 unused constructors 2022-01-21 09:53:26 +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
themode
95a4d6a1ab Scheduler should not be responsible for polling timeout 2022-01-19 23:33:21 +01:00
TheMode
91c06da68a
Basic testing framework (#594) 2022-01-19 21:41:25 +01:00
Luke Bingham
37bebff883
Navigator entity pitch Direction.y() -> dy (#593) 2022-01-19 19:51:36 +01:00
themode
5efa6d7980 Add valuesLength 2022-01-19 04:13:01 +01:00
themode
9165a4d2b3 Change default biome bpe 2022-01-19 03:02:42 +01:00
TheMode
a9dc5bbf7b Add back namespace caching
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-18 00:47:28 +01:00
TheMode
eb3c894971 Inline registry loading
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-17 23:40:46 +01:00
off-by-0point5
615476fe53
Fix MinecaftServer.terminalEnabled not being used for terminal (de)activation (#591) 2022-01-17 16:45:42 +01:00
TheMode
e979d71dee Update & test acquirable api
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-17 14:24:37 +01:00
themode
0163dd6f42 Reduce block properties parsing allocation 2022-01-15 20:12:33 +01:00
TheMode
51abd95bcb Make the reference update method optional
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 21:36:30 +01:00
TheMode
b87259f21b properly update viewing references
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 21:34:20 +01:00
TheMode
374e534c0a Container performance
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 10:50:54 +01:00
TheMode
7a9b08b085 Improve Registry.Container
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 10:45:44 +01:00
TheMode
2ef1902664 Remove MinestomThreadPool, use the common pool for generation
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-12 22:37:35 +01:00
TheMode
0366027c5d Misc cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-12 22:15:50 +01:00
TheMode
ab982d0214 Make DragData record
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-12 22:08:08 +01:00
themode
d7d6721474 Better names 2022-01-12 12:02:20 +01:00
themode
1eb5c8519d Fix chunks not being GCed 2022-01-12 11:59:42 +01:00
themode
94a13a9523 Add basic ViewEngineTest 2022-01-12 10:47:38 +01:00
themode
2dacaa8020 Avoid static initialization 2022-01-12 09:50:09 +01:00
Eoghanmc22
0ccaa6a888
make isInVoid relative to the instance's min y (#584) 2022-01-12 09:39:59 +01:00
Cody
517d6a3b7c
Fix empty block on interact (#583) 2022-01-10 21:35:31 +01:00
mworzala
3afc644c5b rebase fix 2022-01-10 16:51:21 +01:00
Moulberry
09245defd6 Improve PositionUtils and add tests (#582) 2022-01-10 16:51:21 +01:00
jglrxavpok
98152a821d Show proper error when trying to load chunk with y range outside of dimension type
Change defaults of DimensionType to match vanilla y range of overworld
2022-01-10 16:51:21 +01:00
TheMode
379ca22903 Less line
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
5e41b148a4 Free memory when clearing palette
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
themode
42dc264c93 Smarter setAll loop 2022-01-10 16:51:21 +01:00
themode
b821619a91 Improve replaceAll 2022-01-10 16:51:21 +01:00
themode
9c8fcc4286 Improve replaceAll 2022-01-10 16:51:21 +01:00
themode
592adccf81 Improve setAll with constant return 2022-01-10 16:51:21 +01:00
jglrxavpok
c46d7bf506 Use Hephaistos v2.4.0 to correctly handle world heights
Should fix https://github.com/Minestom/Minestom/issues/559
2022-01-10 16:51:21 +01:00
themode
c949bdd5ba maxIndex cleanup 2022-01-10 16:51:21 +01:00
themode
29017c1d9b Add PaletteGetPresentBenchmark 2022-01-10 16:51:21 +01:00
themode
51795ccbd1 Avoid second map operation 2022-01-10 16:51:21 +01:00
themode
edfcc50214 Avoid recomputing palette 2022-01-10 16:51:21 +01:00
themode
d93e302d2a Avoid memory barrier on replace 2022-01-10 16:51:21 +01:00
themode
c58d84bb5d Add Palette#getAllPresent 2022-01-10 16:51:21 +01:00
themode
fddd9dd934 Improve setAll constant write by 20% 2022-01-10 16:51:21 +01:00
themode
4258e14c5f Another 20% improvement 2022-01-10 16:51:21 +01:00
themode
6827edb619 Improve getAll performance by 20% 2022-01-10 16:51:21 +01:00
themode
59f12e1c26 Optimize #replace 2022-01-10 16:51:21 +01:00
themode
dfeff36857 Optimize #replaceAll 2022-01-10 16:51:21 +01:00
themode
beb430af07 Fix OOB when retrieving blocks outside buildable area 2022-01-10 16:51:21 +01:00
Articdive
4b78e41ab4 Remove deprecated ResourcePack constructor. 2022-01-10 16:51:21 +01:00
themode
e468e027ba Fix broken count 2022-01-10 16:51:21 +01:00
themode
419c1a4a91 Improve setAll 2022-01-10 16:51:21 +01:00
TheMode
5bbf4642e8 Server process (#550) 2022-01-10 16:51:21 +01:00
themode
4f25333add Dead code 2022-01-10 16:51:21 +01:00
themode
812ea7bc07 Avoid array allocation 2022-01-10 16:51:21 +01:00
themode
9c11863f3e Optimize setAll 2022-01-10 16:51:21 +01:00
themode
e62bcc6dbb Optimize getAll 2022-01-10 16:51:21 +01:00
Eoghanmc22
29bbc39a1a improve bit logic 2022-01-10 16:51:21 +01:00
themode
3aeb0690d8 Rework NamespaceID 2022-01-10 16:51:21 +01:00
themode
0e70613fb7 Add Palette#replace and Palette#replaceAll 2022-01-10 16:51:21 +01:00
themode
0148ad9aaf Optimize palette clear 2022-01-10 16:51:21 +01:00
themode
4a46065a67 Nitpicks 2022-01-10 16:51:21 +01:00
themode
0662a3c604 Add Palette#getAll and Palette#setAll 2022-01-10 16:51:21 +01:00
Eoghanmc22
9327dfaccf Fix Palette test 2022-01-10 16:51:21 +01:00
Eoghanmc22
a24cb665a9 Fix Palette 2022-01-10 16:51:21 +01:00
themode
4c31d73bbf Fix palette size when filling to 0 2022-01-10 16:51:21 +01:00
themode
7fb0ac8fd0 Better resize loop 2022-01-10 16:51:21 +01:00
themode
9689c89010 Add Palette#fill 2022-01-10 16:51:21 +01:00
themode
cf93b39321 Reduce field access 2022-01-10 16:51:21 +01:00
themode
482db79378 Inline modulo 2022-01-10 16:51:21 +01:00
themode
b4b6c333bf Remove valuesPerLong 2022-01-10 16:51:21 +01:00
Mrln
dcc079ed9c Fixed ArrayIndexOutOfBoundsException when placing or breaking a block close to max / min InstanceContainer height (#569) 2022-01-10 16:51:21 +01:00
Gatt
627bc14b56 Fix shaped recipe read (take 2) (#573) 2022-01-10 16:51:21 +01:00
themode
206d93ed1b Revert "fix declare shaped packet reader (#572)"
This reverts commit d94d07bead.
2022-01-10 16:51:21 +01:00
Gatt
ca2d708a40 fix declare shaped packet reader (#572) 2022-01-10 16:51:21 +01:00
Gatt
2fff62efd2 Fix DeclareRecipePacket (#562) 2022-01-10 16:51:21 +01:00
themode
a31f885cc7 Fix default tag value on blocks 2022-01-10 16:51:21 +01:00
themode
204089d53d acquire/release 2022-01-10 16:51:21 +01:00
Articdive
3089843cc9 Build system update (#527) 2022-01-10 16:51:21 +01:00
themode
de817e5e52 Use acquire/release for node updating 2022-01-10 16:51:21 +01:00
TheMode
da69526f49 Dispatcher testing (#570) 2022-01-10 16:51:21 +01:00
themode
b79054f8e8 Opaque ordering for LazyPacket 2022-01-10 16:51:21 +01:00
themode
10d40dd19d Use opaque memory ordering for cached packets 2022-01-10 16:51:21 +01:00
themode
4b89ce33ee Add ArrayUtils#toMap 2022-01-10 16:51:21 +01:00
themode
c2245f3915 Use local buffer to create chunks array 2022-01-10 16:51:21 +01:00
themode
7becd89b1d Test for ObjectArray 2022-01-10 16:51:21 +01:00
themode
e87b3bf9c3 Outdated doc 2022-01-10 16:51:21 +01:00
Bloepiloepi
d64c708c60 Use safeItemInsert() for inventory clearing (#566) 2022-01-10 16:51:21 +01:00
mworzala
df8793fd44 make DiscoveredExtension#createClassLoader package private 2022-01-10 16:51:21 +01:00
mworzala
a328eebc7d cleanup references to bootstrap & mixin services 2022-01-10 16:51:21 +01:00
mworzala
d8fd80d02d use Check 2022-01-10 16:51:21 +01:00
mworzala
98067f966e bye bye linked list 2022-01-10 16:51:21 +01:00
mworzala
d1124be0f3 Use enum for internal ExtensionManager state 2022-01-10 16:51:21 +01:00
mworzala
d273ff401b Run extension pre/post/init at sensible times. 2022-01-10 16:51:21 +01:00
Matt Worzala
0491a63e0c Remove extension observer mechanism and cleanup/simplify classloader 2022-01-10 16:51:21 +01:00
Matt Worzala
4d089d84fb Cleanup 2022-01-10 16:51:21 +01:00
Matt Worzala
58e5bab5da Stop using ExtensionDependencyResolver, load external dependencies correctly 2022-01-10 16:51:21 +01:00
Matt Worzala
9f5122019f Remove dynamic extension unload/reload (dynamic load from file still exists) 2022-01-10 16:51:21 +01:00
Matt Worzala
0c6e4c0129 Remove Bootstrap, MinestomRootClassLoader. Cleanup 2022-01-10 16:51:21 +01:00
Matt Worzala
7130cc9dc9 Working extensions + extension dependencies without MSRC
The code is pretty messy, and external dependencies do not work (i dont think). MSEC instances now have a parent of MinecraftServer's CL and use the regular Java classloader search path (parent first). If the class cannot be found (its in a dependency), then it searches through its child classloaders (of which the dependency is one).
2022-01-10 16:51:21 +01:00
Matt Worzala
18ecefd97a remove code modification, bootstrap + MinestomRootClassLoader still required for now 2022-01-10 16:51:21 +01:00
themode
91a8607710 Fix MultiBlockChangePacket read 2022-01-10 16:51:21 +01:00
themode
48b262fee7 Add Point#section 2022-01-10 16:51:21 +01:00
themode
c5728a2df1 MultiBlockChangePacket use a var long array 2022-01-10 16:51:21 +01:00
themode
b1d6ce7b1b Thanks fastutil 2022-01-10 16:51:21 +01:00
themode
29d7cd1c8a Handle weird input without properties 2022-01-10 16:51:21 +01:00
themode
9c73e72771 Add fallback for block properties with > 10 entries 2022-01-10 16:51:21 +01:00
themode
6082741143 Add fallback for block properties with > 10 entries 2022-01-10 16:51:21 +01:00
themode
78f37de368 Intern block properties 2022-01-10 16:51:21 +01:00
themode
7b328d3d4c Some love for java generics 2022-01-10 16:51:21 +01:00
themode
18d8e60064 Allow pooled buffers to be manually cleared 2022-01-10 16:51:21 +01:00
themode
3f10829935 Remove RoaringBitmap 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
themode
3decf439c6 MpscGrowableArrayQueue resizing seems to be broken 2022-01-10 16:51:21 +01:00
Gatt
b8d51df58e Fix ChunkData including "fake" Block Entities (#556) 2022-01-10 16:51:21 +01:00
themode
90e88dc6e7 Improve map packet 2022-01-10 16:51:21 +01:00
Mrln
78076e9bc8 Make PlayerUseItemOnBlockEvent.getBlockFace() return a BlockFace (#555) 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
68f19e3dae Add test for node mapping 2022-01-10 16:51:21 +01:00
themode
f1a4f002c3 Reuse local booleans for readability 2022-01-10 16:51:21 +01:00
Moulberry
ad37cc8cf3 Fix pickblock (null nbt instead of empty nbt) (#553) 2022-01-10 16:51:21 +01:00
themode
3972477b3b Misc connection improvements 2022-01-10 16:51:21 +01:00
themode
fd4a4d531e Use jctools for waiting players 2022-01-10 16:51:21 +01:00
themode
c0fa6ef8ae Add nearby tracking test 2022-01-10 16:51:21 +01:00
themode
5d78a5d996 Real fix 2022-01-10 16:51:21 +01:00
themode
660994443b Fix MinestomThread local cache 2022-01-10 16:51:21 +01:00
themode
a97fda7ef0 Force palette dimension to be a power of 2. Improve performance 2022-01-10 16:51:21 +01:00
themode
8ae02109b9 Avoid unnecessary volatile read 2022-01-10 16:51:21 +01:00
themode
dd27edee50 Make ItemAttribute record 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
40a2168d52 Use broadcastPacket whenever possible 2022-01-10 16:51:21 +01:00
themode
5d4dd1f9f4 Ensure unmodifiable view 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
91eb68661c Add test for entity tracking registration 2022-01-10 16:51:21 +01:00
Bloepiloepi
18814f77e2 Fixed EntityPropertiesPacket base value (#545) 2022-01-10 16:51:21 +01:00
Németh Noel
fc1ee640b2 Static import and fix negative y value 2022-01-10 16:51:21 +01:00
Németh Noel
83d751ecf2 Move and rename ChunkUtils.toSectionRelativeCoordinate, added tests 2022-01-10 16:51:21 +01:00
themode
2d1102e0e8 Add Scheduler#scheduleNextProcess 2022-01-10 16:51:21 +01:00
themode
f0cf2d946c Force volatile read for inventory contents 2022-01-10 16:51:21 +01:00
themode
39a0923326 Add LazyPacket 2022-01-10 16:51:21 +01:00
themode
7df51ef606 Simplify CachedPacket 2022-01-10 16:51:21 +01:00
themode
bb1b1e53d7 Improve performance when cached packets are disabled 2022-01-10 16:51:21 +01:00
themode
d7ab273b60 retrieve must be called in worker threads 2022-01-10 16:51:21 +01:00
themode
8c1c18e345 Use an IntOpenHashSet to store viewers id 2022-01-10 16:51:21 +01:00
themode
573e896a1f Add Chunk#getSections 2022-01-10 16:51:21 +01:00
themode
f3221ff412 Make BlockImpl a record 2022-01-10 16:51:21 +01:00
themode
9927665d91 Add direct access to nbt for meta subclasses 2022-01-10 16:51:21 +01:00
themode
c5141f4145 Material can be compared using identity 2022-01-10 16:51:21 +01:00
themode
c45f7b2067 Offer default impl to create empty meta 2022-01-10 16:51:21 +01:00
themode
731f571645 Improve item creation from nbt 2022-01-10 16:51:21 +01:00
themode
b8e6d95880 Shortcut for withMeta 2022-01-10 16:51:21 +01:00
themode
74e00bc70c Add potion constructor without flags, style 2022-01-10 16:51:21 +01:00
themode
cf43d2c70a Fix palette resizing 2022-01-10 16:51:21 +01:00
themode
9174742429 Fix placement of negative section biomes 2022-01-10 16:51:21 +01:00
themode
b17c66e339 Improve thread dispatcher update 2022-01-10 16:51:21 +01:00
themode
639d19fced ItemStack#withAmount does not need to pass through the builder 2022-01-10 16:51:21 +01:00
themode
d31b219294 Move basic meta reading 2022-01-10 16:51:21 +01:00
themode
bb5fe8cf70 Same for shared meta 2022-01-10 16:51:21 +01:00
themode
b997b87dc1 Improve item meta creation performance 2022-01-10 16:51:21 +01:00
themode
4091f0ae8c More registry types can become record 2022-01-10 16:51:21 +01:00
themode
bf77918c96 Use optimized copies 2022-01-10 16:51:21 +01:00
themode
81aa3dde27 Make FireworkEffect record 2022-01-10 16:51:21 +01:00
themode
2e07af2b80 Use map 2022-01-10 16:51:21 +01:00
themode
6e2cfa8b2e Simplify enchant nbt creation 2022-01-10 16:51:21 +01:00
themode
f1112fc865 Item impl cleanup 2022-01-10 16:51:21 +01:00
themode
200c94c59e Remove magic -1 return 2022-01-10 16:51:21 +01:00
themode
f6db75b9aa Replace getSectionAt to getChunkCoordinate 2022-01-10 16:51:21 +01:00
themode
77a14c0750 Use map copies for possible properties 2022-01-10 16:51:21 +01:00
themode
089a90df52 Use collection copies 2022-01-10 16:51:21 +01:00
themode
ba8667a361 Most palettes stay unused, do not pre-size them 2022-01-10 16:51:21 +01:00
TheMode
41a52c993e Add basic tests for Palette
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
6a204135bd getStorageManager must be deprecated
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
4008398058 Use jdk collections for registry storage
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
34785e96f3 Use map for compass meta
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
8dcc3000cf Use a common pool instead of creating new threads on every chunk save
Signed-off-by: TheMode <themode@outlook.fr>
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
5b4ffa0846 Add SendablePacket#extractServerPacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
076b11b77a Separate concern for packet reading
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
987c563255 Add more packets to test
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