Smooth blocks weld together with MakeJoints

I have a block that has Weld surface type on all surfaces, and a gun that only has the weld surface on the bottom side. When a gun is placed ontop of something, its supposed to weld itself to that block. It works perfectly, but i noticed that any and all blocks touching the model is welded. Regardless of surface type.
This is a huge problem because if someone were to place a gun on the front side, it floats because its welded when its not supposed to be.

Am i doing something wrong? I noticed there seemed to be an update released that made the old surface types harder to get to, but are they truly deprecated? I kinda need that for this project, so whats the substitute?

u could create a part and make it the size of the hitbox of the block but alittle bigger and get its touching parts/ part:GetTouchingParts() which returns a table of the parts tahts touching it and then u could weld the touching parts to the block’s hitbox

Theres already an existing block that is the current’s blocks representative. Problem is your solution doesnt account for specific surfaces welding. If i were to get rid of MakeJoints() and do exactly as you said, I would still have the exact same problem

1 Like