Commit Graph

1372 Commits

Author SHA1 Message Date
themode
9f45cf11a3 Added todo to optimize buffer allocation 2020-11-20 05:50:52 +01:00
themode
4060f8d290 Added GroupedPacketHandler to prevent rewriting the same packet multiple times 2020-11-20 05:37:13 +01:00
themode
3455c77eb7 Explain the role of each handlers 2020-11-20 04:48:33 +01:00
themode
e8ddf44c39 Stop hardcoding handler names 2020-11-20 04:36:33 +01:00
themode
153f7215b3 Write packet only once when used with PacketUtils#sendGroupedPacket 2020-11-20 03:57:05 +01:00
themode
2d7159f888 Fixed javadoc 2020-11-20 03:50:41 +01:00
themode
0739b57dd1 Server packet listener now takes a collection of player, for future network optimization 2020-11-20 03:47:29 +01:00
TheMode
a0fccca1c6
Merge pull request #69 from JesFot/master
Add code style checks
2020-11-20 02:55:33 +01:00
TheMode
60bb0fec73
Merge pull request #71 from LeoDog896/master
Add llama entity with hitbox
2020-11-20 02:55:02 +01:00
JesFot
2c18312988
Merge branch 'master' into master 2020-11-20 02:12:02 +01:00
LeoDog896
974372d2bd Merge remote-tracking branch 'upstream/master' 2020-11-19 19:55:00 -05:00
LeoDog896
66f038113f Added EntityLlama 2020-11-19 19:53:22 -05:00
themode
018786463d Replaced the channel traffic handler to GlobalChannelTrafficShapingHandler 2020-11-19 15:37:12 +01:00
themode
533526d3a5 MainDemo does not require a default write and read speed 2020-11-19 08:48:33 +01:00
themode
099a8bafdc Increase socket send buffer to 1MB 2020-11-19 08:29:34 +01:00
themode
c1e623eddc Fix unmappable character 2020-11-19 08:19:16 +01:00
TheMode
af730fb73c Decrease default synchronization time group to 50
Signed-off-by: TheMode <themode@outlook.fr>
2020-11-19 08:11:09 +01:00
themode
69a268aa9d Fixed first player teleportation when the respawn point is not 0 0 0 2020-11-19 08:05:08 +01:00
themode
828069c685 Cleanup + reduced default chunk view distance to 8 2020-11-19 07:00:41 +01:00
TheMode
fae8e30272 Reduced compression level to 3
Signed-off-by: TheMode <themode@outlook.fr>
2020-11-19 04:54:54 +01:00
Eoghanmc22
f307303758 Netty improvements 2020-11-18 20:28:56 -05:00
Eoghanmc22
618fd2b536 Begin optimizing netty. 2020-11-18 13:39:06 -05:00
themode
f30330c59b Added PlayerStartDiggingEvent warning 2020-11-18 13:22:23 +01:00
themode
408ce03cfb Made PacketDecoder more readable 2020-11-18 11:15:58 +01:00
themode
e619dd6a8e Set the default write & read limit to 75KB/s per connection 2020-11-18 11:11:21 +01:00
jglrxavpok
142b6a69a5 Post-merge fixes 2020-11-18 09:24:59 +01:00
jglrxavpok
0a4bb5ab08 Merge branch 'extensions-v2'
# Conflicts:
#	src/main/java/net/minestom/server/extensions/Extension.java
#	src/main/java/net/minestom/server/extensions/ExtensionManager.java
#	src/main/java/net/minestom/server/extras/selfmodification/MinestomRootClassLoader.java
2020-11-18 09:13:30 +01:00
themode
cdbf514918 Player#getPlayerSynchronizationTickDelay comment 2020-11-18 07:44:57 +01:00
themode
6869c834f3 Allow dynamic synchronization delay based on the number of viewers 2020-11-18 07:43:45 +01:00
themode
40d6a71697 Cleanup 2020-11-18 06:39:20 +01:00
themode
2a1a1cdcbc add method to modify and retrieve the player synchronization cooldown 2020-11-18 05:19:44 +01:00
themode
553a280993 Per instance thread is now the default, added a configurable cooldown for player position refresh 2020-11-18 05:13:49 +01:00
JësFot
d968946c44 Restore deleted empty lines 2020-11-18 00:52:33 +01:00
JësFot
ad0f02cfa9 Add checkstyle gradle plugin 2020-11-18 00:50:27 +01:00
themode
2405b7ae6f KB, not MB 2020-11-17 16:11:59 +01:00
themode
7ebbb8bc6c Added networking optimization code in MainDemo 2020-11-17 16:08:30 +01:00
themode
ccaf9b5c47 Reformat code 2020-11-17 15:58:36 +01:00
JësFot
3597af34f9 Add comments to attribute system 2020-11-17 15:52:20 +01:00
JesFot
b9ea934857
Changing shareWithClient defaults to `true` 2020-11-17 15:10:48 +01:00
JësFot
d738f9fddd Implement attribute instances 2020-11-17 14:59:47 +01:00
themode
089f9a30aa Comments about write/read limit of 0 2020-11-17 08:15:05 +01:00
themode
f965c5b9c9 Added write and read limit 2020-11-17 05:27:05 +01:00
themode
37a626121b Set the default thread provider thread count to PROCESSORS*2 2020-11-17 02:56:55 +01:00
themode
c755dcfb0c Prevent permanent loop for console commands 2020-11-17 02:43:20 +01:00
themode
ddaa3a6678 Prevent potential synchronization issue while removing client cache 2020-11-17 01:33:12 +01:00
themode
8b526bcabe Decrease compression level to 3 2020-11-16 17:42:37 +01:00
themode
12822c508f Cleanup 2020-11-16 17:36:31 +01:00
themode
392e702108 Improving chunk generation performance 2020-11-16 17:02:40 +01:00
themode
d4637f328b Fix server ping 2020-11-16 12:44:20 +01:00
themode
a5839ae1c8 PacketListenerManager#processServerPacket comment 2020-11-16 12:25:13 +01:00
themode
798b5d4853 Only flush during player update 2020-11-16 12:03:22 +01:00
themode
540405e796 Optimized PacketCompressor 2020-11-16 11:41:03 +01:00
themode
310733b747 Fixed stacking not working with NbtDataImpl 2020-11-16 07:40:45 +01:00
themode
3db53a798f Removed lombok dependency 2020-11-16 03:10:51 +01:00
themode
11f1a5380c Fix data file not being generated in TestLootTables 2020-11-16 00:46:46 +01:00
themode
6fbea18b41 Javadoc clarification 2020-11-16 00:04:27 +01:00
themode
a8ef335ac5 Added docs folder for GitHub Pages 2020-11-15 23:39:49 +01:00
themode
beebf18af2 Fixed the chunk generator not being executed when no populator is defined 2020-11-15 10:44:11 +01:00
themode
f1d046753c Added info about chunk potential memory leak 2020-11-15 08:33:03 +01:00
themode
2285c9622a If the garbage collector is happy, everyone is - TheMode 2020-11-15 08:03:33 +01:00
themode
47a18fc305 Created PaletteStorage#clean 2020-11-15 05:12:28 +01:00
themode
f67328c7a7 Clarify that entity ids are unique server-wide 2020-11-14 23:24:16 +01:00
themode
44fbeaa2d8 Use player respawnPosition in the SpawnPosition packet 2020-11-14 23:21:47 +01:00
themode
4353e10741 Added bungee skin/uuid forwarding 2020-11-14 23:18:52 +01:00
themode
ae8a182eb8 Read player skin from velocity 2020-11-14 22:13:01 +01:00
themode
1d1e82aeb3 Prevent infinite load screen when not teleporting the player on spawning 2020-11-14 21:45:30 +01:00
themode
ea6981c4b0 Space cleanup 2020-11-14 21:05:23 +01:00
themode
0abedd7453 Optimization to prevent permanent map lookup 2020-11-14 09:02:29 +01:00
themode
648cad85c2 Entity implements now PermissionHandler 2020-11-14 07:09:36 +01:00
themode
da94942bad Created PermissionHandler 2020-11-14 07:06:46 +01:00
themode
868f921b94 Better warning message when a packet is not fully read 2020-11-14 05:33:24 +01:00
themode
facc43e550 Added OptifineSupport for fast fix 2020-11-14 04:09:38 +01:00
themode
0d3ef8e7a3 Synchronize biome registration 2020-11-14 03:21:16 +01:00
themode
a56a9aba3e Clarification for FakePlayer#initPlayer about player registration 2020-11-14 02:30:42 +01:00
themode
597f292c16 Synchronize BlockManager registration methods 2020-11-14 01:47:25 +01:00
themode
1a8baf36f6 Prevent command override using CommandManager 2020-11-14 01:39:51 +01:00
themode
669e7ea711 Prevent important biome fields from being null 2020-11-14 01:06:04 +01:00
themode
2ea2efb5a2 Comments for packet handler getter 2020-11-14 00:26:15 +01:00
themode
6586ca39bc Added MinecraftServer#getPacketProcessor and allow to override client packet and instantiate packet instance from an id 2020-11-14 00:20:19 +01:00
themode
a1fd711b85 Created DebugUtils 2020-11-13 21:57:45 +01:00
themode
ade727cd0f Cleanup + created SingleThreadProvider 2020-11-13 19:43:22 +01:00
themode
47045252e5 PacketUtils comment 2020-11-13 09:17:53 +01:00
themode
2d009e19a7 Added KQueue support on OSX + netty version update 2020-11-13 08:39:05 +01:00
themode
1bf8c5f89b Fixed time packet being sent every tick (should be every second now) 2020-11-13 07:45:35 +01:00
themode
c60f625c55 Revamp of the packet sending code, added possibility to have listeners for outgoing packets 2020-11-13 07:43:35 +01:00
themode
3c2c7acb0b Optimize PaletteStorage operations 2020-11-13 03:57:13 +01:00
themode
0ae656c1f2 Prevent placing blocks above y=255 2020-11-13 03:51:02 +01:00
themode
72d941bc74 Prevent corrupted item stack from crashing the server 2020-11-13 03:39:00 +01:00
themode
1e30283733 Fixed palette breaking with a Y below 0 2020-11-13 03:29:09 +01:00
themode
0ab9c79a28 Prevent array resizing during server tick 2020-11-13 03:26:35 +01:00
themode
f24ae00c8f Enable packet rate limit by default with a value of 300 2020-11-13 02:07:01 +01:00
themode
a992dc1ff9 Removed confusing BinaryReader method 2020-11-13 02:02:52 +01:00
themode
02f507d5ad Server shouldn't crash/lag when receiving a string too big 2020-11-13 01:53:55 +01:00
themode
674e1079dd Added max packet size condition 2020-11-13 01:34:25 +01:00
themode
373a1cf3a7 Removed TODO 2020-11-13 00:31:04 +01:00
themode
13932a6ca3 Removed RichMessage format retention, should be done manually. + cleanup 2020-11-13 00:28:22 +01:00
themode
d3d3cc6553 Each chunk section gets its own palette, should decrease memory usage on vanilla-like worlds 2020-11-12 22:41:41 +01:00
themode
5d8b8666f2 More PaletteStorage comments 2020-11-12 08:23:37 +01:00
themode
6e77bb8358 Improved demo commands clarity 2020-11-12 03:09:36 +01:00
themode
60d01fab11 Fix main loop sleep 2020-11-12 00:56:36 +01:00
themode
041bc721c8 Cleanup UpdateManager 2020-11-12 00:18:36 +01:00
themode
46bf69c9e2 PaletteStorage comments 2020-11-11 21:44:32 +01:00
themode
1d7db5e211 Added dynamic palette resizing 2020-11-11 21:35:20 +01:00
Eoghanmc22
a7a390307c Corrected bitwise palette code and some bugs. 2020-11-11 14:28:59 -05:00
themode
babc6e35ba Fixed palette 2020-11-11 17:30:18 +01:00
themode
55cddf6b78 Added palette 2020-11-11 17:13:36 +01:00
themode
00656d96e0 Cleanup 2020-11-11 08:16:42 +01:00
themode
93bae25085 Custom blocks also use a PaletteStorage object, removed StaticChunk since memory is not an issue anymore 2020-11-11 07:29:07 +01:00
themode
4dfe01ea2f WIP PaletteStorage (only works with Bits per entry of 15) 2020-11-11 06:06:28 +01:00
themode
b6bf6a17ba Merge branch 'master' into test-palette
# Conflicts:
#	src/main/java/net/minestom/server/instance/DynamicChunk.java
2020-11-11 04:27:03 +01:00
themode
dde3430010 ArgumentRelative comment 2020-11-11 04:24:09 +01:00
themode
d520a0ebc4 Created ArgumentRelativeVec to prevent code duplication 2020-11-11 03:31:15 +01:00
themode
6cbe656b15 Added "semi-relative" location argument support 2020-11-11 02:11:28 +01:00
themode
99d27b78c4 Fixed NbtDataImpl not working in creative mode 2020-11-11 00:29:06 +01:00
themode
78bf5dda05 Comments for the relative location arguments 2020-11-10 23:31:35 +01:00
themode
ad357d70fc Added ArgumentRelativeBlockPosition, ArgumentRelativeVec3 and ArgumentRelativeVec2 2020-11-10 23:16:35 +01:00
themode
bbf9f92b52 Added bungee forwarding support 2020-11-10 21:38:08 +01:00
themode
bcee5424dc Fixed copied packets and compression using velocity forwarding 2020-11-10 21:14:24 +01:00
themode
f2e52ff463 Send an EntityMovementPacket every tick if the player did not move since the last one 2020-11-10 18:13:24 +01:00
themode
3ddca82aaa Cleanup 2 2020-11-10 08:01:27 +01:00
themode
68bb479f4a Cleanup 2020-11-10 07:42:11 +01:00
themode
c6c8f6b9d6 Usage comments for VelocityProxy 2020-11-10 00:13:57 +01:00
themode
7db94f3a65 Support for velocity modern forwarding 2020-11-09 23:48:34 +01:00
themode
247a328a09 Annotations for the advancement API 2020-11-09 18:29:30 +01:00
TheMode
826533e5ee Added some dots
Signed-off-by: TheMode <themode@outlook.fr>
2020-11-09 18:08:26 +01:00
themode
e583f21b74 Fixed client crashing when pinging with an older client 2020-11-09 03:21:18 +01:00
themode
f9035bf949 Param comments for NBTUtils#toNBT 2020-11-08 22:40:50 +01:00
themode
4412bea7b8 NBTUtils comments and contributors link in README.md 2020-11-08 20:13:24 +01:00
themode
11fc1e39bc Cleanup InstanceContainer#copy 2020-11-08 17:39:03 +01:00
themode
682c660857 Fixed javadoc 2020-11-08 15:57:00 +01:00
themode
a574c1fe2a Close the command scanner once stopped 2020-11-07 22:58:19 +01:00
themode
224626bdbd Added NbtDataImpl to support writing custom item NBT data to the client 2020-11-07 19:39:22 +01:00
themode
7bdfc93334 Added some comments about exceptions 2020-11-07 04:42:48 +01:00
themode
1d30e6e953 Use the Validator interface when possible for readability 2020-11-07 04:28:50 +01:00
themode
b2097a338d Added comments for Argument constructors 2020-11-07 03:45:25 +01:00
themode
66fc6779b6 Dynamic arguments now also have an optional dynamic restriction 2020-11-07 03:40:37 +01:00
themode
8c8ba37947 Added auto suggestion in the reload command 2020-11-06 23:35:31 +01:00
themode
cf6fbd3d34 Cleanup 2020-11-06 22:58:38 +01:00
themode
fc4501501b Fix tasks not being canceled properly + annotations 2020-11-06 22:13:52 +01:00
jglrxavpok
69f424eb6a Improve load command safety 2020-11-06 16:10:44 +01:00
jglrxavpok
d83bec4732 Let users change extension jar after unload, then load it again 2020-11-06 16:03:08 +01:00
themode
7ba1b9e174 Added additional information in InstanceContainer#cacheChunk about signaling 2020-11-05 22:53:46 +01:00
themode
73d99bf462 Made InstanceContainer#cacheChunk public 2020-11-05 22:42:03 +01:00
themode
0ee8eb7d45 Removed the instance from Chunk constructor 2020-11-05 22:37:04 +01:00
themode
46d008b595 Added annotations in PacketUtils 2020-11-05 22:20:51 +01:00
themode
dfa725800a Merge remote-tracking branch 'origin/master' 2020-11-05 16:37:32 +01:00
themode
428cea625e Removed Block empty duplicate 2020-11-05 16:37:16 +01:00
KrystilizeNevaDies
16051e09de Minor typo fix
Forgot to remove reduntant hashtag
2020-11-06 01:15:06 +10:00
TheMode
d31c6e8c5f
Merge pull request #64 from Geolykt/patch-1
Added distanceSquared where applicable and changed BlockPosition distance calculation
2020-11-05 15:44:35 +01:00
KrystilizeNevaDies
b50530b4e7 Fix rgb byte overflow
Fix rgb byte overflow:
Changed from concatenation and logic to bitwise ops
2020-11-06 00:36:45 +10:00
Geolykt
3be5605126 Added distanceSquared where applicable
Warning: Also breaks current API-Implementation (API-specification remains the same) in a way that BlockPosition#getDistance(BlockPosition) no longer returns the manhattan distance, but the distance according to pythagoras.
2020-11-04 20:31:29 +01:00
themode
2c0f0a8f9e Remove warning about MinecraftServer#setEntityViewDistance 2020-11-04 19:20:45 +01:00
themode
7b6f4b365b Do not add the entity as viewer multiple time 2020-11-04 19:16:47 +01:00
themode
f85b2c4aad Allow dynamic entity view distance change 2020-11-04 19:14:04 +01:00
themode
ae1d089603 Rounded extensions loading time for readability purpose 2020-11-04 18:27:18 +01:00
themode
8612245ff9 Added precison to the InventoryModifier comments 2020-11-04 18:22:42 +01:00
themode
c03a2992ef Stop the whole click process if the event is canceled 2020-11-04 15:41:56 +01:00
themode
097dcf0f6c Log the proper warning message instead of a NPE 2020-11-04 14:18:02 +01:00
themode
b296b103c1 CommandCondition command string can be null if a new command packet is built 2020-11-04 05:19:30 +01:00
themode
9781e380b9 Command syntaxes can now contain a CommandCondition 2020-11-04 04:45:46 +01:00
themode
b84bcde84d Fixed Argument#useRemaining creating an empty array 2020-11-03 23:31:26 +01:00
jglrxavpok
925f5fa614 Reloading extensions 2020-11-03 21:26:46 +01:00
themode
b575d6df57 Changed the wiki link in README.md 2020-11-03 18:22:36 +01:00
jglrxavpok
25cde2cde7 Mixin modifications between extensions is now possible 2020-11-03 10:26:31 +01:00
jglrxavpok
d09c2756aa Fix ChunkDataPacket using doubles for block entity data instead of ints 2020-11-03 09:03:54 +01:00
jglrxavpok
547e7cf6e6 Cleanup TODOs 2020-11-03 08:59:23 +01:00
themode
96dcd0e27f Incredibly hard update to 1.16.4 2020-11-03 02:16:32 +01:00
themode
1c6070a1b2 Added an unknown command callback 2020-11-02 04:13:43 +01:00
themode
2e0c5a72b7 Added optional additional data in Permission#isValidFor 2020-11-02 02:53:12 +01:00
themode
e65ab88a3b WIP palette 2020-11-01 22:53:36 +01:00
themode
463e1f047f Cleanup + added PlayerSettingsChangeEvent 2020-11-01 00:07:15 +01:00
themode
30b9ae2ac8 Added FakePlayer comments 2020-10-31 20:12:20 +01:00
themode
487e7a097c Renamed scheduledCallback to spawnCallback 2020-10-31 20:01:02 +01:00
themode
fbff3a6b0b Fixed the FakePlayer scheduled callback being called in an external thread 2020-10-31 19:59:02 +01:00
themode
9a7a1e6ff4 The scheduled callback for FakePlayer is not mandatory, send 2020-10-31 19:54:10 +01:00
themode
b74d85eca8 The chunk view distance can now be dynamically modified both by the client or with the server using MinecraftServer#setChunkViewDistance, also added UpdateViewDistancePacket 2020-10-31 19:44:22 +01:00
themode
6e36f3242d Added InstanceContainer#copy and Chunk#copy 2020-10-31 19:22:23 +01:00
themode
0184ada9a0 Renamed #clone to #copy 2020-10-31 18:03:15 +01:00
themode
af3d742b13 Comments for UuidProvider and PlayerProvider 2020-10-31 13:30:11 +01:00
themode
c4f36a9cea Cleanup + comments 2020-10-31 05:09:30 +01:00
themode
2e4a2f57cf Cleanup and catch some NPE 2020-10-31 04:38:53 +01:00
themode
00ce2be258 Fixed shared instances tick being called 2 times 2020-10-31 02:55:55 +01:00
themode
4375a8734d Add comment to signal how to make a "null" ItemStack 2020-10-31 01:41:46 +01:00
themode
f328a9cb2b Added a few constructors to specify the instance directly 2020-10-31 01:38:57 +01:00
themode
f91f7abb26 Unsafe methods should be called unsafe. 2020-10-31 01:02:54 +01:00
themode
a6939b3695 Only send chunks if required 2020-10-31 00:23:52 +01:00
themode
f334df0028 Chunk#UNSAFE_setBlock can have a custom block id sets to 0 2020-10-30 22:49:57 +01:00
themode
6d29f955e4 More comments for the command API, Arguments methods are NotNull since id should not be decided at runtime 2020-10-30 18:43:14 +01:00
Nathan M
10eba951fd
Fix Armor Stand Metadata 2020-10-30 03:30:33 -04:00
themode
872dccd7ce Small cleanup 2020-10-29 22:52:07 +01:00
themode
c887392a91 CommandDispatcher comments for maintenance purpose and fixed all code warnings 2020-10-29 19:51:10 +01:00
themode
384df073a8 Fixed synchronization issue when adding/removing scheduled tasks 2020-10-29 19:20:25 +01:00
themode
c8d1a30486 Improved Argument comments 2020-10-29 17:27:40 +01:00
jglrxavpok
47eb0084eb Start of tree-based classloading 2020-10-28 16:24:29 +01:00
LeoDog896
75f8396d32 Expose ArgumentWord restrictions as protected 2020-10-28 11:09:40 -04:00
themode
617d3cc89f Removed check for manager getters 2020-10-28 13:19:34 +01:00
themode
fb098fe4f9 Command arguments can be null 2020-10-28 02:42:40 +01:00
themode
907b10604b Fixed arguments values not being forwarded 2020-10-28 01:55:44 +01:00
themode
c3cfad22fc dispatcher will find the correct syntax with the most arguments count 2020-10-28 01:29:05 +01:00
themode
5092aa637f Fix command with less than 2 arguments 2020-10-28 01:24:50 +01:00