<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">memory.hooks.</span></span><spanclass="sig-name descname"><spanclass="pre">HookType</span></span><aclass="headerlink" href="#memory.hooks.HookType" title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">POST</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">_memory.HookType.POST</span></em><aclass="headerlink" href="#memory.hooks.HookType.POST" title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">PRE</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">_memory.HookType.PRE</span></em><aclass="headerlink" href="#memory.hooks.HookType.PRE" title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">names</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">{'POST':</span><spanclass="pre">_memory.HookType.POST,</span><spanclass="pre">'PRE':</span><spanclass="pre">_memory.HookType.PRE}</span></em><aclass="headerlink" href="#memory.hooks.HookType.names" title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">values</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">{0:</span><spanclass="pre">_memory.HookType.PRE,</span><spanclass="pre">1:</span><spanclass="pre">_memory.HookType.POST}</span></em><aclass="headerlink" href="#memory.hooks.HookType.values" title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">hook_type</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">_memory.HookType.POST</span></em><aclass="headerlink" href="#memory.hooks.PostHook.hook_type" title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">hook_type</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">_memory.HookType.PRE</span></em><aclass="headerlink" href="#memory.hooks.PreHook.hook_type" title="Link to this definition">¶</a></dt>
<spanclass="sig-prename descclassname"><spanclass="pre">memory.hooks.</span></span><spanclass="sig-name descname"><spanclass="pre">get_hooks_disabled</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">bool</span><spanclass="pre">:</span></span></span><aclass="headerlink" href="#memory.hooks.get_hooks_disabled" title="Link to this definition">¶</a></dt>
<dd><p>Return whether or not hook callbacks are disabled.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">memory.hooks.</span></span><spanclass="sig-name descname"><spanclass="pre">hooks_disabled</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">disabled</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">True</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="../../_modules/memory/hooks.html#hooks_disabled"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#memory.hooks.hooks_disabled" title="Link to this definition">¶</a></dt>
<dd><p>Temporarily disable or enable all hook callbacks. By default hooks are
enabled. Thus, this context manager is mainly used to temporarily disable
hook callbacks. If the context ends, the original value is restored. This
can be used e. g. to avoid recursive calls when damaging a player in a
<codeclass="docutils literal notranslate"><spanclass="pre">on_take_damage</span></code> hook or <codeclass="docutils literal notranslate"><spanclass="pre">player_hurt</span></code> event.</p>
<divclass="admonition note">
<pclass="admonition-title">Note</p>
<p>This would only disable hooks created with Source.Python. Hooks that
have been created by other server plugins will still be called.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">memory.hooks.</span></span><spanclass="sig-name descname"><spanclass="pre">set_hooks_disabled</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">(bool)arg1</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">None</span><spanclass="pre">:</span></span></span><aclass="headerlink" href="#memory.hooks.set_hooks_disabled" title="Link to this definition">¶</a></dt>
<dd><p>Set whether or not hook callbacks are disabled.</p>
<spanclass="nb">print</span><spanclass="p">(</span><spanclass="sa">f</span><spanclass="s1">'PRE: this = </span><spanclass="si">{</span><spanclass="n">stack_data</span><spanclass="p">[</span><spanclass="mi">0</span><spanclass="p">]</span><spanclass="o">.</span><spanclass="n">address</span><spanclass="si">}</span><spanclass="s1">'</span><spanclass="p">)</span>
<spanclass="nb">print</span><spanclass="p">(</span><spanclass="sa">f</span><spanclass="s1">'POST FALSE: this = </span><spanclass="si">{</span><spanclass="n">stack_data</span><spanclass="p">[</span><spanclass="mi">0</span><spanclass="p">]</span><spanclass="o">.</span><spanclass="n">address</span><spanclass="si">}</span><spanclass="s1">'</span><spanclass="p">)</span>
<spanclass="nb">print</span><spanclass="p">(</span><spanclass="sa">f</span><spanclass="s1">'POST CORRECT: this = </span><spanclass="si">{</span><spanclass="n">stack_data</span><spanclass="p">[</span><spanclass="mi">0</span><spanclass="p">]</span><spanclass="o">.</span><spanclass="n">address</span><spanclass="si">}</span><spanclass="s1">'</span><spanclass="p">)</span>