{"version":1,"pages":[{"id":"-LnCwyAp2LGQTldd-5Bs","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_Q9e6a","description":"This is the official documentation of OQ.MineBot [www.minecraftbot.com] plugin API."},{"id":"-LpV38Lgv4YHHVYKvRBr","title":"Quick Start","pathname":"/skeleton-code","siteSpaceId":"sitesp_Q9e6a","description":"A quick start on writing plugins for OQ.MineBot. This can be seen as a tl;dr version of the Introduction, however it's still highly recommended to read the Introduction section."},{"id":"-LnDc8BhjNDQrsR9zi1V","title":"Start Plugins","pathname":"/examples/start-plugins","siteSpaceId":"sitesp_Q9e6a","description":"Start plugins have a checkbox in the Plugins tab and are usually started on all of the connected accounts.","breadcrumbs":[{"label":"Examples"}]},{"id":"-LnDf9aSgCh0aawg8isS","title":"Events (basic)","pathname":"/examples/start-plugins/events-basic","siteSpaceId":"sitesp_Q9e6a","description":"A basic code example that shows you how to make a plugin listen for certain events.","breadcrumbs":[{"label":"Examples"},{"label":"Start Plugins"}]},{"id":"-LnDfFaavU_qAXkLBVkS","title":"Movement (basic)","pathname":"/examples/start-plugins/movement-basic","siteSpaceId":"sitesp_Q9e6a","description":"A basic code example that shows you how to make the bot move between two locations.","breadcrumbs":[{"label":"Examples"},{"label":"Start Plugins"}]},{"id":"-LnDfHOe5mvp7zyqWZCc","title":"Killaura (intermediate)","pathname":"/examples/start-plugins/killaura-advanced","siteSpaceId":"sitesp_Q9e6a","description":"This example will show you code for a basic plugin that will follow and attack the closest target-able player. The plugin incorporates multiple tasks and therefore is marked as intermediate.","breadcrumbs":[{"label":"Examples"},{"label":"Start Plugins"}]},{"id":"-LtGk9H0rL6yIP_oO7xT","title":"Wheat Farmer (intermediate)","pathname":"/examples/start-plugins/wheat-farmer-intermediate","siteSpaceId":"sitesp_Q9e6a","description":"This will show you code for a wheat farmer, meaning that it finds the closest fully grown wheat blocks, moves to them, breaks them, and finally replants them.","breadcrumbs":[{"label":"Examples"},{"label":"Start Plugins"}]},{"id":"-LnDcAt56CC3U5OAIV-q","title":"Request Plugins","pathname":"/examples/request-plugins","siteSpaceId":"sitesp_Q9e6a","description":"Request plugins are the ones that can only be invoked on one or more account through the Accounts tab. This means that they do not have a checkmark in the Plugins tab and usually don't run on all bots","breadcrumbs":[{"label":"Examples"}]},{"id":"-LnDfTONtO0fHYbjutRd","title":"Chat (advanced)","pathname":"/examples/request-plugins/chat-advanced","siteSpaceId":"sitesp_Q9e6a","description":"","breadcrumbs":[{"label":"Examples"},{"label":"Request Plugins"}]},{"id":"-M81Y3-F2-YieojbIFed","title":"Macro Component Additions","pathname":"/examples/macro-component-additions","siteSpaceId":"sitesp_Q9e6a","description":"Plugins can also add custom components to the macro builder. Regular plugin api functions can be used within the Execute method. This page describes how to make a plugin that registers new components.","breadcrumbs":[{"label":"Examples"}]},{"id":"-M81t2BpFZou5g7n-3ZC","title":"Botting Command Additions","pathname":"/examples/botting-command-additions","siteSpaceId":"sitesp_Q9e6a","description":"Plugins can also add custom commands to the botting tab. Regular plugin api functions can be used within the Activate method. This page describes how to make a plugin that registers new commands.","breadcrumbs":[{"label":"Examples"}]},{"id":"-M8NqOzVWekXJ4TF_DMx","title":"BotViewer Additions","pathname":"/examples/botviewer-additions","siteSpaceId":"sitesp_Q9e6a","description":"Plugins can extend bot viewer's functionallity. This can be achived in two ways: Base Extensions, which run as soon as the user connects to the server, and Chat Command Based Extensions.","breadcrumbs":[{"label":"Examples"}]},{"id":"-M8NqXXvCPfs4VVaJyTo","title":"Base Extension","pathname":"/examples/botviewer-additions/base-extension","siteSpaceId":"sitesp_Q9e6a","description":"Base extensions for the Bot Viewer get called as soon as the user connects to the bot's server.","breadcrumbs":[{"label":"Examples"},{"label":"BotViewer Additions"}]},{"id":"-M8NqRfImKRR44R23pbc","title":"Chat Command Based Extension","pathname":"/examples/botviewer-additions/chat-command-based-extension","siteSpaceId":"sitesp_Q9e6a","description":"These chat commands can be discovered through the !help command. Chat Command Based Extensions get invoked once the user sends a chat message with the desired keyword (Name variable).","breadcrumbs":[{"label":"Examples"},{"label":"BotViewer Additions"}]},{"id":"-MlAdSeEh3pMC8bCil7Y","title":"ID System (Item & Block ids)","pathname":"/api/id-system-item-and-block-ids","siteSpaceId":"sitesp_Q9e6a","description":"Minecraft has stopped using their legacy id system from the 1.13 update and up-wards. That means that legacy id's will only work for 1.8.*-1.12.* . This ID system has been created to help with this.","breadcrumbs":[{"label":"API"}]},{"id":"-LnDfvjhwuKsaIUXUgUu","title":"Events","pathname":"/api/events","siteSpaceId":"sitesp_Q9e6a","description":"This section describes the events that can be hooked through Context.Events.","breadcrumbs":[{"label":"API"}]},{"id":"-LnDfx6Gjx3D40zoPxeZ","title":"Context","pathname":"/api/context","siteSpaceId":"sitesp_Q9e6a","description":"This section describes (most) classes that can be accessed by Start Plugins from the Context class.","breadcrumbs":[{"label":"API"}]},{"id":"-LnDgveh_IVBzEMImlT6","title":"Player","pathname":"/api/context/player","siteSpaceId":"sitesp_Q9e6a","description":"","breadcrumbs":[{"label":"API"},{"label":"Context"}]},{"id":"-LnDgypAQ0joiUL84CAR","title":"Entities","pathname":"/api/context/entities","siteSpaceId":"sitesp_Q9e6a","description":"","breadcrumbs":[{"label":"API"},{"label":"Context"}]},{"id":"-LneI4D5Xevz1lSExDv5","title":"IPlayerEntity","pathname":"/api/context/entities/iplayerentity","siteSpaceId":"sitesp_Q9e6a","description":"Represents an instance of a player entity. This can also include other bots.","breadcrumbs":[{"label":"API"},{"label":"Context"},{"label":"Entities"}]},{"id":"-LneIAxrZHdOEW-X1rnz","title":"IMobEntity","pathname":"/api/context/entities/imobentity","siteSpaceId":"sitesp_Q9e6a","description":"Represents an instance of a mob. This includes friendly mobs (e.g.: sheep, cow) and aggressive mobs (e.g.: zombie, skeleton).","breadcrumbs":[{"label":"API"},{"label":"Context"},{"label":"Entities"}]},{"id":"-LneIFrFgZtUBQOoQIQj","title":"IObjectEntity","pathname":"/api/context/entities/iobjectentity","siteSpaceId":"sitesp_Q9e6a","description":"Represents an instance of a world object. This includes entites such as dropped item stacks, falling sand, etc.","breadcrumbs":[{"label":"API"},{"label":"Context"},{"label":"Entities"}]},{"id":"-Lnhqk0j3-sYCN2CZM-S","title":"World","pathname":"/api/context/world","siteSpaceId":"sitesp_Q9e6a","description":"","breadcrumbs":[{"label":"API"},{"label":"Context"}]},{"id":"-LnlY8A_4kC6mN8r4x8u","title":"IBlock","pathname":"/api/context/world/iblock","siteSpaceId":"sitesp_Q9e6a","description":"Represents a block in the world. This can be used to interact with the block (e.g.: dig, use) or block location (e.g.: place at).","breadcrumbs":[{"label":"API"},{"label":"Context"},{"label":"World"}]},{"id":"-LoYNc2dRp5M4snGoLIM","title":"Containers","pathname":"/api/context/containers","siteSpaceId":"sitesp_Q9e6a","description":"","breadcrumbs":[{"label":"API"},{"label":"Context"}]},{"id":"-Loc22ArfkwlPxlmAJrx","title":"IWindow","pathname":"/api/context/containers/iwindow","siteSpaceId":"sitesp_Q9e6a","description":"Represents an instance of a (usually currently open) window/container. This includes double chests, single chests, bot's inventory, etc.","breadcrumbs":[{"label":"API"},{"label":"Context"},{"label":"Containers"}]},{"id":"-Lo_wJnh97hZqgCbjNvf","title":"ISlot","pathname":"/api/context/containers/islot","siteSpaceId":"sitesp_Q9e6a","description":"Represents an instance of a slot.","breadcrumbs":[{"label":"API"},{"label":"Context"},{"label":"Containers"}]},{"id":"-LobU5tPxe3zkDeZfrgQ","title":"Functions","pathname":"/api/context/functions","siteSpaceId":"sitesp_Q9e6a","description":"","breadcrumbs":[{"label":"API"},{"label":"Context"}]},{"id":"-LnDftyb3jzplgH0srg9","title":"Utility","pathname":"/api/utility","siteSpaceId":"sitesp_Q9e6a","description":"","breadcrumbs":[{"label":"API"}]},{"id":"-Lp96INwfp6vYIfVqEQz","title":"ChestMap","pathname":"/api/utility/chestmap","siteSpaceId":"sitesp_Q9e6a","description":"Allows you to easily and efficiently (remember full/empty chests) find and open chests by criteria. Create with 'Context.Functions.CreateChestMap()'.","breadcrumbs":[{"label":"API"},{"label":"Utility"}]},{"id":"-Lpdzn_SAmDbil9ZZhUO","title":"LocationBlacklistCollection","pathname":"/api/utility/locationblacklistcollection","siteSpaceId":"sitesp_Q9e6a","description":"Allows you to \"blacklist\" (set as invalid) locations for a certain amount of times. Create with 'LocationBlacklistCollection.CreatePerBot(...)' or 'LocationBlacklistCollection.CreateGlobal(...)'.","breadcrumbs":[{"label":"API"},{"label":"Utility"}]},{"id":"-LpdznDjzLxi1qKf0pme","title":"LocationWhitelistCollection","pathname":"/api/utility/locationwhitelistcollection","siteSpaceId":"sitesp_Q9e6a","description":"Allows you to \"whitelist\" a location for a certain bot, but \"blacklist\" it for others. Create with 'LocationWhitelistCollection.Create(...)'.","breadcrumbs":[{"label":"API"},{"label":"Utility"}]}]}