Basic elytra flight (#5124)

* Basic elytra flight

Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
This commit is contained in:
Damián Imrich
2021-04-03 18:45:20 +01:00
committed by GitHub
co-authored by 12xx12 Tiger Wang
parent ce6f8b3557
commit 071b7be3d4
18 changed files with 490 additions and 287 deletions
+17 -9
View File
@@ -322,13 +322,12 @@ public: // tolua_export
a_ClickAction specifies whether the click was inside the window or not (caLeftClick or caLeftClickOutside). */
void HandleCreativeInventory(Int16 a_SlotNum, const cItem & a_HeldItem, eClickAction a_ClickAction);
/** Handles a player sneaking or unsneaking. */
void HandleCrouch(bool a_IsCrouching);
/** Called when the player enchants an Item in the Enchanting table UI. */
void HandleEnchantItem(UInt8 a_WindowID, UInt8 a_Enchantment);
void HandleEntityCrouch (UInt32 a_EntityID, bool a_IsCrouching);
void HandleEntityLeaveBed (UInt32 a_EntityID);
void HandleEntitySprinting (UInt32 a_EntityID, bool a_IsSprinting);
/** Kicks the client if the same username is already logged in.
Returns false if the client has been kicked, true otherwise. */
bool CheckMultiLogin(const AString & a_Username);
@@ -339,6 +338,9 @@ public: // tolua_export
*/
bool HandleHandshake (const AString & a_Username);
/** Handles a player exiting his bed. */
void HandleLeaveBed();
void HandleKeepAlive (UInt32 a_KeepAliveID);
void HandleLeftClick (int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, UInt8 a_Status);
@@ -346,20 +348,19 @@ public: // tolua_export
the NPC UI. */
void HandleNPCTrade(int a_SlotNum);
/** Handles a player opening their inventory while riding a horse.
@param a_EntityID ID of the player that is to open the inventory. Should be the same as GetPlayer()->GetUniqueID(). */
void HandleOpenHorseInventory(UInt32 a_EntityID);
/** Handles a player opening his inventory while riding a horse. */
void HandleOpenHorseInventory();
void HandlePing (void);
void HandlePlayerAbilities (bool a_IsFlying, float FlyingSpeed, float WalkingSpeed);
void HandlePlayerLook (float a_Rotation, float a_Pitch, bool a_IsOnGround);
void HandlePlayerMoveLook (double a_PosX, double a_PosY, double a_PosZ, double a_Stance, float a_Rotation, float a_Pitch, bool a_IsOnGround); // While m_bPositionConfirmed (normal gameplay)
void HandlePlayerMoveLook (double a_PosX, double a_PosY, double a_PosZ, float a_Rotation, float a_Pitch, bool a_IsOnGround); // While m_bPositionConfirmed (normal gameplay)
/** Verifies and sets player position, performing relevant checks
Calls relevant methods to process movement related statistics
Requires state of previous position and on-ground status, so must be called when these are still intact
*/
void HandlePlayerPos(double a_PosX, double a_PosY, double a_PosZ, double a_Stance, bool a_IsOnGround);
void HandlePlayerPos(double a_PosX, double a_PosY, double a_PosZ, bool a_IsOnGround);
void HandlePluginMessage (const AString & a_Channel, ContiguousByteBufferView a_Message);
@@ -367,6 +368,13 @@ public: // tolua_export
void HandleRightClick (int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, eHand a_Hand);
void HandleSlotSelected (Int16 a_SlotNum);
void HandleSpectate (const cUUID & a_PlayerUUID);
/** Handles a player sprinting or slowing back down. */
void HandleSprint(bool a_IsSprinting);
/** Handles a player starting elytra flight while falling. */
void HandleStartElytraFlight();
void HandleSteerVehicle (float Forward, float Sideways);
void HandleTabCompletion (const AString & a_Text);
void HandleUpdateSign (