if mobs.mod and mobs.mod == "redo" then local spice_duration = 20.0 --seconds local spice_buff_speed = 1 --add to physics multiplier local spice_buff_jump = 0.5 --add to physics multiplier local spice_buff_gravity = 0.1 --subtract from physics multiplier mobs:register_mob("mobs_sandworm:sandworm", { type = "monster", visual = "mesh", mesh = "sandworm.x", textures = { {"sandworm.png"}, }, visual_size = {x=8, y=8}, collisionbox = {-0.6, -0.2, -0.6, 0.6, 1.90, 0.6}, animation = { speed_normal = 25, speed_run = 40, stand_start = 0, stand_end = 30, walk_start = 30, walk_end = 70, run_start = 30, run_end = 70, punch_start = 70, punch_end = 90 }, sounds = { random = "sand" }, hp_min = 40, hp_max = 50, armor = 50, knock_back = 0, light_damage = 0, water_damage = 5, lava_damage = 50, fall_damage = 0, damage = 10, reach = 2, attack_type = "dogfight", view_range = 10, walk_velocity = 2, stepheight = 1.1, drops = { {name = "mobs_sandworm:wormflesh_raw", chance = 2, min = 1, max = 5}, {name = "mobs_sandworm:spice", chance = 2, min = 1, max = 1}, {name = "ethereal:bone", chance = 2, min = 2, max = 4} } }) --name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height mobs:spawn_specific("mobs_sandworm:sandworm", {"default:sand", "default:desert_sand"}, {"air"}, -1, 18, 30, 500000, 1, -20, 40 ) mobs:register_egg("mobs_sandworm:sandworm", "Sand Worm", "worm_flesh.png", 1) -- raw worm meat minetest.register_craftitem("mobs_sandworm:wormflesh_raw", { description = "Raw Worm Flesh", inventory_image = "worm_flesh.png", on_use = minetest.item_eat(1) }) -- cooked worm meat minetest.register_craftitem("mobs_sandworm:wormflesh", { description = "Roasted Worm Flesh", inventory_image = "roasted_worm_flesh.png", on_use = minetest.item_eat(2) }) minetest.register_craft({ type = "cooking", output = "mobs_sandworm:wormflesh", recipe = "mobs_sandworm:wormflesh_raw", cooktime = 4 }) -- the spice ;) Dune tribute minetest.register_craftitem("mobs_sandworm:spice", { description = "The Spice Melange", inventory_image = "spice_bottle.png", on_use = function(itemstack, user, pointed_thing) if user:get_armor_groups().immortal then return end minetest.chat_send_player(user:get_player_name(), "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see it's path. Where the fear has gone there will be nothing. Only I will remain.") itemstack:take_item(1) if minetest.get_modpath("vessels") then user:get_inventory():add_item("main", "vessels:glass_bottle") end user:set_hp(20) local armorgroups = user:get_armor_groups() user:set_armor_groups({immortal = 1}) local physics = user:get_physics_override() user:set_physics_override({ speed = physics.speed + spice_buff_speed, jump = physics.jump + spice_buff_jump, gravity = physics.gravity - spice_buff_gravity }) minetest.after(spice_duration, function(user) if user and user:is_player() then user:set_armor_groups({immortal = 0}) local phys = user:get_physics_override() user:set_physics_override({ speed = phys.speed - spice_buff_speed, jump = phys.jump - spice_buff_jump, gravity = phys.gravity + spice_buff_gravity }) end end, user) return itemstack end }) end