Commit Graph

3749 Commits

Author SHA1 Message Date
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
d6dd81b35f Change dimension command to teleport to any different instance 2021-07-28 20:30:45 +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
fa8bab8191 Revert "Remove Fluid enum"
This reverts commit 3c10d93d9c.
2021-07-28 13:48:24 +02:00
TheMode
3c10d93d9c Remove Fluid enum 2021-07-28 13:46:04 +02:00
TheMode
7df7d3ad74 Reuse code for the generator 2021-07-28 13:43:05 +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
60e22e9df8 Merge branch 'master' into new-block-api 2021-07-21 05:48:45 +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
8f6f63b2c8
Merge pull request #373 from MrGazdag/patch-3
Modify /gamemode to behave more like vanilla
2021-07-20 22:29:52 +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
MrGazdag
4348ce50cf
further polish 2021-07-20 17:01:30 +02:00
MrGazdag
471838a77f
capitalize a single N
i missed that lmao
2021-07-20 13:52:04 +02:00
MrGazdag
037dfc2003
Format and comment code
makes the code look nicer
2021-07-20 13:46:57 +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
MrGazdag
ed97de417e
remove pattern matching 2021-07-20 04:15:43 +02:00
MrGazdag
ecdd0181e0
Modify /gamemode to function more like vanilla
Modifies the /gamemode command in the demo, to function like the vanilla /gamemode command, with the syntax `/gamemode <gamemode> [target]`. It also utilizes translation components for players, and allows the console to run the command as well as players.
2021-07-20 03:56:48 +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