- Популярные видео
- Авто
- Видео-блоги
- ДТП, аварии
- Для маленьких
- Еда, напитки
- Животные
- Закон и право
- Знаменитости
- Игры
- Искусство
- Комедии
- Красота, мода
- Кулинария, рецепты
- Люди
- Мото
- Музыка
- Мультфильмы
- Наука, технологии
- Новости
- Образование
- Политика
- Праздники
- Приколы
- Природа
- Происшествия
- Путешествия
- Развлечения
- Ржач
- Семья
- Сериалы
- Спорт
- Стиль жизни
- ТВ передачи
- Танцы
- Технологии
- Товары
- Ужасы
- Фильмы
- Шоу-бизнес
- Юмор
NoSuchElementException Update Suppressor [1.19+] [POC]
Probably an update suppression method you'd only use as an absolute last resort.
After several searches, it is a rediscovery. yay!
It's been more than 3 yrs before I come back and I just thought through of this in an hour, so never mind.
---
When handling block updates, the game calls the addAndRun method in CollectingNeighborUpdater, which uses count larger than 0 to determine if an update chain is already running.
Noticing that the type of count is int naturally makes us think of the possibility of an integer overflow.
Causing 2,147,483,648 updates on a single update chain causes count to overflow into a negative number, making count larger than 0 evaluate to false.
The game misjudges that there is currently no update chain running and enters runUpdates() again during the nested call. After the stack (which is shared with the outer layer) is cleared, the outer layer attempts to pop() an empty stack, throwing a NoSuchElementException.
It is worth noting that the exception in this method occurs after the NC (neighborChanged) update finishes executing. What gets suppressed are the subsequent updateShape (PP updates), etc.
Therefore, unlike other traditional update suppressors, it cannot suppress blocks that self-destruct via neighborChanged.
You could use it for portal slicing, though...
So, we might as well call this a State Update Suppressor.
The way I implemented the countOverflowSimulator feature in my modified Carpet TIS Addition is by changing the count to Integer.MAX_VALUE when a rail update calls addAndRun, causing the very next update to overflow in a vanilla manner during count++.
---
But to use this method in pure vanilla, you have to set max-chained-neighbor-updates and max-tick-time in server.properties to -1, and then agonizingly wait anywhere from 35 minutes to several hours. During this time, the 2.1 billion queue items will require over 100+ GB of RAM, meaning the server will highly likely OOM and crash before you can even slice a portal.
Causing this many updates just to suppress an update once... is it really worth it? LMAO
Видео NoSuchElementException Update Suppressor [1.19+] [POC] канала HackerRouter
After several searches, it is a rediscovery. yay!
It's been more than 3 yrs before I come back and I just thought through of this in an hour, so never mind.
---
When handling block updates, the game calls the addAndRun method in CollectingNeighborUpdater, which uses count larger than 0 to determine if an update chain is already running.
Noticing that the type of count is int naturally makes us think of the possibility of an integer overflow.
Causing 2,147,483,648 updates on a single update chain causes count to overflow into a negative number, making count larger than 0 evaluate to false.
The game misjudges that there is currently no update chain running and enters runUpdates() again during the nested call. After the stack (which is shared with the outer layer) is cleared, the outer layer attempts to pop() an empty stack, throwing a NoSuchElementException.
It is worth noting that the exception in this method occurs after the NC (neighborChanged) update finishes executing. What gets suppressed are the subsequent updateShape (PP updates), etc.
Therefore, unlike other traditional update suppressors, it cannot suppress blocks that self-destruct via neighborChanged.
You could use it for portal slicing, though...
So, we might as well call this a State Update Suppressor.
The way I implemented the countOverflowSimulator feature in my modified Carpet TIS Addition is by changing the count to Integer.MAX_VALUE when a rail update calls addAndRun, causing the very next update to overflow in a vanilla manner during count++.
---
But to use this method in pure vanilla, you have to set max-chained-neighbor-updates and max-tick-time in server.properties to -1, and then agonizingly wait anywhere from 35 minutes to several hours. During this time, the 2.1 billion queue items will require over 100+ GB of RAM, meaning the server will highly likely OOM and crash before you can even slice a portal.
Causing this many updates just to suppress an update once... is it really worth it? LMAO
Видео NoSuchElementException Update Suppressor [1.19+] [POC] канала HackerRouter
Комментарии отсутствуют
Информация о видео
12 апреля 2026 г. 1:03:08
00:00:58
Другие видео канала

![Get N-1 babies with N mobs [Historical versions - 26.1+] [MCJE]](https://i.ytimg.com/vi/B0EfR2WVbzM/default.jpg)
![Entity/Item Dupe for 1.17+ [POC] [MCJE]](https://i.ytimg.com/vi/1XhuL_7aR5c/default.jpg)

![CME Update Suppressor [POC] [1.14 - 1.16.5]](https://i.ytimg.com/vi/Bg68QLYa7_w/default.jpg)
![Sulfur Cube TNT DUPER [26.2-snapshot-5+]](https://i.ytimg.com/vi/WcVZuOoGI0A/default.jpg)

![Making a CCE shulker via a CME suppressor [1.14 - 1.16.5] [POC]](https://i.ytimg.com/vi/EDaohaxZFGs/default.jpg)
![Infinite Ender Dragon XP Rain [MCJE 1.12-1.19.2+]](https://i.ytimg.com/vi/7UK_y2qlGzM/default.jpg)

![Useless Portal Entity Caching Mechanic [Showcase]](https://i.ytimg.com/vi/lujcKT8tvyI/default.jpg)
![Minecraft Dungeon Forcer for 26.1.1 [1.13+]](https://i.ytimg.com/vi/0k_dTXpjEdQ/default.jpg)