Skip to content

Conversation

@Avanatiker
Copy link
Member

@Avanatiker Avanatiker commented Oct 7, 2024

  • Rotation Management: Replaced requestRotation with a flexible rotate DSL for cleaner and more consistent rotation handling.
  • Inventory Enhancements: Refactored inventory handling with new transaction utilities (TransactionExecutor, QuickCraftTransaction) and improved material prioritization. Introduced accessEnderChest configuration for better container filtering.
  • TaskFlow Updates: Streamlined task resolution with a Resolvable interface, enhanced nesting logic, and modularized TaskFlowModule references.
  • Placement and Interaction Logic: Simplified placement in BuildTask, added AxisPreprocessor and BlockFaceProcessor, and improved block interaction with expectedPos logic.
  • Structure Handling: Added support for NBT structure files, half-slab building, relative structure paths, and StructureRegistry for dynamic management.
  • Mining and Pathing Fixes: Enabled mining below the player with support, addressed reach misconceptions, and improved pathing performance.
  • Event and Listener Management: Simplified event listener cleanup with an unsubscribe approach and enhanced event-driven behaviors.
  • Miscellaneous Improvements: Fixed inventory crashes, clarified material categories, and optimized structure template discovery.

@github-actions github-actions bot added the triage Requires labelling or review label Oct 7, 2024
@emyfops emyfops added ignore-for-release Don't include this label in the release changelog and removed triage Requires labelling or review labels Oct 30, 2024
@emyfops emyfops added this to the Open Beta milestone Oct 31, 2024
Avanatiker and others added 24 commits November 10, 2024 05:29
Replaced `TaskResult` with more explicit task patterns and streamlined result handling. Improved modularity by refactoring references to `TaskFlow` into `TaskFlowModule`. Added `name` properties to various tasks for better debugging and logging.
Replaced `resultingPos` with `expectedPos` across the codebase for improved clarity and consistency in block placement and interaction handling. Introduced enhanced logic for detecting unexpected positions and added a corresponding result type `UnexpectedPosition`. Updated related event systems and modules to align with the new `BlockChange` event structure.
Simplifies the task execution flow by introducing a `Resolvable` interface to standardize task resolution. Removes redundant task nesting and pending logic, streamlining parent task management and improving readability and maintainability.
Refactored `findProcessorForState` to an extension function on `TargetState` for improved readability and consistency. Introduced `AxisPreprocessor` and `BlockFaceProcessor` to handle preprocessing based on block axis and block face properties, enhancing placement flexibility and processing logic.
Lifted placement-related logic into the BuildTask to simplify task nesting and enhance data flow. This change improves maintainability and ensures more accessible context sharing across the build process.
Implemented prioritized material and space comparators in inventory. Replaced `name` property with `description` for detailed container info. Simplified transfer and debug logic for better readability and usability.
Reorganize container classes into a dedicated `containers` package for improved modularity and clarity. Introduced new inventory transaction utilities, including `PickFromInventoryTransaction`, `DropItemInHandTransaction`, and `SwapHandsTransaction`, to streamline and enhance inventory management. Updated configurations, task flows, and dependencies to align with this new structure.
Standardize access to `disposables` and `ignoredBlocks` under specific config groups for modularity. Improved task handling by adding a new debug setting and validating rotation states in build tasks. Removed redundant logging and adjusted conditional checks for cleaner code execution.
Simplified and streamlined rotation management by consolidating `onUpdate` and `onReceive` callbacks. Improved code readability and consistency in `BuildTask` and `BreakBlock` tasks by refining placement and rotation operations. Removed unused comments and ensured proper alignment with updated rotation conventions.
Removed redundant listener management methods and replaced them with a streamlined `unsubscribe` approach. Cleaned up code to improve maintainability and consistency across Task state transitions, ensuring proper cleanup of listeners tied to task instances.
Replaced `InventoryTransfer` with `TransactionExecutor` for improved naming and functionality. Renamed `InventoryTransferTask` to `SlotTransfer` and updated method calls accordingly. Introduced `QuickCraftTransaction` and `TransferSelection` for expanded transaction capabilities and added error handling in `InventoryChanges`.
Replaced `requestRotation` with a more flexible `rotate` DSL across modules for cleaner code and enhanced rotation handling. Introduced a new `accessEnderChest` configuration in `InventoryConfig` and applied it to filter container usage. Improved `PacketMine` behavior for better break handling.
@Avanatiker Avanatiker merged commit f9b51ad into master Jan 2, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ignore-for-release Don't include this label in the release changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants