Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file addedpub/pdf/rules_v7.pdf
Binary file not shown.
23 changes: 11 additions & 12 deletions rules.typ
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#let version = "v6"
#let version = "v7"

#set page(
paper: "us-letter",
Expand DownExpand Up@@ -278,7 +278,7 @@ A.4.3) Non-accessibility resource packs may be used if and only if they only mod
- A.4.3.d) Changing the Ender Dragon's death sound and sound volume
- A.4.3.e) Changing the bossbar text
- A.4.3.f) Changing the colour scheme of the GUI background to a non-transparent solid colour or colour gradient
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.f.i) Clarification: The GUI background includes the options background texture, commonly known as the dirt background.
- A.4.3.g) Changing the chest and trapped chest textures to their Christmas variants
- A.4.3.h) Changing the default Player skin or cape texture.
- A.4.3.i) Clarification: You must not modify the textures of the health bar, hunger bar, or XP bar whatsoever.
Expand DownExpand Up@@ -506,19 +506,19 @@ Allowed behaviours include but are not limited to:
- A.8.12.e) Grabbing lava from a magma ravine while waiting in the portal animation
#entangled[Entangled Rule(s):]\
#entangled[A.8.12 is referenced by: ] #entangledRule("A.8.1.f")\
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.
A.8.13) Anchiale, antiresourcereload, atum, chunkcacher, fastreset, hermes, hermes-core, lazystronghold, no-paus, seedqueue, setspawnmod, standardsettings, state-output, tabfocus, and worldpreview are resetting mods and must not be interacted with after the start of the gameplay segment. The Use Planar Fog sodium setting emulates hardware and must not be modified after the world is first rendered.\
A.8.14) Hermes, State Output, SpeedRunIGT, WorldPreview write out files, and except for allowed cases those files must not be read after the start of the gameplay segment.
- A.8.14.a) Exception: Using wpstateout.txt (State Output and previously WorldPreview), state.json (Hermes), record.json (SpeedRunIGT), or other mod-outputted instance state as a performant replacement for checks possible in the unmodified game is permitted. Use of the data in these files for aesthetic, continuous (with no regard to whether a run is happening or not), or generally unproblematic reasons, such as for changing OBS properties, time tracking, Atum reset counts, pausing music, etc. is permitted if it is not for an advantage in the run (at the discretion of verifiers). If you think your use of mod state could be considered an attempt to create a mod-only advantage and would like clarification on if your particular use is allowed, please open a thread.
- #formatNote[A.8.13.a.note) Examples of permitted uses of state include:\
- #formatNote[A.8.14.a.note) Examples of permitted uses of state include:\
- Checking for both the paused and gamescreenopen states in wpstateout.txt or checking for a non-null screen in state.json as a replacement for checking if the cursor is grabbed.
- A.8.13.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
]
A.8.14) Certain approved tools are allowed to read Hermes world files during the run. These are:
A.8.14.a) PaceMan Tracker
- A.8.14.b) Exception: Conditional functionality related to resetting the world (e.g. via the Atum's Create New World key) is allowed. This includes common external tool binds such as "Safe Reset" and "Reset Before 20 Seconds".
#formatNote[
A.8.14.note) Use of otherwise restricted mod-outputted data may be allowed on an per-application basis though formal legalization or permission from the mod team. If you have a prospective use that is not intended to create an advantage in the run, you should open a thread.
]
A.8.15) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.
]\
A.8.15) Certain approved tools are allowed to read Hermes world files during the run. These are:
- A.8.15.a) PaceMan Tracker
A.8.16) DLL injection is allowed, but injection of DLLs that are not explicitly whitelisted may result in run rejection. The list of whitelisted DLLs is maintained at #formatLink("https://github.com/Minecraft-Java-Edition-Speedrunning/legal-builds/blob/main/legal-dlls.csv")[legal-dlls.csv]. Injection of any explicitly legalized DLL is allowed only if an allowed build of LibLogger is also injected. Program-independent DLLs such as for OBS Game Capture and Discord Game Overlay are generally allowed.

== A.9: Multi-Instance Rules
A.9.1) If multiple instances of Minecraft are opened simultaneously, they must each be in different directories (.minecraft folders).\
Expand DownExpand Up@@ -815,7 +815,7 @@ F.2.2) <F.2.2> Runs done on external servers, or runs on LAN which choose to do
- F.2.2.c) Clarification: Once /time set 0 is done once to start timing, it cannot be used again for the rest of the run.
#entangled[Entangled Rule(s):]\
#entangled[F.2.2 is referenced by: ] #entangledRule("F.1.3.b")\
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.
F.2.3) On external servers, if /time set 0 is not done, then time starts when the server loads the world and server logs must be submitted.\
F.2.4) <F.2.4> The category is timed by RTA, nullifying #entangledRule("A.5").

== F.3: Video Rules
Expand DownExpand Up@@ -1378,7 +1378,6 @@ CE19.3.3) In addition to the external tools allowed by #entangledRule("A.11"), t
- CE19.3.3.a) #formatLink("https://github.com/TheTalkingMime/AllPortals")[All Portals [TheTalkingMime]]
- CE19.3.3.b) #formatLink("https://github.com/shnenanigans/APgui")[APgui [shnenanigans]]
- CE19.3.3.c) #formatLink("https://www.desmos.com/calculator/la7ezpyutu")[Desmos Stronghold Rings]
- CE19.3.3.d) #formatLink("https://github.com/CommonCrayon/CrayonAllPortals")[CrayonAllPortals] (up to v1.0)
CE19.3.4) <CE19.3.4> A runner may segment their run if and only if they follow the rules regarding segmentation as outlined by #entangledRule("A.5.19") and its corresponding sub-rules.

== CE19.4: All Portals Purist
Expand DownExpand Up@@ -1428,7 +1427,7 @@ CE23.1.3) All runs begin upon first input.
== CE24.1: Half% Objective and Clarifications
CE24.1.1) <CE24.1.1> The run is considered complete once exactly 40 advancements, as listed in #entangledRule("4.6.1"), have been obtained.
- CE24.1.1.a) Timing ends once the chat notification for the last advancement is shown.
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").
CE24.1.2) <CE24.1.2> Runs must demonstrate that 40 advancements have been obtained in accordance with #entangledRule("4.1.3").\
CE24.1.3) Clarification: There are no specific subcategory rules; thus, runs should only follow their respective rulesets (universal, set seed/random seed, glitchless/glitched).\
CE24.1.4) All random seed categories begin upon world load, whereas all set seed categories begin upon first input.

Expand Down