diff options
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..0e09fc2 --- /dev/null +++ b/init.lua @@ -0,0 +1,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"} +}}) |