Commit Graph

3470 Commits

Author SHA1 Message Date
TheMode
11b2426629 Micro optimize block properties map 2021-07-23 15:44:53 +02:00
TheMode
8734478126 More packet constructors
Signed-off-by: TheMode <themode@outlook.fr>
2021-07-23 08:15:25 +02:00
TheMode
991de2d0cc Fix ghost item/block when cancelling interaction 2021-07-23 06:12:57 +02:00
TheMode
66904f2539 Lazily init nbt writer in BinaryWriter 2021-07-23 02:48:50 +02:00
TheMode
7fae70ebc1 Add experimental ItemStack#consume 2021-07-23 01:47:43 +02:00
TheMode
6c4cb66737 Merge branch 'master' into new-block-api 2021-07-23 01:09:22 +02:00
MrGazdag
ac2d61d68b
undeprecate ArgumentType.Long() 2021-07-22 19:49:40 +02:00
MrGazdag
d3515c13c3
Change ArgumentLong to use actual longs
why is this not a thing already
2021-07-22 19:44:39 +02:00
TheMode
9db4ac06cc Even more inline packets 2021-07-22 13:01:00 +02:00
TheMode
081266775c More inline packets 2021-07-22 12:50:38 +02:00
TheMode
ff9ca60a58 Add some inline packet constructors 2021-07-22 09:54:34 +02:00
TheMode
690c5b7614 Remove unused method 2021-07-22 00:21:25 +02:00
TheMode
a0bb437c4c Reduce chunk entities Set allocation 2021-07-21 22:21:43 +02:00
TheMode
266ecd5b64 Fix warning 2021-07-21 20:06:12 +02:00
TheMode
fceafb0b1e Load a single chunk on instance spawn 2021-07-21 09:45:13 +02:00
TheMode
bebdcf59d5 Do not allocate arrays when refreshing a player chunks, optimize array lookup 2021-07-21 08:42:49 +02:00
TheMode
94a96d7df1 Improve entity chunk switch 2021-07-21 08:25:44 +02:00
TheMode
953d84add7 Fix string operation when switching an entity chunk 2021-07-21 08:12:03 +02:00
TheMode
efc135f48a Handle empty list case, let the try-catch handle NPE 2021-07-20 23:48:13 +02:00
TheMode
bad206d504 Improve anvil block loading performance 2021-07-20 23:40:23 +02:00
TheMode
cb21b0baf5 Merge branch 'master' into new-block-api 2021-07-20 22:18:43 +02:00
TheMode
40ae462d89 Fix NPE 2021-07-20 22:18:24 +02:00
TheMode
6079f87b38 Merge branch 'master' into new-block-api 2021-07-20 22:16:00 +02:00
LeoDog896
8a7d13c8ad Make the constant static? 2021-07-20 14:07:16 -04:00
LeoDog896
8e849ad947 Add constant in ItemStack for VanillaStackingRule 2021-07-20 14:03:55 -04:00
LeoDog896
7d55d6db87 Add #equals method 2021-07-20 13:58:40 -04:00
TheMode
a074117ea5 Simplify optionalLoadAll 2021-07-20 19:10:53 +02:00
TheMode
1dc80d6b87 Simplify movement processing 2021-07-20 07:05:08 +02:00
TheMode
bca3324b56 Limit chunk map lookup while moving 2021-07-20 06:17:13 +02:00
TheMode
12e430db69 Inline position packets 2021-07-20 03:06:27 +02:00
TheMode
1ff4b7cb74 Do not call the move event when moving at the same position 2021-07-20 02:33:02 +02:00
TheMode
4d2b925edd Improve block#withProperty/ies performance 2021-07-19 23:59:40 +02:00
TheMode
14e42f7907 Micro optimize block placement 2021-07-19 23:41:28 +02:00
TheMode
111d5b9b66 Reduce ItemMeta allocation 2021-07-19 04:34:42 +02:00
TheMode
a61ff53189 Remove deprecated ItemTag 2021-07-19 04:27:44 +02:00
TheMode
d4398bda5b Merge branch 'master' into new-block-api 2021-07-18 17:20:22 +02:00
TheMode
4e93e52333 New command fix attempt 2021-07-18 17:19:48 +02:00
TheMode
cc1719c3c1 Remove unused method 2021-07-18 16:36:09 +02:00
TheMode
22ac1c4998 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/utils/ArrayUtils.java
2021-07-18 16:20:08 +02:00
TheMode
a07177fbf0 Prevent IOB 2021-07-18 02:13:20 +02:00
TheMode
97104df793 Potentially fix command node creation 2021-07-18 01:09:59 +02:00
TheMode
93fa65f90b Temporary command node fix 2021-07-17 23:21:31 +02:00
TheMode
2ee1470470 Cleanup ArrayUtils 2021-07-17 21:38:32 +02:00
TheMode
ac3cbce278 Fix BlockHandler#onInteract return, simplify block placement code 2021-07-17 21:28:00 +02:00
MrGazdag
0724b8639b
Fix ArrayUtils#sameStart
Fixes #370, which was a weird occurrence of this bug lmao
2021-07-17 21:20:10 +02:00
TheMode
518aab3a44 Add Block#values 2021-07-16 19:39:56 +02:00
TheMode
55fa083adf Remove longly deprecated player initialization callback 2021-07-15 22:12:11 +02:00
TheMode
1c7cd269ab Remove DataContainer from more classes 2021-07-15 21:58:29 +02:00
TheMode
91a01a23b6 Use for-each instead of lambda 2021-07-15 20:09:13 +02:00
TheMode
ebd17fdf81 Inline EffectPacket 2021-07-15 18:31:10 +02:00
TheMode
d3d809f714 Inline EffectPacket 2021-07-15 18:26:02 +02:00
TheMode
0a84b1c542 Fix test 2021-07-15 05:27:56 +02:00
TheMode
28b034103e Remove deprecated interfaces impl 2021-07-15 05:23:33 +02:00
TheMode
2e4975eb9a Fix ClientEditBookPacket 2021-07-14 16:51:22 +02:00
TheMode
a565ee77aa Fix build 2021-07-14 16:30:48 +02:00
TheMode
ea231bf52e Add 1.17.1 support 2021-07-14 16:26:32 +02:00
TheMode
e76d7486b3 Fix build 2021-07-14 03:12:20 +02:00
TheMode
2dceab7743 Improve #getBlock performance
Signed-off-by: TheMode <themode@outlook.fr>
2021-07-13 21:27:58 +02:00
TheMode
404852b0b1 Make ArgumentSyntaxException a RuntimeException 2021-07-13 19:21:29 +02:00
TheMode
eea0c7e1eb Add block face to PlayerBlockPlaceEvent 2021-07-13 18:27:45 +02:00
TheMode
520c85fcdb Fix passenger position refresh 2021-07-13 18:21:32 +02:00
TheMode
86376d431e Remove unused method 2021-07-13 18:12:46 +02:00
TheMode
2ad0263101 Inline ChunkUtils#retrieve to avoid computing chunk coordinate twice 2021-07-13 18:10:34 +02:00
TheMode
a7b0b2685b Only synchronize position if entity has been affected by its velocity 2021-07-13 17:51:29 +02:00
TheMode
86472003f8 Reuse fields 2021-07-13 15:16:18 +02:00
TheMode
fe28ba6f04 Fast exit in CollisionUtils 2021-07-13 02:32:44 +02:00
TheMode
66bac1b532 Small math improvement 2021-07-13 02:26:30 +02:00
TheMode
c643ecaeb1 Add Argument#parse 2021-07-13 01:07:02 +02:00
TheMode
838472b6c5 Added toString for Vec 2021-07-12 23:26:09 +02:00
TheMode
690b5bff57 Nitpicking 2021-07-12 21:30:32 +02:00
TheMode
722b04cbce Inline chunk getter 2021-07-11 22:01:21 +02:00
TheMode
b3f78b4706 Fix chunk refresh being broken in unloaded chunk 2021-07-11 21:57:04 +02:00
TheMode
3031895ea8 Fix return types 2021-07-11 21:30:36 +02:00
TheMode
8597d93e22 Optimize block collision check 2021-07-11 20:44:37 +02:00
TheMode
9e8d0c9ce0 Micro collision optimization + style 2021-07-11 20:20:01 +02:00
TheMode
96c7fc9147 Add Vec#fromPoint 2021-07-11 19:56:15 +02:00
TheMode
a9e78d5583 Add comments 2021-07-11 19:35:07 +02:00
TheMode
cd090e13d0 Fix test 2021-07-11 19:22:21 +02:00
TheMode
9db185f8a1 Catch exceptions in instance/chunk/entity ticks 2021-07-11 16:56:27 +02:00
TheMode
2bdc403fd0 Add Vec#rotateAroundAxis 2021-07-11 15:33:22 +02:00
TheMode
13768d35cf Add Vec#rotateFromView 2021-07-11 15:09:14 +02:00
TheMode
fe3505a6fd Add Vec#rotate 2021-07-11 14:56:48 +02:00
TheMode
b0c2b6d1b6 Merge branch 'master' into new-block-api 2021-07-11 14:07:50 +02:00
TheMode
44edeb585d
Merge pull request #366 from Minestom/new-block-future
Initial future commit
2021-07-11 14:07:34 +02:00
TheMode
b35ab0b667 Fix second setInstance method 2021-07-11 13:45:28 +02:00
TheMode
693a5f3d72 Move methods around 2021-07-11 03:56:01 +02:00
TheMode
6cdf8a9ab9 Add constant for null future 2021-07-11 03:35:17 +02:00
TheMode
7cf5821341 Annotations 2021-07-11 03:26:08 +02:00
TheMode
37b5575484 Support async chunk loading 2021-07-11 03:14:17 +02:00
TheMode
1ead7c923a Change setInstance 2021-07-11 02:59:24 +02:00
TheMode
b9679bc1ac Initial future commit 2021-07-11 02:54:02 +02:00
TheMode
6c9cef35c0
Merge pull request #365 from Kebab11noel/coordinatetype-cleanup
Cleanup CoordinateType
2021-07-11 01:11:04 +02:00
Németh Noel
8122b6673a Cleanup CoordinateType 2021-07-11 00:59:59 +02:00
TheMode
560b450b3e Use fastutil treemap 2021-07-11 00:56:54 +02:00
TheMode
99d4682655 Prevent nbt copy when placing a block 2021-07-10 20:41:22 +02:00
TheMode
4abc6dd9eb Ooops 2021-07-10 20:30:35 +02:00
TheMode
98f645b344 Micro cleanup 2021-07-10 20:26:30 +02:00
TheMode
a8a9f59715 Remove BlockEntry 2021-07-10 18:42:02 +02:00
TheMode
fc52b502dd Use proper neg method 2021-07-09 21:04:28 +02:00
TheMode
d8b92d23ba Improve collision 2021-07-09 20:43:12 +02:00
TheMode
4f20580482 Use block position for intersection check 2021-07-09 20:25:22 +02:00
Németh Noel
0793ccefc8 remove undefined type 2021-07-09 20:13:40 +02:00
Németh Noel
d6221ab212 fix boolean order 2021-07-09 20:05:46 +02:00
Németh Noel
47a0447f12 Merge remote-tracking branch 'upstream/improvement/relative-vec' into improvement/relative-vec 2021-07-09 20:03:07 +02:00
Németh Noel
8e5d2f0dfe fix mix check 2021-07-09 19:57:59 +02:00
TheMode
f829aea534 Add entity eye height 2021-07-09 19:28:08 +02:00
TheMode
2efefe25b3 Improve RelativeVec api 2021-07-09 18:53:13 +02:00
TheMode
f9689bc1f3 Merge branch 'new-block-api' into improvement/relative-vec 2021-07-09 18:38:09 +02:00
Németh Noel
e1d1f52c3d Implement local coordinate parsing 2021-07-09 18:18:52 +02:00
TheMode
ec440f778b Remove nullable annotation 2021-07-09 17:15:28 +02:00
TheMode
b9864a1a28
Merge pull request #360 from djytw/master
Fix extension resource load in Windows
2021-07-09 15:44:08 +02:00
Németh Noel
1ac99fa44c Moved parser method to ArgumentRelativeVec.java and made the class package-private 2021-07-09 15:40:19 +02:00
Németh Noel
782620466b Fix parse call 2021-07-09 15:24:32 +02:00
Németh Noel
cfad7a4145 Fix parsing 2021-07-09 15:17:35 +02:00
TheMode
0ff69503c5 Add Point#isZero 2021-07-09 12:42:36 +02:00
TheMode
95a2805723 Merge branch 'master' into new-block-api 2021-07-09 11:54:15 +02:00
TheMode
b546a873e3 Remove unnecessary cast 2021-07-09 11:23:18 +02:00
TheMode
37ab206cb1 ThreadProvider cleanup 2021-07-09 11:20:49 +02:00
Németh Noel
dff8bc61f6 add new line to end of file 2021-07-09 02:59:42 +02:00
Németh Noel
732f565489 fix number conversion 2021-07-09 02:56:34 +02:00
Németh Noel
a6b4b17279 Reduced boilerplate, RelativeVec#parse takes a parser function 2021-07-09 02:45:10 +02:00
Németh Noel
7f215ac899 Don't hardcode number count 2021-07-09 01:54:04 +02:00
Németh Noel
0f569d85f0 Fix checks 2021-07-09 01:51:08 +02:00
Németh Noel
86be5ad9c5 Simplify parsing 2021-07-09 01:34:17 +02:00
TheMode
b419ce88c1 Improve block getter performance 2021-07-09 00:42:43 +02:00
TheMode
295b3e24dd Merge branch 'master' into new-block-api 2021-07-09 00:29:31 +02:00
TheMode
e1e1ec775e Remove confusing comment 2021-07-09 00:21:41 +02:00
djytw
8f771bb867 more 2021-07-08 20:25:10 +02:00
TheMode
29b4fefb1a Remove Vector usage 2021-07-08 18:59:40 +02:00
TheMode
45d7420397 Remove most Position/BlockPosition usage 2021-07-08 18:56:40 +02:00
djytw
694d05e78a Fix resource load in Windows 2021-07-08 18:42:38 +02:00
TheMode
90ce845cdb Allow Point in setInstance 2021-07-08 18:26:26 +02:00
TheMode
c2a84c25b5 Fix RelativeVec 2021-07-08 18:15:57 +02:00
TheMode
dc89b180fb Support dynamic tick rate & prevent call from being delayed 2021-07-08 15:40:27 +02:00
TheMode
fff78cdf94 Move coordinate package 2021-07-08 13:48:28 +02:00
TheMode
ca2a2eb233 Rename with to apply 2021-07-08 13:22:04 +02:00
TheMode
30464d903d Fix position packet being sent twice 2021-07-07 19:38:43 +02:00
TheMode
faae59ff44 Remove some teleport call 2021-07-07 19:34:46 +02:00
TheMode
c9b2356a0b Fix entity chunk tracking 2021-07-07 19:20:58 +02:00
TheMode
080efa5eba Add toString impl 2021-07-07 19:04:14 +02:00
Németh Noel
ce8e14ede1 Use proper method for refreshing position 2021-07-07 18:36:24 +02:00
Németh Noel
8b35e0db9a Use remaining length when needed 2021-07-07 18:07:27 +02:00
Németh Noel
5ae26c44e1 Initial npe fix 2021-07-07 17:56:17 +02:00
TheMode
84eb0a8934 Fix build 2021-07-07 14:59:53 +02:00
TheMode
eb0f7379ea Fix intersect 2021-07-07 01:45:20 +02:00
TheMode
8a5147c994 More fixes 2021-07-07 01:32:30 +02:00
Németh Noel
6f6b15fa96 Update part of Entity.java 2021-07-07 01:06:32 +02:00
Németh Noel
4187bc0e4d Add epsilon operator 2021-07-07 00:57:47 +02:00
Németh Noel
8849b6eec8 Fix teleport packet not being sent 2021-07-06 23:44:30 +02:00
Németh Noel
f29ed48da9 update getter names 2021-07-06 23:03:01 +02:00
Németh Noel
da5abd3d4e rename getters 2021-07-06 22:59:45 +02:00
Németh Noel
65a97e5b00 Initial collision update 2021-07-06 22:26:11 +02:00
TheMode
28dca16b29 Initial position api implementation 2021-07-06 20:44:24 +02:00
LeoDog896
abace56778 Correct packet reading/writing 2021-07-06 09:54:26 -04:00
TheMode
6275154997 Public operator interfaces 2021-07-05 11:39:51 +02:00
TheMode
799dbf4a61 Point interface improvement 2021-07-05 11:38:33 +02:00
TheMode
796b6820ce Start implementing the new coordinate API 2021-07-05 09:10:03 +02:00
TheMode
aa0868f02a Merge branch 'new-position-api' into new-block-api
# Conflicts:
#	src/test/java/demo/PlayerInit.java
2021-07-05 08:27:49 +02:00
TheMode
0d031d4c15 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/instance/DynamicChunk.java
#	src/main/java/net/minestom/server/instance/Instance.java
#	src/main/java/net/minestom/server/instance/InstanceContainer.java
#	src/main/java/net/minestom/server/instance/SharedInstance.java
#	src/main/java/net/minestom/server/instance/block/CustomBlock.java
#	src/test/java/demo/Main.java
#	src/test/java/demo/blocks/CustomBlockSample.java
#	src/test/java/demo/blocks/UpdatableBlockDemo.java
2021-07-05 08:21:47 +02:00
TheMode
da4acf7966 Deprecate previous coordinate classes 2021-07-05 08:18:14 +02:00
TheMode
4414baf89b Move classes & some methods 2021-07-05 08:01:43 +02:00
MrGazdag
02abb81b85
inline NotNull and add Contract annotations 2021-07-04 18:00:09 +02:00
MrGazdag
118159d354
Add rotation methods
Adds the `rotateAroundX(double)`, `rotateAroundY(double)` and `rotateAroundZ(double)` methods
2021-07-04 17:54:43 +02:00
TheMode
1a55644c5e Merge branch 'master' into new-position-api 2021-07-04 17:40:18 +02:00
MrGazdag
6cba2cb7c7
Fix Vector rotation
The Vector class' rotateAround methods were modifying the used variables during the rotation, which should not be the case. Bukkit's similar Vector class manages to do this correctly.
2021-07-04 17:18:17 +02:00
TheMode
fe1bfaee93
Merge pull request #346 from Kebab11noel/fix/issue-258
Deprecate `UpdateOption`
2021-07-04 13:37:15 +02:00
TheMode
0f98877b95 documentation 2021-07-04 12:10:52 +02:00
TheMode
677ec61f74
Merge pull request #338 from Moulberry/master
Changes to Hologram API
2021-07-04 08:12:07 +02:00
BuildTools
323fcbe114 Remove MarkerHologram class, add parameter to Hologram constructor 2021-07-04 14:04:55 +08:00
BuildTools
6a2846a9c6 Check whether entityMeta is an instanceof ArmorStandMeta, instead of checking entity type 2021-07-04 13:58:57 +08:00
jglrxavpok
18771386c0 Slightly less restrictive package protection in MinestomRootClassLoader.
Should fix issue with Configurate not loading.
2021-07-03 18:52:21 +02:00
Németh Noel
cd65085df2 Use Duration 2021-07-03 15:29:28 +02:00
Németh Noel
b012ffbff3 Use Duration 2021-07-03 15:27:23 +02:00
Németh Noel
67860d5afb Use Duration 2021-07-03 15:25:41 +02:00
Németh Noel
34d2d5892e Remove unnecessary util method 2021-07-03 14:57:45 +02:00
Németh Noel
39dd5bfbf9 Removed duplicated code 2021-07-03 14:56:22 +02:00
Németh Noel
663e53c875 Add alternative to LivingEntity#setFireDamagePeriod that takes Duration 2021-07-03 14:52:51 +02:00
Németh Noel
efb450ce50 Simplify conversion logic and only use java.time 2021-07-03 14:45:31 +02:00
Németh Noel
3f1c433c94 Removed unnecessary deprecations 2021-07-03 14:41:57 +02:00
TheMode
5954988498 Use constructors in preparation for jdk16 records 2021-07-03 07:42:56 +02:00
TheMode
a729846eae Remove getter redirection 2021-07-03 07:26:41 +02:00
TheMode
de51970965 Experimental inverse batch option 2021-07-03 06:42:06 +02:00
TheMode
7fcd4039cb Add batch option to do not send chunk packet 2021-07-03 05:45:55 +02:00
TheMode
10aeb32b45 Merge branch 'master' into new-block-api 2021-07-03 04:24:01 +02:00
TheMode
11860040fa Allow points inside some vec methods 2021-07-03 03:25:53 +02:00
TheMode
061b6091e9 Make Pos & Vec proper classes (in the future record then primitive) 2021-07-03 03:07:18 +02:00
TheMode
dd1bf74837 Add missing annotation 2021-07-03 02:45:17 +02:00
TheMode
75ee08821f
Merge pull request #347 from GreenpixDev/master
Fix automatic component translation
2021-07-03 02:43:43 +02:00
TheMode
f44fd0af8c Make Pos an interface 2021-07-03 02:43:09 +02:00
TheMode
0f869f3cf2 Add lengthSquared & #eq 2021-07-03 02:24:45 +02:00
Németh Noel
3e0486cfd3 Added #setFireForDuration(Duration) 2021-07-02 19:58:59 +02:00
Németh Noel
cda5860440 Use a more logical way to convert to milliseconds 2021-07-02 19:47:15 +02:00
Németh Noel
075dab79c9 Use ChronoUnit instead of TimeUnit 2021-07-02 19:35:19 +02:00
Németh Noel
a5f2705118 Fix hasUpdate check 2021-07-01 15:16:10 +02:00
Németh Noel
157eb6357a Deprecated net.minestom.server.entity.ItemEntity.setPickupDelay(long, java.time.temporal.TemporalUnit) 2021-07-01 15:08:31 +02:00
Németh Noel
bcc1132ed7 Deprecated net.minestom.server.entity.Entity.scheduleRemove(long, java.time.temporal.TemporalUnit) 2021-07-01 15:03:16 +02:00
TheMode
5969ec1709 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/item/ItemMetaBuilder.java
2021-07-01 02:22:20 +02:00
TheMode
2e8b3477bf Improve tick scheduling 2021-07-01 00:34:58 +02:00
TheMode
997e35459e Do not use the thread as blocker 2021-06-30 23:34:21 +02:00
Németh Noel
fdf7153986 Flip ?: null check 2021-06-30 22:28:54 +02:00