summaryrefslogtreecommitdiff
path: root/init.lua
blob: 0e09fc2e0a2ce3dcdb61ab4063e1cc019d9cd0e7 (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
cars = {}
cars.current_cars = {}

minetest.register_craftitem("cars:car",{
	description = "Car",
	inventory_image = "cars_car_inv.png",
	stack_max = 1,
	on_use = function(_,user)
		local name = user:get_player_name()
		if cars.current_cars[name] == nil then
			cars.current_cars[name] = {}
			cars.current_cars[name].properties = user:get_properties()
			cars.current_cars[name].physics_override = user:get_physics_override()
			user:set_properties({mesh="cars_car.obj",textures={"cars_car.png"}})
			user:set_physics_override({speed=(minetest.setting_getbool("disable_anticheat")== true and 1.5 or 1),jump=0,gravity=2})
		end
		return ItemStack("cars:uncar 1")
	end}
)

minetest.register_craftitem("cars:uncar",{
	description = "Un-Car",
	inventory_image = "cars_uncar_inv.png",
	stack_max = 1,
	groups = {not_in_creative_inventory=1},
	on_use = function(_,user)
		local name = user:get_player_name()
		if cars.current_cars[name] ~= nil then
			user:set_properties(cars.current_cars[name].properties)
			user:set_physics_override(cars.current_cars[name].physics_override)
			cars.current_cars[name] = nil
		end
		return ItemStack("cars:car 1")
	end}
)

minetest.register_craft({output="cars:car 1",recipe={
	{"default:glass","default:steel_ingot",""},
	{"homedecor:motor","default:steel_ingot","default:steel_ingot"},
	{"homedecor:plastic_sheeting","","homedecor:plastic_sheeting"}
}})