[{"data":1,"prerenderedAt":374},["ShallowReactive",2],{"/extensions":3,"/extensions-surround":365},{"id":4,"title":5,"body":6,"description":333,"extension":334,"meta":335,"navigation":353,"path":362,"seo":363,"stem":12,"__hash__":364},"content/extensions.md","Extensions",{"type":7,"value":8,"toc":321},"minimark",[9,21,25,33,64,72,80,87,102,111,135,152,162,165,292,295,306,318],[10,11,15],"h1",{"id":12,"className":13},"extensions",[14],"section-heading",[16,17,5],"a",{"className":18,"href":20},[19],"section-anchor","#extensions",[22,23,24],"p",{},"NetLogo extensions allow users to write new commands and reporters in Java and\nother languages for use in NetLogo models. This section of the User Manual\nintroduces extensions and shows how to use an extension in your model once you\nhave obtained or made one.",[22,26,27,28,32],{},"Note that, in addition to the numerous extensions bundled with NetLogo, there\nare many other extensions that can be installed through the\n",[16,29,31],{"href":30},"extension-manager","Extension Manager",".",[34,35,38,48],"div",{"className":36},[37],"toc",[39,40,43],"h4",{"id":41,"className":42},"table-of-contents",[14],[16,44,47],{"className":45,"href":46},[19],"#table-of-contents","Table of Contents",[49,50,51,58],"ul",{},[52,53,54],"li",{},[16,55,57],{"href":56},"#authoring-and-sharing","Authoring and Sharing",[52,59,60],{},[16,61,63],{"href":62},"#using-extensions","Using Extensions",[65,66,69],"h2",{"id":67,"className":68},"authoring-and-sharing",[14],[16,70,57],{"className":71,"href":56},[19],[22,73,74,75,79],{},"Interested in adding some new functionality to NetLogo by creating your own\nextension? Have an extension you made and want to add it to the Extension\nManager? See the ",[16,76,78],{"href":77},"extension-authoring","extension authoring page"," to get\nstarted.",[65,81,84],{"id":82,"className":83},"using-extensions",[14],[16,85,63],{"className":86,"href":62},[19],[22,88,89,90,101],{},"To use an extension in a model, add the ",[91,92,93],"primitive",{"displayText":12,"permalink":12},[16,94,12],{"href":95,"className":96,"dataDisplayText":12,"rel":98,"target":100,"title":12},"/dictionary#extensions",[97],"netlogo-wiki-link",[99],"noopener","_self"," keyword at the beginning\nof the Code tab, before declaring any breeds or variables.",[22,103,104,110],{},[91,105,106],{"displayText":12,"permalink":12},[16,107,12],{"href":95,"className":108,"dataDisplayText":12,"rel":109,"target":100,"title":12},[97],[99]," is followed by a pair of square brackets containing a list of\nextension names. For example:",[112,113,114],"pre",{},[115,116,117,123,124,129,130,134],"code",{},[118,119,12],"span",{"className":120},[121,122],"token","keyword"," [",[118,125,128],{"className":126},[121,127],"variable","sound"," ",[118,131,133],{"className":132},[121,127],"speech","]",[22,136,137,138,144,145,151],{},"Using ",[91,139,140],{"displayText":12,"permalink":12},[16,141,12],{"href":95,"className":142,"dataDisplayText":12,"rel":143,"target":100,"title":12},[97],[99]," instructs NetLogo to make the specified extensions’\ncommands and reporters available in the current model, just as if they were\nbuilt-in NetLogo primitives. An extension must be installed for the\n",[91,146,147],{"displayText":12,"permalink":12},[16,148,12],{"href":95,"className":149,"dataDisplayText":12,"rel":150,"target":100,"title":12},[97],[99]," keyword to take effect.",[153,154,157],"h3",{"id":155,"className":156},"where-extensions-are-located",[14],[16,158,161],{"className":159,"href":160},[19],"#where-extensions-are-located","Where extensions are located",[22,163,164],{},"NetLogo will look for extensions in several places:",[166,167,168,171,244,273],"ol",{},[52,169,170],{},"In the folder of the current model",[52,172,173,174,176,177],{},"The ",[115,175,12],{}," folder within your installation of NetLogo. For typical\nNetLogo installations:\n",[49,178,179,192,209,234],{},[52,180,181,182],{},"On Mac OS X: ",[115,183,184,129,188],{},[118,185,187],{"className":186},[121,127],"/Applications/NetLogo",[118,189,191],{"className":190},[121,127],"7.0.4/extensions",[52,193,194,195],{},"On 64-bit Windows with 64-bit NetLogo or 32-bit Windows with 32-bit\nNetLogo: ",[115,196,197,129,201,129,205],{},[118,198,200],{"className":199},[121,127],"C:\\Program",[118,202,204],{"className":203},[121,127],"Files\\NetLogo",[118,206,208],{"className":207},[121,127],"7.0.4\\extensions",[52,210,211,212],{},"On 64-bit Windows with 32-bit NetLogo:\n",[115,213,214,129,217,221,222,226,227,129,231],{},[118,215,200],{"className":216},[121,127],[118,218,220],{"className":219},[121,127],"Files"," (",[118,223,225],{"className":224},[121,127],"x86",")",[118,228,230],{"className":229},[121,127],"\\NetLogo",[118,232,208],{"className":233},[121,127],[52,235,236,237,240,241],{},"On Linux: the ",[115,238,239],{},"bin/extensions"," subdirectory of the NetLogo directory\nextracted from the installation ",[115,242,243],{},".tgz",[52,245,246,247],{},"This subfolder (relative to your home directory):\n",[49,248,249,261,267],{},[52,250,181,251],{},[115,252,253,129,257],{},[118,254,256],{"className":255},[121,127],"Library/Application",[118,258,260],{"className":259},[121,127],"Support/NetLogo",[52,262,263,264],{},"On Windows: ",[115,265,266],{},"AppData\\NetLogo",[52,268,269,270],{},"On Linux: ",[115,271,272],{},".netlogo",[52,274,173,275,278,279,281,282,291],{},[115,276,277],{},".bundled"," subfolder of the ",[115,280,12],{}," folder mentioned in Item 2 (for\nexample, ",[115,283,284,129,287],{},[118,285,187],{"className":286},[121,127],[118,288,290],{"className":289},[121,127],"7.0.4/extensions/.bundled"," on Mac OS\nX).",[22,293,294],{},"The easiest way to install new extensions is to use the Extension Manager. If an\nextension you want to use is not available through the Extension Manager, you\nwill have to manually download it and place it into a location described by Item\n1 or Item 2 above. Manually modifying the contents of Item 3 and Item 4 above is\nnot supported.",[22,296,297,298,302,303,305],{},"The order listed above is the ",[299,300,301],"strong",{},"priority"," the Extension Manager will use. This\nmeans that if the Extension Manager finds a requested extension for a model\nmanually installed in the ",[115,304,12],{}," folder, it will not check the extensions\nlibrary to see if there are any updated versions to install. As such, you’re\nlocked in to the manually installed version until you decide to remove it. Also,\nany extensions you install through the Extension Manager will override the\nbundled extensions that come with NetLogo. This means you can update the bundled\nextensions if fixes for them come out after the NetLogo release with which they\nwere bundled, you don’t have to wait for a full NetLogo release to get updates.",[22,307,308,309,311,312,314,315,32],{},"Each NetLogo extension consists of a folder with the same name as the extension,\nentirely in lower case. This folder must contain a JAR file with the same name\nas the folder. For example, the ",[115,310,128],{}," extension is stored in a folder called\n",[115,313,128],{}," with a file inside called ",[115,316,317],{},"sound.jar",[22,319,320],{},"Some extensions depend on additional files. These files will be in the\nextension’s folder along with the JAR file. The folder may also contain other\nfiles such as documentation and example models.",{"title":322,"searchDepth":323,"depth":324,"links":325},"",5,3,[326,328,330],{"id":41,"depth":327,"text":47},4,{"id":67,"depth":329,"text":57},2,{"id":82,"depth":329,"text":63,"children":331},[332],{"id":155,"depth":324,"text":161},"NetLogo extensions provide additional functionality beyond the core language, allowing you to add new commands, reporters, and capabilities to your models.","md",{"source":336,"metadataOutputPath":337,"projectConfig":338,"language":345,"inheritFrom":354,"output":353,"version":339,"keywords":355,"tags":359,"icons":360,"assetsRoot":361},"autogen/extensions.md","content/extensions.metadata.yaml",{"version":339,"projectRoot":32,"scanRoot":340,"outputRoot":341,"defaults":342,"engine":348,"partials":349,"dedupeIdenticalDiskWrites":353},"7.0.4","autogen","content",{"inheritFrom":343,"language":345,"output":346,"extension":334,"title":347,"version":339},[344],0,"en",false,"NetLogo User Manual","handlebars",{"directoryPaths":350,"extensions":351},[32],[352,334],"mustache",true,[344],[5,356,357,358],"Add-ons","Functionality","NetLogo",[5,356,357],"i-lucide-puzzle","/home/runner/work/Helio/Helio/apps/docs/autogen","/extensions",{"title":5,"description":333},"HXXl3Ok8fZhFveXiZvY4i9po455o3aMtBSCNQILJroE",[366,369],{"title":31,"path":367,"stem":30,"description":368},"/extension-manager","The Extension Manager allows you to browse, install, and manage NetLogo extensions to add new functionality to your models.",{"title":370,"path":371,"stem":372,"description":373},"Frequently Asked Questions","/faq","faq","Answers to frequently asked questions about NetLogo, covering common issues, usage patterns, and troubleshooting tips.",1777657788303]