Create

Create

86M Downloads

Multiple elevator contacts active at once

anonymoususer901 opened this issue ยท 5 comments

commented

Describe the Bug

Multiple elevator contacts lighting up at once.

Reproduction Steps

1.Build elevator
2. Place 5 contacts so that you have 2 sets of elevator contacts adjacent to each other and the last contact 1 block underground
3.Label the highest set of elevator contacts as 2a and 2b (2b being the higher one) and the lower set as 1a and 1b with 1b being the higher of the 2
4. Send elevator to 1a and both 1a and 0 will be lit
(Note: any Redstone dust next to floor 0's contact will power the contact sending the elevator to floor 0)

Expected Result

The only contact that should have lit up was the contact at the top of the screenshot (see screenshot below).

Screenshots and Videos

2023-06-01_08 18 11
2023-06-01_08 37 17

Crash Report or Log

No response

Operating System

Windows 11

Mod Version

0.5.1b

Minecraft Version

1.18.2

Forge Version

40.2.4

Other Mods

No response

Additional Context

No response

commented

Can confirm, experiencing this bug as well in my build. Every other contact will activate the one below it along with itself.

commented

I'm having the same issue on Fabric 1.19.2 0.5.1b Patch 1 and Patch 2

Fabricators-of-Create#1002 (comment)

commented

I did some testing with current mc1.18/dev branch, It seems to have to do with the elevator contraption height being more than the distance between the contacts.
It also only affects the sections where that is true, so not the whole elevator column.
image

commented

It seems to have to do with the elevator contraption height being more than the distance between the contacts.

That makes sense. I made an elevator that was only a platform, and it worked fine, but when I built the rest of the cab it started powering multiple contacts

commented

I found the issue, the problem only happens when the distance between contacts is the same as the contactYOffset on the contraption, because the offset is being added twice to the contraption y position, once in ElevatorPulleyBlockEntity tick() and once more in triggerContact. The correct contact is being also lit up because of the lazyTick which calculates the contact position correctly (which explains the delay with the wrong contact being powered earlier).