minecraft-protocol
minecraft-protocol copied to clipboard
Highly optimized and lightweight minecraft server written in Rust
Make pitch and yaw work on zombies https://github.com/Mubelotix/minecraft-protocol/blob/f04b5afccdec2cbc3bc5f3e350aa1f9a118101bc/minecraft-server/src/entities/monsters/zombies.rs#L155
ensure there is a line of sight loop \{ sleep\_ticks\(&mut server\_msg\_rcvr, 1\)\.await; let chunk \= self\_position\.chunk\_column\(\); let player\_positions \= h\.world\.observe\_entities\(chunk, \|entity\| \{ let network\_entity \= entity\.to\_network\(\)\.unwrap\(\); TryAsEntityRef::\::try\_as\_entity\_ref\(entity\)\.map\(\|player\| \{ \(player\.get\_entity\(\)\.position\.clone\(\), network\_entity\)...
Attributes should be stored in a nicer way https://minecraft\.wiki/w/Attribute https://github.com/Mubelotix/minecraft-protocol/blob/ec83b94fcfc7a25e90669546119e7138aa5c8985/minecraft-server/src/entities/monsters/zombies.rs#L16
detect if the ground is destroyed https://github.com/Mubelotix/minecraft-protocol/blob/1298a821a0dea7865c80f340b31c5d42f988d2c6/minecraft-server/src/entities/tasks/newton.rs#L32
don't return [EntityChanges] / Mutate an entity through a closure https://github.com/Mubelotix/minecraft-protocol/blob/3bbdfc8f01a4ad1258556e589229d6f7e793526a/minecraft-server/src/world/ecs.rs#L53
tick world https://github.com/Mubelotix/minecraft-protocol/blob/b7776e9b8e498cba69e3c19b011cc7d096f9b7f6/minecraft-server/src/world/mod.rs#L164
Since we lock tasks it makes it impossible for an entity task to itself call this function It would be resolved if we had a temporary task buffer that would...
optimize, don't wait to load all chunks before sending them to the client https://github.com/Mubelotix/minecraft-protocol/blob/600395b9a74243441e877970872e346fa989f978/minecraft-server/src/entities/player.rs#L133