Commit Graph

572 Commits

Author SHA1 Message Date
TheMode b67e438ddc
Merge pull request #291 from Kebab11noel/fix/player-sync
Fix player sync
2021-05-15 21:25:45 +02:00
Németh Noel 3081ffbb00 Include the check 2021-05-15 21:11:48 +02:00
Németh Noel e3d31f113a Don't send scheduled sync to the player it self 2021-05-15 21:07:42 +02:00
R0bbyYT cd988f1271 Reset flying with elytra when the player is on the ground 2021-05-14 19:02:22 +02:00
Arne Dalhuisen 29b0f5448d Moved EquipmentSlot out of equipment packet 2021-05-11 14:10:45 +02:00
TheMode db8219d5ee Remove unnecessary condition 2021-05-10 01:08:51 +02:00
TheMode 7deeb66089 Reintroduce updateChunks boolean 2021-05-10 00:51:35 +02:00
Németh Noel b75a034b2d Reintroduced two phase chunk sending 2021-05-07 02:24:28 +02:00
Németh Noel de7241ef6c Re-enable chunk unloading, corrected packet order 2021-05-07 00:54:38 +02:00
Kieran Wallbanks 2404f19fe2 Avoid NPEs when obtaining chat message type from player 2021-05-06 16:12:46 +01:00
Németh Noel d360904f77 Fix different spawn pos check 2021-05-05 23:55:01 +02:00
Kieran Wallbanks a9d2f4e8ca Respect client chat settings 2021-05-05 18:21:38 +01:00
Németh Noel 2f1ada9a9f Merge remote-tracking branch 'upstream/master' into position-cleanup 2021-05-05 18:26:57 +02:00
Németh Noel 3eb4981990 Removed redundant initial value 2021-05-05 18:25:20 +02:00
Németh Noel 7881cea36c Wait for client settings 2021-05-05 18:11:24 +02:00
Németh Noel bea622db0b Only load spawning chunk before spawning the player 2021-05-05 17:48:57 +02:00
Kieran Wallbanks 009f7cb1da Remove lazy initialisation of username component 2021-05-05 16:18:11 +01:00
Kieran Wallbanks a16c8d3273 Use Component in NamedAndIdentified 2021-05-05 16:18:10 +01:00
Kieran Wallbanks 8d192fcb9c Add NamedAndIdentified interface 2021-05-05 16:18:10 +01:00
TheMode 916650b4c8 Fix ghost item on respawn 2021-05-05 05:43:41 +02:00
TheMode 4ef101d5fe
Merge pull request #269 from Kebab11noel/position-cleanup
Position cleanup
2021-05-04 01:30:27 +02:00
TheMode 26224d6373 Fix build 2021-05-04 01:24:16 +02:00
TheMode 748e3d7b39 Player#refreshVisibleEntities cleanup 2021-05-03 01:58:17 +02:00
TheMode 3f7e36ab8c Merge remote-tracking branch 'Kebab11noel/position-cleanup' into position-cleanup 2021-05-01 04:38:51 +02:00
Németh Noel 78dc2b32cd Removed isNettyClient field 2021-05-01 04:38:04 +02:00
TheMode 7a6763f73f Merge remote-tracking branch 'Kebab11noel/position-cleanup' into position-cleanup 2021-05-01 04:06:38 +02:00
Németh Noel dbd0c302d5 Fix player unable to move 2021-05-01 04:00:25 +02:00
TheMode 679baba570 Merge branch 'master' into position-cleanup 2021-05-01 03:49:24 +02:00
TheMode 3fa64d6b24 Fix entity synchronization on join 2021-05-01 03:46:13 +02:00
Németh Noel 66f1c8847d Extracted position sending from Entity#tick and improved checks, also removed duplicate code from Player#update 2021-05-01 02:21:11 +02:00
Németh Noel 998d0d6f5c Renamed method 2021-05-01 00:51:10 +02:00
Németh Noel 5e55c0199d Moved cloning back into methods 2021-05-01 00:34:04 +02:00
Németh Noel ea368876af Merged Entity#sendSynchronization and Player#updatePlayerPosition to #sendTeleportPacket and increased scheduled sync delay 2021-05-01 00:05:49 +02:00
Németh Noel fa8a499321 Merged individual position values to position fields 2021-04-30 23:01:43 +02:00
TheMode 79d936936e Merge branch 'master' into acquirable 2021-04-26 16:15:42 +02:00
TheMode c3f1b9159c Unchecked cast for acquirable getter 2021-04-26 12:52:02 +02:00
TheMode fd17a63f7c Remove debug code 2021-04-25 09:50:48 +02:00
TheMode 4eaa15477b Potentially fix cursor ghost item when opening a new inventory 2021-04-24 19:14:19 +02:00
TheMode 845a8608db Simplify Acquirable, support for all objects 2021-04-24 18:14:12 +02:00
TheMode 26bd0dd43c Added Acquired 2021-04-24 17:41:33 +02:00
TheMode cf38103621 Merge branch 'master' into acquirable 2021-04-23 23:50:14 +02:00
TheMode a671de1e01 Change addViewer0/removeViewer0 access to protected 2021-04-23 21:06:47 +02:00
TheMode cad488bb5d Override Player#getAcquirable 2021-04-23 11:51:14 +02:00
TheMode defdbea29b Added entity/player consumer for inheritance 2021-04-23 08:59:40 +02:00
TheMode 297652c610 Remove generic Acquirable 2021-04-22 16:38:37 +02:00
TheMode 1dbd3078c3 Fix incremental thread refresh 2021-04-18 11:53:38 +02:00
TheMode e9f13d0a82 WIP dynamic chunk thread change 2021-04-18 06:29:44 +02:00
TheMode 2e4a443bec Use multiple instances in the demo server 2021-04-18 02:35:17 +02:00
TheMode 7dd6aa2360 Separate PerChunkThreadProvider from PerInstanceThreadProvider, support arbitrary ThreadProvider#findThread number 2021-04-18 01:55:35 +02:00
TheMode 8123e839ec Improve acquisition performance, fix current thread lock not being occupied 2021-04-17 23:51:23 +02:00
TheMode 23664292de Simplify acquisition, reduce overhead 2021-04-17 14:22:47 +02:00
TheMode a5df2376cf Improve performance 2021-04-17 03:00:34 +02:00
TheMode 3b7353300d Acquisition rework 2021-04-17 02:50:33 +02:00
TheMode bd3e4e2f0a Added Acquirable#currentEntities 2021-04-15 03:08:19 +02:00
TheMode 11b1bbea2e Update entities thread 2021-04-15 01:44:08 +02:00
TheMode 6ba336ee73 Added hand inside eat events 2021-04-13 22:59:40 +02:00
TheMode 1d5262caf2 Merge branch 'master' into item-api
# Conflicts:
#	src/test/java/demo/PlayerInit.java
2021-04-12 00:44:47 +02:00
TheMode c7cd8c332a Rename meta package to metadata to limit breaking changes 2021-04-11 19:13:50 +02:00
TheMode 2da42cb8cb Remove unnecessary chunk callback 2021-04-10 22:33:38 +02:00
TheMode 0be4c6d8c7 More meta utils method, fix openBook 2021-04-10 18:55:26 +02:00
TheMode e81c31f61b Remove Ownership code 2021-04-10 17:47:45 +02:00
TheMode 1d12a5de95 Implement all meta 2021-04-10 05:53:40 +02:00
TheMode e19af0377c Merge branch 'master' into item-api
# Conflicts:
#	src/main/java/net/minestom/server/item/ItemDisplay.java
#	src/main/java/net/minestom/server/utils/binary/BinaryReader.java
2021-04-09 23:19:38 +02:00
TheMode 4c495f401d Code cleanup 2021-04-07 18:35:19 +02:00
Felix Cravic e3867c659b Merge branch 'master' into item-api
# Conflicts:
#	src/main/java/net/minestom/server/item/ItemStack.java
2021-04-06 05:10:58 +02:00
Kieran Wallbanks 785a0bb66c Remove unnecessary cast attempts and instanceof checks 2021-04-04 14:10:06 +01:00
Kieran Wallbanks 7b4a072a78 Fix broken sendLegacyMessage functions 2021-04-04 14:06:23 +01:00
themode a128d30b6b WIP Item rework implementation 2021-04-02 18:13:02 +02:00
themode d332855bc4 Renamed CooldownUtils to Cooldown 2021-03-31 19:17:37 +02:00
jglrxavpok 43957805fd Handshake and login packets, even more readable server packets 2021-03-30 19:42:40 +02:00
themode 3d2d3868a3 Use a ConcurrentHashMap to store viewable chunks 2021-03-30 01:50:36 +02:00
themode 0326bd1445 Increase the default chunk range 2021-03-29 11:01:32 +02:00
Kieran Wallbanks d086d16fa1 Use EntitySoundEffectPacket in no location playSound method, fixes #194 2021-03-27 13:59:08 +00:00
Kieran Wallbanks b9e35d1cc7 Make Audiences static 2021-03-26 19:28:07 +00:00
Kieran Wallbanks 3628c42ef2 Rework boss bar system 2021-03-26 17:34:39 +00:00
Kieran Wallbanks bbfe83eeea Use Audiences class instead of ConnectionManager 2021-03-26 17:34:39 +00:00
Kieran Wallbanks 658d07e8e4 Fix clearTitle 2021-03-26 17:34:39 +00:00
Kieran Wallbanks 4a0103a795 Move sound packet creation into AdventurePacketConvertor 2021-03-26 17:34:39 +00:00
Kieran Wallbanks cfba291522 Make Player use SoundCategory#asSource 2021-03-26 17:34:39 +00:00
Kieran Wallbanks 03f092fa54 Rename Sound enum to SoundEvent 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 63aaee698e Rebase to master and fix complication issues 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 96826e03d1 Cache player Identity 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 1cc7867f9b Exclude more checker-qual 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 931d790702 Make player implement Identified 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 52ce8027f2 Simplify component translation 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 6dd3eb8044 Implement HoverSource for ItemStack, Entity and Player 2021-03-26 17:34:38 +00:00
Kieran Wallbanks aea8a5f794 fix compilation issues 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 327558c003 begin bringing packets back to use components 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 35e057a638 prefer minestom enums over raw packet values 2021-03-26 17:34:38 +00:00
Kieran Wallbanks c25dbaa936 swap utils to registry 2021-03-26 17:34:38 +00:00
Kieran Wallbanks abae740cbc fix javadocs 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 522367dd78 Begin removing deprecated usages 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 7351b9fdd3 Implement global translation system 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 316ecbbf5a Cleanup annotations and imports 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 2c2f1b6cee Implement playSound and openBook methods 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 653859e784 Add SerializationManager 2021-03-26 17:34:38 +00:00
Kieran Wallbanks f9ab109eb0 Fix player title overrides 2021-03-26 17:34:38 +00:00
Kieran Wallbanks aff04c0e0d Add boss bar implementations 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 4f0944ba9f Initial adventure implementation
- deprecate old text classes
- make CommandSender and Audience
- implement in ConsoleSender
- partially implement in Player
2021-03-26 17:34:38 +00:00
themode 71f2e885a4 Remove unused field 2021-03-26 11:24:09 +01:00
TheMode 1b162c1139
Merge pull request #184 from kezz/viewable-defaults
Simplify Viewable packet sending
2021-03-26 09:23:42 +01:00
themode c6c720e0c7 Use concurrent map instead of copyonwrite set for player's viewable entities 2021-03-26 08:49:27 +01:00
Kieran Wallbanks 845f41b88a Remove cast and instanceof check from Viewable#sendPacketToViewersAndSelf 2021-03-25 17:07:05 +00:00
themode 169dbedea2 Fix entity head position, improve performance for Player#addViewer0 2021-03-22 14:54:52 +01:00
themode b6d8dd9f73 Style cleanup + increase food saturation limit to 20 2021-03-21 19:47:22 +01:00
themode 9893bb72c8 don't send a close inventory packet when opening a new one 2021-03-21 13:38:25 +01:00
themode 8b0ab3d8c3 Fix lag spikes when loading the same chunks multiple times 2021-03-16 00:52:35 +01:00
themode ae922529ea Increase default chunk range to 3 2021-03-15 20:33:08 +01:00
themode 509f8f7851 Fix player not being directly disconnected after a kick 2021-03-14 21:34:38 +01:00
themode 4f2ec0a65f Fix chunk coordinates not being properly calculated 2021-03-13 23:04:15 +01:00
themode d91fcde798 Fix properties & equipments changes not being properly sent to viewers & self 2021-03-12 01:38:52 +01:00
themode b155f3bca3 Deprecate Attributes, constants in Attribute should be used instead 2021-03-09 20:51:11 +01:00
themode 51facb9f14 Prevent modified clients from messing with the chunk range 2021-03-09 17:21:43 +01:00
themode 6a0582a950 Do not send all chunks on logging, wait for the settings packet instead 2021-03-09 07:08:35 +01:00
themode a25e414754 Fix players being stuck on first connection when no respawn point is defined 2021-03-08 17:12:21 +01:00
themode 8ab29368a6 Fixed players being able to move during teleport 2021-03-08 16:49:16 +01:00
themode 2e17c8a8e1 Fix inventory not appearing after changing dimension 2021-03-07 23:18:32 +01:00
themode b8e987f556 Fix player getting stuck after changing dimension 2021-03-07 22:22:04 +01:00
themode 74d902b2a2 Remove player synchronization group, a better alternative will come up 2021-03-06 14:31:44 +01:00
themode 25c2dc661f Fix position yaw/pitch not being copied 2021-03-02 19:36:11 +01:00
themode 7da3a16978 Fix connection loop 2021-02-25 15:35:31 +01:00
TheMode 77ed13abd9
Merge pull request #152 from RinesThaix/entities
EntityMeta
2021-02-25 15:30:35 +01:00
Konstantin Shandurenko 23ee4c7fdf Deprecated Entity constructors accepting spawnPosition and introduces Entity#setInstance(Instance, Position) 2021-02-25 13:56:10 +03:00
Konstantin Shandurenko 18da3e0168 Moved switchEntityType from EntityCreature to Entity 2021-02-25 10:37:02 +03:00
Konstantin Shandurenko 1308f81678 Switched all direct spawn packets interactions to EntityType#getSpawnType#getSpawnPacket 2021-02-25 09:15:51 +03:00
themode 2843da6b26 Small comment cleanup 2021-02-23 15:11:21 +01:00
TheMode ebed118ee2
Merge pull request #139 from LeoDog896/sound
Add Position PlaySound methods
2021-02-23 15:08:43 +01:00
LeoDog896 f7fc7240f6 Reduce boilerplate in convience methods 2021-02-23 07:53:10 -05:00
themode 200b244224 Fix JSON string not being displayable using ColoredText, remove unnecessary fields in PlayerListHeaderAndFooterPacket 2021-02-21 16:49:25 +01:00
LeoDog896 4daa55d27e Add Position playsound methods 2021-02-19 18:43:35 -05:00
themode 06abbcb7fb Fix chunks being sent 2 times on first spawn 2021-02-19 13:52:27 +01:00
themode 1af8ea5303 Added comment about broken bedrock client skin using Geyser 2021-02-06 03:51:17 +01:00
jglrxavpok 8a992b3e45 New constructor to give UUID as argument in LivingEntity, now used to specify player UUID 2021-02-05 14:32:28 +01:00
themode 3026e46220 Added new metadata API 2021-01-30 04:44:44 +01:00
themode c01736f863 Use doubles instead of floats to represent Position and Vector 2021-01-25 13:47:13 +01:00
themode 7de0067a13 Small utility methods for EntityRotationPacket 2021-01-22 21:28:33 +01:00
LeoDog896 78abfb9657 Make init function UNSAFE 2021-01-18 10:44:12 -05:00
LeoDog896 ac68c094ce Better keepalive and connection handling 2021-01-17 19:26:20 -05:00
LeoDog896 3b3a86a402 Prefer nullable over optional 2021-01-15 13:39:12 -05:00
LeoDog896 3536bdc856 Microoptimization cleanup
Just some small microoptimizations including preferring fastutils, Removing unnecessary checks already dealt with using @NotNull, all since I had extra unplanned free time.
2021-01-15 11:08:11 -05:00
Matt Worzala ef35a39388
Add Player#openBook (#99) 2021-01-09 12:40:22 +10:00
themode 8871cf16c0 Don't default the permission level 2021-01-09 02:38:26 +01:00
themode a6e5dbc60e Fix permission level to use the target selector 2021-01-09 02:20:55 +01:00
themode 8fef648221 Fix chunk packets from being wrongly sent when switching instance 2021-01-08 17:17:36 +01:00
themode 066b3dc417 Cleanup 2021-01-08 08:32:33 +01:00
themode 349364e15d Provide the proper dimensiontype in the JoinGamePacket 2021-01-07 04:21:34 +01:00
themode 0fa82aff1f Fix default dimension 2021-01-07 03:49:55 +01:00
themode 706a36b30a Fix dimension not being sent for the first instance & force dimensions to be registered in the manager 2021-01-07 03:46:58 +01:00
themode 4107c768a3 Fix test 2021-01-06 21:19:09 +01:00
themode f5d550cda9 Fix attributes not being refreshed client side 2021-01-06 20:45:40 +01:00
themode 97a29c6ccf Player#setInstance cleanup 2021-01-06 19:06:37 +01:00
themode 6b39cb1e32 Execute the async login event before sending the login success packet 2021-01-06 19:02:35 +01:00
themode 47447706b0 Fix Player#kick ignoring the kicking text 2021-01-04 23:15:41 +01:00
themode 7019b7da85 Fix onGround field and gravityTickCount 2021-01-04 03:04:45 +01:00
Matt Worzala 46ac38d5b3
Change ColoredText usages to JsonMessage 2020-12-31 13:53:21 -05:00
themode 835a769080 Implement entity eye height based on boundingbox 2020-12-29 20:42:41 +01:00
themode 8b9836d82a Set Player eye height to 1.62 2020-12-29 18:12:25 +01:00
themode 8da6148152 PlayerInventory field in player is now protected, to allow unsafe modifications when extending the class 2020-12-29 16:42:07 +01:00
Matt Worzala 460b177866
Set player bounding box size to 0.6. 2020-12-28 14:16:43 -05:00
themode 87e8e550f1 Don't add players to the waiting list in the constructor, but in the registration method 2020-12-28 12:41:15 +01:00
themode 22aa9d01ed Do not size the string in sendPluginMessage 2020-12-28 10:40:50 +01:00
themode 28c5e39f8b Pre login event is now async 2020-12-27 22:16:19 +01:00
themode 557ec7ca83 Fix auto viewable during viewers refresh 2020-12-23 10:51:59 +01:00
themode 18eab183a0 Auto entity viewing cleanup 2020-12-23 10:40:50 +01:00
themode b5feb35619 Added PlayerDeathEvent to change the death message/text 2020-12-22 05:26:37 +01:00
themode 943aae7397 Do not send gamemode related packets before the player spawn 2020-12-18 00:57:23 +01:00
themode 5224eecdd1 Event unification (type-specific event, CancellableEvent is now an interface) 2020-12-16 03:21:59 +01:00
themode 7750934a3f Small cleanup 2020-12-16 00:13:40 +01:00
themode 7bcca8ff9f Rename the walkingSpeed ability to fieldViewModifier, the movement speed attribute should be used instead for speed 2020-12-15 13:41:42 +01:00
themode 69adb67394 Compute the tags packet only once to improve performance on high connection traffic 2020-12-15 06:21:59 +01:00
R0bbyYT a51e1a8484 See commit `4ae623cd`, but without the Google code formatting 2020-12-13 23:31:37 +01:00
themode 2fa0f5a417 Revert "Fixes an issue when a player is in another team that this player is not showed in his team for other players"
This reverts commit 4ae623cd
2020-12-13 23:01:01 +01:00
R0bbyYT 4ae623cdab Fixes an issue when a player is in another team that this player is not showed in his team for other players 2020-12-13 15:00:48 +01:00
Felix Cravic c8154b564f Fixed EntitySoundEffectPacket name 2020-12-12 05:52:03 +01:00
Felix Cravic ac8ba3ab10 Fixed ItemDropEvent and PickupItemEvent constructor + changed PlayerInit event registration to use the global event handler 2020-12-11 04:34:08 +01:00
Felix Cravic f7c05a445e Remove #copy 2020-12-09 21:34:53 +01:00
Felix Cravic 42cedf3fbf Use Guava to initialize concurrent linked queues 2020-12-08 09:36:19 +01:00
Felix Cravic fec23a9783 Improve grouped packet performance 2020-12-08 09:13:22 +01:00
Felix Cravic 1f1bd348b5 Fix player teleport being teleported inside a block 2020-12-05 17:14:10 +01:00
Felix Cravic 59b4b7996d Do not retrieve all chunks when teleporting in the same chunk 2020-12-05 16:16:25 +01:00
Felix Cravic f7753ab447 #showPlayer cleanup 2020-12-05 16:09:08 +01:00
Felix Cravic d61a598c94 Prevent players being disconnected two times during a clean stop, also made shutdown tasks being executed in a single thread 2020-12-02 21:28:36 +01:00
KrystilizeNevaDies 936f7b9392 Add direct playSound variant 2020-12-03 00:08:09 +10:00
Felix Cravic 181f20289c Cleanup for the sound code, and comment for PlayerLoginEvent about not working player methods 2020-12-02 14:36:54 +01:00
Felix Cravic d0ad143c0f Prevent dropping air 2020-11-29 16:41:56 +01:00
Felix Cravic 63196e024b Fixed EntityTeleportPacket being sent for every position fields modification and use a proper entity movement packet instead of velocity 2020-11-26 12:46:49 +01:00
Eoghanmc22 296d645400 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/benchmark/BenchmarkManager.java
2020-11-25 11:29:50 -05:00
Felix Cravic 049e3b8495 Position in Player#setInstance can be null 2020-11-25 12:21:29 +01:00
Felix Cravic ab73b0fa3e Player#setInstance can now take an optional Position parameter 2020-11-25 12:12:58 +01:00
Felix Cravic 7bbb095156 Fixed Player#setInstance not refreshing chunks when already in an instance 2020-11-24 22:56:12 +01:00
Eoghanmc22 a934df2af2 Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-22 08:59:52 -05:00
themode 2d7b4360c2 Fixed non-0 respawn point 2020-11-22 14:11:18 +01:00
themode acc013be6a Fixed glitched chunks when teleporting a player + divided teleportation count by 2 during first join 2020-11-22 13:56:36 +01:00
Eoghanmc22 04fc38a14f Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-21 14:59:17 -05:00
themode 48b637cbc8 Fixed player spawn when a respawn point is not specified 2020-11-21 20:56:32 +01:00
Eoghanmc22 f2f0625666 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/test/java/demo/PlayerInit.java
2020-11-21 13:23:16 -05:00
themode 6ecf53c863 Increased player synchronization group from 50 to 75 2020-11-21 08:14:25 +01:00
themode 500fc2e903 Fixed chunk being asked two times 2020-11-21 08:06:04 +01:00
themode 404ddb5bf9 Added a new item data ownership system, replacing the old nbt consumer and NbtDataImpl 2020-11-21 06:37:44 +01:00
Eoghanmc22 62663ccb64 Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-20 13:38:41 -05:00