@@ -22,7 +22,7 @@ func _export_file(path: String, type: String, features: PackedStringArray) -> vo
22
22
if path .begins_with ("res://addons" ) or path .begins_with ("res://mods-unpacked" ):
23
23
return
24
24
25
- if type != "GDScript" :
25
+ if type != "GDScript" :
26
26
return
27
27
28
28
var current_script := load (path ) as GDScript
@@ -214,9 +214,11 @@ static func get_mod_loader_hook(
214
214
215
215
return """
216
216
{%STATIC%}func {%METHOD_NAME%}({%METHOD_PARAMS%}){%RETURN_TYPE_STRING%}:
217
- ModLoaderMod.call_hooks({%SELF%}, [{%METHOD_ARGS%}], {%HOOK_ID_BEFORE%})
217
+ if ModLoaderStore.any_mod_hooked:
218
+ ModLoaderMod.call_hooks({%SELF%}, [{%METHOD_ARGS%}], {%HOOK_ID_BEFORE%})
218
219
{%METHOD_RETURN_VAR%}{%METHOD_PREFIX%}_{%METHOD_NAME%}({%METHOD_ARGS%})
219
- ModLoaderMod.call_hooks({%SELF%}, [{%METHOD_ARGS%}], {%HOOK_ID_AFTER%})
220
+ if ModLoaderStore.any_mod_hooked:
221
+ ModLoaderMod.call_hooks({%SELF%}, [{%METHOD_ARGS%}], {%HOOK_ID_AFTER%})
220
222
{%METHOD_RETURN%}
221
223
""" .format ({
222
224
"%METHOD_PREFIX%" : method_prefix ,
@@ -255,9 +257,14 @@ static func get_previous_line_to(text: String, index: int) -> String:
255
257
return text .substr (start_index , end_index - start_index + 1 )
256
258
257
259
static func is_func_moddable (method_start_idx , text ) -> bool :
260
+ var prevline = get_previous_line_to (text , method_start_idx )
261
+
262
+ if prevline .contains ("@not-moddable" ):
263
+ return false
258
264
if not REQUIRE_EXPLICIT_ADDITION :
259
265
return true
260
- return get_previous_line_to (text , method_start_idx ).contains ("@moddable" )
266
+
267
+ return prevline .contains ("@moddable" )
261
268
262
269
static func get_index_at_method_start (method_name : String , text : String ) -> int :
263
270
# Regular expression to match the function definition with arbitrary whitespace
0 commit comments