DonBruce64 / MinecraftTransportSimulator

A Minecraft mod that adds planes and automobiles with realistic physics!
Other
113 stars 63 forks source link

Poles and Signs Have No Bounding Box; Difficult to Place Larger Poles #1119

Closed bobgrey1997 closed 2 years ago

bobgrey1997 commented 2 years ago

I recently added an overhead gantry into my pack, and gave it a large radius (0.4375). This pole is very difficult to place, as I am unable to place each block directly against the next (it will place, but not in the intended direction, usually on top, bellow, or to the side rather than against the side I clicked on). Because of this, I have to first build some blocks behind the gantry, then place the gantry against those blocks, then finally remove those blocks. I can still place signs just fine on it.

When reporting this is Discord, bounding boxes were brought up. In my investigating, I found that none of the signs OR poles had bounding boxes, both in my packs and in the OCP.

Below are some images showing various types of poles, signals, and signs from my packs and OCP, and an OCP box truck which does have bounding boxes. https://i.imgur.com/Usb327N.png https://i.imgur.com/QFQHrGN.png https://i.imgur.com/Af54Gya.png

Here is the same image as the last one with designations showing which poles are which. All but the overhead truss are easy to place, as they act identical to the OCP pole. However, the overhead truss seems unpredictable when you try to place directly against itself. https://i.imgur.com/Ftrk9qc.png

If this'll work, here is the jar file in case it helps understand this, as I get confused just trying to explain it. https://drive.google.com/file/d/1qSobaPhPxVP-KQu1CXKLuZQLFadtGVk-/view?usp=sharing

DonBruce64 commented 2 years ago

This is happening as the bounding boxes for the poles excede 1 block in size. Because of this, when you click the outer edge of the box, MC thinks you are clicking the block 1 block over as it checks only in whole number box bounds.

For example: if you have a pole centered at block X=10, Z=10, then the center of the pole will be at 10.5,10.5. Then, if the collision box is 0.75 north and south, when you click the south side of the pole the edge of that box will be at 9.75, which MC thinks is the block at 10, 9. So it does click logic there. I'm afraid there's nothing I can do about this, except perhaps convert poles to static entities for better hitbox detection. But that's a ways down the road.