Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LBA incompatibility #9

Open
AlexIIL opened this issue Jul 13, 2020 · 1 comment
Open

LBA incompatibility #9

AlexIIL opened this issue Jul 13, 2020 · 1 comment
Labels
bug Something isn't working

Comments

@AlexIIL
Copy link

AlexIIL commented Jul 13, 2020

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.
@AlexIIL AlexIIL added the bug Something isn't working label Jul 13, 2020
@LemmaEOF
Copy link
Member

If LBA has an API for adding compat wrappers, that would be great! I'll look into something better for UC intercompat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants