Space Engineers

Space Engineers

43 ratings
Clang Slayer
3
   
Award
Favorite
Favorited
Unfavorite
Type: Mod
File Size
Posted
Updated
4.290 MB
14 Jan, 2023 @ 6:34pm
15 Jan, 2023 @ 10:43am
4 Change Notes ( view )

Subscribe to download
Clang Slayer

Description
Clang Slayer

Disables or detaches mechanical connection bases (piston, rotor, hinge) if they would induce clang forces.

This mod is useful to block the use of all kind of clang based solutions (drives, weapons, etc.).

This mod still allows for all reasonable uses of mechanical connections, for example in drilling rigs or cranes, as long as they are not "forced" into unrealistic poses.

How to use
  • Add this mod to your world.
  • Try to use a clang drive or weapon. They should not work.
  • Try to build a drilling rig or a crane, it should work fine as long as not "forced".

Compatibility
  • Works in both single and multiplayer.
  • Works in both creative and survival game.

How to test

Test world: Clang Slayer Test Space

Creative mode, test platform in empty space. Enter the Helm, then use Ctrl-1 / 1 and 6 buttons. Wait until the blocked mechanical connections stop moving. Check the game's log for ClangSlayer entries, you should see that all of them are disabled by the mod.

Test blueprints:

Paste any of the above blueprints into a world without the mod. They will work (use clang) as intended.

Add the mod to the world, then try it again. The clang should not happen and the piston jolt should just fall apart on activation because the mod disconnects the clang inducing head parts.

Theory of operation
This mod
  • tracks all mechanical connection bases and verifies all active ones every 10 ticks
  • compares the expected head position and orientation with the actual one
  • measures the strain (clang forces) from the difference in position and orientation
  • disables mechanical bases when they start to induce slight clang
  • detaches heads if keeping them would introduce serious clang forces

Tunable parameters
The mod generates a
ClangSlayer.ini
file under the Storage folder of your world when it is first loaded.
Look into that file for documentation of all settings.
Uncomment the settings you want to change, the ones with default values are written as commented out (#).

Known issues
  • Non-standard base-head combinations (large head on small rotor, different piston head size) are untested.
  • Modded mechanical connections may not work with this mod, especially if their head position is different.
  • This mod may interfere with some programmable block scripts controlling mechanical blocks.
  • Players attempting to use clang based contraptions may report that they are broken.

Troubleshooting
  1. Enable the Debug and Detail in settings in ClangSlayer.ini
  2. Load the world (reload if already loaded)
  3. Look into the Space Engineers log, search for ClangSlayer
  4. Make sure the problem mechanical base blocks and their grids are named
  5. Reproduce the problem
  6. Find the problematic mechanical connections in the log by their name
  7. Check the position and axis errors measured
  8. Try to increase the relevant limits in the INI file slightly

Currently there is no way to configure the thresholds when the Clang Slayer acts. Please send me a PR (see GitHub link below) if you have added a way to configure this. - Thanks!

Source
GitHub Repository[github.com]

Support / Help
23 Comments
Xavius 27 May @ 1:16pm 
Hello there,

first off, thank you viktor for making this :D i enjoy "Clang Slayer" alot,
but since the latest updates of SE the mod seems to work kind of weird.

I enjoy building ships with fancy extras like hangar doors and landing gears that expand/retract using hinges, pistons and rotors,

but since the latest update the mod seems to remove the velocity and speed of my pistons, hinges and rotors, but only if they have any mechanical restistance ( if they move anything / they touch the ground or any part of my creation )

i dont know if this is a bug or glitch but it makes customs turrets and anything using movable blocks lose their velocity.:blobfish:
Viktor  [author] 6 Sep, 2023 @ 12:27pm 
Any issues since the recent game update (1.203.022)?
Viktor  [author] 24 Apr, 2023 @ 4:48pm 
@Stoner Jezus: If you add configurability to the mod, then please make a PR on GitHub, link is in the description. Thanks!
Stoner Jezus 27 Mar, 2023 @ 9:36am 
is there any way/config to adjust vallues or disable lets say checks on pistons?
the mod works great, except it keeps disabling my drill pistons and detaching piston heads with the slightest force change on the drill plate attached to it.
from the 5 pistons, only one or two will work, the rest gets disabled, making me end up with my drills in a hole unable to pull up the drills completely and free my vehicle.

I have simular ussues with the hinges of my custom wheel suspension, would be amazing to have a min/max we can set for the mod to disable or adjust the hinges/pistons/rotors.

besides that great mod, amazing to drive around without things making clang noise for no obvious reason at all besides blocks "colliding" in the slightest form making things explode on me :P
Menos 31 Jan, 2023 @ 10:54am 
If this works as advertised, it is the mod we've all been waiting for. Nice work!
Viktor  [author] 26 Jan, 2023 @ 6:07am 
Just collecting ideas for future development.

Possible improvements:

- An optional mode to "tune down" the clangy mechanical connections instead of disabling them. (I attempted this, but this mode would not kill the lag immediately, which may be insufficient on servers.)

- Auto-tuning of normal (not clangy) behavior, so the mod can adapt to modded mechanical connections. (It should work, but I opted to release the simpler hard-coded version first.)

- Handling clang based contraptions based on rotor displacement only, like @green bean's ClangCapsule below. - It is yet to be confirmed whether this kind of clang engine introduces any lag on servers. I think there should be an option to prevent this kind of cheating on multiplayer servers, but not sure it should/can be implemented in a similar way as Clang Slayer currently works.

Any other ideas/requests?
Zat-1-fury 25 Jan, 2023 @ 3:12pm 
FINALLY someone did it :Khappy:
Viktor  [author] 25 Jan, 2023 @ 11:16am 
@Codex: Yes, it is designed mostly for servers. It should work if added to any world. Only problem may be compatibility with modded mechanical connections, because their base->top transformation may differ. I'm thinking about a solution for that as well.
Viktor  [author] 25 Jan, 2023 @ 11:15am 
@Nemo: You're welcome. Enjoy the mod!
Nemo 25 Jan, 2023 @ 2:47am 
Viktor, my dude, my man, my bro. You are a lifesaver. Thank you for this mod.