Commit Graph

657 Commits

Author SHA1 Message Date
themode
7019b7da85 Fix onGround field and gravityTickCount 2021-01-04 03:04:45 +01:00
themode
f13646fd0d Allow null target in EntityCreature#setTarget 2021-01-03 22:42:15 +01:00
themode
edab21baa6 Allow null target in EntityCreature#setTarget 2021-01-03 22:41:50 +01:00
themode
317432460e Entity cleanup 2021-01-03 00:23:41 +01:00
ThatCreeper
993b936e4e reorder imports 2021-01-02 17:12:38 -06:00
ThatCreeper
30868df243 Remove unused imports 2021-01-02 17:08:59 -06:00
ThatCreeper
30be7b5b81 Add Potion Add and Remove events 2021-01-02 16:59:17 -06:00
Matt Worzala
46ac38d5b3
Change ColoredText usages to JsonMessage 2020-12-31 13:53:21 -05:00
themode
2141792fcf Fixed math 2020-12-31 12:07:16 +01:00
themode
fd920ffdfe Potion cleanup 2020-12-31 12:05:36 +01:00
ThatCreeper
0ce094567b Fix most checkstyle warnings 2020-12-30 19:27:29 -06:00
ThatCreeper
c3d6af3afe make removeEffect send a packet
Make Potion immutable, and use long instead of Long
2020-12-30 19:07:07 -06:00
ThatCreeper
c01b57ed9b removed scheduledPotions 2020-12-30 18:55:20 -06:00
ThatCreeper
fa41aabaed Make Potions use time instead of nanoTime 2020-12-30 18:47:43 -06:00
ThatCreeper
d7883d29ff Rewrite Potions 2020-12-30 18:29:07 -06:00
themode
d4110632a4 Increase readability when using static fields instead of local ones 2020-12-30 20:30:48 +01:00
themode
23fc19430a Fix entity uuid map memory leak 2020-12-30 20:29:46 +01:00
themode
835a769080 Implement entity eye height based on boundingbox 2020-12-29 20:42:41 +01:00
themode
78ed12887d Implement client spectate packet 2020-12-29 19:58:40 +01:00
themode
8b9836d82a Set Player eye height to 1.62 2020-12-29 18:12:25 +01:00
TheMode
feab43a5f1
Merge pull request #89 from Nesaak/master
Add BlockIterator and LivingEntity#getTargetBlockPosition
2020-12-29 18:09:30 +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
Nesaak
fd73cc1d23 Add BlockIterator and LivingEntity#getTargetBlockPosition 2020-12-28 20:24:03 -05:00
themode
718d787192 Makes the Pose enum public 2020-12-29 00:43:04 +01:00
themode
cecf6310ca Added Entity#setPose 2020-12-29 00:04:15 +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
924fac562b Print exceptions properly during server tick 2020-12-28 12:27:25 +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
feb4783988 Small optimization for entity velocity 2020-12-26 18:52:44 +01:00
R0bbyYT
4818e29d81 Merge remote-tracking branch 'origin/master' into feature/item-meta 2020-12-24 15:29:59 +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
R0bbyYT
58c7ad9e02 Implements PlayerHeadMeta, FireworkMeta and FireworkEffectMeta 2020-12-23 02:24:41 +01:00
themode
6e0ad54d5e Added EntityEndCrystal 2020-12-22 05:36:15 +01:00
themode
b5feb35619 Added PlayerDeathEvent to change the death message/text 2020-12-22 05:26:37 +01:00
R0bbyYT
81592d8b56 More documentation for the FakePlayer, Small improvement for the FakePlayerController 2020-12-19 16:32:42 +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
themode
f2c586177f Cache the unmodifiable viewers set to mitigate object allocation 2020-12-14 06:27:39 +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
5e85c0117a Cleanup 2020-12-12 06:13:50 +01:00
Felix Cravic
c8154b564f Fixed EntitySoundEffectPacket name 2020-12-12 05:52:03 +01:00
Felix Cravic
7da5550858 Added EntityAI to facilitate AI integration with other entity types (eg FakePlayer) 2020-12-12 05:50:05 +01:00
Felix Cravic
77b4fe7287 Throw an exception when an entity tries to move in an unloaded chunk 2020-12-12 00:10:42 +01:00
Felix Cravic
44096ff9cf Prevent first chunks not loading with a high latency 2020-12-12 00:07:41 +01:00
Felix Cravic
d56bf94135 Specify where EntityManager#addWaitingPlayer is called 2020-12-11 23:35:36 +01:00
Felix Cravic
76c3ea52ac Merge branch 'master' into nbt-permission 2020-12-11 21:37:00 +01:00
Felix Cravic
0a9ce664f3 Cleanup 2020-12-11 21:36:35 +01:00
Felix Cravic
38dc50bb1a Optimise entity velocity (to do not send the packet every tick) 2020-12-11 20:17:33 +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
1b7f00f1b9 Merge branch 'master' into nbt-permission 2020-12-11 03:15:14 +01:00
Felix Cravic
62ab0a2007 Remove unnecessary shouldUpdate method in Entity 2020-12-10 18:12:05 +01:00
Felix Cravic
00c144b592 Rework of the permission API 2020-12-10 02:56:56 +01:00
Felix Cravic
30d257c847 Remove unnecessary #callEvent override in Entity 2020-12-09 22:18:11 +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
07990b26e9 Better comment for Entity#isAutoViewable 2020-12-06 20:11:14 +01:00
Felix Cravic
0f97930f79 Fix player gravity 2020-12-06 16:52:04 +01:00
Felix Cravic
70000e75d5 Added gravity acceleration and terminal velocity (and an utils method to get the gravity tick count) 2020-12-06 01:36:37 +01:00
Felix Cravic
d5e5412309 Allow custom EntityCreature death animation time 2020-12-06 00:06:52 +01:00
Felix Cravic
3f487f4f4f Entity with scheduled removal still execute tick until complete removal, added some comments 2020-12-05 23:57:07 +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
6bd6d22651 Added EntityCreature#switchEntityType 2020-12-05 01:36:06 +01:00
Felix Cravic
cd44732cbc Velocity cleanup 2020-12-04 19:19:30 +01:00
Felix Cravic
9b8579eaf4 Small cleanup 2020-12-04 18:25:24 +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
Felix Cravic
6748fbe6bf Merge remote-tracking branch 'origin/master' 2020-12-02 20:35:23 +01:00
Felix Cravic
635d6f9f95 Fixed EntityCreeper metadata 2020-12-02 20:35:09 +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
aa4ee97710 Added getter and setter for the entity in GoalSelector 2020-12-01 18:21:19 +01:00
Felix Cravic
8675a90e9c Added the NavigableEntity interface to use the pathfinder (instead of hardcoding it in EntityCreature) 2020-11-29 23:14:21 +01:00
Felix Cravic
75e3ffde8d Comments for FollowTargetGoal 2020-11-29 22:19:13 +01:00
Felix Cravic
cabdb60370 Fix pathfinding NPE 2020-11-29 17:27:24 +01:00
Felix Cravic
bb3d57b1e5 WIP support for flying entities 2020-11-29 16:50:57 +01:00
Felix Cravic
d0ad143c0f Prevent dropping air 2020-11-29 16:41:56 +01:00
Felix Cravic
bd49ae05f4 Prevent the generation of authentication service when mojang auth is disabled 2020-11-28 20:49:05 +01:00
Felix Cravic
1579bee693 Made Entity#generateId public and prevent writing null data to BinaryWriter 2020-11-27 13:29:38 +01:00
Felix Cravic
80d899a53a EntityCreature scheduling priority for pathfinding can now be modified 2020-11-27 10:47:35 +01:00
Felix Cravic
8ae82a81a1 Cleanup 2020-11-27 00:08:32 +01:00
Felix Cravic
fe568abe70 Entity gravity fixed 2 2020-11-26 22:29:06 +01:00
Felix Cravic
3bc90fffd9 Prevent EntityCreature from ignoring gravity 2020-11-26 14:14:40 +01:00
Felix Cravic
e813037475 Fixed position fields update for netty connections 2020-11-26 13:38:52 +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
012e65337d Improve follow target goal 2020-11-25 21:36:18 -05:00
Felix Cravic
0fc494d9df Fixed concurrent exception with attributes 2020-11-26 02:00:20 +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
themode
2ae602df87 Rollback teleportation to respawn point 2020-11-20 19:23:50 +01:00
Eoghanmc22
9a64a0a409 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/entity/Player.java
	src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java
	src/main/java/net/minestom/server/utils/PacketUtils.java
2020-11-20 08:56:58 -05:00
themode
d7d610ffef Fixed the player receiving multiple self position packet 2020-11-20 14:39:10 +01:00
Eoghanmc22
6fd401589c slightly optimize CommandManager 2020-11-20 08:07:09 -05: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
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
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
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
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
JësFot
3597af34f9 Add comments to attribute system 2020-11-17 15:52:20 +01:00
JësFot
d738f9fddd Implement attribute instances 2020-11-17 14:59:47 +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
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
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
a56a9aba3e Clarification for FakePlayer#initPlayer about player registration 2020-11-14 02:30:42 +01:00
themode
a1fd711b85 Created DebugUtils 2020-11-13 21:57:45 +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
041bc721c8 Cleanup UpdateManager 2020-11-12 00:18:36 +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
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
7db94f3a65 Support for velocity modern forwarding 2020-11-09 23:48:34 +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
7bdfc93334 Added some comments about exceptions 2020-11-07 04:42:48 +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
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
0184ada9a0 Renamed #clone to #copy 2020-10-31 18:03:15 +01:00
themode
c4f36a9cea Cleanup + comments 2020-10-31 05:09:30 +01:00
themode
00ce2be258 Fixed shared instances tick being called 2 times 2020-10-31 02:55:55 +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
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
758c132645 Make the player display name nullable 2020-10-27 12:45:37 +01:00
themode
06f2ed6065 Use the Contract annotation to prevent useless NPE warnings 2020-10-26 13:57:02 +01:00
themode
8b99fb6f09 Added Player#playSound for custom sounds identifier (from resourcepack) 2020-10-26 11:18:44 +01:00
themode
ea80d56bd0 Small packet cleanup, removed LevelType, new RawJsonMessage 2020-10-25 22:19:27 +01:00
themode
1b7613d977 Allow for custom chunk/entity view distance and compression threshold without recompiling the server. 2020-10-25 16:48:14 +01:00
themode
a8796382b7 Clear cache of viewed boss bars and advancement tabs once the player disconnect 2020-10-25 12:28:06 +01:00
themode
cb28fdc208 Annotations for data & command 2020-10-24 16:58:27 +02:00
themode
27e0b86cb5 Added annotations for all events 2020-10-24 16:33:13 +02:00
themode
2f21a7c233 More annotations. 2020-10-24 11:19:54 +02:00
themode
3d96b7a4b4 A lot of annotations a bit everywhere. 2020-10-24 10:46:23 +02:00
themode
3665241e94 Added OptionalCallback for convenience 2020-10-22 22:55:40 +02:00
themode
3cb880cf80 General cleanup 2020-10-22 12:55:53 +02:00
themode
47677766ca Improvement for the DamageType code 2020-10-22 12:21:50 +02:00
themode
f72dce3a46 More comments for message related classes 2020-10-21 16:26:55 +02:00
themode
c130fb6144 Added getter for ExtensionManager 2020-10-17 16:30:37 +02:00
themode
523b883959 Added Player#sendTitleTime and comments relating to titles. 2020-10-17 14:46:14 +02:00
themode
fbe4126021 Added Player#chat to simulate chat message 2020-10-16 11:37:00 +02:00
themode
9e2e48f79c Fix bug when you could send a break a custom block with a finished digging packet 2020-10-16 09:12:31 +02:00
themode
660a67e53e English fix 2020-10-15 21:16:31 +02:00
themode
bd3335ae1d General cleanup 2020-10-15 08:48:13 +02:00
themode
0e5831cdc3 Cleanup + typo fix 2020-10-13 12:49:29 +02:00
themode
81c6f97336 Comments 2020-10-12 06:41:47 +02:00
themode
9184b3054f Fix the first #setInstance being called in the main update thread 2020-10-12 04:14:06 +02:00
themode
af1f976e53 Comments 2020-10-11 18:57:24 +02:00
themode
f2004f1ecd More comments for the command API 2020-10-11 15:27:23 +02:00
themode
739c3f1d7d Allow non-custom block in PlayerStartDiggingEvent 2020-10-10 13:46:41 +02:00
themode
dd3345ff9a ColoredText comments + cleanup 2020-10-06 07:41:35 +02:00
themode
a757f4b97b Simplify EventHandler implementation 2020-10-06 04:06:59 +02:00