Skip to content

Conversation

@ItsNature
Copy link
Collaborator

Overview

Description:
This PR adds new options to Apollo's Packet Enrichment module to allow finer control over which packets are sent and which events are fired. Additionally, it introduces a new event:

  • ApolloPlayerUseItemBucketEvent - fired when a player uses a bucket (1.7 & 1.8).

This is to prevent water and lava bucket desync. A reference open-source plugin demonstrating practical usage is available here: apollo-bucket-desync-fix.

Added new options:

  • PLAYER_ATTACK_PACKET

    • Controls whether the client sends an additional player attack packet to the server.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_ATTACK_EVENT

    • Controls whether Apollo fires ApolloPlayerAttackEvent when the packet is received.
    • Disable this and handle the packet yourself if you require asynchronous/off-thread processing.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_CHAT_OPEN_PACKET

    • Controls whether the client sends an additional player chat open packet to the server.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_CHAT_OPEN_EVENT

    • Controls whether Apollo fires ApolloPlayerChatOpenEvent when the packet is received.
    • Disable this and handle the packet yourself if you require asynchronous/off-thread processing.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_CHAT_CLOSE_PACKET

    • Controls whether the client sends an additional player chat close packet to the server.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_CHAT_CLOSE_EVENT

    • Controls whether Apollo fires ApolloPlayerChatCloseEvent when the packet is received.
    • Disable this and handle the packet yourself if you require asynchronous/off-thread processing
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_USE_ITEM_PACKET

    • Controls whether the client sends an additional player use item packet to the server.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_USE_ITEM_EVENT

    • Controls whether Apollo fires ApolloPlayerUseItemEvent when the packet is received.
    • Disable this and handle the packet yourself if you require asynchronous/off-thread processing.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_USE_ITEM_BUCKET_PACKET

    • Controls whether the client sends an additional player use item bucket packet to the server.
    • Values
      • Type: Boolean
      • Default: false
  • PLAYER_USE_ITEM_BUCKET_EVENT

    • Controls whether Apollo fires ApolloPlayerUseItemBucketEvent when the packet is received.
    • Disable this and handle the packet yourself if you require asynchronous/off-thread processing.
    • Values
      • Type: Boolean
      • Default: false

Review Request Checklist

  • Code follows the style guidelines of this project.
  • Self-reviewed the code.
  • Tested changes locally.
  • Updated documentation accordingly.
  • Branch naming conventions are correct (e.g., feature/add-options).

@ItsNature ItsNature added the type: Enhancement Feature improvement or addition label Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: Enhancement Feature improvement or addition

Development

Successfully merging this pull request may close these issues.

3 participants