<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.zenbot.gg/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E9%9B%BB%E6%B1%A0</id>
	<title>Zenbot Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.zenbot.gg/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E9%9B%BB%E6%B1%A0"/>
	<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php/Special:Contributions/%E9%9B%BB%E6%B1%A0"/>
	<updated>2026-04-29T03:21:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Main_Page&amp;diff=91</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Main_Page&amp;diff=91"/>
		<updated>2023-04-01T20:51:38Z</updated>

		<summary type="html">&lt;p&gt;電池: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Top.gif|link=]]&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
==== [[Plugins| Learn about Plugins]] ====&lt;br /&gt;
==== [[Buffs| Learn about Buffs]] ====&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=90</id>
		<title>Buffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=90"/>
		<updated>2023-04-01T20:51:13Z</updated>

		<summary type="html">&lt;p&gt;電池: /* obj.buffManager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Obtaining buff.obj ===&lt;br /&gt;
&lt;br /&gt;
==== obj.buff ====&lt;br /&gt;
This is the recommended way to obtain buffs&lt;br /&gt;
&lt;br /&gt;
===== Example 1 - hash =====&lt;br /&gt;
 local DravenSpinningAttack = player.buff[`DravenSpinningAttack`]&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;Player has &amp;quot; .. (DravenSpinningAttack and &amp;quot;a spinning axe!&amp;quot; or &amp;quot;nothing?&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
===== Example 2 - string =====&lt;br /&gt;
 local function getApheliosManager(t)&lt;br /&gt;
     return player.buff[&amp;quot;Aphelios&amp;quot; .. t .. &amp;quot;Manager&amp;quot;]&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 if getApheliosManager(&amp;quot;Infernum&amp;quot;) then&lt;br /&gt;
     print(&amp;quot;Player has ApheliosInfernumManager&amp;quot;)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
===== Example 3 - type =====&lt;br /&gt;
 local slow = player.buff[Buff.Slow]&lt;br /&gt;
 &lt;br /&gt;
 if slow then&lt;br /&gt;
     print(&amp;quot;Player is slowed until &amp;quot;, slow.endTime)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
==== obj.buffManager ====&lt;br /&gt;
Alternative way to obtain buffs, not recommended&lt;br /&gt;
 for i = 0, player.buffManager.count - 1 do&lt;br /&gt;
     local buff = player.buffManager:get(i)&lt;br /&gt;
     if (buff.valid) then&lt;br /&gt;
         print(buff.name)&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=89</id>
		<title>Buffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=89"/>
		<updated>2023-04-01T20:50:44Z</updated>

		<summary type="html">&lt;p&gt;電池: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Obtaining buff.obj ===&lt;br /&gt;
&lt;br /&gt;
==== obj.buff ====&lt;br /&gt;
This is the recommended way to obtain buffs&lt;br /&gt;
&lt;br /&gt;
===== Example 1 - hash =====&lt;br /&gt;
 local DravenSpinningAttack = player.buff[`DravenSpinningAttack`]&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;Player has &amp;quot; .. (DravenSpinningAttack and &amp;quot;a spinning axe!&amp;quot; or &amp;quot;nothing?&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
===== Example 2 - string =====&lt;br /&gt;
 local function getApheliosManager(t)&lt;br /&gt;
     return player.buff[&amp;quot;Aphelios&amp;quot; .. t .. &amp;quot;Manager&amp;quot;]&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 if getApheliosManager(&amp;quot;Infernum&amp;quot;) then&lt;br /&gt;
     print(&amp;quot;Player has ApheliosInfernumManager&amp;quot;)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
===== Example 3 - type =====&lt;br /&gt;
 local slow = player.buff[Buff.Slow]&lt;br /&gt;
 &lt;br /&gt;
 if slow then&lt;br /&gt;
     print(&amp;quot;Player is slowed until &amp;quot;, slow.endTime)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
==== obj.buffManager ====&lt;br /&gt;
Alternative way to obtain buffs&lt;br /&gt;
 for i = 0, player.buffManager.count - 1 do&lt;br /&gt;
     local buff = player.buffManager:get(i)&lt;br /&gt;
     if (buff.valid) then&lt;br /&gt;
         print(buff.name)&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=88</id>
		<title>Buffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=88"/>
		<updated>2023-04-01T20:50:35Z</updated>

		<summary type="html">&lt;p&gt;電池: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Obtaining buff.obj ===&lt;br /&gt;
&lt;br /&gt;
==== obj.buff ====&lt;br /&gt;
This is the recommended way to obtain buffs&lt;br /&gt;
&lt;br /&gt;
===== Example 1 - hash =====&lt;br /&gt;
 local DravenSpinningAttack = player.buff[`DravenSpinningAttack`]&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;Player has &amp;quot; .. (DravenSpinningAttack and &amp;quot;a spinning axe!&amp;quot; or &amp;quot;nothing?&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
===== Example 2 - string =====&lt;br /&gt;
 local function getApheliosManager(t)&lt;br /&gt;
     return player.buff[&amp;quot;Aphelios&amp;quot; .. t .. &amp;quot;Manager&amp;quot;]&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 if getApheliosManager(&amp;quot;Infernum&amp;quot;) then&lt;br /&gt;
     print(&amp;quot;Player has ApheliosInfernumManager&amp;quot;)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
===== Example 3 - type =====&lt;br /&gt;
 local slow = player.buff[Buff.Slow]&lt;br /&gt;
 &lt;br /&gt;
 if slow then&lt;br /&gt;
     print(&amp;quot;Player is slowed until &amp;quot;, slow.endTime)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
==== obj.buffManager ====&lt;br /&gt;
Alternative way to obtain buffs !slower!&lt;br /&gt;
 for i = 0, player.buffManager.count - 1 do&lt;br /&gt;
     local buff = player.buffManager:get(i)&lt;br /&gt;
     if (buff.valid) then&lt;br /&gt;
         print(buff.name)&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=87</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=87"/>
		<updated>2023-04-01T20:12:59Z</updated>

		<summary type="html">&lt;p&gt;電池: /* header.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security slightly but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does plugin things&amp;quot;,&lt;br /&gt;
    icon = &amp;quot;\xef\xa3\xbf&amp;quot;, -- font awesome&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`,&lt;br /&gt;
    encrypt = {&lt;br /&gt;
        &amp;quot;hud/main&amp;quot;,&lt;br /&gt;
        &amp;quot;hud/overlay&amp;quot;,&lt;br /&gt;
        &amp;quot;hud.png&amp;quot;,&lt;br /&gt;
        &amp;quot;font.ttf&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    strip = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
     rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=86</id>
		<title>Buffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=86"/>
		<updated>2023-04-01T20:07:32Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Through obj.buff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Obtaining buff.obj ===&lt;br /&gt;
&lt;br /&gt;
==== obj.buff ====&lt;br /&gt;
This is the recommended way to obtain buffs&lt;br /&gt;
&lt;br /&gt;
===== Example 1 - hash =====&lt;br /&gt;
 local DravenSpinningAttack = player.buff[`DravenSpinningAttack`]&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;Player has &amp;quot; .. (DravenSpinningAttack and &amp;quot;a spinning axe!&amp;quot; or &amp;quot;nothing?&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
===== Example 2 - string =====&lt;br /&gt;
 local function getApheliosManager(t)&lt;br /&gt;
     return player.buff[&amp;quot;Aphelios&amp;quot; .. t .. &amp;quot;Manager&amp;quot;]&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 if getApheliosManager(&amp;quot;Infernum&amp;quot;) then&lt;br /&gt;
     print(&amp;quot;Player has ApheliosInfernumManager&amp;quot;)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
===== Example 3 - type =====&lt;br /&gt;
 local slow = player.buff[Buff.Slow]&lt;br /&gt;
 &lt;br /&gt;
 if slow then&lt;br /&gt;
     print(&amp;quot;Player is slowed until &amp;quot;, slow.endTime)&lt;br /&gt;
 end&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=85</id>
		<title>Buffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=85"/>
		<updated>2023-04-01T20:05:21Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example 3 - type */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Obtaining buff.obj ===&lt;br /&gt;
