New Inset Connectors on the same grid behave like they are locked even when they are not
EDIT: This is a duplicate issue now since I have (more accurately) submitted a bug report at https://support.keenswh.com/spaceengineers/pc/topic/44499-new-inset-connectors-on-the-same-grid-behave-like-they-are-locked-even-when-they-are-not
Previous behavior: Placing two regular connectors on the same grid aligned together does not transfer items, allowing for conveyor networks that can be isolated and rejoined together conditionally.
Use case for behavior: Using connectors on the same grid is a helpful way to conditionally isolate conveyor networks from each other. An example is to have an oxygen tank on its own network to be used in an airlock system, disconnected from the regular conveyor network to keep it from being completely filled by O2 generators. If the oxygen tank is ever emptied and thus cannot pressurize an airlock, the connectors can be temporarily locked to allow for the tank to fill with oxygen before being unlocked again.
Problem: Placing two of the new inset connector blocks aligned to each other on the same grid allows items and gasses to flow between the blocks even when they are not locked together.
Reproductions and testing:
A simple rig demonstrating the connectivity of the blocks. On the right is the old connectors aligned on the same grid. They are unlocked. On the left side are the new inset connectors, also unlocked. Pressing the button turns on the 02 generator. The tank on the right side does not fill because the connectors are unlocked. The tank on the left side does fill despite the inset connectors being unlocked.
I noticed a while back that conveyor tubes light up green when connected to T intersections, which seems like the T intersections are treated like a conveyor junction block with fewer ports on it in the conveyor code. This made me wonder if the inset connector block is programmed the same way, as if it were a junction block. I made another grid that uses the new inset connector block as if it were just another piece of a straight conveyor line and found that its connector face functions like a normal conveyor port instead of just a connector port.
As suspected, the conveyor tube treats the inset connector face as a conveyor port. Oxygen can be transferred between both tanks in the above example without requiring the conveyor to be locked to anything.
Conclusion: The new inset connectors are great, and since they provide an additional face for conveyor connections they have the potential for making these kinds of conveyor gates more compact. Unfortunately, until this bug is fixed, they cannot be used in this way.
I've noticed this a couple of hours ago and I can say that this is definitely a bug. I've tested using a large nuclear reactor with inset connector on the side and another connector next to it. I've passed uranium through the conveyor network even though the inset connectors was unlocked. I also tried it when the inset connector was turned off. It still passed through. It is as Strikethrough said, the inset connectors are treated like a conveyor instead of a connector. Which made it possible for someone to exploit this bug or the bug could be used against them.
I've noticed this a couple of hours ago and I can say that this is definitely a bug. I've tested using a large nuclear reactor with inset connector on the side and another connector next to it. I've passed uranium through the conveyor network even though the inset connectors was unlocked. I also tried it when the inset connector was turned off. It still passed through. It is as Strikethrough said, the inset connectors are treated like a conveyor instead of a connector. Which made it possible for someone to exploit this bug or the bug could be used against them.
Speaking of potential exploits, this brings to light another glaring issue if the connector port face is treated like a mount point or direct conveyor link as the main post describes. It effectively can turn inset connectors into starting projection blocks where the original vanilla connector could not do so with aligned ports. Its understandable that an inset mesh would have more mounting faces, but if the connecting port face is treated at all as one for the sake of collision and mounting, that opens up a host of problems.
Speaking of potential exploits, this brings to light another glaring issue if the connector port face is treated like a mount point or direct conveyor link as the main post describes. It effectively can turn inset connectors into starting projection blocks where the original vanilla connector could not do so with aligned ports. Its understandable that an inset mesh would have more mounting faces, but if the connecting port face is treated at all as one for the sake of collision and mounting, that opens up a host of problems.
Using the build info mod we can identify the issues very quickly
Figure 1: Reference Image
First, lets examine the mount points
Figure 2: Mount Points
We see that the mount points on the face of the connector are cleverly checkered so that the connector can hold on to other blocks when they are built on the connector face, but will not continue holding on to another inset connector since the two sets of mount points will just miss each other. Lets check the conveyor interfaces now:
Figure 3: Conveyor Interfaces
We see that the blue box is a connector bounding box which indicates the range of the magnetic connection and that a connection can be made. We see that the top and back faces have interactive conveyor ports. These allow for both accessing the inventory of the block and for transferring items through the conveyor network. This is akin to what you'd find on a cargo container. Unfortunately, the bounding box behind the connector box is also a conveyor port, which means that any conveyor ports aligned to it will form a conveyor connection.
Lets contrast the block with a regular connector block:
Figure 4: A regular connector's ports
As you can see, the regular connector has a connector bounding box on the front, and a conveyor port on the back, but the bounding box behind the connector bounding here is an "inventory/terminal access" bounding box, which allows a player clicking on it to access the inventory but for the block to not form any conveyor connections with any adjacent blocks.
The fix is simple, the conveyor port bounding box on the front face of the inset connector just needs to be switched to an inventory/terminal access bounding box.
Using the build info mod we can identify the issues very quickly
Figure 1: Reference Image
First, lets examine the mount points
Figure 2: Mount Points
We see that the mount points on the face of the connector are cleverly checkered so that the connector can hold on to other blocks when they are built on the connector face, but will not continue holding on to another inset connector since the two sets of mount points will just miss each other. Lets check the conveyor interfaces now:
Figure 3: Conveyor Interfaces
We see that the blue box is a connector bounding box which indicates the range of the magnetic connection and that a connection can be made. We see that the top and back faces have interactive conveyor ports. These allow for both accessing the inventory of the block and for transferring items through the conveyor network. This is akin to what you'd find on a cargo container. Unfortunately, the bounding box behind the connector box is also a conveyor port, which means that any conveyor ports aligned to it will form a conveyor connection.
Lets contrast the block with a regular connector block:
Figure 4: A regular connector's ports
As you can see, the regular connector has a connector bounding box on the front, and a conveyor port on the back, but the bounding box behind the connector bounding here is an "inventory/terminal access" bounding box, which allows a player clicking on it to access the inventory but for the block to not form any conveyor connections with any adjacent blocks.
The fix is simple, the conveyor port bounding box on the front face of the inset connector just needs to be switched to an inventory/terminal access bounding box.
I want to chime in again too that I've tested this with the other sized inset connector blocks and they all share the same problem. Instead of inventory/terminal access bounding boxes on their connecting faces, they have regular conveyor ports, which will create conveyor connections. All inset connector blocks will need to be updated to fix the problem.
I want to chime in again too that I've tested this with the other sized inset connector blocks and they all share the same problem. Instead of inventory/terminal access bounding boxes on their connecting faces, they have regular conveyor ports, which will create conveyor connections. All inset connector blocks will need to be updated to fix the problem.
Replies have been locked on this page!