Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: EndstoneMC/endweave
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.1.0
Choose a base ref
...
head repository: EndstoneMC/endweave
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.2.0
Choose a head ref
  • 16 commits
  • 44 files changed
  • 1 contributor

Commits on Mar 21, 2026

  1. Add rewriters for Data-Driven UI packets (333, 334)

    v944 added FormId and DataInstanceId fields to ShowScreen (333),
    and replaced the empty CloseAllScreens (334) with CloseScreen
    which has a FormId field. Append default uint32 values so v944
    clients can deserialize v924 server payloads.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    5fca1a4 View commit details
    Browse the repository at this point in the history
  2. Add ConnectionState, type-keyed storage, and active flag to UserConne…

    …ction
    
    Align with ViaVersion's UserConnectionImpl:
    - ConnectionState enum (HANDSHAKE/LOGIN/PLAY) for lifecycle tracking
    - Type-keyed storage (get/put/has/remove) for per-connection state
    - active and pending_disconnect flags
    - clear_storage() on connection removal to prevent leaks
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    ec23ae2 View commit details
    Browse the repository at this point in the history
  3. Add Protocol.init/name and base protocol state transitions

    Align with ViaVersion's Protocol and InitialBaseProtocol:
    - Protocol.init(connection) hook called once per connection
    - Protocol.name for error context identification
    - Base protocol transitions: HANDSHAKE->LOGIN on RequestNetworkSettings,
      LOGIN->PLAY on StartGame, pending_disconnect on Disconnect
    - Client protocol detection log downgraded to debug level
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    1c6ce2e View commit details
    Browse the repository at this point in the history
  4. Add DebugHandler and InformativeException

    Align with ViaVersion's debug and error infrastructure:
    - DebugHandler with per-packet-ID filtering and pre/post transform phases
    - ViaVersion-style log format: STAGE: ADDRESS DIRECTION STATE: LABEL [VER] SIZEb
    - InformativeException with fluent .set(key, value) context accumulation
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    636b32b View commit details
    Browse the repository at this point in the history
  5. Align pipeline with ViaVersion's ProtocolPipelineImpl

    - Pre/post transform debug logging with DebugHandler
    - InformativeException for structured error context on handler failures
    - Clientbound fast-path uses connection.active (not needs_translation)
    - Call protocol.init() on chain resolution, set active=True after
    - Log supported client version range at startup
    - Add debug config options for packet filtering and post-transform logging
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    40e6851 View commit details
    Browse the repository at this point in the history
  6. Extract shared rewriter helpers to protocol/rewriter.py

    Move net_to_block, block_to_net, passthrough_inventory_action, and
    passthrough_structure_settings out of block_pos.py into a shared
    module for reuse across version-specific protocol handlers.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    2f62293 View commit details
    Browse the repository at this point in the history
  7. Add LevelSoundEvent remapping for v924 to v944

    v944 added PauseGrowth (597) and ResetGrowth (598), displacing
    Undefined from 597 to 599. Remap event IDs >= 597 by +2 in:
    - LevelSoundEventPacket (123) Event ID field
    - ActorData HEARTBEAT_SOUND_EVENT (key 126) in AddActor,
      AddItemActor, AddPlayer, and SetActorData packets
    
    Add passthrough_actor_data() helper to rewriter.py for iterating
    and selectively remapping entity metadata entries.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    e257ead View commit details
    Browse the repository at this point in the history
  8. Replace bytes_type with UUID constant

    Add a fixed UUID type (16 bytes) to the codec and remove the
    generic bytes_type factory function.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    cb40875 View commit details
    Browse the repository at this point in the history
  9. Standardize field comments to match v924_packets.json

    Update all inline comments next to wrapper.passthrough/read/write
    calls to use the exact field names from data/v924_packets.json.
    Remove redundant field layout lists from handler docstrings.
    Add CLAUDE.md rule for consistent field naming.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    e913a03 View commit details
    Browse the repository at this point in the history
  10. Fix generic type hints in PacketWrapper and standardize TypeVar naming

    Make passthrough/read/write generic so return types flow from
    Type[_T] parameter instead of returning opaque object. Rename
    T to _T consistently across connection.py and primitives.py.
    Annotate _ACTOR_DATA_TYPES as dict[int, Type[Any]] and use
    Mapping for int_remappers to satisfy mypy variance checks.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    202157c View commit details
    Browse the repository at this point in the history
  11. Add bStats metrics integration and changelog rule

    Initialize endstone.metrics with service ID 30345.
    Add CLAUDE.md rule to maintain a keepachangelog-style CHANGELOG.md.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    2b912b0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b5e33d3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    b01480d View commit details
    Browse the repository at this point in the history
  14. Refactor docstrings to See Also references, add ruff config, lint

    Replace ViaVersion prose in docstrings with See Also references
    pointing to specific ViaVersion Java class/method paths. Add ruff
    config (line-length 120, select I/E/F) and apply formatting.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    af2b3fe View commit details
    Browse the repository at this point in the history
  15. Pythonic refactoring: properties, type hints, and naming

    Convert Java-style getters to properties: user, has_remaining,
    remaining, message, base_protocols. Add strict mypy config and
    fix all strict-mode errors. Rename long -> int64 in codec. Fix
    alias naming inconsistency in block_pos. Simplify
    get_max_client_version with max(). Add missing type hint on
    _get_chain.
    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    e23905f View commit details
    Browse the repository at this point in the history
  16. Release v0.2.0

    wu-vincent committed Mar 21, 2026
    Configuration menu
    Copy the full SHA
    4c6249a View commit details
    Browse the repository at this point in the history
Loading