{"version":1,"pages":[{"id":"w55t4xTI0pdtY6ZU9EhB","title":"Home","pathname":"/redscript","siteSpaceId":"sitesp_6QV9y","description":""},{"id":"9grZc1BtqdNPuwMOuFLk","title":"Downloads","pathname":"/redscript/getting-started/downloads","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"jw2RZ5aFUSgpc07Bh6LB","title":"Setup for VSCode","pathname":"/redscript/getting-started/setup-for-vscode","siteSpaceId":"sitesp_6QV9y","description":"How to configure your setup","breadcrumbs":[{"label":"Getting Started"}]},{"id":"SR7Ze861BlrLxhTCUNGn","title":"Setup for JetBrains IDEs","pathname":"/redscript/getting-started/setup-for-jetbrains-ides","siteSpaceId":"sitesp_6QV9y","description":"This guide shows how to setup a JetBrains IDE to work with redscript files to enable features like syntax highlighting, auto-completion, etc.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"gG6oYvvxDfB15Hd8zdX9","title":"How to start REDscripting","pathname":"/redscript/getting-started/how-to-start-redscripting","siteSpaceId":"sitesp_6QV9y","description":"This page will explain some of the most important classes in the scripts and some of their hook-able functions","breadcrumbs":[{"label":"Getting Started"}]},{"id":"559XWr3SUcXZUP7y2ARU","title":"Step 1: Mod structure","pathname":"/redscript/getting-started/how-to-start-redscripting/step-1-mod-structure","siteSpaceId":"sitesp_6QV9y","description":"Classes? Wrappers? What?","breadcrumbs":[{"label":"Getting Started"},{"label":"How to start REDscripting"}]},{"id":"iUPdaHH28VcUezyKN2bo","title":"Step 2: Finding the right class","pathname":"/redscript/getting-started/how-to-start-redscripting/step-2-finding-the-right-class","siteSpaceId":"sitesp_6QV9y","description":"What game logic will you piggyback on?","breadcrumbs":[{"label":"Getting Started"},{"label":"How to start REDscripting"}]},{"id":"LELq8HeIZ0ASkhu2qlJ2","title":"Intro","pathname":"/redscript/language/intro","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"}]},{"id":"jT9p9v7fHb4aStauQRkE","title":"REDscript in 2 minutes","pathname":"/redscript/language/intro/redscript-in-2-minutes","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"},{"label":"Intro"}]},{"id":"KziycbURgur7yFmUKkEr","title":"How to create a hook","pathname":"/redscript/language/intro/how-to-create-a-hook","siteSpaceId":"sitesp_6QV9y","description":"Creating a hook (with code snippets)","breadcrumbs":[{"label":"Language"},{"label":"Intro"}]},{"id":"I1e4sbXgG9w9Pk0IhibD","title":"Things to hook","pathname":"/redscript/language/intro/how-to-create-a-hook/things-to-hook","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"Language"},{"label":"Intro"},{"label":"How to create a hook"}]},{"id":"Aj7YFwZSnLsdtWVQQm0i","title":"Language Features","pathname":"/redscript/language/language-features","siteSpaceId":"sitesp_6QV9y","description":"How the fuck do I...","breadcrumbs":[{"label":"Language"}]},{"id":"ouwtFF0K3ze0e2yoins2","title":"Intrinsics","pathname":"/redscript/language/language-features/intrinsics","siteSpaceId":"sitesp_6QV9y","description":"Intrinsics are low-level operations that are natively supported in REDscript.","breadcrumbs":[{"label":"Language"},{"label":"Language Features"}]},{"id":"bGGp2cuxSFVBznGXvngP","title":"Loops","pathname":"/redscript/language/language-features/loops","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"},{"label":"Language Features"}]},{"id":"PyrHklaDCaaa01HaocnR","title":"Strings","pathname":"/redscript/language/language-features/strings","siteSpaceId":"sitesp_6QV9y","description":"How to get shit done with strings","breadcrumbs":[{"label":"Language"},{"label":"Language Features"}]},{"id":"JhB0VZBbR4DZsRvqLWi2","title":"Modules","pathname":"/redscript/language/language-features/modules","siteSpaceId":"sitesp_6QV9y","description":"Introduction to modules.","breadcrumbs":[{"label":"Language"},{"label":"Language Features"}]},{"id":"GhgWKXq7gUcPatObtziF","title":"Annotations","pathname":"/redscript/language/language-features/annotations","siteSpaceId":"sitesp_6QV9y","description":"Annotations are special keywords that you can use to change or extend the behavior of existing methods and classes in the base game. You cannot use annotations to modify modded methods or classes.","breadcrumbs":[{"label":"Language"},{"label":"Language Features"}]},{"id":"Z0YSPWc1yQhvZ8Mukxl4","title":"Conditional compilation","pathname":"/redscript/language/language-features/conditional-compilation","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"},{"label":"Language Features"}]},{"id":"HpDkuDBExBnqWAWTdQqF","title":"Configurable user hints","pathname":"/redscript/language/language-features/configurable-user-hints","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"},{"label":"Language Features"}]},{"id":"-McnjPyPsu5g1_j6h_Y-","title":"Built-in Types","pathname":"/redscript/language/native-types","siteSpaceId":"sitesp_6QV9y","description":"Built-in types available in the game runtime.","breadcrumbs":[{"label":"Language"}]},{"id":"I56tnWNpt2kpD36Vq15Q","title":"Built-in Functions","pathname":"/redscript/language/built-in-functions","siteSpaceId":"sitesp_6QV9y","description":"Built-in functions available in the game runtime.","breadcrumbs":[{"label":"Language"}]},{"id":"Q62ZqESFViamJ8T1ofw2","title":"Math","pathname":"/redscript/language/built-in-functions/math","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"},{"label":"Built-in Functions"}]},{"id":"XZ9e2pswD7NENb7XOZnM","title":"Random","pathname":"/redscript/language/built-in-functions/random","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"},{"label":"Built-in Functions"}]},{"id":"ImXL5bPewzDYCvdEVCXu","title":"Utilities","pathname":"/redscript/language/built-in-functions/utilities","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Language"},{"label":"Built-in Functions"}]},{"id":"BAxS6hLliXHXU0F1PV0G","title":"Common Patterns","pathname":"/redscript/references-and-examples/common-patterns","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"References and examples"}]},{"id":"Pq0YTtMrpeZmrAZppc4P","title":"Safe downcasting","pathname":"/redscript/references-and-examples/common-patterns/safe-downcasting","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"aO8fcwxjabPHpDibvChA","title":"Class constructors","pathname":"/redscript/references-and-examples/common-patterns/class-constructors","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"2IJXAu3acZICkuMUR9Xa","title":"Hash maps","pathname":"/redscript/references-and-examples/common-patterns/hash-maps","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"SOuFfLOV6BaXIQGoPLGx","title":"Heterogeneous array literals","pathname":"/redscript/references-and-examples/common-patterns/heterogeneous-array-literals","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"zkoYzr3QTqbc4qu6Uce9","title":"Scriptable systems (singletons)","pathname":"/redscript/references-and-examples/common-patterns/scriptable-systems-singletons","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"L2vVLXTT5HZPkxAYvyYz","title":"DelaySystem and DelayCallback","pathname":"/redscript/references-and-examples/common-patterns/delaysystem-and-delaycallback","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"1I4XuccOD0CVwjTklmvs","title":"Generic callbacks","pathname":"/redscript/references-and-examples/common-patterns/generic-callbacks","siteSpaceId":"sitesp_6QV9y","description":"This guide will show you how you can declare a generic callback thanks to Codeware's reflection.","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"4cmBveGwh9o43IVokuKA","title":"Persistence","pathname":"/redscript/references-and-examples/common-patterns/persistence","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Common Patterns"}]},{"id":"nxsMb1cqM74kwJZin9nB","title":"Logging","pathname":"/redscript/references-and-examples/logging","siteSpaceId":"sitesp_6QV9y","description":"This guide describes how you can write logs while debugging your scripts. It can be helpful too to get feedback from players when they find bugs.","breadcrumbs":[{"label":"References and examples"}]},{"id":"iGg8Z8qAjxhfpJik29PF","title":"UI Scripting","pathname":"/redscript/references-and-examples/ui-scripting","siteSpaceId":"sitesp_6QV9y","description":"Influencing Cyberpunk's UI with REDscript","breadcrumbs":[{"label":"References and examples"}]},{"id":"UwfrPyOKkVNHoUQhB5V6","title":"Logging Widget Trees","pathname":"/redscript/references-and-examples/ui-scripting/logging-widget-trees","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"UI Scripting"}]},{"id":"9yFMWXc1log9066pefsO","title":"Popups","pathname":"/redscript/references-and-examples/ui-scripting/popups","siteSpaceId":"sitesp_6QV9y","description":"Scriptable popups","breadcrumbs":[{"label":"References and examples"},{"label":"UI Scripting"}]},{"id":"vYKOt0YuszaIzTBAKBmX","title":"Vehicle system","pathname":"/redscript/references-and-examples/vehicle-system","siteSpaceId":"sitesp_6QV9y","description":"Cool stuff you can do with vehicles","breadcrumbs":[{"label":"References and examples"}]},{"id":"MYrkOwIxAQhzEZJB6W1O","title":"Weapons","pathname":"/redscript/references-and-examples/weapons","siteSpaceId":"sitesp_6QV9y","description":"How to do stuff with weapons, the Redscript way","breadcrumbs":[{"label":"References and examples"}]},{"id":"o9ipwXllALBtup6cn3Ay","title":"Codeware callbacks","pathname":"/redscript/references-and-examples/codeware-callbacks","siteSpaceId":"sitesp_6QV9y","description":"How we can use events for control flow","breadcrumbs":[{"label":"References and examples"}]},{"id":"dxeOz6fLKyNi0TbUI6JC","title":"Scriptables comparison","pathname":"/redscript/references-and-examples/codeware-callbacks/scriptables-comparison","siteSpaceId":"sitesp_6QV9y","description":"What is ScriptableSystem vs. ScriptableService?","breadcrumbs":[{"label":"References and examples"},{"label":"Codeware callbacks"}]},{"id":"ZF2BpND67OhMgGwksfW9","title":"Libraries","pathname":"/redscript/references-and-examples/libraries","siteSpaceId":"sitesp_6QV9y","description":"This page references a list of useful Redscript libraries/plugins you can use to create mods.","breadcrumbs":[{"label":"References and examples"}]},{"id":"IRpaX5jBeWGSHrE0RJ2I","title":"Gameplay","pathname":"/redscript/references-and-examples/gameplay","siteSpaceId":"sitesp_6QV9y","description":"A collection of gameplay-related references and examples.","breadcrumbs":[{"label":"References and examples"}]},{"id":"sFN4GslhIHqBRXrL8PqY","title":"Sleeping and Skipping Time","pathname":"/redscript/references-and-examples/gameplay/sleeping-and-skipping-time","siteSpaceId":"sitesp_6QV9y","breadcrumbs":[{"label":"References and examples"},{"label":"Gameplay"}]},{"id":"HtuO6rhsJ68iPBApCcm9","title":"Community","pathname":"/redscript/help/community","siteSpaceId":"sitesp_6QV9y","description":"Chat with modders and developers","breadcrumbs":[{"label":"Help"}]},{"id":"l5PW5eSRIL3wMyZlQKVw","title":"Troubleshooting","pathname":"/redscript/help/troubleshooting","siteSpaceId":"sitesp_6QV9y","description":"","breadcrumbs":[{"label":"Help"}]}]}