Immersive Vehicles (Formerly Transport Simulator)

Immersive Vehicles (Formerly Transport Simulator)

4M Downloads

[Suggestion] Hitbox-based effectors

DrprofLuigi opened this issue · 6 comments

commented

It would be nice to have the ability to have effectors 'effects' apply based on hitboxes, rather than 'width' or other specialized variables. This would allow for a more diverse configuration of implements.

An example code:
"collision": [ { "pos": [1, -0.5625, 2.25], "width": 0.5, "height": 0.5, "isEffector": true } ]

Effector hitboxes would not interact with blocks via collisions, but would instead effect any blocks colliding with it.

commented

Implemented in V20.0.0.

commented

This could be problematic when older packs are considered. Are there any that currently use the system for width, that's greater than 1 block in size? I know if I do this, Colt's pack is gonna take a major hit, as is I think Seagull's farming pack.

commented

They may be willing to update since this is an improved system, or do some magic with legacy compass by inserting extra collision boxes ¯_(ツ)_/¯

commented

I could potentially do this. However, do you have examples of effectors that would need a more complex hitbox system? My brain can only think of things like graders, dozers, tree saws, and ditch diggers, all of which have a single point, or wide blades in a flat orientation. This is more of a question of: what use cases don't work with the current system that is requiring a code re-wite and Legacy Compat? Cause gotta prioritize things.

commented

I'm just thinking that a hitbox system would be more flexible, plus it would allow having a multi-blade plow without having to have a plow part (even if they are default permanent). But a simpler system based on the existing one to allow for height could work.

commented

Is there any reason you'd ever have hitboxes on an effector that shouldn't have the effectors effect? Thinking I can simplify things if I just make all hitboxes on an effector do stuff, rather than messing with JSON params.