
Secret Advancement "Achtung" Cannot Be Triggered Correctly
Closed this issue · 3 comments
Minecraft Version
1.21.1
Immersive Engineering Version
12.3.0-188
Expected Behavior
Trigger "ACHTUNG! ACHTUNG!" advancement.
Actual Behavior
The advancement can only be triggered when notes player heard that played by a noteblock which placed on a Resonanz Engineering Block is divisable by 3. From my own perspective I guess it is not expected.
Steps to reproduce
At 'src/main/java/blusunrize/immersiveengineering/common
/EventHandler.java', line 393-410, there seems to be some logic problem.
If the note list player heard is like this: {6, 5, 11, 15, 5, 11, 15, 5, 11, 15, ……}
The 'lastHeard' list would express like this:
{-1, -1, -1}
{6, -1, -1}
{6, 5, -1}
{6, 5, 11}
{15, -1, -1}
{15, 5, -1}
{15, 5, 11}
{15, -1, -1}
……
Although players plays right sequence ({5, 11, 15}), but because it doesn't start from a divisor of 3, the code cannot match them.
Debug Crash Log
N/A
Nah, that's fine actually. The cache has like a 30 second timeout on it. People need to set it up in the correct order using only those three notes and nothing else, and it'll work.
It's a secret achievement anyway, it's intended to need a pretty specific setup. I have no intention of changing this.
Nah, that's fine actually. The cache has like a 30 second timeout on it. People need to set it up in the correct order using only those three notes and nothing else, and it'll work.
It's a secret achievement anyway, it's intended to need a pretty specific setup. I have no intention of changing this.
I must point out that players need to tuning the noteblock before they can actually complete the advancement, and the times they need to click is 5+11+15=31, which is not a divisor of 3, which means players have to wait 30s or longer after everything has been built. Players may be confused because most of them want to achieve the advancement right after noteblocks are tunned.
Anyway if you do think that's nothing serious, that's ok I guess.