@tlua/gmod 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/README.md +28 -0
  2. package/__metadata.json +4 -0
  3. package/_globals.d.tlua +178 -0
  4. package/_gmod-std.d.tlua +35 -0
  5. package/achievementicon.d.tlua +12 -0
  6. package/achievements.d.tlua +162 -0
  7. package/ai.d.tlua +65 -0
  8. package/ai_schedule.d.tlua +17 -0
  9. package/ai_task.d.tlua +17 -0
  10. package/angle.d.tlua +197 -0
  11. package/avatarimage.d.tlua +10 -0
  12. package/awesomium.d.tlua +14 -0
  13. package/baseclass.d.tlua +42 -0
  14. package/bf_read.d.tlua +110 -0
  15. package/bit.d.tlua +121 -0
  16. package/button.d.tlua +13 -0
  17. package/cam.d.tlua +220 -0
  18. package/ceffectdata.d.tlua +337 -0
  19. package/chat.d.tlua +62 -0
  20. package/checkbutton.d.tlua +14 -0
  21. package/cleanup.d.tlua +88 -0
  22. package/cluaemitter.d.tlua +119 -0
  23. package/clualocomotion.d.tlua +383 -0
  24. package/cluaparticle.d.tlua +426 -0
  25. package/cmovedata.d.tlua +476 -0
  26. package/cnavarea.d.tlua +845 -0
  27. package/cnavladder.d.tlua +209 -0
  28. package/cnewparticleeffect.d.tlua +259 -0
  29. package/color.d.tlua +339 -0
  30. package/concommand.d.tlua +69 -0
  31. package/constraint.d.tlua +311 -0
  32. package/construct.d.tlua +26 -0
  33. package/contentheader.d.tlua +32 -0
  34. package/contenticon.d.tlua +86 -0
  35. package/contentsidebar.d.tlua +45 -0
  36. package/contentsidebartoolbox.d.tlua +13 -0
  37. package/contextbase.d.tlua +37 -0
  38. package/controlpanel.d.tlua +140 -0
  39. package/controlpresets.d.tlua +118 -0
  40. package/convar.d.tlua +162 -0
  41. package/cookie.d.tlua +60 -0
  42. package/coroutine.d.tlua +90 -0
  43. package/crecipientfilter.d.tlua +152 -0
  44. package/csent.d.tlua +10 -0
  45. package/csoundpatch.d.tlua +150 -0
  46. package/ctakedamageinfo.d.tlua +366 -0
  47. package/ctrllistbox.d.tlua +12 -0
  48. package/ctrlnumpad.d.tlua +73 -0
  49. package/cusercmd.d.tlua +320 -0
  50. package/custom_classes.d.tlua +65 -0
  51. package/custom_entity_fields.d.tlua +96 -0
  52. package/cvars.d.tlua +80 -0
  53. package/dadjustablemodelpanel.d.tlua +81 -0
  54. package/dalphabar.d.tlua +27 -0
  55. package/dbinder.d.tlua +37 -0
  56. package/dbubblecontainer.d.tlua +18 -0
  57. package/dbutton.d.tlua +88 -0
  58. package/dcategoryheader.d.tlua +13 -0
  59. package/dcategorylist.d.tlua +11 -0
  60. package/dcheckbox.d.tlua +46 -0
  61. package/dcheckboxlabel.d.tlua +90 -0
  62. package/dcollapsiblecategory.d.tlua +240 -0
  63. package/dcolorbutton.d.tlua +73 -0
  64. package/dcolorcombo.d.tlua +54 -0
  65. package/dcolorcube.d.tlua +137 -0
  66. package/dcolormixer.d.tlua +303 -0
  67. package/dcolorpalette.d.tlua +294 -0
  68. package/dcolumnsheet.d.tlua +49 -0
  69. package/dcombobox.d.tlua +161 -0
  70. package/ddragbase.d.tlua +151 -0
  71. package/ddrawer.d.tlua +72 -0
  72. package/debug.d.tlua +236 -0
  73. package/debugoverlay.d.tlua +193 -0
  74. package/dentityproperties.d.tlua +63 -0
  75. package/derma.d.tlua +119 -0
  76. package/dexpandbutton.d.tlua +30 -0
  77. package/dfilebrowser.d.tlua +228 -0
  78. package/dform.d.tlua +176 -0
  79. package/dframe.d.tlua +261 -0
  80. package/dgrid.d.tlua +113 -0
  81. package/dhorizontaldivider.d.tlua +196 -0
  82. package/dhorizontalscroller.d.tlua +104 -0
  83. package/dhscrollbar.d.tlua +109 -0
  84. package/dhtml.d.tlua +91 -0
  85. package/dhtmlcontrols.d.tlua +62 -0
  86. package/diconbrowser.d.tlua +113 -0
  87. package/diconlayout.d.tlua +190 -0
  88. package/dimage.d.tlua +221 -0
  89. package/dimagebutton.d.tlua +103 -0
  90. package/dkillicon.d.tlua +9 -0
  91. package/dlabel.d.tlua +385 -0
  92. package/dlabeleditable.d.tlua +51 -0
  93. package/dlabelurl.d.tlua +100 -0
  94. package/dlistbox.d.tlua +82 -0
  95. package/dlistboxitem.d.tlua +42 -0
  96. package/dlistlayout.d.tlua +14 -0
  97. package/dlistview.d.tlua +360 -0
  98. package/dlistview_column.d.tlua +135 -0
  99. package/dlistview_columnplain.d.tlua +11 -0
  100. package/dlistview_draggerbar.d.tlua +11 -0
  101. package/dlistview_line.d.tlua +140 -0
  102. package/dlistviewheaderlabel.d.tlua +11 -0
  103. package/dlistviewlabel.d.tlua +11 -0
  104. package/dlistviewline.d.tlua +11 -0
  105. package/dmenu.d.tlua +266 -0
  106. package/dmenubar.d.tlua +42 -0
  107. package/dmenuoption.d.tlua +135 -0
  108. package/dmenuoptioncvar.d.tlua +64 -0
  109. package/dmodelpanel.d.tlua +207 -0
  110. package/dmodelselect.d.tlua +20 -0
  111. package/dmodelselectmulti.d.tlua +19 -0
  112. package/dnotify.d.tlua +93 -0
  113. package/dnumberscratch.d.tlua +284 -0
  114. package/dnumberwang.d.tlua +147 -0
  115. package/dnumpad.d.tlua +11 -0
  116. package/dnumslider.d.tlua +182 -0
  117. package/dpanel.d.tlua +152 -0
  118. package/dpanellist.d.tlua +109 -0
  119. package/dpaneloverlay.d.tlua +65 -0
  120. package/dpanelselect.d.tlua +13 -0
  121. package/dpanpanel.d.tlua +64 -0
  122. package/dprogress.d.tlua +27 -0
  123. package/dproperties.d.tlua +52 -0
  124. package/dproperty_boolean.d.tlua +12 -0
  125. package/dproperty_combo.d.tlua +31 -0
  126. package/dproperty_entity.d.tlua +12 -0
  127. package/dproperty_float.d.tlua +12 -0
  128. package/dproperty_generic.d.tlua +50 -0
  129. package/dproperty_int.d.tlua +12 -0
  130. package/dproperty_vectorcolor.d.tlua +14 -0
  131. package/dpropertysheet.d.tlua +167 -0
  132. package/dragndrop.d.tlua +123 -0
  133. package/draw.d.tlua +162 -0
  134. package/drgbpicker.d.tlua +49 -0
  135. package/drive.d.tlua +159 -0
  136. package/dscrollbargrip.d.tlua +13 -0
  137. package/dscrollpanel.d.tlua +110 -0
  138. package/dshape.d.tlua +72 -0
  139. package/dsizetocontents.d.tlua +46 -0
  140. package/dslider.d.tlua +302 -0
  141. package/dsprite.d.tlua +84 -0
  142. package/dtab.d.tlua +81 -0
  143. package/dtextentry.d.tlua +442 -0
  144. package/dtilelayout.d.tlua +218 -0
  145. package/dtooltip.d.tlua +76 -0
  146. package/dtree.d.tlua +185 -0
  147. package/dtree_node.d.tlua +793 -0
  148. package/dtree_node_button.d.tlua +13 -0
  149. package/duplicator.d.tlua +338 -0
  150. package/dverticaldivider.d.tlua +223 -0
  151. package/dvscrollbar.d.tlua +109 -0
  152. package/editablepanel.d.tlua +10 -0
  153. package/effect.d.tlua +121 -0
  154. package/effects.d.tlua +77 -0
  155. package/engine.d.tlua +248 -0
  156. package/entity.d.tlua +8295 -0
  157. package/ents.d.tlua +267 -0
  158. package/enums.d.tlua +7082 -0
  159. package/file.d.tlua +419 -0
  160. package/file_class.d.tlua +7 -0
  161. package/fingerposer.d.tlua +12 -0
  162. package/fingervar.d.tlua +13 -0
  163. package/frame.d.tlua +11 -0
  164. package/frame_blend.d.tlua +105 -0
  165. package/game.d.tlua +482 -0
  166. package/gameevent.d.tlua +968 -0
  167. package/gamemode.d.tlua +48 -0
  168. package/global.d.tlua +3156 -0
  169. package/gm.d.tlua +3218 -0
  170. package/gmod.d.tlua +20 -0
  171. package/gmsave.d.tlua +53 -0
  172. package/gui.d.tlua +232 -0
  173. package/gwen.d.tlua +55 -0
  174. package/halo.d.tlua +42 -0
  175. package/hammer.d.tlua +17 -0
  176. package/hook.d.tlua +64 -0
  177. package/html.d.tlua +22 -0
  178. package/http.d.tlua +72 -0
  179. package/iconeditor.d.tlua +130 -0
  180. package/igmodaudiochannel.d.tlua +419 -0
  181. package/imagecheckbox.d.tlua +48 -0
  182. package/imaterial.d.tlua +288 -0
  183. package/imesh.d.tlua +70 -0
  184. package/index.d.tlua +277 -0
  185. package/input.d.tlua +252 -0
  186. package/invalidateinternalentitycache.d.tlua +13 -0
  187. package/irestore.d.tlua +94 -0
  188. package/isave.d.tlua +94 -0
  189. package/itexture.d.tlua +108 -0
  190. package/ivideowriter.d.tlua +53 -0
  191. package/jit.d.tlua +243 -0
  192. package/killicon.d.tlua +84 -0
  193. package/label.d.tlua +20 -0
  194. package/language.d.tlua +26 -0
  195. package/list.d.tlua +112 -0
  196. package/makeballoon.d.tlua +15 -0
  197. package/markup.d.tlua +38 -0
  198. package/markupobject.d.tlua +53 -0
  199. package/material.d.tlua +9 -0
  200. package/math.d.tlua +899 -0
  201. package/matproxy.d.tlua +60 -0
  202. package/matselect.d.tlua +106 -0
  203. package/menu.d.tlua +20 -0
  204. package/menubar.d.tlua +39 -0
  205. package/mesh.d.tlua +183 -0
  206. package/modelimage.d.tlua +12 -0
  207. package/motionsensor.d.tlua +115 -0
  208. package/navmesh.d.tlua +274 -0
  209. package/net.d.tlua +639 -0
  210. package/nextbot.d.tlua +380 -0
  211. package/notification.d.tlua +35 -0
  212. package/npc.d.tlua +1787 -0
  213. package/numpad.d.tlua +89 -0
  214. package/os.d.tlua +56 -0
  215. package/package.d.tlua +15 -0
  216. package/package.json +18 -0
  217. package/panel.d.tlua +3650 -0
  218. package/panellist.d.tlua +13 -0
  219. package/pathfollower.d.tlua +301 -0
  220. package/permissions.d.tlua +77 -0
  221. package/physcollide.d.tlua +40 -0
  222. package/physenv.d.tlua +136 -0
  223. package/physobj.d.tlua +799 -0
  224. package/pixelvis_handle_t.d.tlua +9 -0
  225. package/player.d.tlua +3320 -0
  226. package/player_manager.d.tlua +147 -0
  227. package/preseteditor.d.tlua +13 -0
  228. package/presets.d.tlua +79 -0
  229. package/projectedtexture.d.tlua +553 -0
  230. package/properties.d.tlua +65 -0
  231. package/propselect.d.tlua +50 -0
  232. package/radiobutton.d.tlua +13 -0
  233. package/render.d.tlua +1700 -0
  234. package/resource.d.tlua +73 -0
  235. package/richtext.d.tlua +17 -0
  236. package/sandbox.d.tlua +576 -0
  237. package/saverestore.d.tlua +148 -0
  238. package/schedule.d.tlua +69 -0
  239. package/scripted_ents.d.tlua +124 -0
  240. package/search.d.tlua +26 -0
  241. package/serverlist.d.tlua +85 -0
  242. package/slidebar.d.tlua +12 -0
  243. package/slider.d.tlua +11 -0
  244. package/sound.d.tlua +140 -0
  245. package/spawnicon.d.tlua +95 -0
  246. package/spawnmenu.d.tlua +286 -0
  247. package/spawnmenucontentpanel.d.tlua +52 -0
  248. package/sql.d.tlua +154 -0
  249. package/stack.d.tlua +57 -0
  250. package/steamworks.d.tlua +208 -0
  251. package/string.d.tlua +535 -0
  252. package/structures.d.tlua +4442 -0
  253. package/surface.d.tlua +463 -0
  254. package/surfaceinfo.d.tlua +70 -0
  255. package/system.d.tlua +134 -0
  256. package/table.d.tlua +533 -0
  257. package/task.d.tlua +92 -0
  258. package/team.d.tlua +195 -0
  259. package/textentry.d.tlua +12 -0
  260. package/tgaimage.d.tlua +11 -0
  261. package/timer.d.tlua +198 -0
  262. package/tool.d.tlua +466 -0
  263. package/ugcpublishwindow.d.tlua +83 -0
  264. package/umsg.d.tlua +147 -0
  265. package/undo.d.tlua +122 -0
  266. package/urllabel.d.tlua +13 -0
  267. package/usermessage.d.tlua +48 -0
  268. package/utf8.d.tlua +89 -0
  269. package/util.d.tlua +1087 -0
  270. package/vector.d.tlua +413 -0
  271. package/vehicle.d.tlua +472 -0
  272. package/vgui.d.tlua +201 -0
  273. package/video.d.tlua +17 -0
  274. package/vmatrix.d.tlua +392 -0
  275. package/weapon.d.tlua +913 -0
  276. package/weapons.d.tlua +90 -0
  277. package/widgets.d.tlua +29 -0
  278. package/workshopfilebase.d.tlua +68 -0
