Cleanup mobs
|
@ -330,9 +330,9 @@ core.register_item(":unknown", {
|
|||
})
|
||||
|
||||
core.register_node(":air", {
|
||||
description = "Air (you hacker you!)",
|
||||
inventory_image = "air.png",
|
||||
wield_image = "air.png",
|
||||
description = "Air",
|
||||
inventory_image = "blank.png",
|
||||
wield_image = "blank.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
|
|
|
@ -472,7 +472,9 @@ if not boost_cart.mtg_compat then
|
|||
return
|
||||
end
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") or not minetest.is_singleplayer() then
|
||||
if not (creative and creative.is_enabled_for and
|
||||
creative.is_enabled_for(placer)) or
|
||||
not minetest.is_singleplayer() then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
|
|
|
@ -16,7 +16,8 @@ minetest.register_on_joinplayer(function(player)
|
|||
local stack = inv:get_stack("main", i)
|
||||
local itemname = stack:get_name()
|
||||
|
||||
if not minetest.registered_items[itemname] then
|
||||
if not minetest.registered_items[itemname] or
|
||||
minetest.registered_items[itemname].description == "Air" then
|
||||
inv:set_stack("main", i, "")
|
||||
end
|
||||
end
|
||||
|
@ -35,20 +36,18 @@ local function clean()
|
|||
if not minetest.is_valid_pos(pos_scan) then
|
||||
return
|
||||
end
|
||||
--local hash = minetest.hash_node_position(pos_scan)
|
||||
-- local hash = minetest.hash_node_position(pos_scan)
|
||||
local nodename = minetest.get_node(pos_scan).name
|
||||
|
||||
--[[if not kpos[hash] then
|
||||
local nodename = minetest.get_node(pos_scan).name
|
||||
-- if not kpos[hash] then
|
||||
-- local nodename = minetest.get_node(pos_scan).name
|
||||
|
||||
if not minetest.registered_nodes[nodename] then
|
||||
minetest.remove_node(pos_scan)
|
||||
end
|
||||
|
||||
kpos[hash] = true]]
|
||||
if not minetest.registered_nodes[nodename] then
|
||||
minetest.remove_node(pos_scan)
|
||||
end
|
||||
-- kpos[hash] = true
|
||||
-- end
|
||||
|
||||
local objs = minetest.get_objects_inside_radius(pos_scan, 0.5)
|
||||
if #objs > 0 then
|
||||
|
|
|
@ -6,6 +6,7 @@ return {
|
|||
"farming:bread",
|
||||
"flowers:mushroom_red",
|
||||
"flowers:mushroom_brown",
|
||||
"mobs:chicken_egg",
|
||||
"mobs:chicken_egg_fried",
|
||||
"mobs:chicken_raw",
|
||||
"mobs:chicken_cooked",
|
||||
|
@ -16,4 +17,6 @@ return {
|
|||
"mobs:meat",
|
||||
"mobs:pork_raw",
|
||||
"mobs:pork",
|
||||
"mobs:rabbit_raw",
|
||||
"mobs:rabbit_cooked",
|
||||
}
|
|
@ -14,24 +14,7 @@ return {
|
|||
"mobs_animal:kitten",
|
||||
"mobs_animal:pig",
|
||||
"mobs_animal:wolf",
|
||||
|
||||
"mobs_animal:sheep_grey",
|
||||
"mobs_animal:sheep_magenta",
|
||||
"mobs_animal:sheep_pink",
|
||||
"mobs_animal:sheep_white",
|
||||
"mobs_animal:sheep_magenta",
|
||||
"mobs_animal:sheep_orange",
|
||||
"mobs_animal:sheep_blue",
|
||||
"mobs_animal:sheep_dark_grey",
|
||||
"mobs_animal:sheep_pink",
|
||||
"mobs_animal:sheep_red",
|
||||
"mobs_animal:sheep_dark_green",
|
||||
"mobs_animal:sheep_violet",
|
||||
"mobs_animal:sheep_white",
|
||||
"mobs_animal:sheep_black",
|
||||
"mobs_animal:sheep_yellow",
|
||||
"mobs_animal:sheep_brown",
|
||||
|
||||
"mobs_monster:spider",
|
||||
"mobs_monster:small_spider",
|
||||
"mobs_monster:skeleton",
|
||||
|
|
|
@ -539,7 +539,11 @@ local function snowball_impact(thrower, pos)
|
|||
end
|
||||
|
||||
function default.snow_shoot_snowball(itemstack, player, pointed_thing)
|
||||
itemstack:take_item()
|
||||
if not (creative and creative.is_enabled_for and
|
||||
creative.is_enabled_for(player)) or
|
||||
not minetest.is_singleplayer() then
|
||||
itemstack:take_item()
|
||||
end
|
||||
minetest.item_throw("default:snowball_entity", player, 19, -3,
|
||||
snowball_impact)
|
||||
minetest.sound_play("throwing_sound", {
|
||||
|
|
|
@ -137,14 +137,14 @@ minetest.register_node("itemframes:frame",{
|
|||
local name = clicker and clicker:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
drop_item(pos,node)
|
||||
drop_item(pos, node)
|
||||
local s = itemstack:take_item()
|
||||
meta:set_string("item",s:to_string())
|
||||
update_item(pos,node)
|
||||
update_item(pos, node)
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_punch = function(pos,node,puncher)
|
||||
on_punch = function(pos, node, puncher)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local name = puncher and puncher:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
|
|
|
@ -10,9 +10,7 @@ mobs:register_mob("mobs_animal:bear", {
|
|||
run_start = 105, run_end = 135,
|
||||
punch_start = 70, punch_end = 100,
|
||||
},
|
||||
textures = {
|
||||
{"mobs_bear.png"},
|
||||
},
|
||||
textures = {"mobs_bear.png"},
|
||||
sounds = {
|
||||
random = "mobs_bear",
|
||||
attack = "mobs_bear_angry",
|
||||
|
@ -44,12 +42,12 @@ mobs:register_mob("mobs_animal:bear", {
|
|||
fall_damage = 3,
|
||||
fear_height = 4,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
|
||||
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 2, min = 1, max = 1}
|
||||
{name = "mobs:meat_raw"},
|
||||
{name = "mobs:meat_raw"},
|
||||
{name = "mobs:meat_raw", chance = 2},
|
||||
{name = "mobs:meat_raw", chance = 2},
|
||||
{name = "mobs:leather"},
|
||||
{name = "mobs:leather", chance = 2}
|
||||
},
|
||||
replace_what = {
|
||||
"farming:blueberry_4", "farming:raspberry_4"
|
||||
|
@ -79,7 +77,7 @@ mobs:register_mob("mobs_animal:bear", {
|
|||
return
|
||||
end
|
||||
--mobs:capture_mob(self, clicker, 0, 0, 80, false, nil)
|
||||
end,
|
||||
end,
|
||||
after_activate = function(self, staticdata, def, dtime)
|
||||
-- replace bear using the old directx model
|
||||
if self.mesh == "mobs_bear.x" then
|
||||
|
@ -104,6 +102,3 @@ mobs:spawn({
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_animal:bear", "Bear egg", "mobs_bear_egg.png", 1)
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:bear", "mobs_animal:bear")
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
-- Bunny by ExeterDad
|
||||
mobs:register_mob("mobs_animal:bunny", {
|
||||
stepheight = 0.6,
|
||||
type = "animal",
|
||||
|
@ -25,8 +24,8 @@ mobs:register_mob("mobs_animal:bunny", {
|
|||
jump = true,
|
||||
jump_height = 5,
|
||||
drops = {
|
||||
{name = "mobs:rabbit_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:rabbit_hide", chance = 1, min = 0, max = 1},
|
||||
{name = "mobs:rabbit_raw"},
|
||||
{name = "mobs:rabbit_hide", min = 0, max = 1},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 4,
|
||||
|
@ -113,6 +112,3 @@ mobs:spawn({
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_animal:bunny", "Bunny egg", "mobs_bunny_evil.png", 1)
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:bunny", "mobs_animal:bunny")
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
-- Chicken by JK Murray
|
||||
mobs:register_mob("mobs_animal:chicken", {
|
||||
type = "animal",
|
||||
passive = true,
|
||||
|
@ -9,7 +8,6 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||
visual = "mesh",
|
||||
mesh = "mobs_chicken.b3d",
|
||||
textures = {"mobs_chicken.png"},
|
||||
child_texture = {"mobs_chicken.png"},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_chicken",
|
||||
|
@ -18,7 +16,7 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||
run_velocity = 3,
|
||||
runaway = true,
|
||||
drops = {
|
||||
{name = "mobs:chicken_raw", chance = 1, min = 1, max = 1}
|
||||
{name = "mobs:chicken_raw"}
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
|
@ -38,14 +36,12 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||
view_range = 5,
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
--if mobs:capture_mob(self, clicker, 30, 50, 80, false, nil) then return end
|
||||
end,
|
||||
|
||||
do_custom = function(self, dtime)
|
||||
|
||||
self.egg_timer = (self.egg_timer or 0) + dtime
|
||||
if self.egg_timer < 10 then
|
||||
return
|
||||
|
@ -58,9 +54,7 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||
end
|
||||
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
minetest.add_item(pos, "mobs:egg")
|
||||
|
||||
minetest.add_item(pos, "mobs:chicken_egg")
|
||||
minetest.sound_play("default_place_node_hard", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
|
@ -92,8 +86,6 @@ mobs:spawn({
|
|||
|
||||
mobs:register_egg("mobs_animal:chicken", "Chicken egg", "mobs_chicken_egg_inv.png", 1)
|
||||
|
||||
mobs:alias_mob("mobs:chicken", "mobs_animal:chicken") -- compatibility
|
||||
|
||||
-- egg entity
|
||||
|
||||
mobs:register_arrow("mobs_animal:egg_entity", {
|
||||
|
@ -105,14 +97,14 @@ mobs:register_arrow("mobs_animal:egg_entity", {
|
|||
hit_player = function(self, player)
|
||||
player:punch(minetest.get_player_by_name(self.playername) or self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 1},
|
||||
damage_groups = {fleshy=1},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
player:punch(minetest.get_player_by_name(self.playername) or self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 1},
|
||||
damage_groups = {fleshy=1},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
|
@ -136,7 +128,6 @@ mobs:register_arrow("mobs_animal:egg_entity", {
|
|||
local ent2 = mob:get_luaentity()
|
||||
|
||||
mob:set_properties({
|
||||
textures = ent2.child_texture[1],
|
||||
visual_size = {
|
||||
x = ent2.base_size.x / 2,
|
||||
y = ent2.base_size.y / 2
|
||||
|
@ -157,11 +148,8 @@ mobs:register_arrow("mobs_animal:egg_entity", {
|
|||
end
|
||||
})
|
||||
|
||||
|
||||
-- egg throwing item
|
||||
|
||||
local egg_VELOCITY = 19
|
||||
|
||||
-- shoot egg
|
||||
local mobs_shoot_egg = function (item, player, pointed_thing)
|
||||
|
||||
|
@ -182,13 +170,12 @@ local mobs_shoot_egg = function (item, player, pointed_thing)
|
|||
local ent = obj:get_luaentity()
|
||||
local dir = player:get_look_dir()
|
||||
|
||||
ent.velocity = egg_VELOCITY -- needed for api internal timing
|
||||
ent.switch = 1 -- needed so that egg doesn't despawn straight away
|
||||
|
||||
obj:setvelocity({
|
||||
x = dir.x * egg_VELOCITY,
|
||||
y = dir.y * egg_VELOCITY,
|
||||
z = dir.z * egg_VELOCITY
|
||||
x = dir.x * 19,
|
||||
y = dir.y * 19,
|
||||
z = dir.z * 19
|
||||
})
|
||||
|
||||
obj:set_acceleration({
|
||||
|
@ -200,71 +187,20 @@ local mobs_shoot_egg = function (item, player, pointed_thing)
|
|||
-- pass player name to egg for chick ownership
|
||||
local ent2 = obj:get_luaentity()
|
||||
ent2.playername = player:get_player_name()
|
||||
|
||||
item:take_item()
|
||||
|
||||
if not mobs.is_creative(player) or
|
||||
not minetest.is_singleplayer() then
|
||||
item:take_item()
|
||||
end
|
||||
return item
|
||||
end
|
||||
|
||||
|
||||
-- egg
|
||||
minetest.register_node(":mobs:egg", {
|
||||
description = "Egg",
|
||||
tiles = {"mobs_chicken_egg.png"},
|
||||
inventory_image = "mobs_chicken_egg.png",
|
||||
minetest.register_craftitem(":mobs:chicken_egg", {
|
||||
description = "Chicken Egg",
|
||||
inventory_image = "mobs_chicken_egg.png",
|
||||
visual_scale = 0.7,
|
||||
drawtype = "plantlike",
|
||||
wield_image = "mobs_chicken_egg.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
sunlight_propagates = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
||||
},
|
||||
groups = {food_egg = 1, snappy = 2, dig_immediate = 3},
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "mobs:egg", param2 = 1})
|
||||
end
|
||||
end,
|
||||
on_use = mobs_shoot_egg
|
||||
on_use = mobs_shoot_egg,
|
||||
groups = {snappy = 2, dig_immediate = 3}
|
||||
})
|
||||
|
||||
|
||||
-- fried egg
|
||||
minetest.register_craftitem(":mobs:chicken_egg_fried", {
|
||||
description = "Fried Egg",
|
||||
inventory_image = "mobs_chicken_egg_fried.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_egg_fried = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
recipe = "mobs:egg",
|
||||
output = "mobs:chicken_egg_fried",
|
||||
})
|
||||
|
||||
-- raw chicken
|
||||
minetest.register_craftitem(":mobs:chicken_raw", {
|
||||
description = "Raw Chicken",
|
||||
inventory_image = "mobs_chicken_raw.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- cooked chicken
|
||||
minetest.register_craftitem(":mobs:chicken_cooked", {
|
||||
description = "Cooked Chicken",
|
||||
inventory_image = "mobs_chicken_cooked.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
groups = {food_meat = 1, food_chicken = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
recipe = "mobs:chicken_raw",
|
||||
output = "mobs:chicken_cooked",
|
||||
})
|
||||
minetest.register_alias("mobs:egg", "air")
|
||||
|
|
|
@ -24,11 +24,11 @@ mobs:register_mob("mobs_animal:cow", {
|
|||
jump = true,
|
||||
jump_height = 4,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
|
||||
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 2, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 2, min = 1, max = 1}
|
||||
{name = "mobs:meat_raw"},
|
||||
{name = "mobs:meat_raw", chance = 2},
|
||||
{name = "mobs:meat_raw", chance = 2},
|
||||
{name = "mobs:leather", chance = 2},
|
||||
{name = "mobs:leather", chance = 2}
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
|
@ -87,7 +87,6 @@ mobs:register_mob("mobs_animal:cow", {
|
|||
end
|
||||
|
||||
local inv = clicker:get_inventory()
|
||||
|
||||
tool:take_item()
|
||||
clicker:set_wielded_item(tool)
|
||||
|
||||
|
@ -98,12 +97,11 @@ mobs:register_mob("mobs_animal:cow", {
|
|||
pos.y = pos.y + 0.5
|
||||
minetest.add_item(pos, {name = "mobs:bucket_milk"})
|
||||
end
|
||||
|
||||
self.gotten = true -- milked
|
||||
|
||||
return
|
||||
end
|
||||
end,
|
||||
|
||||
on_replace = function(self, pos, oldnode, newnode)
|
||||
|
||||
self.food = (self.food or 0) + 1
|
||||
|
@ -125,7 +123,7 @@ mobs:register_mob("mobs_animal:cow", {
|
|||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
})
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_animal:cow",
|
||||
|
@ -139,56 +137,3 @@ mobs:spawn({
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_animal:cow", "Cow", "mobs_cow_egg.png", 1)
|
||||
|
||||
mobs:alias_mob("mobs:cow", "mobs_animal:cow") -- compatibility
|
||||
|
||||
|
||||
-- bucket of milk
|
||||
minetest.register_craftitem(":mobs:bucket_milk", {
|
||||
description = "Bucket of Milk",
|
||||
inventory_image = "mobs_bucket_milk.png",
|
||||
stack_max = 1,
|
||||
on_use = minetest.item_eat(8, "bucket:bucket_empty"),
|
||||
groups = {food_milk = 1, flammable = 3},
|
||||
})
|
||||
|
||||
-- cheese wedge
|
||||
minetest.register_craftitem(":mobs:cheese", {
|
||||
description = "Cheese",
|
||||
inventory_image = "mobs_cheese.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = {food_cheese = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mobs:cheese",
|
||||
recipe = "mobs:bucket_milk",
|
||||
cooktime = 5,
|
||||
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
||||
})
|
||||
|
||||
-- cheese block
|
||||
minetest.register_node(":mobs:cheeseblock", {
|
||||
description = "Cheese Block",
|
||||
tiles = {"mobs_cheeseblock.png"},
|
||||
is_ground_content = false,
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_dirt_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:cheeseblock",
|
||||
recipe = {
|
||||
{'mobs:cheese', 'mobs:cheese', 'mobs:cheese'},
|
||||
{'mobs:cheese', 'mobs:cheese', 'mobs:cheese'},
|
||||
{'mobs:cheese', 'mobs:cheese', 'mobs:cheese'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:cheese 9",
|
||||
recipe = {
|
||||
{'mobs:cheeseblock'},
|
||||
}
|
||||
})
|
||||
|
|
|
@ -146,7 +146,3 @@ mobs:register_mob("mobs_animal:dog", {
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_animal:dog", "Dog Egg", "wool_brown.png", 1)
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:wolf", "mobs_animal:wolf")
|
||||
mobs:alias_mob("mobs:dog", "mobs_animal:dog")
|
||||
|
|
|
@ -1,22 +1,10 @@
|
|||
|
||||
local path = minetest.get_modpath("mobs_animal")
|
||||
|
||||
-- Animals
|
||||
dofile(path .. "/bear.lua") -- KrupnoPavel
|
||||
dofile(path .. "/bunny.lua") -- ExeterDad
|
||||
dofile(path .. "/chicken.lua") -- JKmurray
|
||||
dofile(path .. "/cow.lua") -- KrupnoPavel
|
||||
dofile(path .. "/dog.lua") -- KrupnoPavel
|
||||
dofile(path .. "/kitten.lua") -- Jordach/BFD
|
||||
dofile(path .. "/pig.lua") -- KrupnoPavel
|
||||
dofile(path .. "/pig.lua") -- -- Warthog(Boar) by KrupnoPavel (MIT). Changed to Boar and tweaked by Kaadmy (WTFPL) and MoNTE48 (LGPLv3)
|
||||
dofile(path .. "/sheep.lua") -- PilzAdam
|
||||
|
||||
-- Removed
|
||||
mobs:register_mob("mobs_animal:rat", {
|
||||
lifetimer = 1,
|
||||
})
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:rat", "mobs_animal:rat")
|
||||
mobs:alias_mob("mobs:rat_meat", "mobs:meat_raw")
|
||||
mobs:alias_mob("mobs:rat_cooked", "mobs:meat")
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
-- Kitten by Jordach / BFD
|
||||
mobs:register_mob("mobs_animal:kitten", {
|
||||
stepheight = 0.6,
|
||||
type = "animal",
|
||||
|
@ -27,7 +26,7 @@ mobs:register_mob("mobs_animal:kitten", {
|
|||
jump = true,
|
||||
jump_height = 5,
|
||||
drops = {
|
||||
{name = "farming:string", chance = 1, min = 1, max = 1}
|
||||
{name = "farming:string"}
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
|
@ -64,5 +63,3 @@ mobs:spawn({
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_animal:kitten", "Cat's egg", "mobs_kitten_egg.png", 1)
|
||||
|
||||
mobs:alias_mob("mobs:kitten", "mobs_animal:kitten") -- compatibility
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
-- Warthog(Boar) by KrupnoPavel (MIT)
|
||||
-- Changed to Boar and tweaked by Kaadmy (WTFPL) and MoNTE48 (LGPLv3)
|
||||
mobs:register_mob("mobs_animal:pig", {
|
||||
type = "animal",
|
||||
passive = false,
|
||||
|
@ -33,9 +31,9 @@ mobs:register_mob("mobs_animal:pig", {
|
|||
end
|
||||
|
||||
return {
|
||||
{name = "mobs:pork_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:pork_raw", chance = 2, min = 1, max = 1},
|
||||
{name = "mobs:pork_raw", chance = 2, min = 1, max = 1}
|
||||
{name = "mobs:pork_raw"},
|
||||
{name = "mobs:pork_raw", chance = 2},
|
||||
{name = "mobs:pork_raw", chance = 2}
|
||||
}
|
||||
end,
|
||||
water_damage = 0,
|
||||
|
@ -69,6 +67,3 @@ mobs:spawn({
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_animal:pig", "Pig egg", "mobs_pig_egg.png", 1)
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:pig", "mobs_animal:pig")
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
-- Sheep by PilzAdam
|
||||
local dyes = dye.dyes
|
||||
|
||||
for i = 1, #dyes do
|
||||
|
@ -15,9 +14,7 @@ for i = 1, #dyes do
|
|||
collisionbox = {-0.4, -1, -0.4, 0.4, 0.3, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_sheep.b3d",
|
||||
textures = {
|
||||
{"mobs_sheep_" .. name .. ".png"},
|
||||
},
|
||||
textures = {"mobs_sheep_" .. name .. ".png"},
|
||||
gotten_texture = {"mobs_sheep_shaved.png"},
|
||||
gotten_mesh = "mobs_sheep_shaved.b3d",
|
||||
makes_footstep_sound = true,
|
||||
|
@ -31,9 +28,9 @@ for i = 1, #dyes do
|
|||
jump = true,
|
||||
jump_height = 3,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
|
||||
{name = "wool:" .. name, chance = 1, min = 1, max = 1}
|
||||
{name = "mobs:meat_raw"},
|
||||
{name = "mobs:meat_raw", chance = 2},
|
||||
{name = "wool:" .. name}
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
|
@ -71,21 +68,16 @@ for i = 1, #dyes do
|
|||
end
|
||||
end,
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
--are we feeding?
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then
|
||||
|
||||
--if fed 7x grass or wheat then sheep regrows wool
|
||||
if self.food and self.food > 6 then
|
||||
|
||||
self.gotten = false
|
||||
|
||||
self.object:set_properties({
|
||||
textures = {"mobs_sheep_" .. name .. ".png"},
|
||||
mesh = "mobs_sheep.b3d",
|
||||
})
|
||||
end
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
|
@ -95,96 +87,73 @@ for i = 1, #dyes do
|
|||
|
||||
--are we giving a haircut>
|
||||
if itemname == "mobs:shears" then
|
||||
|
||||
if self.gotten ~= false
|
||||
or self.child ~= false
|
||||
if self.gotten or self.child
|
||||
or player ~= self.owner
|
||||
or not minetest.get_modpath("wool") then
|
||||
return
|
||||
end
|
||||
|
||||
self.gotten = true -- shaved
|
||||
|
||||
local obj = minetest.add_item(
|
||||
self.object:get_pos(),
|
||||
ItemStack( "wool:" .. name .. " " .. math.random(1, 3) )
|
||||
)
|
||||
|
||||
if obj then
|
||||
|
||||
obj:setvelocity({
|
||||
x = math.random(-1, 1),
|
||||
y = 5,
|
||||
z = math.random(-1, 1)
|
||||
})
|
||||
end
|
||||
|
||||
item:add_wear(650) -- 100 uses
|
||||
|
||||
clicker:set_wielded_item(item)
|
||||
|
||||
self.object:set_properties({
|
||||
textures = {"mobs_sheep_shaved.png"},
|
||||
mesh = "mobs_sheep_shaved.b3d",
|
||||
})
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
--are we coloring?
|
||||
if itemname:find("dye:") then
|
||||
|
||||
if self.gotten == false
|
||||
and self.child == false
|
||||
and self.tamed == true
|
||||
and player == self.owner then
|
||||
|
||||
local colr = string.split(itemname, ":")[2]
|
||||
|
||||
for i = 1, #dyes do
|
||||
local name = unpack(dyes[i])
|
||||
|
||||
if name == colr then
|
||||
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
self.object:remove()
|
||||
|
||||
local mob = minetest.add_entity(pos, "mobs_animal:sheep_" .. colr)
|
||||
local ent = mob:get_luaentity()
|
||||
|
||||
ent.owner = player
|
||||
ent.tamed = true
|
||||
|
||||
-- take item
|
||||
if not mobs.is_creative(clicker:get_player_name()) then
|
||||
if not mobs.is_creative(player) or
|
||||
not minetest.is_singleplayer() then
|
||||
item:take_item()
|
||||
clicker:set_wielded_item(item)
|
||||
end
|
||||
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- protect mod with mobs:protector item
|
||||
if mobs:protect(self, clicker) then return end
|
||||
|
||||
--are we capturing?
|
||||
--if mobs:capture_mob(self, clicker, 0, 5, 60, false, nil) then return end
|
||||
end
|
||||
})
|
||||
|
||||
mobs:register_egg("mobs_animal:sheep_" .. name, desc .. " Sheep egg", "wool_" .. name .. ".png", 1)
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:sheep_" .. name, "mobs_animal:sheep_" .. name)
|
||||
|
||||
minetest.register_alias("mobs_animal:sheep_" .. name, "mobs_animal:sheep_white")
|
||||
end
|
||||
|
||||
mobs:register_egg("mobs_animal:sheep_white", "White Sheep egg", "wool_white.png", 1)
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_animal:sheep_white",
|
||||
nodes = {"default:dirt", "default:sand", "default:redsand", "default:snow", "default:snowblock", "default:dirt_with_snow", "default:dirt_with_grass"},
|
||||
|
@ -239,5 +208,3 @@ mobs:spawn({
|
|||
max_height = 31000,
|
||||
day_toggle = true,
|
||||
})
|
||||
|
||||
mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility
|
||||
|
|
Before Width: | Height: | Size: 253 B |
Before Width: | Height: | Size: 200 B |
|
@ -1,8 +1,5 @@
|
|||
|
||||
local path = minetest.get_modpath("mobs_monster")
|
||||
|
||||
-- Monsters
|
||||
|
||||
dofile(path .. "/skeleton.lua") -- Blockmen
|
||||
dofile(path .. "/spider.lua") -- AspireMint
|
||||
dofile(path .. "/zombie.lua") -- Blockmen
|
||||
|
|
|
@ -2,9 +2,7 @@ mobs:register_mob("mobs_monster:skeleton", {
|
|||
type = "monster",
|
||||
visual = "mesh",
|
||||
mesh = "mobs_zombie.b3d",
|
||||
textures = {
|
||||
{"mobs_skeleton.png"},
|
||||
},
|
||||
textures = {"mobs_skeleton.png"},
|
||||
collisionbox = {-0.25, -1, -0.3, 0.25, 0.75, 0.3},
|
||||
animation = {
|
||||
speed_normal = 10, speed_run = 15,
|
||||
|
@ -36,8 +34,8 @@ mobs:register_mob("mobs_monster:skeleton", {
|
|||
run_velocity = 0.5,
|
||||
jump = false,
|
||||
drops = {
|
||||
{name = "default:bone", chance = 2, min = 1, max = 1},
|
||||
{name = "default:bone", chance = 2, min = 1, max = 1}
|
||||
{name = "default:bone", chance = 2},
|
||||
{name = "default:bone", chance = 2}
|
||||
},
|
||||
after_activate = function(self, staticdata, def, dtime)
|
||||
-- replace skeleton using the old directx model
|
||||
|
@ -62,6 +60,3 @@ mobs:spawn({
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_monster:skeleton", "Skeleton egg", "mobs_chicken_egg.png^default_bone.png", 1)
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:skeleton", "mobs_monster:skeleton")
|
||||
|
|
|
@ -29,8 +29,8 @@ mobs:register_mob("mobs_monster:spider", {
|
|||
view_range = 15,
|
||||
floats = 0,
|
||||
drops = {
|
||||
{name = "farming:string", chance = 1, min = 1, max = 1},
|
||||
{name = "farming:string", chance = 2, min = 1, max = 1}
|
||||
{name = "farming:string"},
|
||||
{name = "farming:string", chance = 2}
|
||||
},
|
||||
water_damage = 5,
|
||||
lava_damage = 5,
|
||||
|
@ -47,16 +47,16 @@ mobs:register_mob("mobs_monster:spider", {
|
|||
punch_start = 25,
|
||||
punch_end = 45,
|
||||
},
|
||||
after_activate = function(self, staticdata, def, dtime)
|
||||
-- replace spider using the old directx model
|
||||
if self.mesh == "mobs_spider.x" then
|
||||
local pos = self.object:get_pos()
|
||||
if pos then
|
||||
minetest.add_entity(pos, self.name)
|
||||
self.object:remove()
|
||||
end
|
||||
after_activate = function(self, staticdata, def, dtime)
|
||||
-- replace spider using the old directx model
|
||||
if self.mesh == "mobs_spider.x" then
|
||||
local pos = self.object:get_pos()
|
||||
if pos then
|
||||
minetest.add_entity(pos, self.name)
|
||||
self.object:remove()
|
||||
end
|
||||
end,
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
mobs:spawn({
|
||||
|
@ -73,8 +73,6 @@ mobs:spawn({
|
|||
mobs:register_egg("mobs_monster:spider", "Spider egg", "mobs_chicken_egg.png^mobs_cobweb.png", 1)
|
||||
mobs:register_egg("mobs_monster:small_spider", "Small Spider egg", "mobs_chicken_egg.png^mobs_cobweb.png", 1)
|
||||
|
||||
mobs:alias_mob("mobs:spider", "mobs_monster:spider") -- compatibility
|
||||
|
||||
-- Small spider
|
||||
|
||||
mobs:register_mob("mobs_monster:small_spider", {
|
||||
|
@ -108,7 +106,7 @@ mobs:register_mob("mobs_monster:small_spider", {
|
|||
view_range = 10,
|
||||
floats = 0,
|
||||
drops = {
|
||||
{name = "farming:string", chance = 1, min = 1, max = 1}
|
||||
{name = "farming:string"}
|
||||
},
|
||||
water_damage = 5,
|
||||
lava_damage = 5,
|
||||
|
@ -125,16 +123,16 @@ mobs:register_mob("mobs_monster:small_spider", {
|
|||
punch_start = 25,
|
||||
punch_end = 45,
|
||||
},
|
||||
after_activate = function(self, staticdata, def, dtime)
|
||||
-- replace spider using the old directx model
|
||||
if self.mesh == "mobs_spider.x" then
|
||||
local pos = self.object:get_pos()
|
||||
if pos then
|
||||
minetest.add_entity(pos, self.name)
|
||||
self.object:remove()
|
||||
end
|
||||
after_activate = function(self, staticdata, def, dtime)
|
||||
-- replace spider using the old directx model
|
||||
if self.mesh == "mobs_spider.x" then
|
||||
local pos = self.object:get_pos()
|
||||
if pos then
|
||||
minetest.add_entity(pos, self.name)
|
||||
self.object:remove()
|
||||
end
|
||||
end,
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
mobs:spawn({
|
||||
|
@ -148,26 +146,6 @@ mobs:spawn({
|
|||
max_height = 31000,
|
||||
})
|
||||
|
||||
-- cobweb
|
||||
minetest.register_node(":mobs:cobweb", {
|
||||
description = "Cobweb",
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.2,
|
||||
tiles = {"mobs_cobweb.png"},
|
||||
inventory_image = "mobs_cobweb.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
liquid_viscosity = 7,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "mobs:cobweb",
|
||||
liquid_alternative_source = "mobs:cobweb",
|
||||
liquid_renewable = false,
|
||||
liquid_range = 0,
|
||||
walkable = false,
|
||||
groups = {snappy = 1, disable_jump = 1, speed = -30},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:cobweb",
|
||||
recipe = {
|
||||
|
|
|
@ -2,9 +2,7 @@ mobs:register_mob("mobs_monster:zombie", {
|
|||
type = "monster",
|
||||
visual = "mesh",
|
||||
mesh = "mobs_zombie.b3d",
|
||||
textures = {
|
||||
{"mobs_zombie.png"},
|
||||
},
|
||||
textures = {"mobs_zombie.png"},
|
||||
collisionbox = {-0.25, -1, -0.3, 0.25, 0.75, 0.3},
|
||||
animation = {
|
||||
speed_normal = 10, speed_run = 15,
|
||||
|
@ -36,9 +34,9 @@ mobs:register_mob("mobs_monster:zombie", {
|
|||
run_velocity = 0.5,
|
||||
jump = false,
|
||||
drops = {
|
||||
{name = "mobs_monster:rotten_flesh", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs_monster:rotten_flesh", chance = 2, min = 1, max = 1},
|
||||
{name = "mobs_monster:rotten_flesh", chance = 2, min = 1, max = 1}
|
||||
{name = "mobs_monster:rotten_flesh"},
|
||||
{name = "mobs_monster:rotten_flesh", chance = 2},
|
||||
{name = "mobs_monster:rotten_flesh", chance = 2}
|
||||
},
|
||||
after_activate = function(self, staticdata, def, dtime)
|
||||
-- replace zombies using the old directx model
|
||||
|
@ -62,14 +60,3 @@ mobs:spawn({
|
|||
})
|
||||
|
||||
mobs:register_egg("mobs_monster:zombie", "Zombie Head", "zombie_head.png", 0)
|
||||
|
||||
-- compatibility
|
||||
mobs:alias_mob("mobs:zombie", "mobs_monster:zombie")
|
||||
mobs:alias_mob("mobs:rotten_flesh", "mobs_monster:rotten_flesh")
|
||||
|
||||
-- rotten flesh
|
||||
minetest.register_craftitem("mobs_monster:rotten_flesh", {
|
||||
description = "Rotten Flesh",
|
||||
inventory_image = "mobs_rotten_flesh.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
|
|
@ -15,7 +15,6 @@ function mobs.is_creative(name)
|
|||
return creative_cache or minetest.check_player_privs(name, {creative = true})
|
||||
end
|
||||
|
||||
|
||||
-- localize math functions
|
||||
local pi = math.pi
|
||||
local square = math.sqrt
|
||||
|
@ -687,9 +686,9 @@ function mob_class:item_drop()
|
|||
|
||||
for n = 1, #self.drops do
|
||||
|
||||
if random(1, self.drops[n].chance) == 1 then
|
||||
if random(1, self.drops[n].chance or 1) == 1 then
|
||||
|
||||
num = random(self.drops[n].min or 0, self.drops[n].max or 1)
|
||||
num = random(self.drops[n].min or 1, self.drops[n].max or 1)
|
||||
item = self.drops[n].name
|
||||
|
||||
-- cook items on a hot death
|
||||
|
@ -3797,7 +3796,10 @@ local function throw_spawn_egg(itemstack, user, pointed_thing)
|
|||
textures = {def.inventory_image},
|
||||
})
|
||||
end
|
||||
itemstack:take_item()
|
||||
if not mobs.is_creative(user) or
|
||||
not minetest.is_singleplayer() then
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
@ -3817,7 +3819,6 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
|
|||
end
|
||||
|
||||
local invimg = background
|
||||
|
||||
if addegg == 1 then
|
||||
invimg = "(" .. invimg ..
|
||||
"^[mask:mobs_egg_overlay.png)"
|
||||
|
@ -3873,8 +3874,8 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
|
|||
if spawn_mob(pos, mob, itemstack:get_metadata(), placer) then
|
||||
-- if not in creative then take item and minimal protection
|
||||
-- against creating a large number of mobs on the server
|
||||
if not mobs.is_creative(placer:get_player_name()) or
|
||||
not minetest.is_singleplayer() then
|
||||
if not mobs.is_creative(placer) or
|
||||
not minetest.is_singleplayer() then
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
|
@ -4230,9 +4231,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
|
||||
-- if not in creative then take item
|
||||
if not mobs.is_creative(name) then
|
||||
|
||||
mob_sta[name]:take_item()
|
||||
|
||||
player:set_wielded_item(mob_sta[name])
|
||||
end
|
||||
|
||||
|
|
|
@ -95,12 +95,6 @@ minetest.register_craftitem("mobs:rabbit_hide", {
|
|||
groups = {flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mobs:rabbit_hide",
|
||||
burntime = 2,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:leather",
|
||||
type = "shapeless",
|
||||
|
@ -110,6 +104,100 @@ minetest.register_craft({
|
|||
}
|
||||
})
|
||||
|
||||
-- fried egg
|
||||
minetest.register_craftitem("mobs:chicken_egg_fried", {
|
||||
description = "Fried Egg",
|
||||
inventory_image = "mobs_chicken_egg_fried.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
recipe = "mobs:chicken_egg",
|
||||
output = "mobs:chicken_egg_fried",
|
||||
})
|
||||
|
||||
-- raw chicken
|
||||
minetest.register_craftitem("mobs:chicken_raw", {
|
||||
description = "Raw Chicken",
|
||||
inventory_image = "mobs_chicken_raw.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- cooked chicken
|
||||
minetest.register_craftitem("mobs:chicken_cooked", {
|
||||
description = "Cooked Chicken",
|
||||
inventory_image = "mobs_chicken_cooked.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
groups = {food_meat = 1, food_chicken = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
recipe = "mobs:chicken_raw",
|
||||
output = "mobs:chicken_cooked",
|
||||
})
|
||||
|
||||
-- bucket of milk
|
||||
minetest.register_craftitem("mobs:bucket_milk", {
|
||||
description = "Bucket of Milk",
|
||||
inventory_image = "mobs_bucket_milk.png",
|
||||
stack_max = 1,
|
||||
on_use = minetest.item_eat(8, "bucket:bucket_empty"),
|
||||
groups = {food_milk = 1, flammable = 3},
|
||||
})
|
||||
|
||||
-- cheese wedge
|
||||
minetest.register_craftitem("mobs:cheese", {
|
||||
description = "Cheese",
|
||||
inventory_image = "mobs_cheese.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = {food_cheese = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mobs:cheese",
|
||||
recipe = "mobs:bucket_milk",
|
||||
cooktime = 5,
|
||||
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
||||
})
|
||||
|
||||
-- cheese block
|
||||
minetest.register_node("mobs:cheeseblock", {
|
||||
description = "Cheese Block",
|
||||
tiles = {"mobs_cheeseblock.png"},
|
||||
is_ground_content = false,
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_dirt_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:cheeseblock",
|
||||
recipe = {
|
||||
{"mobs:cheese", "mobs:cheese", "mobs:cheese"},
|
||||
{"mobs:cheese", "mobs:cheese", "mobs:cheese"},
|
||||
{"mobs:cheese", "mobs:cheese", "mobs:cheese"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:cheese 9",
|
||||
recipe = {
|
||||
{"mobs:cheeseblock"},
|
||||
}
|
||||
})
|
||||
|
||||
-- rotten flesh
|
||||
minetest.register_craftitem("mobs:rotten_flesh", {
|
||||
description = "Rotten Flesh",
|
||||
inventory_image = "mobs_rotten_flesh.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
minetest.register_alias("mobs_monster:rotten_flesh", "mobs:rotten_flesh")
|
||||
minetest.register_alias("mobs:magic_lasso", "farming:string")
|
||||
minetest.register_alias("mobs:lasso", "farming:string")
|
||||
|
||||
|
@ -121,14 +209,34 @@ minetest.register_tool("mobs:shears", {
|
|||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mobs:shears',
|
||||
output = "mobs:shears",
|
||||
recipe = {
|
||||
{'', 'default:steel_ingot', ''},
|
||||
{'', 'group:stick', 'default:steel_ingot'},
|
||||
{"", "default:steel_ingot", ""},
|
||||
{"", "group:stick", "default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
-- protection rune
|
||||
-- cobweb
|
||||
minetest.register_node("mobs:cobweb", {
|
||||
description = "Cobweb",
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.2,
|
||||
tiles = {"mobs_cobweb.png"},
|
||||
inventory_image = "mobs_cobweb.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
liquid_viscosity = 7,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "mobs:cobweb",
|
||||
liquid_alternative_source = "mobs:cobweb",
|
||||
liquid_renewable = false,
|
||||
liquid_range = 0,
|
||||
walkable = false,
|
||||
groups = {snappy = 1, disable_jump = 1, speed = -30},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
-- protection item
|
||||
minetest.register_craftitem("mobs:protector", {
|
||||
description = "Mob Protection Rune",
|
||||
inventory_image = "mobs_protector.png",
|
||||
|
@ -151,14 +259,15 @@ minetest.register_craft({
|
|||
burntime = 3,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mobs:lasso",
|
||||
burntime = 7,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mobs:leather",
|
||||
burntime = 4,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mobs:rabbit_hide",
|
||||
burntime = 2,
|
||||
})
|
||||
|
|
After Width: | Height: | Size: 423 B |
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 578 B After Width: | Height: | Size: 578 B |
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 161 B After Width: | Height: | Size: 161 B |
Before Width: | Height: | Size: 400 B After Width: | Height: | Size: 400 B |
Before Width: | Height: | Size: 620 B After Width: | Height: | Size: 620 B |
Before Width: | Height: | Size: 315 B After Width: | Height: | Size: 315 B |
|
@ -66,7 +66,8 @@ local stair_place = function(itemstack, placer, pointed_thing, stair_node)
|
|||
|
||||
minetest.set_node(pos_a, {name = stair_node, param2 = node_u.param2})
|
||||
|
||||
if not is_creative_enabled_for(name) then
|
||||
if not (creative and creative.is_enabled_for and
|
||||
creative.is_enabled_for(name)) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
|
|
|
@ -287,7 +287,7 @@ void set_default_settings(Settings *settings)
|
|||
settings->setDefault("show_statusline_on_connect", "true");
|
||||
settings->setDefault("enable_damage", "true");
|
||||
settings->setDefault("default_password", "");
|
||||
settings->setDefault("default_privs", "interact, shout, home");
|
||||
settings->setDefault("default_privs", "interact, shout");
|
||||
settings->setDefault("enable_pvp", "true");
|
||||
settings->setDefault("disallow_empty_password", "false");
|
||||
settings->setDefault("disable_anticheat", "false");
|
||||
|
|