summaryrefslogtreecommitdiff
path: root/init.lua
blob: 4505c868e0573e50407df14f1bd76813e34b4e75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
local markers = {
	"streets:mark_white_parking",
	"streets:mark_yellow_parking",
	"streets:mark_white_parking_on_asphalt",
	"streets:mark_yellow_parking_on_asphalt",
	"streets:micro_white_parking_1",
	"streets:panel_white_parking_1",
	"streets:micro_white_parking_2",
	"streets:panel_white_parking_2",
	"streets:micro_white_parking_4",
	"streets:panel_white_parking_4",
	"streets:micro_white_parking",
	"streets:panel_white_parking",
	"streets:micro_white_parking_12",
	"streets:panel_white_parking_12",
	"streets:micro_white_parking_14",
	"streets:panel_white_parking_14",
	"streets:micro_white_parking_15",
	"streets:panel_white_parking_15",
	"streets:stair_white_parking_outer",
	"streets:stair_white_parking",
	"streets:stair_white_parking_inner",
	"streets:slab_white_parking_1",
	"streets:slab_white_parking_2",
	"streets:slab_white_parking_quarter",
	"streets:slab_white_parking",
	"streets:slab_white_parking_three_quarter",
	"streets:slab_white_parking_14",
	"streets:slab_white_parking_15",
	"streets:slab_white_parking_two_sides",
	"streets:slab_white_parking_three_sides",
	"streets:slab_white_parking_three_sides_u",
	"streets:stair_white_parking_half",
	"streets:stair_white_parking_alt_1",
	"streets:stair_white_parking_alt_2",
	"streets:stair_white_parking_alt_4",
	"streets:stair_white_parking_alt",
	"streets:slope_white_parking",
	"streets:slope_white_parking_half",
	"streets:slope_white_parking_half_raised",
	"streets:slope_white_parking_inner",
	"streets:slope_white_parking_inner_half",
	"streets:slope_white_parking_inner_half_raised",
	"streets:slope_white_parking_inner_cut",
	"streets:slope_white_parking_inner_cut_half",
	"streets:slope_white_parking_inner_cut_half_raised",
	"streets:slope_white_parking_outer",
	"streets:slope_white_parking_outer_half",
	"streets:slope_white_parking_outer_half_raised",
	"streets:slope_white_parking_outer_cut",
	"streets:slope_white_parking_outer_cut_half",
	"streets:slope_white_parking_outer_cut_half_raised",
	"streets:slope_white_parking_cut",
	"streets:micro_yellow_parking_1",
	"streets:panel_yellow_parking_1",
	"streets:micro_yellow_parking_2",
	"streets:panel_yellow_parking_2",
	"streets:micro_yellow_parking_4",
	"streets:panel_yellow_parking_4",
	"streets:micro_yellow_parking",
	"streets:panel_yellow_parking",
	"streets:micro_yellow_parking_12",
	"streets:panel_yellow_parking_12",
	"streets:micro_yellow_parking_14",
	"streets:panel_yellow_parking_14",
	"streets:micro_yellow_parking_15",
	"streets:panel_yellow_parking_15",
	"streets:stair_yellow_parking_outer",
	"streets:stair_yellow_parking",
	"streets:stair_yellow_parking_inner",
	"streets:slab_yellow_parking_1",
	"streets:slab_yellow_parking_2",
	"streets:slab_yellow_parking_quarter",
	"streets:slab_yellow_parking",
	"streets:slab_yellow_parking_three_quarter",
	"streets:slab_yellow_parking_14",
	"streets:slab_yellow_parking_15",
	"streets:slab_yellow_parking_two_sides",
	"streets:slab_yellow_parking_three_sides",
	"streets:slab_yellow_parking_three_sides_u",
	"streets:stair_yellow_parking_half",
	"streets:stair_yellow_parking_alt_1",
	"streets:stair_yellow_parking_alt_2",
	"streets:stair_yellow_parking_alt_4",
	"streets:stair_yellow_parking_alt",
	"streets:slope_yellow_parking",
	"streets:slope_yellow_parking_half",
	"streets:slope_yellow_parking_half_raised",
	"streets:slope_yellow_parking_inner",
	"streets:slope_yellow_parking_inner_half",
	"streets:slope_yellow_parking_inner_half_raised",
	"streets:slope_yellow_parking_inner_cut",
	"streets:slope_yellow_parking_inner_cut_half",
	"streets:slope_yellow_parking_inner_cut_half_raised",
	"streets:slope_yellow_parking_outer",
	"streets:slope_yellow_parking_outer_half",
	"streets:slope_yellow_parking_outer_half_raised",
	"streets:slope_yellow_parking_outer_cut",
	"streets:slope_yellow_parking_outer_cut_half",
	"streets:slope_yellow_parking_outer_cut_half_raised",
	"streets:slope_yellow_parking_cut",
	"extra_street_signs:sign_eu_parking_site",
	"extra_street_signs:sign_eu_parking_site_polemount",
	"default:steelblock_letter_pu",
}

for _,v in ipairs(markers) do
	if core.registered_nodes[v] then
		local groups = core.registered_nodes[v].groups or {}
		groups.parking = 1
		core.override_item(v,{groups=groups})
	end
end

for _,mod in ipairs({"vehicle_mash","motorbike","bike","ufos"}) do
	for k,v in pairs(core.registered_entities) do
		if string.sub(k,1,string.len(mod)) == mod then
			local oldactivate = v.on_activate or function() end
			v.on_activate = function(self,staticdata,dtime,...)
				oldactivate(self,staticdata,dtime,...)
				if dtime < 10 then return end
				local obj = self.object
				local pos = vector.round(obj:get_pos())
				local maxradius = tonumber(core.settings:get("cars_despawn.search_radius") or 8) or 8
				local parked = core.find_node_near(pos,maxradius,"group:parking",true)
				if not parked then obj:remove() end
			end
		end
	end
end