Edit: ah i was reading an old doc because the reddit comment I saw was 6 years old. The property is get_property_list()
I have a script that is a global it contains a bunch of dictionaries that describe items. I need a way to get a list of the different types.
Searching for solutions I found https://docs.godotengine.org/en/3.2/classes/class_script.html#class-script-method-get-script-property-list
but I cant seem to get it working. Godot says “Function “get_script_property_list()” not found in base self”
Example of the what im trying to get a list of
var tile_dict_grass = {
"name": "grass",
"source": 1,
"atlas": Vector2i(1,0),
"move_speed": 0.80,
"path_cost": 2,
"fertility": 1,
"cleanliness": 1.5,
"flammability": 0.60,
"build_categories": "all",
"solid": false
}
var tile_dict_rich_soil = {
"name": "rich soil",
"source": 1,
"atlas": Vector2i(1,0),
"move_speed": 0.80,
"path_cost": 2,
"fertility": 1.4,
"cleanliness": -1.0,
"flammability": 0.0,
"build_categories": "all",
"solid": false
}
How im trying to get it.
func get_tile_dict():
var property_list = self.get_script_property_list()
var tile_list = []
for attr in dir(self):
if attr.startswith('tile_dict'):
value = getattr(self, attr)
tile_list.append(value)
return tile_list


I agree with Sevon and if you want to learn more about the benefits, look up “type safety”.