Skip to content

LBA incompatibility #9

@AlexIIL

Description

@AlexIIL

There are 2 problems:

  1. UC makes Block implement InventoryProvider, which triggers LBA's sanity check when adding compatibility wrappers for InventoryProvider - which causes crashes like Crash on placing pipe (1.16.1 - 0.4.0) AlexIIL/SimplePipes#43.
  2. UC uses mixins to provider UC -> LBA compatibility, which were broken in LBA 0.7.0. I can submit a PR to make UC use LBA's existing API for adding compatibility wrappers instead of mixins though.

For the first issue I can think of two fixes:

  • UC stops making every block potentially an inventory, and instead takes a different path for providing UC -> vanilla compatibility. I don't know how feasible this is though, or what this would mean for UC users. (LBA currently requires every block that provides an inventory to implement InventoryProvider themselves if they want vanilla users to see it's inventory, I guess that implies UC users would need to do the same).
  • LBA downgrades the sanity check to a warning rather than a crash when adding "compatibility" wrappers. I'd prefer not to do this as I think pretending every Block is an inventory bad idea (and will prevent any later wrappers from adding compatibility), but it's technically the simplest solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions