Explaining Every Potion Overflow Exploit
Today I dive deep into Minecraft's code to uncover how exactly how every potion overflow glitch in older versions of the game works. While these issues are patched, the bugs with levitation, haste, and jump boost are very nostalgic to me. There is one more glitch not explained, because I already explained it! You can learn about the health potion that kills players in creative mode here: https://www.youtube.com/watch?v=7P2__CxMFIQ Corrections/Comments: - Correction @ 7:52: While the player is briefly assigned a speed of -0 in the same function that onGround is defined, they are not correlated in the way described in the video. onGround is actually checking your speed from the previous tick, which when standing still would be that of gravity's, about -0.08, thus the graphics should show -0.08 in the "true" case. Additionally the claim that -0 is considered less than 0 in Java is false. Apologies for the mistake, the variable names were confusingly similar but I should be triple checking claims like this! I'll try to cut around the issue. - These were patched in the 1.20.5 development cycle. In 24w05a these potions would crash the game on world save due to being outside a newly added limit of [0,127]. In 24w05b they "fixed" the crash by blocking these potions from existing outright. In 24w06a they restored support for values [0,255] but replaced the behavior of every potion mentioned in this video with the Attribute system, which as discussed in the video doesn't face overflow issues. (Oddly the changelog notes fixing levitation, jump boost, and.. mining fatigue? I cut it out of the video but mining fatigue has only 4 supported values with the default being the slowest, so it doesn't have any overflow issue. I think they knew they fixed *something* about digging speed but didn't know what.) - I use "potency" or "amplification" when I'm referring to the number typed into the effect command, and "level" when I'm referring to the number displayed in normal gameplay. The latter is always 1 more than the former because numbers tend to be like that in programming. - Haste & Conduit Power are a little weird because the server will actually instantly break some blocks if you're using the right tool, since it believes you have Haste 128, but otherwise it defers to the client which will never break the block, since it believes you have Haste -128. The exact criteria for when this triggers depends on the block and the tool so I didn't explicitly mention it in the video. - Also I misspoke when saying Haste & Conduit Power 128 slow your digging speed to a crawl. It would be more accurate to say you can no longer dig. (Excluding aforementioned server-breakable blocks.) OST: Heaven's Door (Super Mario Galaxy) Tableturf Card List (Splatoon 3) Can You Really Call This A Hotel, I Didn't Receive A Mint On My Pillow Or Anything (Undertale) Program to Measure Battle-power (Kirby Planet Robobot) Boss Battle (Mario Kart Wii) Purple Comet (Super Mario Galaxy) Treeshroud Forest (Pokemon Mystery Dungeon Explorers of Sky) https://twitch.tv/lexikiq https://twitter.com/lexikiq https://discord.gg/ZbMFW2Jpwd
Download
1 formatsVideo Formats
Right-click 'Download' and select 'Save Link As' if the file opens in a new tab.