wolfieboy09 / KubeJS-CC-Tweaked

Add ComputerCraft support from KubeJS for Forge and Fabric [Uploaded on CurseForge and Modrinth]
https://modrinth.com/mod/kubejs+cc-tweaked
GNU Lesser General Public License v2.1
7 stars 2 forks source link

[ISSUE]: Inventory peripherals are incompatible with CC:T's built-in implementation #5

Open SquidDev opened 6 days ago

SquidDev commented 6 days ago

Mod Version 1.0.1-beta

Describe the bug KubeJS+CC:Tweaked provides its own implementation of CC:T's inventory peripherals. However, this implementation has several incompatibilities with the original, meaning that programs that work with just CC:T do not work with KubeJS+CC:Tweaked when installed.

This problem is exacerbated by the fact that KubeJS provides its implementation of the generic peripherals for all block entities, not just those where a Javascript method has been written.

To Reproduce/Expected behaviour

  1. Place a computer and (full block) wired modem down, then place two chests on either side of the modem.
  2. Right click the modem, observe that the peripherals are incorrectly called inventory_N, rather than minecraft:chest_N.
  3. Write a program to move an item from slot 1 of the first inventory to slot 1 of the second (e.g. peripheral.wrap("inventory_0").pushItems("inventory_1", 1, nil, 1). This should run, but instead errors with "Limit must be an invalid integer".

Additional context Ideally this mod would sit on top of the generic peripheral system, rather than wholesale replacing it. That's currently not possible, but I'm definitely happy to discuss what changes would be needed on CC:T's side to make it so.

wolfieboy09 commented 6 days ago

Question, what MC version are you on?

SquidDev commented 6 days ago

Forge 1.20.1

wolfieboy09 commented 6 days ago

Thanks for that. Been talking with the other developer. We have located what the problem was, and we will look into fixing it when we have the time. We also really appreciate you being open to finding another way to make our peripherals co-exist with the generic ones.