Konstantin Shandurenko
3f941d51bb
Fixed initial BoundingBox of Pufferfish
2021-02-23 20:04:30 +03:00
Konstantin Shandurenko
6e950ab170
BaseEntityMeta is now an EntityMeta
2021-02-23 19:18:53 +03:00
Konstantin Shandurenko
692dcfed4c
Setting default entity BoundingBox from EntityType data
2021-02-23 18:41:24 +03:00
Konstantin Shandurenko
bbe143520e
A bit more changes to EntityMeta
2021-02-23 18:37:00 +03:00
Konstantin Shandurenko
0915858df3
Meta wrappers for all the entities
2021-02-23 15:11:10 +03:00
TheMode
71f1e51df3
Merge pull request #146 from RinesThaix/goals
...
Arrows and RangedAttackGoal
2021-02-22 13:58:43 +01:00
Konstantin Shandurenko
dbfebc50ec
Block collisions for arrows
2021-02-22 14:42:46 +03:00
Konstantin Shandurenko
3c8824c7b0
RangedAttackGoal implementation initial commit
2021-02-22 08:46:37 +03:00
themode
77148338b9
Added Entity#clearEffects
2021-02-22 06:00:49 +01:00
jglrxavpok
eadd4a2b39
Automatically unload GlobalEventHandler callbacks
2021-02-03 17:11:06 +01:00
themode
3026e46220
Added new metadata API
2021-01-30 04:44:44 +01:00
themode
e0c8e94bc1
Limit the number of velocity packet used for entities
2021-01-27 19:35:53 +01:00
themode
9775262c6a
Fix velocity for netty clients
2021-01-27 19:20:52 +01:00
themode
0da4f96e7e
Allow gravity values to be doubles
2021-01-25 21:30:56 +01:00
themode
5f75ea7d3a
Remove unnecessary casts
2021-01-25 19:33:53 +01:00
themode
c01736f863
Use doubles instead of floats to represent Position and Vector
2021-01-25 13:47:13 +01:00
Tyan
7d7c65aa70
Set the last location at the end of refreshPosition
2021-01-23 15:51:07 +01:00
themode
bf692d8043
Clone the teleport position to prevent object sharing
2021-01-23 08:42:49 +01:00
themode
36933fe4b3
Ensure synchronization of the location field
2021-01-23 08:23:24 +01: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
KrystilizeNevaDies
7bc1f37e80
Add a direct way to set the bounding box in Entity
2021-01-13 21:57:55 +10:00
themode
29c8f924fa
Added missing metadata types
2021-01-11 21:21:19 +01:00
themode
c5d56ae820
Small velocity code cleanup
2021-01-11 08:44:38 +01:00
themode
6b39cb1e32
Execute the async login event before sending the login success packet
2021-01-06 19:02:35 +01:00
themode
7019b7da85
Fix onGround field and gravityTickCount
2021-01-04 03:04:45 +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
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
themode
feb4783988
Small optimization for entity velocity
2020-12-26 18:52:44 +01:00
themode
6e0ad54d5e
Added EntityEndCrystal
2020-12-22 05:36:15 +01:00
themode
f2c586177f
Cache the unmodifiable viewers set to mitigate object allocation
2020-12-14 06:27:39 +01:00
Felix Cravic
5e85c0117a
Cleanup
2020-12-12 06:13:50 +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
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
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
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
3f487f4f4f
Entity with scheduled removal still execute tick until complete removal, added some comments
2020-12-05 23:57:07 +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
bb3d57b1e5
WIP support for flying entities
2020-11-29 16:50:57 +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
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
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
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
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
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
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
a1fd711b85
Created DebugUtils
2020-11-13 21:57:45 +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
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
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
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
872dccd7ce
Small cleanup
2020-10-29 22:52:07 +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
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
47677766ca
Improvement for the DamageType code
2020-10-22 12:21:50 +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
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
a757f4b97b
Simplify EventHandler implementation
2020-10-06 04:06:59 +02:00
themode
e96aebaaba
Fix client digging packet parsing
2020-09-28 18:27:28 +02:00
themode
af9851c334
Allow registering instance extending Instance and not necessary InstanceContainer
2020-09-28 02:29:41 +02:00
themode
3464d27ab1
Added entity in EntitySpawnEvent
2020-09-26 21:24:10 +02:00
themode
ce81c3a85d
Fix position issue when cancelling the breaking of a block just below the player
2020-09-25 21:50:50 +02:00
themode
8c623072f3
Calling an entity event will now also trigger it for the instance (useful for instance-specific listeners)
2020-09-23 22:01:47 +02:00
themode
403e0c897f
Added EventHandler#getEventCallbacks
2020-09-20 20:11:46 +02:00
themode
465d83ae77
Comments for Instance & InstanceContainer
2020-09-11 00:14:17 +02:00
Nesaak
e465b01f66
Add Entity#getChunk convenience method
2020-09-02 18:43:42 -04:00
themode
571bb7a866
Renamed PacketWriter/Reader to BinaryWriter/Reader + optimization to serializing
2020-08-19 20:34:21 +02:00
themode
e5e1d1614b
Optimize chunk index to coordinate conversion + made the chunk map in InstanceContainer using long primitive but non-concurrent, requiring synchronization
2020-08-17 16:50:23 +02:00
themode
97a1141583
Replaced player viewableChunks set interaction to the Chunk class (Viewable support)
2020-08-16 19:18:34 +02:00
Eoghanmc22
a7484f8644
Fix npes
2020-08-15 18:01:10 -04:00
Eoghanmc22
1798b50092
Merge branch 'master' of https://github.com/Minestom/Minestom
...
Conflicts:
src/main/java/net/minestom/server/MinecraftServer.java
src/main/java/net/minestom/server/instance/MinestomBasicChunkLoader.java
2020-08-15 10:06:01 -04:00
Felix Cravic
92f914ef2d
Cleanup
2020-08-15 13:32:36 +02:00
Eoghanmc22
cc01a48cf1
Minestom now properly adapts when a player changes their render distance, also fixed a bug that pointers to chunks that were unloaded were kept in the viewableChunks list until the player's instance was changed.
2020-08-13 17:54:55 -04:00
Felix Cravic
2b529e05d0
Fixed error with unloaded chunks
2020-08-13 20:43:45 +02:00
Felix Cravic
c2165abe1f
Added ChunkUtils#isLoaded + optimization of the thread providers
2020-08-10 11:32:03 +02:00
Felix Cravic
1a6df8e035
Optimize entity events adding/removing
2020-08-09 17:15:02 +02:00
Felix Cravic
63ed21380c
Fixed number arguments
2020-08-09 10:59:12 +02:00
Felix Cravic
7b5c6dfc44
Added LastEntityDamagerTarget & LivingEntity#getLastDamageType
2020-08-09 08:16:54 +02:00
Felix Cravic
08b4b8576e
Added MeleeAttackGoal + fix velocity for players
2020-08-09 05:13:36 +02:00
Articdive
e44d5283b4
Create RandomLookAroundGoal
2020-08-08 10:20:36 +02:00
Felix Cravic
45fd0dc22a
Comments
2020-08-07 09:14:50 +02:00
Felix Cravic
bf0dd4a750
Advancement API
2020-08-06 07:42:00 +02:00
Felix Cravic
1440aa8403
Added CustomBlock#getDrag
2020-08-06 04:54:02 +02:00
razorrider7
a09b217962
Update EntityType To use Namespaced IDs
2020-08-03 18:48:46 -04:00
jglrxavpok
49b4f0c79d
Fixed non-smooth pathfinding by setting the velocity of the creature, therefore allowing the client to predict the position and smooth the path
2020-07-31 18:55:08 +02:00
Felix Cravic
4f788b9b8d
Cleanup
2020-07-24 16:11:48 +02:00
Felix Cravic
df6c9e4953
More comments + cleanup
2020-07-22 17:39:48 +02:00
Felix Cravic
87ab850945
Comment + EntityFinder WIP
2020-07-11 14:16:36 +02:00
Eoghanmc22
061db7c8de
Add some vanilla placement rules, add a scheduleNextTick method for instances and entities, make changes to BlockPlacementRule, make BlockFace its own class.
2020-06-28 17:11:40 -04:00
Felix Cravic
f892213e8c
Added a new Chat API
2020-06-22 23:25:00 +02:00
Felix Cravic
72234ac706
Added PlayerPreLoginEvent
2020-06-21 22:11:56 +02:00
Felix Cravic
45e8ba2f03
Added EventHandler#removeEventCallback
2020-06-01 17:11:43 +02:00
Felix Cravic
7e20278dd9
Fix deadlock with ItemEntity + added ItemEntity#getMergeUpdateOption to mitigate CPU usage increase
2020-06-01 00:51:31 +02:00
Felix Cravic
30ef05183e
Added more synchronization at death + added listener for teleport and window confirmation to remove warning
2020-05-31 00:39:56 +02:00
Felix Cravic
1c3099f61a
Entity & Player comments
2020-05-29 23:17:14 +02:00
Felix Cravic
b0ccb91c31
More entity + added boundingboxes
2020-05-29 18:56:42 +02:00
Felix Cravic
eb5659c235
Optimize bandwidth + fix keep alive
2020-05-29 02:11:41 +02:00
Felix Cravic
7147250432
Fixed player digging vanilla blocks + comments
2020-05-27 23:26:45 +02:00
Felix Cravic
966bbfc0cc
Synchronize properly the view from Entity#getPosition
2020-05-27 23:13:13 +02:00
Felix Cravic
d91b1e9966
WorldBorder keeps its diameter updated properly
2020-05-27 22:24:58 +02:00
Felix Cravic
af430ebc3f
Entity#getPosition is now fully synchronized with the entity position
2020-05-27 22:06:22 +02:00
Felix Cravic
70be25bd1c
Added EntityCreature#setView
2020-05-27 20:55:33 +02:00
Felix Cravic
f5f5a6bb4e
Better world border collision check + WorldBorder#getCollisionAxis
2020-05-27 01:15:21 +02:00
Felix Cravic
ef261c1792
Added WorldBorder#isInside + physics now support world border
2020-05-27 01:04:39 +02:00
Felix Cravic
fc773044e8
Remove chunk unloaded check
2020-05-26 21:30:12 +02:00
Felix Cravic
fc751acb75
Added EntityArmorStand & Hologram
2020-05-26 00:07:35 +02:00
Felix Cravic
e8a2c54485
More FakePlayerController features + fix with chunks and player food bar
2020-05-25 13:46:48 +02:00
Felix Cravic
88db08001a
Hacky fix for the player velocity
2020-05-25 11:01:38 +02:00
Felix Cravic
30053c507b
WIP FakePlayer system
2020-05-25 02:37:57 +02:00
Felix Cravic
ae53cca19d
Fixed velocity synchronization
2020-05-24 22:24:59 +02:00
Felix Cravic
e26ee1380a
Fixed vehicles + added PlayerStartFlyingEvent & PlayerStopFlyingEvent
2020-05-24 22:21:38 +02:00
Felix Cravic
c73ec6f0d6
Fix ExperienceOrb#setExperienceCount with a proper updating client-side
2020-05-24 20:21:17 +02:00
Felix Cravic
b193c5f12a
Lot of comments
2020-05-24 19:59:50 +02:00
Felix Cravic
c2d1a4f70a
Fix synchronization issue with metadata + some comments
2020-05-24 19:22:58 +02:00
Felix Cravic
883e7eb80f
Added Entity#isAutoViewable & making Viewable#addViewer and Viewable#removeViewer return boolean
2020-05-23 17:57:56 +02:00
Felix Cravic
a4b530c1dc
WIP vehicle support
2020-05-23 14:04:53 +02:00
Felix Cravic
97bd1ecdb1
Cleanup
2020-05-23 04:20:01 +02:00
jglrxavpok
1ca561215c
Send velocity packet when velocity is forced changed with Entity#setVelocity
2020-05-21 00:36:50 +02:00
jglrxavpok
da416866f6
Added entity eye height
2020-05-21 00:33:56 +02:00
Felix Cravic
a63693b82b
It is now possible to extends InstanceContainer/SharedInstance to make your own
2020-05-17 03:15:47 +02:00
Felix Cravic
ab71133b55
Fixed error relating to unloaded chunk in Entity#update
2020-05-17 01:42:07 +02:00
Felix Cravic
b97b75f13c
Added a lot of comments
2020-05-15 18:03:28 +02:00
Felix Cravic
aeeb9f08a4
Added EntityVelocityEvent + minor refactoring
2020-05-14 18:57:44 +02:00
Felix Cravic
37add239f8
Custom food animation delay + PlayerEatEvent
2020-05-12 14:12:17 +02:00
Felix Cravic
889e9c5e2b
ItemEntity can now be merged/stacked together
2020-05-09 21:50:48 +02:00
Felix Cravic
f7badc021b
WIP entities in unloaded chunk + PlayerChunkLoadEvent
2020-05-09 18:24:14 +02:00
Felix Cravic
3741b22484
Added EventHandler interface
2020-05-08 06:54:33 +02:00
jglrxavpok
0daae4d831
EntityTickEvent and tick counter in Entity
2020-05-07 16:00:52 +02:00
jglrxavpok
9d9c158af0
Added event callbacks to Instance, and organized events into packages
2020-05-07 15:46:21 +02:00
Felix Cravic
59214b3b96
All LivingEntity can now have equipments + cleanup
2020-05-06 22:35:32 +02:00
Felix Cravic
5de6888b59
Added EntityFireEvent and EntitySpawnEvent
2020-05-05 21:04:05 +02:00
jglrxavpok
365c3edbdf
Custom block contact behaviour + fix breaking of 0 hardness blocks not removing the block in survival, fixed players in survival not taking damage.
2020-05-05 15:55:21 +02:00
jglrxavpok
c79d4c7874
Rewrote physics once again. This time going through walls should be more difficult
2020-05-03 15:54:12 +02:00
jglrxavpok
1aefbca70a
Entity Physics are behaving a bit better
...
Still possible to go through walls though
2020-05-02 23:34:09 +02:00
jglrxavpok
d96bf48eb2
Remove custom block when breaking it
...
Use Math.floor() to correct coordinates
2020-05-01 23:05:47 +02:00
Felix Cravic
48c4941813
We can now have multiple listeners
2020-04-28 01:20:11 +02:00
jglrxavpok
6b77627d60
Implemented damage types and void below world
2020-04-27 20:33:08 +02:00
Felix Cravic
7daac5e610
Package rename to net.minestom.server
2020-04-24 03:25:58 +02:00