It will be a single pixel, behaving like a photon under BHOL gravity with same reflections and all, however it would also react to normal world gravity and collide with other ldbl same as photon collides with solid objects. I thought it would be easy to implement since the code to do such things already exists.
What if this was under special? My idea was that it wouldn't also have normal powder physics, unless it has some small reaction to pressure. Also, I know it wouldn't make sense to have powder and photon physics in the same object, but I figured lead ball would only behave as a powder at extremely low velocities. IDK, I just thought since all physics interactions have been coded before and work well that it would simply be a matter of combining the right components. When I code things I often find myself able to take parts of two code chunks and make a third unique behavior. Sorry if I came across as not respecting how challenging coding is, I know all too well and you probably don't need to hear about it being easy.
The photon reflection code was written by Skylark and is therefore... complicated. It also has a bug which means it doesn't work on some shapes. However, a long time ago I did spend a few days unpicking it, and rewrote it so that it works properly on all shapes (though never merged the change). So I do vaguely understand photon reflection, and I think the surface normal finding code should also work for non-energy particles colliding with solid objects.
I suspect the main thing that would need working on is collisions between particles. Photons sidestep this problem by not colliding with each other, and by only changing the photon's velocity and not the velocity of the other particle when colliding with other particles. But that method can't be applied to this suggestion.
Most collisions in TPT do not conserve momentum. At the moment, one of the colliding particles has some component of its velocity (either x or y or both) multiplied by an element-dependent number, which may slow it down, stop it completely, or reverse its direction.The velocity of the other particle is unmodified.
Realistic bouncing would basically be changing this collision behaviour so that the change in velocity is related to the orientation (surface normal direction) of the thing that the particle is colliding with, instead of just multiplying x/y/both by some number.
However, if you want realistic movement for particles that can collide with each other, collisions between particles would need to be fixed so that the velocity of both particles involved in the collision is modified if necessary, instead of just one particle, and so that there is some momentum conservation.
For example: two LDBL particles colliding in mid air - both particles should have velocity changed, and bounce back off each other. Under the current system, one of them might not have its velocity changed. Or you could have a LDBL particle completely stop in mid air when it meets a single particle of dust.
Unfortunately, fixing this would likely involve rewriting most of the current particle movement code.
make your own mod then
I know that there are 5-7 people that know how to code on this very thread. Which is the majority.
I am a non-coder way too complicated for me.
Very interesting mechanics can be added with this, and we could enjoy playing with rube goldberg machines and other fun bouncy-ball contraptions.
Actually I was thinking maybe lead ball could treat other lead balls as static particles, without worrying about conservation of momentum. It would not be quite so realistic, but still add fun mechanics. I don't personally know how difficult it would be to implement conservation of momentum for a group of experienced devs like yourselves, but if it would be too hard it could be eschewed. This would only apply in LDBL-on-LDBL collisions. I figure having ldbl collide with regular powders and liquids, etc, would just either displace the other particles or bounce off them.