@@ -0,0 +1,73 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The resource library is used to control what files are sent to clients who join a server, this includes models, materials, sounds, text files but not Lua files.
5
+ * @source https://wiki.facepunch.com/gmod/resource
6
+ */
7
+ declare resource: ResourceLib;
8
+
9
+ interface ResourceLib {
10
+ /**
11
+ * Adds the specified and all related files to the list of files the client should download from the server.
12
+ *
13
+ * For convenience, this function will automatically add any other files that are related to the selected one, and throw an error if it can't find them. For example, a `.vmt` file will automatically add the `.vtf` with the same name, and a `.mdl` file will automatically add all `.vvd`, `.ani`, `.dx80.vtx`, `.dx90.vtx` and `.phy` files with the same name, with a separate error for each missing file.
14
+ *
15
+ * If you do not want it to do this, use [resource.AddSingleFile](https://wiki.facepunch.com/gmod/resource.AddSingleFile).
16
+ *
17
+ * See also [Serving Content](https://wiki.facepunch.com/gmod/Serving_Content)
18
+ *
19
+ * **WARNING**: There's a 8192 downloadable file limit. If you need more, consider using Workshop addons - [resource.AddWorkshop](https://wiki.facepunch.com/gmod/resource.AddWorkshop). You should also consider the fact that you have way too many downloads. This limit is shared among all `resource.Add*` functions.
20
+ *
21
+ *
22
+ * **NOTE**: The file must exist on the server it will not be added to the downloadables list!
23
+ *
24
+ *
25
+ *
26
+ * @realm server
27
+ * @source https://wiki.facepunch.com/gmod/resource.AddFile
28
+ */
29
+ AddFile(path: string): void;
30
+ }
31
+
32
+ interface ResourceLib {
33
+ /**
34
+ * Adds the specified file to the files the client should download from the server.
35
+ *
36
+ * If you wish to add textures or models, consider using [resource.AddFile](https://wiki.facepunch.com/gmod/resource.AddFile) to add all the files required for a texture/model.
37
+ *
38
+ * **WARNING**: There's a 8192 downloadable file limit. If you need more, consider using Workshop addons - [resource.AddWorkshop](https://wiki.facepunch.com/gmod/resource.AddWorkshop). You should also consider the fact that you have way too many downloads. This limit is shared among all `resource.Add*` functions.
39
+ *
40
+ *
41
+ * **NOTE**: The file must exist on the server or players will not download it!
42
+ *
43
+ *
44
+ * See also [Serving Content](https://wiki.facepunch.com/gmod/Serving_Content)
45
+ *
46
+ * @realm server
47
+ * @source https://wiki.facepunch.com/gmod/resource.AddSingleFile
48
+ */
49
+ AddSingleFile(path: string): void;
50
+ }
51
+
52
+ interface ResourceLib {
53
+ /**
54
+ * Adds a workshop addon for the client to download before entering the server. This will not "install" the addon on your server, see [Workshop for Dedicated Servers](https://wiki.facepunch.com/gmod/Workshop_for_Dedicated_Servers) for installing Steam Workshop addons onto your servers.
55
+ *
56
+ * Having the raw files from a workshop item does not count as having already downloaded it.
57
+ * So players who previously downloaded a map through [FastDL](https://wiki.facepunch.com/gmod/Serving_Content) will have to re-download it if it is part of a workshop addon.
58
+ *
59
+ * You should try to only add addons that have custom content (models, sounds, etc). Lua files are not considered content, and are handled by a separate system. Adding workshop addons that only have Lua files is a waste, it will do nothing.
60
+ *
61
+ * Gamemodes that are [workshop enabled](https://wiki.facepunch.com/gmod/Gamemode_Creation#Gamemode_Text_File) and the current map are automatically added to this list, if they come from the servers' workshop collection - so there's no need to manually add them.
62
+ *
63
+ * **WARNING**: There's a 8192 downloadable file limit. If you need more, consider the fact that you have way too many downloads. This limit is shared among all `resource.Add*` functions.
64
+ *
65
+ *
66
+ * See also [Serving Content](https://wiki.facepunch.com/gmod/Serving_Content)
67
+ *
68
+ * @realm server
69
+ * @source https://wiki.facepunch.com/gmod/resource.AddWorkshop
70
+ */
71
+ AddWorkshop(workshopid: string): void;
72
+ }
73
+
@@ -0,0 +1,17 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * A very versatile text display element that's used to power the default chat and console.
5
+ *
6
+ * Rich Text panels allows multicolored, highlight-able, and interactive text using individual text segment markup (segments are defined by the [Panel:AppendText](https://wiki.facepunch.com/gmod/Panel:AppendText) method).
7
+ *
8
+ * The **RichText** element has a `64000` character limit.
9
+ *
10
+ * You can hide the RichText scrollbar with the following function: [Panel:SetVerticalScrollbarEnabled](https://wiki.facepunch.com/gmod/Panel:SetVerticalScrollbarEnabled)
11
+ *
12
+ *
13
+ * @realm client
14
+ * @source https://wiki.facepunch.com/gmod/RichText
15
+ */
16
+ interface RichText extends Panel {}
17
+
package/sandbox.d.tlua ADDED
@@ -0,0 +1,576 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * **NOTE**: This function or feature is only available in the Sandbox gamemode and its [derivatives](https://wiki.facepunch.com/gmod/Global.DeriveGamemode).
5
+ *
6
+ *
7
+ * This is a list of hooks that are only available in Sandbox or Sandbox derived gamemodes.
8
+ *
9
+ * Easiest way to tell if a gamemode is Sandbox derived is to check if this variable exists:
10
+ *
11
+ * ```
12
+ * -- Replace GAMEMODE with GM if you are in gamemode files.
13
+ * if ( GAMEMODE.IsSandboxDerived ) then
14
+ * -- Do stuff
15
+ * end
16
+ * ```
17
+ *
18
+ * @source https://wiki.facepunch.com/gmod/SANDBOX_Hooks
19
+ */
20
+ interface SANDBOX extends GM {}
21
+
22
+ interface SANDBOX {
23
+ /**
24
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
25
+ *
26
+ *
27
+ * This hook is used to add default categories to spawnmenu tool tabs.
28
+ *
29
+ * Do not override or hook this function, use [SANDBOX:AddToolMenuCategories](https://wiki.facepunch.com/gmod/SANDBOX:AddToolMenuCategories)!
30
+ *
31
+ * @realm client
32
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:AddGamemodeToolMenuCategories
33
+ */
34
+ AddGamemodeToolMenuCategories(self: SANDBOX): void;
35
+ }
36
+
37
+ interface SANDBOX {
38
+ /**
39
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
40
+ *
41
+ *
42
+ * This hook is used to add default tool tabs to spawnmenu.
43
+ *
44
+ * Do not override or hook this function, use [SANDBOX:AddToolMenuTabs](https://wiki.facepunch.com/gmod/SANDBOX:AddToolMenuTabs)!
45
+ *
46
+ * @realm client
47
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:AddGamemodeToolMenuTabs
48
+ */
49
+ AddGamemodeToolMenuTabs(self: SANDBOX): void;
50
+ }
51
+
52
+ interface SANDBOX {
53
+ /**
54
+ * This hook is used to add new categories to spawnmenu tool tabs.
55
+ * @realm client
56
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:AddToolMenuCategories
57
+ */
58
+ AddToolMenuCategories(self: SANDBOX): void;
59
+ }
60
+
61
+ interface SANDBOX {
62
+ /**
63
+ * This hook is used to add new tool tabs to spawnmenu.
64
+ * @realm client
65
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:AddToolMenuTabs
66
+ */
67
+ AddToolMenuTabs(self: SANDBOX): void;
68
+ }
69
+
70
+ interface SANDBOX {
71
+ /**
72
+ * Called when a player attempts to "arm" a duplication with the Duplicator tool. Return false to prevent the player from sending data to server, and to ignore data if it was somehow sent anyway.
73
+ * @realm shared
74
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:CanArmDupe
75
+ */
76
+ CanArmDupe(self: SANDBOX, ply: Player): (boolean, string);
77
+ }
78
+
79
+ interface SANDBOX {
80
+ /**
81
+ * Called when a player attempts to drive a prop via Prop Drive
82
+ * @realm shared
83
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:CanDrive
84
+ */
85
+ CanDrive(self: SANDBOX, ply: Player, ent: Entity): boolean;
86
+ }
87
+
88
+ interface SANDBOX {
89
+ /**
90
+ * Called when a player attempts to fire their tool gun. Return true to specifically allow the attempt, false to block it.
91
+ * @realm shared
92
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:CanTool
93
+ */
94
+ CanTool(self: SANDBOX, ply: Player, tr: TraceResult, toolname: string, tool: table, button: number): boolean;
95
+ }
96
+
97
+ interface SANDBOX {
98
+ /**
99
+ * Called when player selects an item on the spawnmenu sidebar at the left.
100
+ * @realm client
101
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:ContentSidebarSelection
102
+ */
103
+ ContentSidebarSelection(self: SANDBOX, parent: Panel, node: Panel): void;
104
+ }
105
+
106
+ interface SANDBOX {
107
+ /**
108
+ * Called when the context menu is supposedly closed.
109
+ *
110
+ * This is simply an alias of [GM:OnContextMenuClose](https://wiki.facepunch.com/gmod/GM:OnContextMenuClose).
111
+ *
112
+ * This hook **will** be called even if the Sandbox's context menu doesn't actually exist, i.e. [SANDBOX:ContextMenuEnabled](https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuEnabled) blocked its creation.
113
+ *
114
+ *
115
+ * @realm client
116
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuClosed
117
+ */
118
+ ContextMenuClosed(self: SANDBOX): void;
119
+ }
120
+
121
+ interface SANDBOX {
122
+ /**
123
+ * Called when the context menu is created.
124
+ * @realm client
125
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuCreated
126
+ */
127
+ ContextMenuCreated(self: SANDBOX, g_ContextMenu: Panel): void;
128
+ }
129
+
130
+ interface SANDBOX {
131
+ /**
132
+ * Allows to prevent the creation of the context menu. If the context menu is already created, this will have no effect.
133
+ *
134
+ * @realm client
135
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuEnabled
136
+ */
137
+ ContextMenuEnabled(self: SANDBOX): boolean;
138
+ }
139
+
140
+ interface SANDBOX {
141
+ /**
142
+ * Called when the context menu is trying to be opened.
143
+ * @realm client
144
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuOpen
145
+ */
146
+ ContextMenuOpen(self: SANDBOX): boolean;
147
+ }
148
+
149
+ interface SANDBOX {
150
+ /**
151
+ * Called when the context menu is supposedly opened.
152
+ *
153
+ * This is simply an alias of [GM:OnContextMenuOpen](https://wiki.facepunch.com/gmod/GM:OnContextMenuOpen) but will **not** be called if [SANDBOX:ContextMenuOpen](https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuOpen) prevents the context menu from opening.
154
+ *
155
+ * This hook **will** be called even if the context menu doesn't actually exist, i.e. [SANDBOX:ContextMenuEnabled](https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuEnabled) blocked its creation.
156
+ *
157
+ *
158
+ * @realm client
159
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuOpened
160
+ */
161
+ ContextMenuOpened(self: SANDBOX): void;
162
+ }
163
+
164
+ interface SANDBOX {
165
+ /**
166
+ * Called to poll if active tool settings should appear in the context menu. Please note that this is only called on initial opening of the context menu, not every frame the context menu is in use.
167
+ * @realm client
168
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:ContextMenuShowTool
169
+ */
170
+ ContextMenuShowTool(self: SANDBOX): boolean;
171
+ }
172
+
173
+ interface SANDBOX {
174
+ /**
175
+ * Called when the Client reverts spawnlist changes
176
+ * @realm client
177
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:OnRevertSpawnlist
178
+ */
179
+ OnRevertSpawnlist(self: SANDBOX): void;
180
+ }
181
+
182
+ interface SANDBOX {
183
+ /**
184
+ * Called when a player saves his changes made to the spawnmenu
185
+ * @realm client
186
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:OnSaveSpawnlist
187
+ */
188
+ OnSaveSpawnlist(self: SANDBOX): void;
189
+ }
190
+
191
+ interface SANDBOX {
192
+ /**
193
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
194
+ *
195
+ * This hook is called when the player edits a category in the Spawnmenu
196
+ *
197
+ * @realm client
198
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:OpenToolbox
199
+ */
200
+ OpenToolbox(self: SANDBOX): void;
201
+ }
202
+
203
+ interface SANDBOX {
204
+ /**
205
+ * Called from [GM:HUDPaint](https://wiki.facepunch.com/gmod/GM:HUDPaint); does nothing by default.
206
+ *
207
+ * **NOTE**: This cannot be used with [hook.Add](https://wiki.facepunch.com/gmod/hook.Add)
208
+ *
209
+ *
210
+ * @realm client
211
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PaintNotes
212
+ */
213
+ PaintNotes(self: SANDBOX): void;
214
+ }
215
+
216
+ interface SANDBOX {
217
+ /**
218
+ * Called from [GM:HUDPaint](https://wiki.facepunch.com/gmod/GM:HUDPaint) to draw world tips. By default, enabling cl_drawworldtooltips will stop world tips from being drawn here.
219
+ * See [Global.AddWorldTip](https://wiki.facepunch.com/gmod/Global.AddWorldTip) for more information.
220
+ *
221
+ * **NOTE**: This cannot be used with [hook.Add](https://wiki.facepunch.com/gmod/hook.Add)
222
+ *
223
+ *
224
+ * @realm client
225
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PaintWorldTips
226
+ */
227
+ PaintWorldTips(self: SANDBOX): void;
228
+ }
229
+
230
+ interface SANDBOX {
231
+ /**
232
+ * Called when persistent props are loaded.
233
+ * @realm server
234
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PersistenceLoad
235
+ */
236
+ PersistenceLoad(self: SANDBOX, name: string): void;
237
+ }
238
+
239
+ interface SANDBOX {
240
+ /**
241
+ * Called when persistent props are saved.
242
+ * @realm server
243
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PersistenceSave
244
+ */
245
+ PersistenceSave(self: SANDBOX, name: string): void;
246
+ }
247
+
248
+ interface SANDBOX {
249
+ /**
250
+ * Called when a player attempts to give themselves a weapon from the Q menu. (Left mouse clicks on an icon)
251
+ *
252
+ * Not to be confused with [SANDBOX:PlayerSpawnSWEP](https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnSWEP), which is called when the weapon is spawned as entity on the ground.
253
+ *
254
+ * @realm server
255
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerGiveSWEP
256
+ */
257
+ PlayerGiveSWEP(self: SANDBOX, ply: Player, weapon: string, spawninfo: table): boolean;
258
+ }
259
+
260
+ interface SANDBOX {
261
+ /**
262
+ * Called to ask if player allowed to spawn a particular effect or not.
263
+ * @realm server
264
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnEffect
265
+ */
266
+ PlayerSpawnEffect(self: SANDBOX, ply: Player, model: string): boolean;
267
+ }
268
+
269
+ interface SANDBOX {
270
+ /**
271
+ * Called to ask if player allowed to spawn a particular NPC or not.
272
+ * @realm server
273
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnNPC
274
+ */
275
+ PlayerSpawnNPC(self: SANDBOX, ply: Player, npc_type: string, weapon: string): boolean;
276
+ }
277
+
278
+ interface SANDBOX {
279
+ /**
280
+ * Called to ask whether player is allowed to spawn a given model. This includes props, effects, and ragdolls and is called before the respective PlayerSpawn* hook.
281
+ * @realm server
282
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnObject
283
+ */
284
+ PlayerSpawnObject(self: SANDBOX, ply: Player, model: string, skin: number): boolean;
285
+ }
286
+
287
+ interface SANDBOX {
288
+ /**
289
+ * Called when a player attempts to spawn a prop from the Q menu.
290
+ * @realm server
291
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnProp
292
+ */
293
+ PlayerSpawnProp(self: SANDBOX, ply: Player, model: string): boolean;
294
+ }
295
+
296
+ interface SANDBOX {
297
+ /**
298
+ * Called when a player attempts to spawn a ragdoll from the Q menu.
299
+ * @realm server
300
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnRagdoll
301
+ */
302
+ PlayerSpawnRagdoll(self: SANDBOX, ply: Player, model: string): boolean;
303
+ }
304
+
305
+ interface SANDBOX {
306
+ /**
307
+ * Called when a player attempts to spawn an Entity from the Q menu.
308
+ * @realm server
309
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnSENT
310
+ */
311
+ PlayerSpawnSENT(self: SANDBOX, ply: Player, _class: string): boolean;
312
+ }
313
+
314
+ interface SANDBOX {
315
+ /**
316
+ * Called when a player attempts to spawn a weapon from the spawnmenu as an entity on the ground, by middle mouse clicking (mouse wheel clicking) on a weapon icon.
317
+ *
318
+ * Not to be confused with [SANDBOX:PlayerGiveSWEP](https://wiki.facepunch.com/gmod/SANDBOX:PlayerGiveSWEP), which is called only when the weapon is given to the player directly, if they don't already have it.
319
+ *
320
+ * See [SANDBOX:PlayerSpawnedSWEP](https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedSWEP) for post entity creation event.
321
+ *
322
+ * @realm server
323
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnSWEP
324
+ */
325
+ PlayerSpawnSWEP(self: SANDBOX, ply: Player, weapon: string, swep: SWEP): boolean;
326
+ }
327
+
328
+ interface SANDBOX {
329
+ /**
330
+ * Called to ask if player allowed to spawn a particular vehicle or not.
331
+ * @realm server
332
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnVehicle
333
+ */
334
+ PlayerSpawnVehicle(self: SANDBOX, ply: Player, model: string, name: string, table: VehicleTable): boolean;
335
+ }
336
+
337
+ interface SANDBOX {
338
+ /**
339
+ * Called after the player spawned an effect.
340
+ * @realm server
341
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedEffect
342
+ */
343
+ PlayerSpawnedEffect(self: SANDBOX, ply: Player, model: string, ent: Entity): void;
344
+ }
345
+
346
+ interface SANDBOX {
347
+ /**
348
+ * Called after the player spawned an NPC.
349
+ * @realm server
350
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedNPC
351
+ */
352
+ PlayerSpawnedNPC(self: SANDBOX, ply: Player, ent: Entity): void;
353
+ }
354
+
355
+ interface SANDBOX {
356
+ /**
357
+ * Called when a player has successfully spawned a prop from the Q menu.
358
+ * @realm server
359
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedProp
360
+ */
361
+ PlayerSpawnedProp(self: SANDBOX, ply: Player, model: string, entity: Entity): void;
362
+ }
363
+
364
+ interface SANDBOX {
365
+ /**
366
+ * Called after the player spawned a ragdoll.
367
+ * @realm server
368
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedRagdoll
369
+ */
370
+ PlayerSpawnedRagdoll(self: SANDBOX, ply: Player, model: string, ent: Entity): void;
371
+ }
372
+
373
+ interface SANDBOX {
374
+ /**
375
+ * Called after the player has spawned a scripted entity.
376
+ * @realm server
377
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedSENT
378
+ */
379
+ PlayerSpawnedSENT(self: SANDBOX, ply: Player, ent: Entity): void;
380
+ }
381
+
382
+ interface SANDBOX {
383
+ /**
384
+ * Called after the player has spawned a weapon from the spawnmenu with a middle mouse click (mouse wheel click).
385
+ *
386
+ * For a hook capable of preventing such spawns, see [SANDBOX:PlayerSpawnSWEP](https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnSWEP).
387
+ * For left mouse click spawns, see [SANDBOX:PlayerGiveSWEP](https://wiki.facepunch.com/gmod/SANDBOX:PlayerGiveSWEP).
388
+ *
389
+ * @realm server
390
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedSWEP
391
+ */
392
+ PlayerSpawnedSWEP(self: SANDBOX, ply: Player, ent: Entity): void;
393
+ }
394
+
395
+ interface SANDBOX {
396
+ /**
397
+ * Called after the player spawned a vehicle.
398
+ * @realm server
399
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PlayerSpawnedVehicle
400
+ */
401
+ PlayerSpawnedVehicle(self: SANDBOX, ply: Player, ent: Entity): void;
402
+ }
403
+
404
+ interface SANDBOX {
405
+ /**
406
+ * Called by the spawnmenu when the content tab is generated
407
+ * **WARNING**: Creating an error in this Hook will result in a completely broken Content Tab
408
+ *
409
+ * @realm client
410
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PopulateContent
411
+ */
412
+ PopulateContent(self: SANDBOX, pnlContent: Panel, tree: Panel, node: Panel): void;
413
+ }
414
+
415
+ interface SANDBOX {
416
+ /**
417
+ * Called by the spawnmenu when the Entities tab is generated
418
+ * **WARNING**: Creating an error in this Hook will result in a completely broken Entites Tab
419
+ *
420
+ * @realm client
421
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PopulateEntities
422
+ */
423
+ PopulateEntities(self: SANDBOX, pnlContent: Panel, tree: Panel, node: Panel): void;
424
+ }
425
+
426
+ interface SANDBOX {
427
+ /**
428
+ * Called by the spawnmenu when the NPCs tab is generated
429
+ * **WARNING**: Creating an error in this Hook will result in a completely broken NPCs Tab
430
+ *
431
+ * @realm client
432
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PopulateNPCs
433
+ */
434
+ PopulateNPCs(self: SANDBOX, pnlContent: Panel, tree: Panel, node: Panel): void;
435
+ }
436
+
437
+ interface SANDBOX {
438
+ /**
439
+ * This hook makes the engine load the spawnlist text files.
440
+ * It calls [spawnmenu.PopulateFromEngineTextFiles](https://wiki.facepunch.com/gmod/spawnmenu.PopulateFromEngineTextFiles) by default.
441
+ *
442
+ * @realm client
443
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PopulatePropMenu
444
+ */
445
+ PopulatePropMenu(self: SANDBOX): void;
446
+ }
447
+
448
+ interface SANDBOX {
449
+ /**
450
+ * Add the [Scripted TOOLs](https://wiki.facepunch.com/gmod/TOOL) to the tool menu. You want to call [spawnmenu.AddToolMenuOption](https://wiki.facepunch.com/gmod/spawnmenu.AddToolMenuOption) in this hook.
451
+ * @realm client
452
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PopulateToolMenu
453
+ */
454
+ PopulateToolMenu(self: SANDBOX): void;
455
+ }
456
+
457
+ interface SANDBOX {
458
+ /**
459
+ * Called by the spawnmenu when the Vehicles tab is generated
460
+ * **WARNING**: Creating an error in this Hook will result in a completely broken vehicles Tab
461
+ *
462
+ * @realm client
463
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PopulateVehicles
464
+ */
465
+ PopulateVehicles(self: SANDBOX, pnlContent: Panel, tree: Panel, node: Panel): void;
466
+ }
467
+
468
+ interface SANDBOX {
469
+ /**
470
+ * Called by the spawnmenu when the Weapons tab is generated
471
+ * **WARNING**: Creating an error in this Hook will result in a completely broken Weapons Tab
472
+ *
473
+ * @realm client
474
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PopulateWeapons
475
+ */
476
+ PopulateWeapons(self: SANDBOX, pnlContent: Panel, tree: Panel, node: Panel): void;
477
+ }
478
+
479
+ interface SANDBOX {
480
+ /**
481
+ * Called right after the Lua Loaded tool menus are reloaded. This is a good place to set up any [ControlPanel](https://wiki.facepunch.com/gmod/ControlPanel)s.
482
+ * @realm client
483
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PostReloadToolsMenu
484
+ */
485
+ PostReloadToolsMenu(self: SANDBOX): void;
486
+ }
487
+
488
+ interface SANDBOX {
489
+ /**
490
+ * Called just before registering a Sandbox scripted tool.
491
+ * @realm shared
492
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PreRegisterTOOL
493
+ */
494
+ PreRegisterTOOL(self: SANDBOX, tool: TOOL, _class: string): boolean;
495
+ }
496
+
497
+ interface SANDBOX {
498
+ /**
499
+ * Called right before the Lua Loaded tool menus are reloaded.
500
+ * @realm client
501
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:PreReloadToolsMenu
502
+ */
503
+ PreReloadToolsMenu(self: SANDBOX): void;
504
+ }
505
+
506
+ interface SANDBOX {
507
+ /**
508
+ * If false is returned then the spawn menu is never created. This saves load times if your mod doesn't actually use the spawn menu for any reason.
509
+ * @realm client
510
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:SpawnMenuEnabled
511
+ */
512
+ SpawnMenuEnabled(self: SANDBOX): boolean;
513
+ }
514
+
515
+ interface SANDBOX {
516
+ /**
517
+ * Called when spawnmenu is trying to be opened.
518
+ *
519
+ * **NOTE**: Hiding the spawnmenu will not stop people from being able to use the various console commands to spawn in items, etc. See GM:PlayerSpawn* hooks for blocking actual spawning.
520
+ *
521
+ *
522
+ * @realm client
523
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:SpawnMenuOpen
524
+ */
525
+ SpawnMenuOpen(self: SANDBOX): boolean;
526
+ }
527
+
528
+ interface SANDBOX {
529
+ /**
530
+ * Called when the spawnmenu is opened.
531
+ *
532
+ * This is an alias of [GM:OnSpawnMenuOpen](https://wiki.facepunch.com/gmod/GM:OnSpawnMenuOpen) but will **not** be called if [SANDBOX:SpawnMenuOpen](https://wiki.facepunch.com/gmod/SANDBOX:SpawnMenuOpen) prevents the spawnmenu from opening.
533
+ *
534
+ * This hook **will** be called even if the spawnmenu doesn't actually exist, i.e. [SANDBOX:SpawnMenuEnabled](https://wiki.facepunch.com/gmod/SANDBOX:SpawnMenuEnabled) blocked its creation.
535
+ *
536
+ *
537
+ * @realm client
538
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:SpawnMenuOpened
539
+ */
540
+ SpawnMenuOpened(self: SANDBOX): void;
541
+ }
542
+
543
+ interface SANDBOX {
544
+ /**
545
+ * Called when changes were made to the spawnmenu like creating a new category.
546
+ * @realm client
547
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:SpawnlistContentChanged
548
+ */
549
+ SpawnlistContentChanged(self: SANDBOX): void;
550
+ }
551
+
552
+ interface SANDBOX {
553
+ /**
554
+ * **INTERNAL**: Use [SANDBOX:SpawnmenuIconMenuOpen](https://wiki.facepunch.com/gmod/SANDBOX:SpawnmenuIconMenuOpen) if you wish to add new options to spawnmenu icon right click menus.
555
+ *
556
+ * Called when there's one or more items selected in the spawnmenu by the player, to open the multi selection right click menu ([DMenu](https://wiki.facepunch.com/gmod/DMenu))
557
+ *
558
+ *
559
+ * @realm client
560
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:SpawnlistOpenGenericMenu
561
+ */
562
+ SpawnlistOpenGenericMenu(self: SANDBOX, canvas: Panel): void;
563
+ }
564
+
565
+ interface SANDBOX {
566
+ /**
567
+ * Called when the player opens a context menu by right clicking one of the spawnmenu icons. Either [ContentIcon](https://wiki.facepunch.com/gmod/ContentIcon) or [SpawnIcon](https://wiki.facepunch.com/gmod/SpawnIcon).
568
+ *
569
+ * This hook can be used to add new custom menu options to the context menu.
570
+ *
571
+ * @realm client
572
+ * @source https://wiki.facepunch.com/gmod/SANDBOX:SpawnmenuIconMenuOpen
573
+ */
574
+ SpawnmenuIconMenuOpen(self: SANDBOX, menu: Panel, icon: Panel, contentType: string): void;
575
+ }
576
+