&lt;br /&gt;
==== Through obj.buff ====&lt;br /&gt;
This is the recommended way to obtain buffs&lt;br /&gt;
&lt;br /&gt;
===== Example 1 - hash =====&lt;br /&gt;
 local DravenSpinningAttack = player.buff[`DravenSpinningAttack`]&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;Player has &amp;quot; .. (DravenSpinningAttack and &amp;quot;a spinning axe!&amp;quot; or &amp;quot;nothing?&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
===== Example 2 - string =====&lt;br /&gt;
 local function getApheliosManager(t)&lt;br /&gt;
     return player.buff[&amp;quot;Aphelios&amp;quot; .. t .. &amp;quot;Manager&amp;quot;]&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 if getApheliosManager(&amp;quot;Infernum&amp;quot;) then&lt;br /&gt;
     print(&amp;quot;Player has ApheliosInfernumManager&amp;quot;)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
===== Example 3 - type =====&lt;br /&gt;
 local slow = player.buff[Buff.Slow]&lt;br /&gt;
 &lt;br /&gt;
 if slow then&lt;br /&gt;
     print(&amp;quot;Player is slowed until &amp;quot;, slow.endTime)&lt;br /&gt;
 end&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=84</id>
		<title>Buffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Buffs&amp;diff=84"/>
		<updated>2023-04-01T20:04:49Z</updated>

		<summary type="html">&lt;p&gt;電池: Created page with &amp;quot;=== Obtaining buff.obj ===  ==== Through obj.buff ==== This is the recommended way to obtain buffs  ===== Example 1 - hash =====  local DravenSpinningAttack = player.buff[`DravenSpinningAttack`]    print(&amp;quot;Player has &amp;quot; .. (DravenSpinningAttack and &amp;quot;a spinning axe!&amp;quot; or &amp;quot;nothing?&amp;quot;))  ===== Example 2 - string =====  local function getApheliosManager(t)      return player.buff[&amp;quot;Aphelios&amp;quot; .. t .. &amp;quot;Manager&amp;quot;]  end    if getApheliosManager(&amp;quot;Infernum&amp;quot;) then      print(&amp;quot;Player has...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Obtaining buff.obj ===&lt;br /&gt;
&lt;br /&gt;
==== Through obj.buff ====&lt;br /&gt;
This is the recommended way to obtain buffs&lt;br /&gt;
&lt;br /&gt;
===== Example 1 - hash =====&lt;br /&gt;
 local DravenSpinningAttack = player.buff[`DravenSpinningAttack`]&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;Player has &amp;quot; .. (DravenSpinningAttack and &amp;quot;a spinning axe!&amp;quot; or &amp;quot;nothing?&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
===== Example 2 - string =====&lt;br /&gt;
 local function getApheliosManager(t)&lt;br /&gt;
     return player.buff[&amp;quot;Aphelios&amp;quot; .. t .. &amp;quot;Manager&amp;quot;]&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 if getApheliosManager(&amp;quot;Infernum&amp;quot;) then&lt;br /&gt;
     print(&amp;quot;Player has ApheliosInfernumManager&amp;quot;)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
===== Example 3 - type =====&lt;br /&gt;
 local slow = player.buff[Buff.Slow]&lt;br /&gt;
 &lt;br /&gt;
 if slowthen&lt;br /&gt;
     print(&amp;quot;Player is slowed until &amp;quot;, slow.endTime)&lt;br /&gt;
 end&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=83</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=83"/>
		<updated>2023-04-01T19:57:11Z</updated>

		<summary type="html">&lt;p&gt;電池: /* header.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security slightly but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does plugin things&amp;quot;,&lt;br /&gt;
    icon = &amp;quot;\xef\xa3\xbf&amp;quot;, -- font awesome&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`,&lt;br /&gt;
    encrypt = {&lt;br /&gt;
        &amp;quot;hud/main&amp;quot;,&lt;br /&gt;
        &amp;quot;hud/overlay&amp;quot;,&lt;br /&gt;
        &amp;quot;hud.png&amp;quot;,&lt;br /&gt;
        &amp;quot;font.ttf&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    strip = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
     rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=82</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=82"/>
		<updated>2023-04-01T19:56:15Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does plugin things&amp;quot;,&lt;br /&gt;
    icon = &amp;quot;\xef\xa3\xbf&amp;quot;, -- font awesome&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`,&lt;br /&gt;
    encrypt = {&lt;br /&gt;
        &amp;quot;hud/main&amp;quot;,&lt;br /&gt;
        &amp;quot;hud/overlay&amp;quot;,&lt;br /&gt;
        &amp;quot;hud.png&amp;quot;,&lt;br /&gt;
        &amp;quot;font.ttf&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    strip = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
     rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=81</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=81"/>
		<updated>2023-04-01T19:54:50Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does plugin things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`,&lt;br /&gt;
    encrypt = {&lt;br /&gt;
        &amp;quot;hud/main&amp;quot;,&lt;br /&gt;
        &amp;quot;hud/overlay&amp;quot;,&lt;br /&gt;
        &amp;quot;hud.png&amp;quot;,&lt;br /&gt;
        &amp;quot;font.ttf&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    strip = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
     rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=80</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=80"/>
		<updated>2023-04-01T19:54:31Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`,&lt;br /&gt;
    encrypt = {&lt;br /&gt;
        &amp;quot;hud/main&amp;quot;,&lt;br /&gt;
        &amp;quot;hud/overlay&amp;quot;,&lt;br /&gt;
        &amp;quot;hud.png&amp;quot;,&lt;br /&gt;
        &amp;quot;font.ttf&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
     rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=79</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=79"/>
		<updated>2023-04-01T19:52:30Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Importing Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
 local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
 local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
     rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=78</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=78"/>
		<updated>2023-04-01T19:52:02Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
     rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=77</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=77"/>
		<updated>2023-04-01T19:51:53Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
 local rectangle = class()&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__init(x, y, w, h)&lt;br /&gt;
     self.x = x&lt;br /&gt;
     self.y = y&lt;br /&gt;
     self.w = w&lt;br /&gt;
     self.h = h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__tostring()&lt;br /&gt;
     return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:__eq(other)&lt;br /&gt;
     return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:contains(x, y)&lt;br /&gt;
     return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function rectangle:draw(color, var)&lt;br /&gt;
     graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
 local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
 local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
 &lt;br /&gt;
 cb.add(cb.draw, function()&lt;br /&gt;
   rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
 end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=76</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=76"/>
		<updated>2023-04-01T19:51:29Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
  local rectangle = class()&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:__init(x, y, w, h)&lt;br /&gt;
      self.x = x&lt;br /&gt;
      self.y = y&lt;br /&gt;
      self.w = w&lt;br /&gt;
      self.h = h&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:__tostring()&lt;br /&gt;
      return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:__eq(other)&lt;br /&gt;
      return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:contains(x, y)&lt;br /&gt;
      return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:draw(color, var)&lt;br /&gt;
      graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
  local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
  local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
   &lt;br /&gt;
  cb.add(cb.draw, function()&lt;br /&gt;
    rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
  end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=75</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=75"/>
		<updated>2023-04-01T19:51:18Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Loading/Importing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
rectangle.lua&lt;br /&gt;
  local rectangle = class()&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:__init(x, y, w, h)&lt;br /&gt;
      self.x = x&lt;br /&gt;
      self.y = y&lt;br /&gt;
      self.w = w&lt;br /&gt;
      self.h = h&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:__tostring()&lt;br /&gt;
      return string.format(&amp;quot;rectangle(%d, %d, %d, %d)&amp;quot;, self.x, self.y, self.w, self.h)&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:__eq(other)&lt;br /&gt;
      return self.x == other.x and self.y == other.y and self.w == other.w and self.h == other.h&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:contains(x, y)&lt;br /&gt;
      return x &amp;gt;= self.x and x &amp;lt;= self.x + self.w and y &amp;gt;= self.y and y &amp;lt;= self.y + self.h&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  function rectangle:draw(color, var)&lt;br /&gt;
      graphics.draw_rect(vec2(self.x, self.y), vec2(self.w, self.h), color, true)&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  return rectangle&lt;br /&gt;
&lt;br /&gt;
main.lua&lt;br /&gt;
  local rectangle = module.load(header.id, &amp;quot;rectangle&amp;quot;)&lt;br /&gt;
  local rect1 = rectangle(100, 100, 400, 200)&lt;br /&gt;
&lt;br /&gt;
  cb.add(cb.draw, function()&lt;br /&gt;
    rect1:draw(0xff7f7f7f, rect1:contains(cursorPos.x, cursorPos.y) or 4)&lt;br /&gt;
  end)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=74</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=74"/>
		<updated>2023-04-01T19:44:36Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Importing Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Similarly your Lua files can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=73</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=73"/>
		<updated>2023-04-01T19:43:54Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Importing Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=72</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=72"/>
		<updated>2023-04-01T19:43:14Z</updated>

		<summary type="html">&lt;p&gt;電池: /* header.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
    - strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=71</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=71"/>
		<updated>2023-04-01T19:43:04Z</updated>

		<summary type="html">&lt;p&gt;電池: /* header.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
     -strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted when encrypting, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=70</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=70"/>
		<updated>2023-04-01T19:42:41Z</updated>

		<summary type="html">&lt;p&gt;電池: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or [encrypted] archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== header.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - id&lt;br /&gt;
        the unique identifier for this plugin&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in menu as tooltip&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;SomeOrbwalkerLib&amp;quot;, &amp;quot;SomeHealthPredictionLib&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? SomeEvadeLib&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! SomeAatroxPlugin&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return player.charName == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            `player.charName == &amp;#039;Aatrox&amp;#039;`&lt;br /&gt;
    - encrypt [optional]&lt;br /&gt;
        table containing every single file to be added to the encrypted file&lt;br /&gt;
          encrypt = {    -- main.lua and header.lua can be omitted&lt;br /&gt;
            &amp;quot;menu&amp;quot;,      -- //scripts//yourfolder//menu.lua&lt;br /&gt;
            &amp;quot;logic&amp;quot;,     -- //scripts//yourfolder//logic.lua&lt;br /&gt;
            &amp;quot;sprite.png&amp;quot; -- //scripts//yourfolder//sprite.png&lt;br /&gt;
          }&lt;br /&gt;
      strip [optional]&lt;br /&gt;
        boolean to indicate if debug information should be omitted, increases security but removes any error information&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
header.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin_id&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;some_ts_lib_id&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? some_pred_lib_id&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! some_other_plugin&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; player.charName == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api&lt;br /&gt;
&lt;br /&gt;
  local mylib = module.lib(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local mymenu = module.load(header.id, &amp;quot;menu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  local mylib_maybe = module.seek(&amp;quot;mylib&amp;quot;)&lt;br /&gt;
    or&lt;br /&gt;
  local orb = module.internal(&amp;quot;orb&amp;quot;)&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=69</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=69"/>
		<updated>2022-12-18T03:30:54Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;Game.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only Game data will be available inside the function with the following properties:&lt;br /&gt;
            - champion  : string&lt;br /&gt;
            - map       : number&lt;br /&gt;
            - mode      : string&lt;br /&gt;
            - matchmade : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    id = &amp;quot;my_plugin&amp;quot;,&lt;br /&gt;
    name = &amp;quot;My Plugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot;, -- required&lt;br /&gt;
        &amp;quot;? SomeLibrary&amp;quot;, -- optional&lt;br /&gt;
        &amp;quot;! Aatrox&amp;quot; -- conflicts &lt;br /&gt;
    },&lt;br /&gt;
    load = `()=&amp;gt; Game.champion == &amp;quot;Aatrox&amp;quot;`&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=68</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=68"/>
		<updated>2022-12-18T03:23:24Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;? Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;! Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;Game.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only Game data will be available inside the function with the following properties:&lt;br /&gt;
            - champion  : string&lt;br /&gt;
            - map       : number&lt;br /&gt;
            - mode      : string&lt;br /&gt;
            - matchmade : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=67</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=67"/>
		<updated>2022-12-18T03:22:07Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;Game.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only Game data will be available inside the function with the following properties:&lt;br /&gt;
            - champion  : string&lt;br /&gt;
            - map       : number&lt;br /&gt;
            - mode      : string&lt;br /&gt;
            - matchmade : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=66</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=66"/>
		<updated>2022-12-18T03:21:43Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;Game.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only Game data will be available inside the function with the following properties:&lt;br /&gt;
            - champion    : string&lt;br /&gt;
            - mapId       : number&lt;br /&gt;
            - mode        : string&lt;br /&gt;
            - isMatchmade : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=65</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=65"/>
		<updated>2022-12-18T03:21:34Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;Game.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only Game data will be available inside the function with the following properties:&lt;br /&gt;
            - champion    : string&lt;br /&gt;
            - mapID       : number&lt;br /&gt;
            - mode        : string&lt;br /&gt;
            - isMatchmade : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=64</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=64"/>
		<updated>2022-12-18T03:21:09Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;Game.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only Game data will be available inside the function with the following properties:&lt;br /&gt;
            - champion    : string&lt;br /&gt;
            - mapID       : number&lt;br /&gt;
            - gameMode    : string&lt;br /&gt;
            - isMatchmade : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=63</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=63"/>
		<updated>2022-12-18T02:06:32Z</updated>

		<summary type="html">&lt;p&gt;電池: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;Game.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only Game data will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=62</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=62"/>
		<updated>2022-04-23T16:30:12Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=61</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=61"/>
		<updated>2022-04-23T16:29:28Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - title&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=60</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=60"/>
		<updated>2022-04-23T16:29:05Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        the name by which it can be module.load-ed&lt;br /&gt;
        if two with the same name exist the newer one will be loaded&lt;br /&gt;
        if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version [optional]&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - title&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - author [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - description [optional]&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon [optional]&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies [optional]&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library [optional]&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load [optional]&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=59</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=59"/>
		<updated>2022-04-23T16:28:21Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        the name by which it can be module.load-ed&lt;br /&gt;
        if two with the same name exist the newer one will be loaded&lt;br /&gt;
        if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - title&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - icon&lt;br /&gt;
        this will get displayed in menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=58</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=58"/>
		<updated>2022-03-30T15:29:48Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        the name by which it can be module.load-ed&lt;br /&gt;
        if two with the same name exist the newer one will be loaded&lt;br /&gt;
        if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - title&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are missing/not available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=57</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=57"/>
		<updated>2022-01-27T23:11:42Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua [required] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        the name by which it can be module.load-ed&lt;br /&gt;
        if two with the same name exist the newer one will be loaded&lt;br /&gt;
        if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - title&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=56</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=56"/>
		<updated>2022-01-27T23:10:13Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Load Order */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Virtual File System ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
    /plugin/plugin1/&lt;br /&gt;
    /plugin/plugin2/&lt;br /&gt;
    /plugin/plugin3/&lt;br /&gt;
    /library/dependency1/&lt;br /&gt;
    /library/dependency2/&lt;br /&gt;
    /library/dependency3/&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
    /main.lua&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
    /plugin/plugin1/main.lua&lt;br /&gt;
    /plugin/plugin2/main.lua&lt;br /&gt;
    /plugin/plugin3/main.lua&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=55</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=55"/>
		<updated>2022-01-27T23:07:41Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Lookup priority order is: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Load Order ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup Priority =====&lt;br /&gt;
The priority order for lookups is:&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=54</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=54"/>
		<updated>2022-01-27T23:07:17Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Libraries and internals can be loaded by using module api or import keyword */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Load Order ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
==== Importing Plugins ====&lt;br /&gt;
Libraries and internals can be loaded by using module api or import keyword&lt;br /&gt;
&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=53</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=53"/>
		<updated>2022-01-27T23:06:52Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Loading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading/Importing ===&lt;br /&gt;
&lt;br /&gt;
==== Load Order ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=52</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=52"/>
		<updated>2022-01-27T23:06:31Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Zenbot uses a virtual file system to load its plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Load Order ====&lt;br /&gt;
Zenbot uses a virtual file system to load its plugins&lt;br /&gt;
&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=51</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=51"/>
		<updated>2022-01-27T23:06:04Z</updated>

		<summary type="html">&lt;p&gt;電池: /* info.lua example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
info.lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=50</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=50"/>
		<updated>2022-01-27T23:05:46Z</updated>

		<summary type="html">&lt;p&gt;電池: /* A plugin is defined as a folder, or (encrypted) archive that contains the following: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== Content ====&lt;br /&gt;
A plugin is defined as a folder, or (encrypted) archive that contains the following:&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=49</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=49"/>
		<updated>2022-01-24T18:41:35Z</updated>

		<summary type="html">&lt;p&gt;電池: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=48</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=48"/>
		<updated>2022-01-24T18:40:54Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Zenbot uses a virtual file system to load its plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
=== Importing ===&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=47</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=47"/>
		<updated>2022-01-24T18:40:44Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Zenbot uses a virtual file system to load its plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
3. Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
4. Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
=== Importing ===&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=46</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=46"/>
		<updated>2022-01-24T18:40:34Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Zenbot uses a virtual file system to load its plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
1. Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
2. Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
# Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
# Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
=== Importing ===&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=45</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=45"/>
		<updated>2022-01-24T18:40:15Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Zenbot uses a virtual file system to load its plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
# Core files are pre-loaded&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
# Plugins are pre-loaded and dependencies are determined and pre-loaded&lt;br /&gt;
# Core entry point is executed, successfully loaded plugins are added to menu&lt;br /&gt;
# Plugin entry points are executed, if activated in menu&lt;br /&gt;
&lt;br /&gt;
=== Importing ===&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=44</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=44"/>
		<updated>2022-01-24T18:39:32Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Loading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
===== # Core files are pre-loaded =====&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
===== # Plugins are pre-loaded and dependencies are determined and pre-loaded =====&lt;br /&gt;
===== # Core entry point is executed, successfully loaded plugins are added to menu =====&lt;br /&gt;
===== # Plugin entry points are executed, if activated in menu =====&lt;br /&gt;
&lt;br /&gt;
=== Importing ===&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=43</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=43"/>
		<updated>2022-01-24T18:24:06Z</updated>

		<summary type="html">&lt;p&gt;電池: /* Libraries and internals can be loaded by using module api or import keyword */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
===== 1. Core files are pre-loaded =====&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
===== 2. Plugins are pre-loaded and dependencies are determined and pre-loaded =====&lt;br /&gt;
===== 3. Core entry point is executed, successfully loaded plugins are added to menu =====&lt;br /&gt;
===== 4. Plugin entry points are executed, if activated in menu =====&lt;br /&gt;
&lt;br /&gt;
=== Importing ===&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
  local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
    or&lt;br /&gt;
  import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
	<entry>
		<id>https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=42</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.zenbot.gg/index.php?title=Plugins&amp;diff=42"/>
		<updated>2022-01-24T18:23:54Z</updated>

		<summary type="html">&lt;p&gt;電池: /* 1. Core files are pre-loaded */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Definition ===&lt;br /&gt;
&lt;br /&gt;
==== A plugin is defined as a folder, or (encrypted) archive that contains the following: ====&lt;br /&gt;
&lt;br /&gt;
===== info.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - name&lt;br /&gt;
        - the name by which it can be module.load-ed&lt;br /&gt;
        - if two with the same name exist the newer one will be loaded&lt;br /&gt;
        - if one exist in core and in plugin folder with the same name, the one from plugin will be loaded&lt;br /&gt;
    - version&lt;br /&gt;
        - for example &amp;quot;0.0.1&amp;quot;&lt;br /&gt;
    - title&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - author&lt;br /&gt;
        - this will get displayed in loader&lt;br /&gt;
    - description&lt;br /&gt;
        - this will get displayed in loader/menu&lt;br /&gt;
    - dependencies&lt;br /&gt;
        - required&lt;br /&gt;
            - plugin needs those libraries to work and will not load if one or more is missing/not available&lt;br /&gt;
            - example: { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; }&lt;br /&gt;
        - optional&lt;br /&gt;
            - plugin integrates those libraries but will load regardless if they are not missing/available&lt;br /&gt;
            - example: { &amp;quot;Evade&amp;quot; }&lt;br /&gt;
        - conflicts&lt;br /&gt;
            - plugin cannot work if one or more of those is loaded, plugin will not load if they are loaded&lt;br /&gt;
            - example: { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    - library&lt;br /&gt;
        - boolean to indicate if submodules should be loadable outside of this plugin&lt;br /&gt;
    - load&lt;br /&gt;
        - (lambda) function returning a boolean that indicates if the plugin should show up ingame&lt;br /&gt;
            - function() return GameData.champion == &amp;quot;Aatrox&amp;quot; end&lt;br /&gt;
            - &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
        - only GameData will be available inside the function with the following properties:&lt;br /&gt;
            - champion            : string&lt;br /&gt;
            - mapID               : number&lt;br /&gt;
            - gameMode            : string&lt;br /&gt;
            - isMatchmadeGame     : boolean&lt;br /&gt;
&lt;br /&gt;
===== thumbnail.png &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get displayed in loader/menu&lt;br /&gt;
&lt;br /&gt;
===== init.lua &amp;lt;code&amp;gt;[optional]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this will get loaded during loading screen&lt;br /&gt;
    - you can pre-create menu here&lt;br /&gt;
    - most objects and instances are not available&lt;br /&gt;
&lt;br /&gt;
===== main.lua &amp;lt;code&amp;gt;[required]&amp;lt;/code&amp;gt; =====&lt;br /&gt;
    - this is the entry to your plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== info.lua example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
    name = &amp;quot;MyPlugin&amp;quot;,&lt;br /&gt;
    version = &amp;quot;0.0.1&amp;quot;,&lt;br /&gt;
    title = &amp;quot;My Awesome Plugin&amp;quot;,&lt;br /&gt;
    author = &amp;quot;Me&amp;quot;,&lt;br /&gt;
    description = &amp;quot;Does awesome things&amp;quot;,&lt;br /&gt;
    dependencies = {&lt;br /&gt;
        required = { &amp;quot;Orbwalker&amp;quot;, &amp;quot;HealthPrediction&amp;quot; },&lt;br /&gt;
        optional = { &amp;quot;SomeLibrary&amp;quot; },&lt;br /&gt;
        conflicts = { &amp;quot;Aatrox&amp;quot; }&lt;br /&gt;
    },&lt;br /&gt;
    library = false,&lt;br /&gt;
    load = &amp;quot;GameData.champion == &amp;#039;Aatrox&amp;#039;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading ===&lt;br /&gt;
&lt;br /&gt;
==== Zenbot uses a virtual file system to load its plugins ====&lt;br /&gt;
===== 1. Core files are pre-loaded =====&lt;br /&gt;
  Core virtual folder will contain&lt;br /&gt;
    /classes/&lt;br /&gt;
    /common/&lt;br /&gt;
    /core/&lt;br /&gt;
    /extension/&lt;br /&gt;
    /library/&lt;br /&gt;
    /plugin/&lt;br /&gt;
    /shader/&lt;br /&gt;
&lt;br /&gt;
===== 2. Plugins are pre-loaded and dependencies are determined and pre-loaded =====&lt;br /&gt;
===== 3. Core entry point is executed, successfully loaded plugins are added to menu =====&lt;br /&gt;
===== 4. Plugin entry points are executed, if activated in menu =====&lt;br /&gt;
&lt;br /&gt;
=== Importing ===&lt;br /&gt;
==== Libraries and internals can be loaded by using module api or import keyword ====&lt;br /&gt;
    local Player = module.load&amp;quot;Player&amp;quot;&lt;br /&gt;
        or&lt;br /&gt;
    import &amp;quot;Player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    local Orbwalker = module.load&amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
        or&lt;br /&gt;
    import &amp;quot;Orbwalker&amp;quot;&lt;br /&gt;
===== Lookup priority order is: =====&lt;br /&gt;
# Current plugin folder&lt;br /&gt;
# All library folders&lt;br /&gt;
# Core folders&lt;br /&gt;
# Instances[name]&lt;br /&gt;
# Enums[name]&lt;/div&gt;</summary>
		<author><name>電池</name></author>
	</entry>
</feed>