Bug fixes, New Cow model

This commit is contained in:
ElCeejo 2022-10-21 15:53:00 -07:00
parent d21634af0e
commit 1bc8aa8e75
12 changed files with 117 additions and 110 deletions

View File

@ -573,6 +573,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if fields.drp_font_scale then
animalia.libri_font_size[plyr_name] = fields.drp_font_scale
local page = libri_players[plyr_name]
if not page then return end
minetest.show_formspec(plyr_name, "animalia:libri_" .. page, get_page(page, meta, plyr_name))
end
if fields.quit or fields.key_enter then

View File

@ -25,56 +25,51 @@ minetest.register_on_mods_loaded(function()
insert_all(frog_biomes, animalia.registered_biome_groups["tropical"].biomes)
end)
creatura.register_mob_spawn("animalia:bat", {
chance = 2,
min_radius = 4,
max_radius = 16,
min_light = 0,
min_height = -512,
max_height = 0,
creatura.register_abm_spawn("animalia:chicken", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 3,
max_group = 5,
biomes = animalia.registered_biome_groups["cave"].biomes,
spawn_in_nodes = true,
spawn_on_gen = true,
nodes = {"air", "ignore"}
biomes = chicken_biomes,
nodes = {"group:soil"},
})
creatura.register_mob_spawn("animalia:chicken", {
chance = 3,
min_group = 3,
max_group = 5,
spawn_on_gen = true,
biomes = chicken_biomes
})
creatura.register_mob_spawn("animalia:cow", {
chance = 3,
creatura.register_abm_spawn("animalia:cow", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 3,
max_group = 4,
spawn_on_gen = true,
biomes = animalia.registered_biome_groups["grassland"].biomes
biomes = animalia.registered_biome_groups["grassland"].biomes,
nodes = {"group:soil"},
neighbors = {"air", "group:grass", "group:flora"}
})
creatura.register_mob_spawn("animalia:fox", {
chance = 4,
creatura.register_abm_spawn("animalia:fox", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 1,
max_group = 2,
spawn_on_gen = true,
biomes = animalia.registered_biome_groups["boreal"].biomes
biomes = animalia.registered_biome_groups["boreal"].biomes,
nodes = {"group:soil"},
})
creatura.register_mob_spawn("animalia:horse", {
chance = 3,
min_group = 4,
max_group = 5,
spawn_on_gen = true,
biomes = animalia.registered_biome_groups["grassland"].biomes
creatura.register_abm_spawn("animalia:horse", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 3,
max_group = 4,
biomes = animalia.registered_biome_groups["grassland"].biomes,
nodes = {"group:soil"},
neighbors = {"air", "group:grass", "group:flora"}
})
creatura.register_abm_spawn("animalia:rat", {
chance = 2000,
interval = 30,
interval = 60,
min_height = -1,
max_height = 1024,
min_group = 1,
@ -94,35 +89,45 @@ creatura.register_abm_spawn("animalia:owl", {
nodes = {"group:leaves"}
})
creatura.register_mob_spawn("animalia:pig", {
chance = 3,
creatura.register_abm_spawn("animalia:pig", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 2,
max_group = 4,
spawn_on_gen = true,
biomes = pig_biomes
max_group = 3,
biomes = pig_biomes,
nodes = {"group:soil"},
})
creatura.register_mob_spawn("animalia:reindeer", {
chance = 4,
creatura.register_abm_spawn("animalia:reindeer", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 6,
max_group = 12,
biomes = animalia.registered_biome_groups["boreal"].biomes
max_group = 8,
biomes = animalia.registered_biome_groups["boreal"].biomes,
nodes = {"group:soil"},
})
creatura.register_mob_spawn("animalia:sheep", {
chance = 3,
creatura.register_abm_spawn("animalia:sheep", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 3,
max_group = 6,
spawn_on_gen = true,
biomes = animalia.registered_biome_groups["grassland"].biomes
biomes = animalia.registered_biome_groups["grassland"].biomes,
nodes = {"group:soil"},
neighbors = {"air", "group:grass", "group:flora"}
})
creatura.register_mob_spawn("animalia:turkey", {
chance = 2,
creatura.register_abm_spawn("animalia:turkey", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 3,
max_group = 4,
spawn_on_gen = true,
biomes = animalia.registered_biome_groups["boreal"].biomes
biomes = animalia.registered_biome_groups["boreal"].biomes,
nodes = {"group:soil"},
})
creatura.register_mob_spawn("animalia:wolf", {
@ -133,16 +138,14 @@ creatura.register_mob_spawn("animalia:wolf", {
biomes = animalia.registered_biome_groups["boreal"].biomes
})
creatura.register_mob_spawn("animalia:tropical_fish", {
chance = 3,
min_height = -128,
max_height = 256,
min_group = 8,
max_group = 12,
spawn_cluster = true,
spawn_in_nodes = true,
spawn_on_gen = true,
nodes = {"default:water_source"}
creatura.register_abm_spawn("animalia:wolf", {
chance = 10000,
min_height = 0,
max_height = 1024,
min_group = 2,
max_group = 3,
biomes = animalia.registered_biome_groups["boreal"].biomes,
nodes = {"group:soil"},
})
-- Ambient Spawning
@ -209,4 +212,14 @@ creatura.register_abm_spawn("animalia:frog", {
max_group = 4,
neighbors = {"group:water"},
nodes = {"group:soil"}
})
creatura.register_abm_spawn("animalia:tropical_fish", {
chance = 2000,
min_height = -128,
max_height = 1,
min_group = 6,
max_group = 12,
nodes = {"group:water"},
neighbors = {"group:coral"}
})

View File

@ -92,12 +92,12 @@ local function register_egg(name, def)
}, def.mob .. "_egg_entity")
local ent = object and object:get_luaentity()
local dir = player:get_look_dir()
obj:set_velocity({
object:set_velocity({
x = dir.x * vel,
y = dir.y * vel,
z = dir.z * vel
})
obj:set_acceleration({
object:set_acceleration({
x = dir.x * -3,
y = -gravity,
z = dir.z * -3

View File

@ -238,7 +238,9 @@ creatura.register_mob("animalia:cat", {
local item_name = clicker:get_wielded_item():get_name()
if item_name == "animalia:net" then return end
local trust = self.trust[clicker:get_player_name()] or 0
local pos = self:get_center_pos()
local pos = self.object:get_pos()
if not pos then return end
pos.y = pos.y + self.height * 0.5
local minppos = vector.add(pos, 1)
local maxppos = vector.subtract(pos, 1)
if animalia.feed(self, clicker, true, true) then

View File

@ -7,7 +7,7 @@ local random = math.random
local follows = {}
minetest.register_on_mods_loaded(function()
for name in pairs(minetest.registered_items) do
for name in pairs(minetest.registered_craftitems) do
if (name:match(":wheat")
or minetest.get_item_group(name, "food_wheat") > 0)
and not tonumber(name:sub(-1))
@ -18,83 +18,73 @@ minetest.register_on_mods_loaded(function()
end)
creatura.register_mob("animalia:cow", {
-- Stats
max_health = 20,
armor_groups = {fleshy = 150},
damage = 0,
speed = 3,
tracking_range = 16,
despawn_after = 1500,
-- Entity Physics
stepheight = 1.1,
turn_rate = 6,
-- Visuals
mesh = "animalia_cow.b3d",
hitbox = {
width = 0.65,
height = 1.5
},
-- Engine Props
visual_size = {x = 10, y = 10},
mesh = "animalia_cow.b3d",
female_textures = {
"animalia_cow_1.png^animalia_cow_udder.png",
"animalia_cow_2.png^animalia_cow_udder.png",
"animalia_cow_3.png^animalia_cow_udder.png",
"animalia_cow_4.png^animalia_cow_udder.png"
"animalia_cow_4.png^animalia_cow_udder.png",
"animalia_cow_5.png^animalia_cow_udder.png"
},
male_textures = {
"animalia_cow_1.png",
"animalia_cow_2.png",
"animalia_cow_3.png",
"animalia_cow_4.png"
"animalia_cow_4.png",
"animalia_cow_5.png"
},
child_textures = {
"animalia_cow_1.png",
"animalia_cow_2.png",
"animalia_cow_3.png",
"animalia_cow_4.png"
"animalia_cow_4.png",
"animalia_cow_5.png"
},
stepheight = 1.1,
-- Creatura Props
max_health = 20,
armor_groups = {fleshy = 100},
damage = 0,
speed = 4,
tracking_range = 16,
despawn_after = 1000,
max_fall = 3,
stepheight = 1.1,
sound = {},
hitbox = {
width = 0.5,
height = 1
},
animations = {
stand = {range = {x = 1, y = 59}, speed = 10, frame_blend = 0.3, loop = true},
walk = {range = {x = 61, y = 79}, speed = 20, frame_blend = 0.3, loop = true},
run = {range = {x = 61, y = 79}, speed = 30, frame_blend = 0.3, loop = true},
},
-- Misc
flee_puncher = true,
catch_with_net = true,
catch_with_lasso = true,
sounds = {
random = {
name = "animalia_cow_random",
gain = 0.4,
distance = 8
},
hurt = {
name = "animalia_cow_hurt",
gain = 0.4,
distance = 8
},
death = {
name = "animalia_cow_death",
gain = 0.4,
distance = 8
}
walk = {range = {x = 71, y = 89}, speed = 20, frame_blend = 0.3, loop = true},
run = {range = {x = 71, y = 89}, speed = 30, frame_blend = 0.3, loop = true},
},
follow = follows,
drops = {
{name = "animalia:beef_raw", min = 1, max = 3, chance = 1},
{name = "animalia:leather", min = 1, max = 3, chance = 2}
},
follow = follows,
fancy_collide = false,
bouyancy_multiplier = 1,
hydrodynamics_multiplier = 1,
-- Animalia Props
flee_puncher = true,
catch_with_net = true,
catch_with_lasso = true,
consumable_nodes = {
["default:dirt_with_grass"] = "default:dirt",
["default:dry_dirt_with_dry_grass"] = "default:dry_dirt"
},
head_data = {
offset = {x = 0, y = 0.7, z = 0.0},
offset = {x = 0, y = 0.8, z = 0.0},
pitch_correction = -65,
pivot_h = 0.75,
pivot_v = 1
},
-- Function
utility_stack = {
{
utility = "animalia:wander",
@ -137,6 +127,7 @@ creatura.register_mob("animalia:cow", {
},
animalia.global_utils.basic_flee
},
-- Functions
activate_func = function(self)
animalia.initialize_api(self)
animalia.initialize_lasso(self)

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 11 KiB