Commit Graph

3888 Commits

Author SHA1 Message Date
emortal
2e548e6582 Remove unrelated changes, make PickupExperienceEvent implement PlayerEvent 2021-08-19 05:22:57 +01:00
emortal
a0696bc20b Add getPlayer() to PickupExperienceEvent 2021-08-19 05:05:00 +01:00
TheMode
9750e1fe8b Synchronize child access 2021-08-19 02:53:13 +02:00
TheMode
1c59186b61 Improve chunk packet reading 2021-08-19 00:11:24 +02:00
TheMode
8c6778983b Make FollowTargetGoal query for targets when necessary 2021-08-18 22:11:15 +02:00
TheMode
5cf358ac3c Fix inventory events not giving the proper inventory/slot 2021-08-18 21:08:04 +02:00
Bloepiloepi
1b8cc19a54 Fix air drag when not onground 2021-08-18 20:44:45 +02:00
Bloepiloepi
f955b1f2ae Fix knockback strength 2021-08-18 20:37:16 +02:00
TheMode
f26e6ef91f Annotation style 2021-08-18 00:43:09 +02:00
TheMode
dbf5ff6cd4 Add PlayerConnection#flush without guarantee 2021-08-17 23:23:41 +02:00
TheMode
a43f6f6b62 Potentially fix ghost chunks when switching instance 2021-08-17 23:01:28 +02:00
TheMode
69e8792ce0 Special case when an entity is teleported in the same chunk 2021-08-17 21:58:15 +02:00
TheMode
460585ae9b Prevent the client from breaking due to weird command syntaxes 2021-08-17 21:39:26 +02:00
TheMode
9afb86a511 Use fastutil #fastIterable when possible 2021-08-17 20:37:15 +02:00
TheMode
c58eaa51d3 Fix test 2021-08-17 18:44:53 +02:00
TheMode
adf9a91d7a Double-checked locking is unnecessary 2021-08-17 06:40:07 +02:00
TheMode
6c8cc9f669
Merge pull request #412 from Minestom/event-node-map
Mapped Event nodes
2021-08-17 06:31:18 +02:00
TheMode
42afae9b68 Add warning for string reading + incorrectly configured ip forwarding 2021-08-17 06:10:36 +02:00
TheMode
d0a5c781ca Propagate binding listeners 2021-08-17 03:10:16 +02:00
TheMode
488fe06f01 Make new methods experimental 2021-08-17 02:58:12 +02:00
TheMode
c5cf7e4ab2 Fix GlobalEventHandler 2021-08-17 02:35:43 +02:00
TheMode
523c9b512a More cleanup 2021-08-17 02:33:48 +02:00
TheMode
390c383e82 Rename EventInterface, add unregister 2021-08-17 02:24:21 +02:00
TheMode
a5a3b4f31e Remove unnecessary map lookup for event interfaces 2021-08-17 01:55:22 +02:00
TheMode
d5cdb36e47 Remove unnecessary list check 2021-08-17 01:35:16 +02:00
TheMode
e1c1f1d545 Make EventNode an interface 2021-08-16 23:42:02 +02:00
TheMode
42a6654993 Improve tickable block loop 2021-08-16 20:08:48 +02:00
TheMode
2339fe1c07 Cache BlockImpl hashcode 2021-08-16 20:07:57 +02:00
TheMode
bfdc5a53ca Style cleanup 2021-08-16 19:04:42 +02:00
TheMode
8617d98c95 Rework EventInterface 2021-08-16 07:58:58 +02:00
TheMode
02e8d53079 Use weak references to store mapped nodes 2021-08-16 05:53:11 +02:00
TheMode
e72c87f670 Reduce allocation in Navigator movement 2021-08-16 02:53:07 +02:00
TheMode
f3524d4a4f Use var to replace verbose map entrySet loop 2021-08-16 01:29:46 +02:00
TheMode
ef5c15fb6a Run ThreadMXBean method in the enable method 2021-08-15 23:16:50 +02:00
TheMode
6f2cf8e6a5 PlayerDiggingListener refactoring 2021-08-15 20:25:23 +02:00
TheMode
8410ac51c3 Fix enchantment nbt writing 2021-08-15 20:12:10 +02:00
TheMode
b6ab689b10 Style cleanup 2021-08-15 17:50:38 +02:00
TheMode
d53d2ecea5 Remove future allocation 2021-08-15 06:00:17 +02:00
TheMode
6c242cbc7f Simplify InstanceContainer 2021-08-15 05:58:53 +02:00
TheMode
af50bbb440 Player#UNSAFE_init now set the instance 2021-08-15 00:52:07 +02:00
TheMode
93405cd180 Style 2021-08-14 21:28:51 +02:00
TheMode
e5f0dc8061 Improve mapped node implementation. Add handler type to EventFilter 2021-08-14 21:20:51 +02:00
TheMode
e7cbe49a42 Fix middle click 2021-08-14 20:33:58 +02:00
TheMode
b505613810 Re-make the player field protected 2021-08-14 18:39:45 +02:00
TheMode
11d8c16bf4 Reduce magic values usage for packet slot conversion 2021-08-14 18:27:31 +02:00
TheMode
8cf58fa397 Fix double click clickedItem always being air 2021-08-14 18:21:01 +02:00
TheMode
4560f2e630 Change InstanceContainer#unloadChunk implementation to directly unload chunks instead of maintaining a set 2021-08-14 16:37:19 +02:00
TheMode
168672e002 Keep reference to the framed packet for debugging/transformation purpose 2021-08-14 14:39:11 +02:00
TheMode
ebb8d03985 Fix getEventMapping 2021-08-14 02:56:34 +02:00
TheMode
174cc2ea8f Make mapped nodes work 2021-08-14 02:48:26 +02:00
TheMode
5f51448da6 Add WIP EventNode.Mapped 2021-08-14 02:11:22 +02:00
TheMode
a075231770 Add EventInterface prototype 2021-08-14 01:39:45 +02:00
TheMode
e96334e315 Ignore creative inventory action when the item is already present. 2021-08-13 23:37:40 +02:00
TheMode
3ff5a7f414 Implement toString for registry objects 2021-08-13 21:15:43 +02:00
TheMode
1775de52e4 Remove debug line 2021-08-13 21:11:38 +02:00
TheMode
7f0f35b060 Fix double/drag prediction in player inventory 2021-08-13 21:05:56 +02:00
TheMode
3423562be8 Fix double/drag prediction 2021-08-13 20:45:28 +02:00
TheMode
1bdc50f4a0 Trust client's inventory prediction when possible 2021-08-13 20:41:59 +02:00
TheMode
d4f74abc64 Include original packet in FramedPacket for debugging/listening purpose 2021-08-13 19:58:14 +02:00
TheMode
17f9eb45ca Make #getNearbyBlocks static 2021-08-13 19:53:37 +02:00
TheMode
3f01d63913 Inline delta computation 2021-08-13 10:26:46 +02:00
TheMode
c89f049dad Reduce bounding box allocation 2021-08-13 10:12:28 +02:00
TheMode
3917d3cb1d Merge branch 'master' into new-block-api 2021-08-13 09:47:09 +02:00
TheMode
ce985bc41d
Merge pull request #410 from MrGazdag/patch-11
Add Player#refreshCommands()
2021-08-13 09:28:55 +02:00
TheMode
d785f50447 Items gravity is predicted client-side 2021-08-13 08:01:48 +02:00
TheMode
5a1eb83f49 Check with the position field instead of the parameter 2021-08-13 06:04:44 +02:00
TheMode
e5903c23a3 Reduce position packets when velocity is applied 2021-08-13 05:59:52 +02:00
TheMode
88ec8ddffa Fix block hashcode 2021-08-13 05:40:29 +02:00
TheMode
0db44545cd Do not copy collections unless necessary 2021-08-13 03:25:11 +02:00
TheMode
322572c96d Rename to LocalCache 2021-08-13 01:13:58 +02:00
TheMode
78126fad6c Add experimental local buffer API. Remove allocation when writing chunk packets (should help with startup time) 2021-08-13 01:08:19 +02:00
TheMode
82602a686e Fix SoundEvent not being an adventure sound type 2021-08-12 22:08:31 +02:00
TheMode
70c757e8b5 Drag click cleanup, fix cursor item not being updated (thanks 1.17.1) 2021-08-12 20:49:03 +02:00
TheMode
c17f07e1d0 More inventory cleanup 2021-08-12 18:06:23 +02:00
MrGazdag
c71ea517a2
add refreshCommands() 2021-08-12 03:53:49 +02:00
themode
6b151c1f7c Inline position check 2021-08-11 22:17:41 +02:00
TheMode
35d63ae547 Implements #equals for BlockImpl 2021-08-11 21:28:13 +02:00
TheMode
be07fdb647 Simplify InventoryClickProcessor 2021-08-11 20:35:30 +02:00
TheMode
5607652378 Fix incorrect held click slot 2021-08-11 19:51:08 +02:00
TheMode
5714d9db79 Merge remote-tracking branch 'origin/new-block-api' into new-block-api 2021-08-11 16:16:01 +02:00
TheMode
8ff4f9432c Init player before setting its instance 2021-08-11 16:15:56 +02:00
Matthew
6ba5f64db6 Cleared up Section#toChunkCoordinate 2021-08-11 15:08:54 +02:00
TheMode
ea951f9566 Less allocation for compressed packets 2021-08-11 14:47:20 +02:00
TheMode
13538c768c Less worker threads by default 2021-08-11 14:32:06 +02:00
TheMode
6773ea73ef Merge remote-tracking branch 'origin/new-block-api' into new-block-api 2021-08-11 14:18:19 +02:00
TheMode
fd08cabb6a Change default tab implementation to show all online players 2021-08-11 14:18:04 +02:00
TheMode
1fdf1d62f9
Merge pull request #402 from MrGazdag/patch-9
Fix timeRate 0 when time is 0
2021-08-11 13:42:18 +02:00
MrGazdag
73d54e812e
format code 2021-08-11 13:39:36 +02:00
TheMode
3924d2c0a2 Do not send additional velocity packets to players 2021-08-11 13:23:45 +02:00
MrGazdag
4fc5b4f6c9
fix time 0 2021-08-11 03:41:17 +02:00
TheMode
ae3884efdc Automatically resize BinaryWriter 2021-08-11 01:01:50 +02:00
TheMode
e7e59052a9
Merge pull request #400 from Kebab11noel/merge-number-args
Reduce boilerplate in number arguments
2021-08-10 22:34:55 +02:00
Németh Noel
47a07ca219 Fix exception message 2021-08-10 22:21:19 +02:00
Németh Noel
c94344a22e Reduce boilerplate, add missing toString method 2021-08-10 22:18:11 +02:00
TheMode
7f4e4a9b80 Steal var-int/long code from async-profiler 2021-08-10 18:45:02 +02:00
Bloepiloepi
ed064c42be Use active hand when updating item state 2021-08-10 01:20:01 +02:00
TheMode
36f3355a12 Use for-each 2021-08-10 01:17:44 +02:00
TheMode
18058bc3c8 Reduce ByteBuffer allocation 2021-08-09 23:54:45 +02:00
Bloepiloepi
aaad91ff47 Initialize every projectile in CrossbowMeta 2021-08-09 16:41:01 +02:00
Bloepiloepi
447f921cf1 Send only changed attributes 2021-08-09 16:37:46 +02:00
TheMode
f489f95bb7 Improve velocity forwarding 2021-08-09 15:18:28 +02:00
TheMode
e9e688b50a Add (and fix) packet reading warning 2021-08-09 15:09:08 +02:00
TheMode
5b8b9cab57 Fix buffer not being emptied 2021-08-09 02:05:51 +02:00
TheMode
1b708bc851 Fix BinaryBuffer#canWrite, use read-only buffers for caching 2021-08-09 01:45:00 +02:00
TheMode
cb7bccf26c Load level.dat nbt on instance init 2021-08-09 01:16:51 +02:00
TheMode
0c52c9eb30 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/entity/Entity.java
#	src/main/java/net/minestom/server/entity/Player.java
2021-08-09 00:52:36 +02:00
TheMode
1181724b7a
Merge pull request #389 from Minestom/nio
Switch to NIO
2021-08-09 00:46:56 +02:00
TheMode
10fce3c034 Use lambda for socket accept 2021-08-08 23:51:59 +02:00
TheMode
1b79d2e2e8 Cleanup 2021-08-08 23:03:01 +02:00
TheMode
3881102925 Make Worker a thread 2021-08-08 21:28:38 +02:00
TheMode
99a3ad88a1 Use lambda for socket selection 2021-08-08 21:14:53 +02:00
TheMode
09b7daa985 Fix server shutdown 2021-08-08 19:58:00 +02:00
TheMode
1591df16aa Rename netty to socket wherever possible 2021-08-08 19:11:47 +02:00
TheMode
b56509718c Add encryption support 2021-08-08 19:02:36 +02:00
TheMode
f75f755194 Make BinaryBuffer internal 2021-08-08 17:01:44 +02:00
AwesomestCode
938ff330ec
Remove extra space 2021-08-07 19:40:27 -04:00
Eoghanmc22
6ed7581e03 fix a bug with map api 2021-08-06 22:22:25 -04:00
TheMode
a2e2461d22 Revert BinaryReader changes 2021-08-06 17:30:39 +02:00
TheMode
2a6f9a8bc8 Use BinaryBuffer for velocity forwarding 2021-08-06 16:35:01 +02:00
TheMode
f135edba0d Replace BinaryReader to BinaryBuffer 2021-08-06 16:30:52 +02:00
TheMode
9bcf89b677 Simplify var-int reading 2021-08-06 14:30:55 +02:00
TheMode
455c21208e WIP BinaryBuffer 2021-08-06 14:21:11 +02:00
TheMode
aa2a6522dc Increase socket size, cache direct buffers 2021-08-05 15:42:16 +02:00
TheMode
7ba8189a28 Fix ghost players 2021-08-05 15:10:15 +02:00
TheMode
87f141ff50 Simplify packet writing 2021-08-05 03:09:45 +02:00
TheMode
a52d574049 Send light packet first 2021-08-05 02:34:48 +02:00
TheMode
eb43dc0cc0 Reuse flush method 2021-08-05 01:10:03 +02:00
TheMode
58487f4455 Add PacketUtils#allocateTrimmedPacket 2021-08-05 00:08:53 +02:00
TheMode
a2afcdd3a0 Reduce field access 2021-08-04 21:17:02 +02:00
TheMode
120b58db6a Fix ghost player, trim chunk/light packets 2021-08-04 21:02:59 +02:00
TheMode
538d641d4b Channel write cleanup 2021-08-04 20:34:27 +02:00
TheMode
ba63fe5b63 Remove PropertyEntry map wrapper 2021-08-04 17:45:17 +02:00
TheMode
0b23795fb0 Remove login log 2021-08-04 17:32:36 +02:00
BuildTools
27d2219fb8 Fix dimension 2021-08-04 22:58:33 +08:00
TheMode
9b9d3f3405 Better chunk packet caching 2021-08-04 16:49:01 +02:00
TheMode
58f0f3ec89 Light cleanup 2021-08-04 14:47:19 +02:00
TheMode
7320d83175 Reduce exception spam 2021-08-04 12:52:49 +02:00
TheMode
174ef14303 Reuse grouped buffers 2021-08-04 12:41:15 +02:00
TheMode
0d91f9efc6 Close the main selector 2021-08-04 05:19:11 +02:00
TheMode
8895e49a52 Improve socket shutdown 2021-08-04 05:15:40 +02:00
TheMode
557d34c378 Reduce allocation count 2021-08-04 04:00:42 +02:00
TheMode
9bb50430d4 Fix memory leak, decrease socket size 2021-08-04 03:53:01 +02:00
TheMode
5adeed392b Flush packet sync
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-04 00:48:35 +02:00
TheMode
66b567597a Fix connection crash
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-04 00:37:17 +02:00
TheMode
548cee55e0 Fix compression
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 21:16:24 +02:00
TheMode
65df72fa82 Remove write branching
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 20:18:38 +02:00
TheMode
6db55ce91f Always flip
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 20:02:27 +02:00
TheMode
9f1efb0932 Fix writer to array conversion
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 19:54:32 +02:00
TheMode
fbf6479135 Fix item meta writing
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 19:44:10 +02:00
TheMode
e4a3a3dbae Removed unused buffer + deflater
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 17:05:21 +02:00
TheMode
b35954c05d Fix ping
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 13:09:03 +02:00
TheMode
1c3bb5b0ff First NIO attempt
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 12:57:13 +02:00
TheMode
e0cfd4c33c Improve registry data load 2021-08-01 15:39:11 +02:00
TheMode
515b5358da Simplify forDifferencesBetweenArray 2021-08-01 14:10:47 +02:00
TheMode
9a74051cdb Use jdk method for array comparison 2021-08-01 14:00:57 +02:00
TheMode
db9906d0ae Override Block#toString 2021-08-01 13:01:56 +02:00
TheMode
bf48154aee Cache registry collections 2021-08-01 12:05:10 +02:00
TheMode
aa1fc186f0 Use cursor item in windows packet (thanks mojang) 2021-07-31 18:16:19 +02:00
TheMode
e150a6542a More specific Registry annotation/doc 2021-07-31 17:57:46 +02:00
TheMode
d61174235b Use intrinsics math floor 2021-07-30 18:33:37 +02:00
TheMode
b178a6adac Create velocityTick method 2021-07-30 18:10:35 +02:00
TheMode
d0ace7f10e Simplify BlockImpl 2021-07-30 17:34:39 +02:00
TheMode
0bf275afb2 Use getSafe 2021-07-30 17:17:37 +02:00
TheMode
53dea325f9 Move BlockLoader into impl class 2021-07-30 17:16:52 +02:00
TheMode
f865a7b9dd Reduce registry boilerplate 2021-07-30 15:29:05 +02:00
TheMode
c9f234cb1d Use #getSafe 2021-07-30 15:09:18 +02:00
TheMode
3dd35c1605 Use a single registry-impl class per type 2021-07-30 15:08:06 +02:00
TheMode
d7a6891153 Remove vehicle in Entity#remove 2021-07-30 14:01:54 +02:00
TheMode
184140e341 Remove passengers in Entity#remove 2021-07-30 12:38:15 +02:00
BuildTools
0e8109f259 Fix position desynchronization 2021-07-30 17:09:00 +08:00
TheMode
1baf4a5068 Remove unused method 2021-07-30 11:01:43 +02:00
TheMode
31093cf3f0 Fix fluid tags 2021-07-29 15:51:51 +02:00
TheMode
34c5f5133e Remove loot table api 2021-07-29 13:24:29 +02:00
TheMode
24e4b8765e Remove resource gatherer, retrieve tags from our own data generator 2021-07-29 12:54:16 +02:00
TheMode
16e4b61eb7 Fix unused imports 2021-07-29 00:02:43 +02:00
TheMode
5fe72d4e2b Double lock fix 2021-07-29 00:00:08 +02:00
TheMode
16fbc5ea2c Simplify Player#setInstance 2021-07-28 17:28:36 +02:00
TheMode
5ff7667691 Add maxDamage for Material registry 2021-07-28 17:00:16 +02:00
TheMode
6a86e92999 Unload all chunks when changing instance 2021-07-28 16:36:21 +02:00
TheMode
de944edf42 Fix item stack argument 2021-07-28 14:35:07 +02:00
TheMode
13b7039721 Replace most enums 2021-07-28 14:29:28 +02:00
TheMode
a6a657b9b8 Make Enchantment an interface 2021-07-28 13:27:49 +02:00
TheMode
8dff4227eb Rename registry resource enum 2021-07-28 13:02:12 +02:00
TheMode
ec6bcf2d01
Merge pull request #383 from MrGazdag/patch-8
Set time to negative when timeRate is 0
2021-07-28 09:31:39 +02:00
TheMode
bf53313c3e Use 0.91 drag when not on ground 2021-07-28 09:20:28 +02:00
MrGazdag
24ee50d69e
use -Math.abs() instead 2021-07-27 20:50:17 +02:00
MrGazdag
f35bcb90b9
update Instance 2021-07-27 18:57:11 +02:00
MrGazdag
d3cacb0f25
remove methods 2021-07-27 12:24:25 +02:00
MrGazdag
a20fb32ef5
fix documentation and add hasFlag 2021-07-27 12:11:30 +02:00
MrGazdag
5b1e06de04
use static fields in Player 2021-07-27 12:08:13 +02:00
MrGazdag
a6c6944e56
Update PlayerAbilitiesPacket 2021-07-27 11:56:51 +02:00
TheMode
274a40ea27 Make EntityType an interface 2021-07-27 11:56:20 +02:00
TheMode
00b991e970 Add translation keys 2021-07-27 10:51:38 +02:00
TheMode
82e5873b4f Protocol interfaces to become sealed in the future 2021-07-27 10:28:06 +02:00
TheMode
c549ec1663 Remove legacy registry methods 2021-07-27 09:55:01 +02:00
TheMode
d685a7b136 Make Material an interface 2021-07-27 09:40:57 +02:00
TheMode
5b044a2d38 Update Registry to retrieve a block material 2021-07-27 08:48:45 +02:00
TheMode
b22d030a6f Ask for the flag directly in PlayerAbilitiesPacket 2021-07-27 07:44:06 +02:00
TheMode
de76ac5aad Add UpdateViewPositionPacket constructor 2021-07-27 07:00:04 +02:00
TheMode
d61b1d48b7 Remove SoundCategory.java 2021-07-27 06:58:42 +02:00
TheMode
5285665939 Remove longly deprecated chat package 2021-07-27 06:55:08 +02:00
TheMode
2cc92e5e3e Simplify login process 2021-07-26 15:49:03 +02:00
TheMode
aaa71f4e9a Fix EntityProjectile 2021-07-26 11:53:30 +02:00
TheMode
87e4d84e4a Fix falling block meta 2021-07-26 10:34:18 +02:00
TheMode
25d645a5cb Remove legacy position objects 2021-07-25 06:30:49 +02:00
TheMode
ad964a0a39 Remove deprecated UpdateOption.java 2021-07-25 06:25:32 +02:00
TheMode
adacf6b8aa Improve mapping/filtering 2021-07-25 05:56:52 +02:00
TheMode
e04a5bc2d8 unused import 2021-07-24 14:38:43 +02:00
TheMode
6ce5e8d310 Inline newposition when physics is disabled 2021-07-24 13:06:28 +02:00
TheMode
fdaac26e72 Fix epsilon 2021-07-24 12:53:55 +02:00
TheMode
e3520f4294 Use a fastutil map to store chunks, will be significantly slower when accessed from multiple threads but without generating any garbage, and better for single-threaded use. 2021-07-24 11:44:50 +02:00
TheMode
3a93ab045a Fix with the latest version of MinestomData 2021-07-24 11:22:59 +02:00
TheMode
7f5ea582c9 More packet constructors 2021-07-24 07:45:08 +02:00
TheMode
2ad8fb1c77 Use instance players when possible 2021-07-24 04:39:57 +02:00
TheMode
19e3bee23c Lambda cleanup 2021-07-24 04:31:35 +02:00
TheMode
f7d30feb7f Cleanup EntityFinder 2021-07-24 04:22:50 +02:00
TheMode
6aa55ad7b6 Cleanup 2021-07-24 03:31:03 +02:00
MrGazdag
4b517244a2
Fix incorrect coordinate encoding 2021-07-23 18:20:01 +02:00
TheMode
d146aacd36 Cleanup 2021-07-23 16:14:42 +02:00
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