first commit
3
LICENSE.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Models, icons and textures by runs.
|
||||||
|
License: GPLv3
|
||||||
|
|
275
api.lua
Normal file
@ -0,0 +1,275 @@
|
|||||||
|
local S = ...
|
||||||
|
|
||||||
|
petz = {}
|
||||||
|
|
||||||
|
petz.register_cubic = function(node_name, fixed, tiles)
|
||||||
|
minetest.register_node(node_name, {
|
||||||
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = fixed,
|
||||||
|
},
|
||||||
|
tiles = tiles,
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {not_in_creative_inventory = 1},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
petz.settings = {}
|
||||||
|
petz.settings.mesh = nil
|
||||||
|
petz.settings.visual_size = {}
|
||||||
|
petz.settings.rotate = 0
|
||||||
|
|
||||||
|
--
|
||||||
|
--Form Dialog
|
||||||
|
--
|
||||||
|
|
||||||
|
--Context
|
||||||
|
petz.pet = {} -- A table of pet["owner_name"]="owner_name"
|
||||||
|
|
||||||
|
petz.create_form = function(player_name, pet_name)
|
||||||
|
local pet = petz.pet[player_name]
|
||||||
|
if pet.affinity == nil then
|
||||||
|
pet.affinity = 0
|
||||||
|
end
|
||||||
|
local form_pet_orders
|
||||||
|
if petz.settings.tamagochi_mode == true then
|
||||||
|
form_pet_orders =
|
||||||
|
"size[5,5;]"..
|
||||||
|
"image[0,0;1,1;petz_spawnegg_"..pet_name..".png]"..
|
||||||
|
"label[1,0;".. S("Orders").."]"..
|
||||||
|
"image[3,1;1,1;petz_affinity_heart.png]"..
|
||||||
|
"label[4,1;".. tostring(pet.affinity).."%]"..
|
||||||
|
"image[3,2;1,1;petz_pet_bowl_inv.png]"
|
||||||
|
local hungry_label = ""
|
||||||
|
if pet.fed == false then
|
||||||
|
hungry_label = "Hungry"
|
||||||
|
else
|
||||||
|
hungry_label = "Saciated"
|
||||||
|
end
|
||||||
|
form_pet_orders = form_pet_orders .. "label[4,2;"..S(hungry_label).."]"
|
||||||
|
else
|
||||||
|
form_pet_orders =
|
||||||
|
"size[3,5;]"..
|
||||||
|
"image[1,0;1,1;petz_spawnegg_"..pet_name..".png]"
|
||||||
|
end
|
||||||
|
form_pet_orders = form_pet_orders..
|
||||||
|
"button_exit[0,1;3,1;btn_followme;"..S("Follow me").."]"..
|
||||||
|
"button_exit[0,2;3,1;btn_standhere;"..S("Stand here").."]"..
|
||||||
|
"button_exit[0,3;3,1;btn_ownthing;"..S("Do your own thing").."]"..
|
||||||
|
"button_exit[1,4;1,1;btn_close;"..S("Close").."]"
|
||||||
|
return form_pet_orders
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
|
if (formname ~= "petz:form_orders") then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local pet = petz.pet[player:get_player_name()]
|
||||||
|
if pet == nil then -- if pet dies after her formspec opened
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
--brewing.magic_sound("to_player", player, "brewing_select")
|
||||||
|
if fields.btn_followme then
|
||||||
|
pet.type = "npc"
|
||||||
|
pet.order = "follow"
|
||||||
|
elseif fields.btn_standhere then
|
||||||
|
pet.type = "animal"
|
||||||
|
pet.order = "stand"
|
||||||
|
elseif fields.btn_ownthing then
|
||||||
|
pet.type = "animal"
|
||||||
|
pet.order = ""
|
||||||
|
pet.state = "walk"
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Increase/Descrease the pet affinity
|
||||||
|
--
|
||||||
|
|
||||||
|
petz.set_affinity = function(self, increase, amount)
|
||||||
|
local new_affinitty
|
||||||
|
if increase == true then
|
||||||
|
new_affinitty = self.affinity + amount
|
||||||
|
else
|
||||||
|
new_affinitty = self.affinity - amount
|
||||||
|
end
|
||||||
|
if new_affinitty > 100 then
|
||||||
|
new_affinitty = 100
|
||||||
|
elseif new_affinitty <0 then
|
||||||
|
new_affinitty = 0
|
||||||
|
end
|
||||||
|
self.affinity = new_affinitty
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
--The Timer for the Tamagochi Mode
|
||||||
|
|
||||||
|
petz.timer = function(self, pet_name)
|
||||||
|
minetest.after(petz.settings.tamagochi_check_time, function(self, pet_name)
|
||||||
|
if not(self.object== nil) then
|
||||||
|
local pos = self.object:get_pos()
|
||||||
|
if not(pos == nil) then --important for if the pet dies
|
||||||
|
local pos_below = {
|
||||||
|
x = pos.x,
|
||||||
|
y = pos.y - 1.5,
|
||||||
|
z = pos.z,
|
||||||
|
}
|
||||||
|
local node = minetest.get_node_or_nil(pos_below)
|
||||||
|
--minetest.chat_send_player(self.owner, petz.settings.tamagochi_safe_node)
|
||||||
|
if node and (node.name == petz.settings.tamagochi_safe_node) then
|
||||||
|
self.init_timer = true
|
||||||
|
return
|
||||||
|
end
|
||||||
|
else --if the pos is nil, it means that the pet died before 'minetest.after_effect'
|
||||||
|
self.init_timer = false --so no more timer
|
||||||
|
return
|
||||||
|
end
|
||||||
|
--Decrease affinitty always a bit amount because the pet lost some affinitty
|
||||||
|
petz.set_affinity(self, false, 10)
|
||||||
|
--Decrease health if pet has not fed
|
||||||
|
if self.fed == false then
|
||||||
|
local current_health = self.health
|
||||||
|
new_health = current_health - petz.settings.tamagochi_hunger_damage
|
||||||
|
if new_health>=0 then
|
||||||
|
self.health = new_health
|
||||||
|
petz.set_affinity(self, false, 33)
|
||||||
|
else
|
||||||
|
self.health = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--If the pet has not brushed
|
||||||
|
if self.brushed == false then
|
||||||
|
petz.set_affinity(self, false, 20)
|
||||||
|
end
|
||||||
|
--Reset the variables
|
||||||
|
self.fed = false
|
||||||
|
self.brushed = false
|
||||||
|
--If the pet starves to death
|
||||||
|
if self.health == 0 then
|
||||||
|
minetest.chat_send_player(self.owner, S("Your").. " "..pet_name.." "..S("has starved to death!!!"))
|
||||||
|
self.init_timer = false -- no more timing
|
||||||
|
--I the pet get bored of you
|
||||||
|
elseif self.affinity == 0 then
|
||||||
|
minetest.chat_send_player(self.owner, S("Your").." "..pet_name.." "..S("has abandoned you!!!"))
|
||||||
|
self.owner = "" --the pet abandon you
|
||||||
|
self.init_timer = false -- no more timing
|
||||||
|
--Else reinit the timer, to check again in the future
|
||||||
|
else
|
||||||
|
self.init_timer = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end, self, pet_name)
|
||||||
|
self.init_timer = false --the timer is reinited in the minetest.after function
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
--Mobs Redo Events
|
||||||
|
--
|
||||||
|
|
||||||
|
petz.on_rightclick = function(self, clicker, pet_name)
|
||||||
|
if not(clicker:is_player()) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local player_name = clicker:get_player_name()
|
||||||
|
local wielded_item = clicker:get_wielded_item()
|
||||||
|
local wielded_item_name= wielded_item:get_name()
|
||||||
|
--If brushing
|
||||||
|
if wielded_item_name == "petz:hairbrush" then
|
||||||
|
if (self.owner ~= player_name) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if petz.settings.tamagochi_mode == true and self.brushed == false then
|
||||||
|
petz.set_affinity(self, true, 5)
|
||||||
|
self.brushed = true
|
||||||
|
elseif petz.settings.tamagochi_mode == true and self.brushed == true then
|
||||||
|
minetest.chat_send_player(self.owner, S("Your").." "..pet_name.." "..S("had already been brushed."))
|
||||||
|
end
|
||||||
|
petz.do_sound_effect("object", self.object, "petz_brushing")
|
||||||
|
petz.do_particles_effect(self.object, self.object:get_pos(), "star")
|
||||||
|
--If feeded
|
||||||
|
elseif mobs:feed_tame(self, clicker, 5, false, true) then
|
||||||
|
if petz.settings.tamagochi_mode == true and self.fed == false then
|
||||||
|
petz.set_affinity(self, true, 5)
|
||||||
|
self.fed = true
|
||||||
|
end
|
||||||
|
petz.do_sound_effect("object", self.object, "petz_"..pet_name.."_moaning")
|
||||||
|
petz.do_particles_effect(self.object, self.object:get_pos(), "heart")
|
||||||
|
elseif (wielded_item_name == "mobs:lasso") or (wielded_item_name == "mobs:net") then
|
||||||
|
if mobs:capture_mob(self, clicker, 0, 100, 100, true, nil) then
|
||||||
|
minetest.chat_send_player(self.owner, S("Your").." "..pet_name.." "..S("has been captured."))
|
||||||
|
end
|
||||||
|
--Else open the Form
|
||||||
|
else
|
||||||
|
petz.pet[player_name]= self
|
||||||
|
minetest.show_formspec(player_name, "petz:form_orders", petz.create_form(player_name, pet_name))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
petz.on_die = function(self, pos)
|
||||||
|
petz.pet[self.owner]= nil
|
||||||
|
end
|
||||||
|
|
||||||
|
petz.do_punch = function (self, hitter, time_from_last_punch, tool_capabilities, direction)
|
||||||
|
if petz.settings.tamagochi_mode == true then
|
||||||
|
if self.owner == hitter:get_player_name() then
|
||||||
|
if self.affinity == nil then
|
||||||
|
self.affinity = 0
|
||||||
|
end
|
||||||
|
self.affinity = self.affinity - 20
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
--Effects
|
||||||
|
--
|
||||||
|
|
||||||
|
petz.do_particles_effect = function(obj, pos, particle_type)
|
||||||
|
local minpos
|
||||||
|
minpos = {
|
||||||
|
x = pos.x,
|
||||||
|
y = pos.y,
|
||||||
|
z = pos.z
|
||||||
|
}
|
||||||
|
local maxpos
|
||||||
|
maxpos = {
|
||||||
|
x = minpos.x+0.4,
|
||||||
|
y = minpos.y-0.5,
|
||||||
|
z = minpos.z+0.4
|
||||||
|
}
|
||||||
|
local texture_name
|
||||||
|
local particles_amount
|
||||||
|
if particle_type == "star" then
|
||||||
|
texture_name = "petz_star_particle.png"
|
||||||
|
particles_amount = 20
|
||||||
|
elseif particle_type == "heart" then
|
||||||
|
texture_name = "petz_affinity_heart.png"
|
||||||
|
particles_amount = 10
|
||||||
|
end
|
||||||
|
minetest.add_particlespawner({
|
||||||
|
--attached = obj,
|
||||||
|
amount = particles_amount,
|
||||||
|
time = 1.5,
|
||||||
|
minpos = minpos,
|
||||||
|
maxpos = maxpos,
|
||||||
|
--minvel = {x=1, y=0, z=1},
|
||||||
|
--maxvel = {x=1, y=0, z=1},
|
||||||
|
--minacc = {x=1, y=0, z=1},
|
||||||
|
--maxacc = {x=1, y=0, z=1},
|
||||||
|
minexptime = 1,
|
||||||
|
maxexptime = 1,
|
||||||
|
minsize = 1.0,
|
||||||
|
maxsize = 1.5,
|
||||||
|
collisiondetection = false,
|
||||||
|
vertical = false,
|
||||||
|
texture = texture_name,
|
||||||
|
glow = 14
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
petz.do_sound_effect = function(dest, dest_name, soundfile)
|
||||||
|
minetest.sound_play(soundfile, {dest = dest_name, gain = 0.4})
|
||||||
|
end
|
148
calf.lua
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
--
|
||||||
|
--CALF
|
||||||
|
--
|
||||||
|
petz = {}
|
||||||
|
|
||||||
|
local tiles = {
|
||||||
|
"petz_calf_top.png",
|
||||||
|
"petz_calf_bottom.png",
|
||||||
|
"petz_calf_right.png",
|
||||||
|
"petz_calf_left.png",
|
||||||
|
"petz_calf_back.png",
|
||||||
|
"petz_calf_front.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
local tiles2 = {
|
||||||
|
"petz_calf2_top.png",
|
||||||
|
"petz_calf2_bottom.png",
|
||||||
|
"petz_calf2_right.png",
|
||||||
|
"petz_calf2_left.png",
|
||||||
|
"petz_calf2_back.png",
|
||||||
|
"petz_calf2_front.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
local fixed = {
|
||||||
|
{-0.125, -0.5, 0.125, -0.0625, -0.375, 0.1875}, -- back_right_leg
|
||||||
|
{-0.125, -0.5, -0.125, -0.0625, -0.375, -0.0625}, -- front_right_leg
|
||||||
|
{0, -0.5, -0.125, 0.0625, -0.375, -0.0625}, -- front_left_leg
|
||||||
|
{0, -0.5, 0.125, 0.0625, -0.375, 0.1875}, -- back_left_leg
|
||||||
|
{-0.125, -0.375, -0.125, 0.0625, -0.1875, 0.1875}, -- body
|
||||||
|
{-0.125, -0.25, -0.1875, 0.0625, -0.0625001, -1.63913e-07}, -- head
|
||||||
|
{-0.0625, -0.3125, 0.1875, 1.11759e-08, -0.1875, 0.25}, -- tail
|
||||||
|
{0.0625, -0.125, -0.125, 0.125, -1.86265e-08, -0.0625}, -- left_horn
|
||||||
|
{-0.1875, -0.125, -0.125, -0.125, 1.49012e-08, -0.0625}, -- right_horn
|
||||||
|
}
|
||||||
|
|
||||||
|
minetest.register_node("petz:calf_block", {
|
||||||
|
tiles =tiles,
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = fixed,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("petz:calf_block2", {
|
||||||
|
tiles =tiles2,
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = fixed,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
mobs:register_mob("petz:calf", {
|
||||||
|
type = "animal",
|
||||||
|
passive = false,
|
||||||
|
gotten = false,
|
||||||
|
attack_type = "dogfight",
|
||||||
|
attack_npcs = false,
|
||||||
|
reach = 2,
|
||||||
|
damage = 4,
|
||||||
|
hp_min = 5,
|
||||||
|
hp_max = 20,
|
||||||
|
armor = 200,
|
||||||
|
collisionbox = {-0.6, -1.725, -0.5, 0.6, -0.15, 0.5},
|
||||||
|
visual = "wielditem",
|
||||||
|
visual_size = {x = 2.3, y = 2.3},
|
||||||
|
rotate = 180,
|
||||||
|
textures = {{"petz:calf_block2"}, {"petz:calf_block"}},
|
||||||
|
makes_footstep_sound = true,
|
||||||
|
walk_velocity = 0.35,
|
||||||
|
run_velocity = 0.5,
|
||||||
|
jump = false,
|
||||||
|
pushable = true,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:meat_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 3,},
|
||||||
|
{name = "mobs:leather",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 2,}
|
||||||
|
},
|
||||||
|
drawtype = "front",
|
||||||
|
water_damage = 2,
|
||||||
|
lava_damage = 5,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_cow",
|
||||||
|
},
|
||||||
|
follow = {"farming:wheat", "default:grass_1"},
|
||||||
|
view_range = 8,
|
||||||
|
replace_rate = 10,
|
||||||
|
replace_what = {
|
||||||
|
{"group:grass", "air", 0},
|
||||||
|
{"default:dirt_with_grass", "default:dirt", -1}
|
||||||
|
},
|
||||||
|
fear_height = 2,
|
||||||
|
on_rightclick = function(self, clicker)
|
||||||
|
-- feed or tame
|
||||||
|
if mobs:feed_tame(self, clicker, 8, true, true) then
|
||||||
|
-- if fed 7x wheat or grass then cow can be milked again
|
||||||
|
if self.food and self.food > 6 then
|
||||||
|
self.gotten = false
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if mobs:protect(self, clicker) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local tool = clicker:get_wielded_item()
|
||||||
|
local name = clicker:get_player_name()
|
||||||
|
-- milk cow with empty bucket
|
||||||
|
if tool:get_name() == "bucket:bucket_empty" then
|
||||||
|
if self.child == true then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if self.gotten == true then
|
||||||
|
minetest.sound_play("petz_calfy",{pos=pos, max_hear_distance=3, gain=0.5, loop=false})
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local inv = clicker:get_inventory()
|
||||||
|
tool:take_item()
|
||||||
|
clicker:set_wielded_item(tool)
|
||||||
|
if inv:room_for_item("main", {name = "petz:bucket_milk"}) then
|
||||||
|
clicker:get_inventory():add_item("main", "petz:bucket_milk")
|
||||||
|
else
|
||||||
|
local pos = self.object:get_pos()
|
||||||
|
pos.y = pos.y + 0.5
|
||||||
|
minetest.add_item(pos, {name = "petz:bucket_milk"})
|
||||||
|
end
|
||||||
|
self.gotten = true -- milked
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
on_replace = function(self, pos, oldnode, newnode)
|
||||||
|
self.food = (self.food or 0) + 1
|
||||||
|
-- if cow replaces 6x grass then it can be milked again
|
||||||
|
if self.food >= 6 then
|
||||||
|
self.food = 0
|
||||||
|
self.gotten = false
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
74
chicken.lua
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
--
|
||||||
|
--CHICKEN
|
||||||
|
--
|
||||||
|
minetest.register_node("petz:chicken_block", {
|
||||||
|
tiles = {
|
||||||
|
"petz_chicken_top.png",
|
||||||
|
"petz_chicken_bottom.png",
|
||||||
|
"petz_chicken_right.png",
|
||||||
|
"petz_chicken_left.png",
|
||||||
|
"petz_chicken_back.png",
|
||||||
|
"petz_chicken_front.png"
|
||||||
|
},
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {not_in_creative_inventory = 1},
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, -0.0625, -0.0625, -0.4375, 7.45058e-09}, -- right_leg
|
||||||
|
{0, -0.5, -0.0625, 0.0625, -0.4375, 1.86265e-08}, -- left_leg
|
||||||
|
{-0.125, -0.4375, -0.125, 0.0625, -0.25, 0.0625}, -- body
|
||||||
|
{-0.0625, -0.3125, 0.0625, 9.31323e-09, -0.25, 0.125}, -- tail
|
||||||
|
{-0.0625, -0.25, -0.1875, 1.11759e-08, -0.1875, -0.125}, -- beak
|
||||||
|
{-0.0625, -0.125, -0.125, -3.72529e-09, -0.0625, -0.0625}, -- crest
|
||||||
|
{-0.125, -0.25, -0.125, 0.0625, -0.125, 9.68575e-08}, -- head
|
||||||
|
{0.0625, -0.3125, -0.0625, 0.125, -0.25, 0.0625}, -- left_wing_top
|
||||||
|
{0.0625, -0.375, -0.0625, 0.125, -0.3125, 0}, -- left_wing_bottom
|
||||||
|
{-0.1875, -0.3125, -0.0625, -0.125, -0.25, 0.0625}, -- right_wing_top
|
||||||
|
{-0.1875, -0.375, -0.0625, -0.125, -0.3125, 0}, -- right_wing_bottom
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
mobs:register_mob("petz:chicken", {
|
||||||
|
type = "animal",
|
||||||
|
rotate = 180,
|
||||||
|
damage = 8,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
armor = 200,
|
||||||
|
visual = "wielditem",
|
||||||
|
visual_size = {x=1.0, y=1.0},
|
||||||
|
textures = {"petz:chicken_block"},
|
||||||
|
collisionbox = {-0.2, -0.75, -0.2, 0.2, -0.125, 0.2},
|
||||||
|
makes_footstep_sound = false,
|
||||||
|
walk_velocity = 0.75,
|
||||||
|
run_velocity = 1,
|
||||||
|
runaway = true,
|
||||||
|
pushable = true,
|
||||||
|
jump = true,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:meat_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 1,},
|
||||||
|
},
|
||||||
|
water_damage = 2,
|
||||||
|
lava_damage = 6,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_chicken",
|
||||||
|
},
|
||||||
|
animation = {
|
||||||
|
speed_normal = 15,
|
||||||
|
speed_run = 15,
|
||||||
|
stand_start = 0,
|
||||||
|
stand_end = 80,
|
||||||
|
walk_start = 81,
|
||||||
|
walk_end = 100,
|
||||||
|
},
|
||||||
|
view_range = 4,
|
||||||
|
fear_height = 3,
|
||||||
|
})
|
105
ducky.lua
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
--
|
||||||
|
--DUCKY
|
||||||
|
--
|
||||||
|
minetest.register_node("petz:ducky_block", {
|
||||||
|
tiles = {
|
||||||
|
"petz_ducky_top.png",
|
||||||
|
"petz_ducky_bottom.png",
|
||||||
|
"petz_ducky_right.png",
|
||||||
|
"petz_ducky_left.png",
|
||||||
|
"petz_ducky_back.png",
|
||||||
|
"petz_ducky_front.png"
|
||||||
|
},
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {not_in_creative_inventory = 1},
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, -0.0625, -0.0625, -0.4375, 7.45058e-09}, -- right_leg
|
||||||
|
{0, -0.5, -0.0625, 0.0625, -0.4375, 1.86265e-08}, -- left_leg
|
||||||
|
{-0.125, -0.4375, -0.125, 0.0625, -0.25, 0.0625}, -- body
|
||||||
|
{-0.125, -0.3125, 0.0625, 0.0625, -0.25, 0.125}, -- tail_top
|
||||||
|
{-0.125, -0.25, -0.1875, 0.0625, -0.1875, -0.125}, -- beak
|
||||||
|
{-0.125, -0.25, -0.125, 0.0625, -0.0625, 9.68575e-08}, -- head
|
||||||
|
{0.0625, -0.3125, -0.0625, 0.125, -0.25, 0.0625}, -- left_wing_top
|
||||||
|
{0.0625, -0.375, -0.0625, 0.125, -0.3125, 0}, -- left_wing_bottom
|
||||||
|
{-0.1875, -0.3125, -0.0625, -0.125, -0.25, 0.0625}, -- right_wing_top
|
||||||
|
{-0.1875, -0.375, -0.0625, -0.125, -0.3125, 0}, -- right_wing_bottom
|
||||||
|
{-0.0625, -0.375, 0.0625, -3.35276e-08, -0.3125, 0.125}, -- tail_bottom
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("petz:ducky_block2", {
|
||||||
|
tiles = {
|
||||||
|
"petz_ducky2_top.png",
|
||||||
|
"petz_ducky2_bottom.png",
|
||||||
|
"petz_ducky2_right.png",
|
||||||
|
"petz_ducky2_left.png",
|
||||||
|
"petz_ducky2_back.png",
|
||||||
|
"petz_ducky2_front.png"
|
||||||
|
},
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {not_in_creative_inventory = 1},
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, -0.0625, -0.0625, -0.4375, 7.45058e-09}, -- right_leg
|
||||||
|
{0, -0.5, -0.0625, 0.0625, -0.4375, 1.86265e-08}, -- left_leg
|
||||||
|
{-0.125, -0.4375, -0.125, 0.0625, -0.25, 0.0625}, -- body
|
||||||
|
{-0.125, -0.3125, 0.0625, 0.0625, -0.25, 0.125}, -- tail_top
|
||||||
|
{-0.125, -0.25, -0.1875, 0.0625, -0.1875, -0.125}, -- beak
|
||||||
|
{-0.125, -0.25, -0.125, 0.0625, -0.0625, 9.68575e-08}, -- head
|
||||||
|
{0.0625, -0.3125, -0.0625, 0.125, -0.25, 0.0625}, -- left_wing_top
|
||||||
|
{0.0625, -0.375, -0.0625, 0.125, -0.3125, 0}, -- left_wing_bottom
|
||||||
|
{-0.1875, -0.3125, -0.0625, -0.125, -0.25, 0.0625}, -- right_wing_top
|
||||||
|
{-0.1875, -0.375, -0.0625, -0.125, -0.3125, 0}, -- right_wing_bottom
|
||||||
|
{-0.0625, -0.375, 0.0625, -3.35276e-08, -0.3125, 0.125}, -- tail_bottom
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
mobs:register_mob("petz:ducky", {
|
||||||
|
type = "animal",
|
||||||
|
rotate = 180,
|
||||||
|
damage = 8,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
armor = 200,
|
||||||
|
visual = "wielditem",
|
||||||
|
visual_size = {x=1.0, y=1.0},
|
||||||
|
textures = {{"petz:ducky_block2"}, {"petz:ducky_block"}},
|
||||||
|
collisionbox = {-0.2, -0.75, -0.2, 0.2, -0.125, 0.2},
|
||||||
|
makes_footstep_sound = false,
|
||||||
|
walk_velocity = 0.75,
|
||||||
|
run_velocity = 1,
|
||||||
|
runaway = true,
|
||||||
|
pushable = true,
|
||||||
|
jump = true,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:meat_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 1,},
|
||||||
|
},
|
||||||
|
water_damage = 2,
|
||||||
|
lava_damage = 6,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_ducky",
|
||||||
|
},
|
||||||
|
animation = {
|
||||||
|
speed_normal = 15,
|
||||||
|
speed_run = 15,
|
||||||
|
stand_start = 0,
|
||||||
|
stand_end = 80,
|
||||||
|
walk_start = 81,
|
||||||
|
walk_end = 100,
|
||||||
|
},
|
||||||
|
view_range = 4,
|
||||||
|
fear_height = 3,
|
||||||
|
})
|
74
init.lua
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
--
|
||||||
|
-- petz
|
||||||
|
-- License:GPL3
|
||||||
|
--
|
||||||
|
|
||||||
|
local modname = "petz"
|
||||||
|
local modpath = minetest.get_modpath(modname)
|
||||||
|
|
||||||
|
-- internationalization boilerplate
|
||||||
|
local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
|
|
||||||
|
assert(loadfile(modpath .. "/api.lua"))(S)
|
||||||
|
assert(loadfile(modpath .. "/settings.lua"))(modpath, S) --Load the settings
|
||||||
|
assert(loadfile(modpath .. "/nodes.lua"))(modpath, S) --Load the nodes
|
||||||
|
|
||||||
|
if petz.settings.kitty_spawn then
|
||||||
|
|
||||||
|
assert(loadfile(modpath .. "/kitty_"..petz.settings.type_api..".lua"))(S)
|
||||||
|
|
||||||
|
mobs:register_egg("petz:kitty", S("Kitty"), "petz_spawnegg_kitty.png", 0)
|
||||||
|
|
||||||
|
mobs:spawn({
|
||||||
|
name = "petz:kitty",
|
||||||
|
nodes = {"default:dirt_with_grass"},
|
||||||
|
neighbors = {"group:leaves"},
|
||||||
|
min_light = 3,
|
||||||
|
max_light = 5,
|
||||||
|
interval = 90,
|
||||||
|
chance = 900,
|
||||||
|
min_height = 1,
|
||||||
|
max_height = 300,
|
||||||
|
day_toggle = false,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
--Pet Hairbrush
|
||||||
|
if petz.settings.tamagochi_mode then
|
||||||
|
|
||||||
|
minetest.register_craftitem("petz:hairbrush", {
|
||||||
|
description = S("Hairbrush"),
|
||||||
|
inventory_image = "petz_hairbrush.png",
|
||||||
|
wield_image = "petz_hairbrush.png"
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shaped",
|
||||||
|
output = "petz:hairbrush",
|
||||||
|
recipe = {
|
||||||
|
{"", "", ""},
|
||||||
|
{"", "default:stick", "farming:string"},
|
||||||
|
{"default:stick", "", ""},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
if petz.settings.puppy_spawn then
|
||||||
|
|
||||||
|
assert(loadfile(modpath .. "/puppy_"..petz.settings.type_api..".lua"))(S)
|
||||||
|
|
||||||
|
mobs:register_egg("petz:puppy", S("Puppy"), "petz_spawnegg_puppy.png", 0)
|
||||||
|
|
||||||
|
mobs:spawn({
|
||||||
|
name = "petz:puppy",
|
||||||
|
nodes = {"default:dirt_with_grass"},
|
||||||
|
neighbors = {"group:leaves"},
|
||||||
|
min_light = 3,
|
||||||
|
max_light = 5,
|
||||||
|
interval = 90,
|
||||||
|
chance = 900,
|
||||||
|
min_height = 1,
|
||||||
|
max_height = 300,
|
||||||
|
day_toggle = false,
|
||||||
|
})
|
||||||
|
end
|
70
kitty_mobkit.lua
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
--
|
||||||
|
--KITTY
|
||||||
|
--
|
||||||
|
|
||||||
|
local TYPE_MODEL, Visual, VisualSize, Mesh, Rotate, Textures, CollisionBox = ...
|
||||||
|
|
||||||
|
if TYPE_MODEL == "cubic" then
|
||||||
|
minetest.register_node("petz:kitty_block", {
|
||||||
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, 0.0625, -0.0625, -0.375, 0.125}, -- back_right_leg
|
||||||
|
{-0.125, -0.5, -0.1875, -0.0625, -0.375, -0.125}, -- front_right_leg
|
||||||
|
{0, -0.5, -0.1875, 0.0625, -0.375, -0.125}, -- front_left_leg
|
||||||
|
{0, -0.5, 0.0625, 0.0625, -0.375, 0.125}, -- back_left_leg
|
||||||
|
{-0.125, -0.375, -0.1875, 0.0625, -0.25, 0.125}, -- body
|
||||||
|
{-0.125, -0.3125, -0.3125, 0.0625, -0.125, -0.125}, -- head
|
||||||
|
{-0.0625, -0.3125, 0.125, 0.0, -0.25, 0.1875}, -- top_tail
|
||||||
|
{-0.125, -0.125, -0.25, -0.0625, -0.0625, -0.1875}, -- right_ear
|
||||||
|
{-0.0625, -0.375, 0.1875, 0.0, -0.3125, 0.3125}, -- bottom_tail
|
||||||
|
{0, -0.125, -0.25, 0.0625, -0.0625, -0.1875}, -- left_ear
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tiles = {
|
||||||
|
"petz_kitty_top.png",
|
||||||
|
"petz_kitty_bottom.png",
|
||||||
|
"petz_kitty_right.png",
|
||||||
|
"petz_kitty_left.png",
|
||||||
|
"petz_kitty_back.png",
|
||||||
|
"petz_kitty_front.png"
|
||||||
|
},
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {not_in_creative_inventory = 1},
|
||||||
|
})
|
||||||
|
Textures= {"petz:kitty_block"}
|
||||||
|
CollisionBox = {-0.35, -0.75, -0.28, 0.35, -0.125, 0.28}
|
||||||
|
else
|
||||||
|
Mesh = 'petz_kitty.b3d'
|
||||||
|
Textures= {"petz_kitty.png"}
|
||||||
|
CollisionBox = {-0.35, -0.5, -0.28, 0.35, -0.125, 0.28}
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.register_entity("petz:kitty", {
|
||||||
|
-- common props
|
||||||
|
physical = true,
|
||||||
|
rotate = Rotate,
|
||||||
|
damage = 8,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
armor = 200,
|
||||||
|
affinitty = 100,
|
||||||
|
--stepheight = 1,
|
||||||
|
collide_with_objects = true,
|
||||||
|
collisionbox = CollisionBox,
|
||||||
|
visual = Visual,
|
||||||
|
mesh = Mesh,
|
||||||
|
textures = Textures,
|
||||||
|
visual_size = VisualSize,
|
||||||
|
on_step = mobkit.stepfunc, -- required
|
||||||
|
on_activate = mobkit.actfunc, -- required
|
||||||
|
-- api props
|
||||||
|
springiness=0,
|
||||||
|
walk_speed = 1,
|
||||||
|
jump_height = 5,
|
||||||
|
brainfunc = function(self) -- dumbest brain possible
|
||||||
|
if mobkit.is_queue_empty_high(self) then mobkit.hq_roam(self) end
|
||||||
|
end
|
||||||
|
})
|
115
kitty_mobs_redo.lua
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
--
|
||||||
|
--KITTY
|
||||||
|
--
|
||||||
|
local S = ...
|
||||||
|
|
||||||
|
local pet_name = "kitty"
|
||||||
|
local mesh = nil
|
||||||
|
local textures = {}
|
||||||
|
local collisionbox = {}
|
||||||
|
|
||||||
|
if petz.settings.type_model == "cubic" then
|
||||||
|
local node_name = "petz:"..pet_name.."_block"
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, 0.0625, -0.0625, -0.375, 0.125}, -- back_right_leg
|
||||||
|
{-0.125, -0.5, -0.1875, -0.0625, -0.375, -0.125}, -- front_right_leg
|
||||||
|
{0, -0.5, -0.1875, 0.0625, -0.375, -0.125}, -- front_left_leg
|
||||||
|
{0, -0.5, 0.0625, 0.0625, -0.375, 0.125}, -- back_left_leg
|
||||||
|
{-0.125, -0.375, -0.1875, 0.0625, -0.25, 0.125}, -- body
|
||||||
|
{-0.125, -0.3125, -0.3125, 0.0625, -0.125, -0.125}, -- head
|
||||||
|
{-0.0625, -0.3125, 0.125, 0.0, -0.25, 0.1875}, -- top_tail
|
||||||
|
{-0.125, -0.125, -0.25, -0.0625, -0.0625, -0.1875}, -- right_ear
|
||||||
|
{-0.0625, -0.375, 0.1875, 0.0, -0.3125, 0.3125}, -- bottom_tail
|
||||||
|
{0, -0.125, -0.25, 0.0625, -0.0625, -0.1875}, -- left_ear
|
||||||
|
}
|
||||||
|
tiles = {
|
||||||
|
"petz_kitty_top.png",
|
||||||
|
"petz_kitty_bottom.png",
|
||||||
|
"petz_kitty_right.png",
|
||||||
|
"petz_kitty_left.png",
|
||||||
|
"petz_kitty_back.png",
|
||||||
|
"petz_kitty_front.png"
|
||||||
|
}
|
||||||
|
petz.register_cubic(node_name, fixed, tiles)
|
||||||
|
textures= {"petz:kitty_block"}
|
||||||
|
collisionbox = {-0.35, -0.75, -0.28, 0.35, -0.125, 0.28}
|
||||||
|
else
|
||||||
|
mesh = 'petz_kitty.b3d'
|
||||||
|
textures= {{"petz_kitty.png"}, {"petz_kitty2.png"}, {"petz_kitty3.png"}}
|
||||||
|
collisionbox = {-0.35, -0.75, -0.28, 0.35, -0.3125, 0.28}
|
||||||
|
end
|
||||||
|
|
||||||
|
mobs:register_mob("petz:"..pet_name, {
|
||||||
|
type = "animal",
|
||||||
|
rotate = petz.settings.rotate,
|
||||||
|
damage = 8,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
init_timer = true,
|
||||||
|
armor = 200,
|
||||||
|
visual = petz.settings.visual,
|
||||||
|
visual_size = petz.settings.visual_size,
|
||||||
|
mesh = mesh,
|
||||||
|
textures = textures,
|
||||||
|
collisionbox = collisionbox,
|
||||||
|
makes_footstep_sound = false,
|
||||||
|
walk_velocity = 0.75,
|
||||||
|
run_velocity = 1,
|
||||||
|
runaway = true,
|
||||||
|
pushable = true,
|
||||||
|
jump = true,
|
||||||
|
follow = petz.settings.kitty_follow,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:meat_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 1,},
|
||||||
|
},
|
||||||
|
stay_near= {
|
||||||
|
nodes = "petz:pet_bowl",
|
||||||
|
chance = 1,
|
||||||
|
},
|
||||||
|
water_damage = 2,
|
||||||
|
lava_damage = 6,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_kitty_meow",
|
||||||
|
},
|
||||||
|
animation = {
|
||||||
|
speed_normal = 15, walk_start = 1, walk_end = 12,
|
||||||
|
speed_run = 25, run_start = 13, run_end = 25,
|
||||||
|
stand_start = 26, stand_end = 45,
|
||||||
|
stand2_start = 46, stand2_end = 58,
|
||||||
|
stand3_start = 59, stand3_end = 80,
|
||||||
|
},
|
||||||
|
view_range = 4,
|
||||||
|
fear_height = 3,
|
||||||
|
do_punch = function (self, hitter, time_from_last_punch, tool_capabilities, direction)
|
||||||
|
petz.do_punch(self, hitter, time_from_last_punch, tool_capabilities, direction)
|
||||||
|
end,
|
||||||
|
on_die = function(self, pos)
|
||||||
|
petz.on_die(self, pos)
|
||||||
|
end,
|
||||||
|
on_rightclick = function(self, clicker)
|
||||||
|
petz.on_rightclick(self, clicker, pet_name)
|
||||||
|
end,
|
||||||
|
on_step = function(self, dtime)
|
||||||
|
petz.on_step(self, dtime)
|
||||||
|
end,
|
||||||
|
after_activate = function(self, staticdata, def, dtime)
|
||||||
|
self.init_timer = true
|
||||||
|
end,
|
||||||
|
do_custom = function(self, dtime)
|
||||||
|
if not self.custom_vars_set then
|
||||||
|
self.custom_vars_set = 0
|
||||||
|
self.affinity = 100
|
||||||
|
self.init_timer = true
|
||||||
|
self.fed= false
|
||||||
|
self.brushed = false
|
||||||
|
end
|
||||||
|
if petz.settings.tamagochi_mode == true and self.init_timer == true then
|
||||||
|
petz.timer(self, pet_name)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
154
lamb.lua
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
--
|
||||||
|
--LAMB
|
||||||
|
--
|
||||||
|
|
||||||
|
minetest.register_node("petz:lamb_block", {
|
||||||
|
tiles = {
|
||||||
|
"petz_lamb_top.png",
|
||||||
|
"petz_lamb_bottom.png",
|
||||||
|
"petz_lamb_right.png",
|
||||||
|
"petz_lamb_left.png",
|
||||||
|
"petz_lamb_back.png",
|
||||||
|
"petz_lamb_front.png"
|
||||||
|
},
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, 0.0625, -0.0625, -0.375, 0.125}, -- back_right_leg
|
||||||
|
{-0.125, -0.5, -0.125, -0.0625, -0.375, -0.0625}, -- front_right_leg
|
||||||
|
{0, -0.5, -0.125, 0.0625, -0.375, -0.0625}, -- front_left_leg
|
||||||
|
{0, -0.5, 0.0625, 0.0625, -0.375, 0.125}, -- back_left_leg
|
||||||
|
{-0.125, -0.375, -0.125, 0.0625, -0.25, 0.125}, -- body
|
||||||
|
{-0.125, -0.3125, -0.25, 0.0625, -0.125, -0.0625}, -- head
|
||||||
|
{-0.0625, -0.3125, 0.125, 1.11759e-08, -0.25, 0.1875}, -- tail
|
||||||
|
{-0.1875, -0.1875, -0.1875, -0.125, -0.125, -0.125}, -- right_ear
|
||||||
|
{0.0625, -0.1875, -0.1875, 0.125, -0.125, -0.125}, -- left_ear
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("petz:lamb_shaved", {
|
||||||
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, 0.0625, -0.0625, -0.375, 0.125}, -- back_right_leg
|
||||||
|
{-0.125, -0.5, -0.125, -0.0625, -0.375, -0.0625}, -- front_right_leg
|
||||||
|
{0, -0.5, -0.125, 0.0625, -0.375, -0.0625}, -- front_left_leg
|
||||||
|
{0, -0.5, 0.0625, 0.0625, -0.375, 0.125}, -- back_left_leg
|
||||||
|
{-0.125, -0.375, -0.125, 0.0625, -0.25, 0.125}, -- body
|
||||||
|
{-0.125, -0.3125, -0.25, 0.0625, -0.125, -0.0625}, -- head
|
||||||
|
{-0.0625, -0.3125, 0.125, 1.11759e-08, -0.25, 0.1875}, -- tail
|
||||||
|
{-0.1875, -0.1875, -0.1875, -0.125, -0.125, -0.125}, -- right_ear
|
||||||
|
{0.0625, -0.1875, -0.1875, 0.125, -0.125, -0.125}, -- left_ear
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tiles = {
|
||||||
|
"petz_lamb_shaved_top.png",
|
||||||
|
"petz_lamb_shaved_bottom.png",
|
||||||
|
"petz_lamb_shaved_right.png",
|
||||||
|
"petz_lamb_shaved_left.png",
|
||||||
|
"petz_lamb_shaved_back.png",
|
||||||
|
"petz_lamb_shaved_front.png"
|
||||||
|
},
|
||||||
|
groups = {not_in_creative_inventory = 1},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
mobs:register_mob("petz:lamb", {
|
||||||
|
type = "animal",
|
||||||
|
passive = true,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
armor = 200,
|
||||||
|
collisionbox = {-0.25, -1.3125, -0.25, 0.25, -0.25, 0.25},
|
||||||
|
visual = "wielditem",
|
||||||
|
visual_size = {x=1.75, y=1.75},
|
||||||
|
textures = {"petz:lamb_block"},
|
||||||
|
--gotten_texture = {"petz:lamb_shaved"},
|
||||||
|
rotate = 180,
|
||||||
|
makes_footstep_sound = false,
|
||||||
|
walk_velocity = 0.1,
|
||||||
|
run_velocity = 0.75,
|
||||||
|
runaway = true,
|
||||||
|
pushable = true,
|
||||||
|
jump = false,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:meat_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 1,},
|
||||||
|
},
|
||||||
|
drawtype = "front",
|
||||||
|
water_damage = 2,
|
||||||
|
lava_damage = 6,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_lamb",
|
||||||
|
},
|
||||||
|
animation = {
|
||||||
|
speed_normal = 15,
|
||||||
|
speed_run = 15,
|
||||||
|
stand_start = 0,
|
||||||
|
stand_end = 80,
|
||||||
|
walk_start = 81,
|
||||||
|
walk_end = 100,
|
||||||
|
},
|
||||||
|
follow = {"farming:wheat", "default:grass_1"},
|
||||||
|
view_range = 4,
|
||||||
|
replace_rate = 10,
|
||||||
|
replace_what = {
|
||||||
|
{"group:grass", "air", -1},
|
||||||
|
{"default:dirt_with_grass", "default:dirt", -2}
|
||||||
|
},
|
||||||
|
fear_height = 3,
|
||||||
|
on_replace = function(self, pos, oldnode, newnode)
|
||||||
|
|
||||||
|
self.food = (self.food or 0) + 1
|
||||||
|
|
||||||
|
-- if lamb replaces 8x grass then it regrows wool
|
||||||
|
if self.food >= 8 then
|
||||||
|
|
||||||
|
self.food = 0
|
||||||
|
self.gotten = false
|
||||||
|
|
||||||
|
self.object:set_properties({
|
||||||
|
textures = {"petz:lamb_block"},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
on_rightclick = function(self, clicker)
|
||||||
|
tool = clicker:get_wielded_item():get_name()
|
||||||
|
|
||||||
|
--are we feeding?
|
||||||
|
if mobs:feed_tame(self, clicker, 8, true, true) then
|
||||||
|
|
||||||
|
--if fed 7x grass or wheat then lamb regrows wool
|
||||||
|
if self.food and self.food > 6 then
|
||||||
|
|
||||||
|
self.gotten = false
|
||||||
|
|
||||||
|
self.object:set_properties({
|
||||||
|
textures = {"petz:lamb_block"},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if mobs:protect(self, clicker) then return end
|
||||||
|
if mobs:capture_mob(self, clicker, "petz:lamb") then return end
|
||||||
|
|
||||||
|
|
||||||
|
if tool == "mobs:shears" and clicker:get_inventory() and not self.empty then
|
||||||
|
self.empty = true
|
||||||
|
clicker:get_inventory():add_item("main", "wool:white")
|
||||||
|
minetest.sound_play("petz_lamb_hurt",{pos=pos, max_hear_distance=3, gain=0.5, loop=false})
|
||||||
|
self.object:set_properties({
|
||||||
|
textures = {"petz:lamb_shaved"},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
18
locale/petz.es.tr
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# textdomain: petz
|
||||||
|
Kitty=Gatito
|
||||||
|
Puppy=Cachorrito
|
||||||
|
Calf=Ternera
|
||||||
|
Lamb=Cordero
|
||||||
|
Piggy=Cerdito
|
||||||
|
Chicken=Pollo
|
||||||
|
Ducky=Patito
|
||||||
|
Panda=Oso panda
|
||||||
|
Pet Bowl=Bol de mascota
|
||||||
|
Follow me=Sígueme
|
||||||
|
Stand here=Espera aquí
|
||||||
|
Do your own thing=Anda a tu bola
|
||||||
|
Close=Cerrar
|
||||||
|
Your=Tu
|
||||||
|
has starved to death!!!=ha muerto de hambre!!!
|
||||||
|
has abandoned you!!!=te ha abandonado!!!
|
||||||
|
had already been brushed.=ya había sido cepillado.
|
3
mod.conf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
name = petz
|
||||||
|
description = Cute mobs for Minetest
|
||||||
|
depends = default, mobs, stairs, dye
|
BIN
models/petz_ducky.b3d
Normal file
BIN
models/petz_ducky.blend
Normal file
169
models/petz_ducky.obj
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
mtllib petz_ducky.mtl
|
||||||
|
o converted_out
|
||||||
|
v 0.125 -0.5 -0.0625
|
||||||
|
v 0.125 -0.5 7.45058e-09
|
||||||
|
v 0.125 -0.4375 7.45058e-09
|
||||||
|
v 0.125 -0.4375 -0.0625
|
||||||
|
v 0.0625 -0.5 -0.0625
|
||||||
|
v 0.0625 -0.5 7.45058e-09
|
||||||
|
v 0.0625 -0.4375 7.45058e-09
|
||||||
|
v 0.0625 -0.4375 -0.0625
|
||||||
|
v -0 -0.5 -0.0625
|
||||||
|
v -0 -0.5 1.86265e-08
|
||||||
|
v -0 -0.4375 1.86265e-08
|
||||||
|
v -0 -0.4375 -0.0625
|
||||||
|
v -0.0625 -0.5 -0.0625
|
||||||
|
v -0.0625 -0.5 1.86265e-08
|
||||||
|
v -0.0625 -0.4375 1.86265e-08
|
||||||
|
v -0.0625 -0.4375 -0.0625
|
||||||
|
v 0.125 -0.4375 -0.125
|
||||||
|
v 0.125 -0.4375 0.0625
|
||||||
|
v 0.125 -0.25 0.0625
|
||||||
|
v 0.125 -0.25 -0.125
|
||||||
|
v -0.0625 -0.4375 -0.125
|
||||||
|
v -0.0625 -0.4375 0.0625
|
||||||
|
v -0.0625 -0.25 0.0625
|
||||||
|
v -0.0625 -0.25 -0.125
|
||||||
|
v 0.125 -0.3125 0.0625
|
||||||
|
v 0.125 -0.3125 0.125
|
||||||
|
v 0.125 -0.25 0.125
|
||||||
|
v 0.125 -0.25 0.0625
|
||||||
|
v -0.0625 -0.3125 0.0625
|
||||||
|
v -0.0625 -0.3125 0.125
|
||||||
|
v -0.0625 -0.25 0.125
|
||||||
|
v -0.0625 -0.25 0.0625
|
||||||
|
v 0.125 -0.25 -0.1875
|
||||||
|
v 0.125 -0.25 -0.125
|
||||||
|
v 0.125 -0.1875 -0.125
|
||||||
|
v 0.125 -0.1875 -0.1875
|
||||||
|
v -0.0625 -0.25 -0.1875
|
||||||
|
v -0.0625 -0.25 -0.125
|
||||||
|
v -0.0625 -0.1875 -0.125
|
||||||
|
v -0.0625 -0.1875 -0.1875
|
||||||
|
v 0.125 -0.25 -0.125
|
||||||
|
v 0.125 -0.25 9.68575e-08
|
||||||
|
v 0.125 -0.0625 9.68575e-08
|
||||||
|
v 0.125 -0.0625 -0.125
|
||||||
|
v -0.0625 -0.25 -0.125
|
||||||
|
v -0.0625 -0.25 9.68575e-08
|
||||||
|
v -0.0625 -0.0625 9.68575e-08
|
||||||
|
v -0.0625 -0.0625 -0.125
|
||||||
|
v -0.0625 -0.3125 -0.0625
|
||||||
|
v -0.0625 -0.3125 0.0625
|
||||||
|
v -0.0625 -0.25 0.0625
|
||||||
|
v -0.0625 -0.25 -0.0625
|
||||||
|
v -0.125 -0.3125 -0.0625
|
||||||
|
v -0.125 -0.3125 0.0625
|
||||||
|
v -0.125 -0.25 0.0625
|
||||||
|
v -0.125 -0.25 -0.0625
|
||||||
|
v -0.0625 -0.375 -0.0625
|
||||||
|
v -0.0625 -0.375 0
|
||||||
|
v -0.0625 -0.3125 0
|
||||||
|
v -0.0625 -0.3125 -0.0625
|
||||||
|
v -0.125 -0.375 -0.0625
|
||||||
|
v -0.125 -0.375 0
|
||||||
|
v -0.125 -0.3125 0
|
||||||
|
v -0.125 -0.3125 -0.0625
|
||||||
|
v 0.1875 -0.3125 -0.0625
|
||||||
|
v 0.1875 -0.3125 0.0625
|
||||||
|
v 0.1875 -0.25 0.0625
|
||||||
|
v 0.1875 -0.25 -0.0625
|
||||||
|
v 0.125 -0.3125 -0.0625
|
||||||
|
v 0.125 -0.3125 0.0625
|
||||||
|
v 0.125 -0.25 0.0625
|
||||||
|
v 0.125 -0.25 -0.0625
|
||||||
|
v 0.1875 -0.375 -0.0625
|
||||||
|
v 0.1875 -0.375 0
|
||||||
|
v 0.1875 -0.3125 0
|
||||||
|
v 0.1875 -0.3125 -0.0625
|
||||||
|
v 0.125 -0.375 -0.0625
|
||||||
|
v 0.125 -0.375 0
|
||||||
|
v 0.125 -0.3125 0
|
||||||
|
v 0.125 -0.3125 -0.0625
|
||||||
|
v 0.0625 -0.375 0.0625
|
||||||
|
v 0.0625 -0.375 0.125
|
||||||
|
v 0.0625 -0.3125 0.125
|
||||||
|
v 0.0625 -0.3125 0.0625
|
||||||
|
v 3.35276e-08 -0.375 0.0625
|
||||||
|
v 3.35276e-08 -0.375 0.125
|
||||||
|
v 3.35276e-08 -0.3125 0.125
|
||||||
|
v 3.35276e-08 -0.3125 0.0625
|
||||||
|
usemtl none
|
||||||
|
s off
|
||||||
|
g right_leg
|
||||||
|
f 1 2 3 4
|
||||||
|
f 5 6 7 8
|
||||||
|
f 1 4 8 5
|
||||||
|
f 2 3 7 6
|
||||||
|
f 1 2 6 5
|
||||||
|
f 4 3 7 8
|
||||||
|
g left_leg
|
||||||
|
f 9 10 11 12
|
||||||
|
f 13 14 15 16
|
||||||
|
f 9 12 16 13
|
||||||
|
f 10 11 15 14
|
||||||
|
f 9 10 14 13
|
||||||
|
f 12 11 15 16
|
||||||
|
g body
|
||||||
|
f 17 18 19 20
|
||||||
|
f 21 22 23 24
|
||||||
|
f 17 20 24 21
|
||||||
|
f 18 19 23 22
|
||||||
|
f 17 18 22 21
|
||||||
|
f 20 19 23 24
|
||||||
|
g tail_top
|
||||||
|
f 25 26 27 28
|
||||||
|
f 29 30 31 32
|
||||||
|
f 25 28 32 29
|
||||||
|
f 26 27 31 30
|
||||||
|
f 25 26 30 29
|
||||||
|
f 28 27 31 32
|
||||||
|
g beak
|
||||||
|
f 33 34 35 36
|
||||||
|
f 37 38 39 40
|
||||||
|
f 33 36 40 37
|
||||||
|
f 34 35 39 38
|
||||||
|
f 33 34 38 37
|
||||||
|
f 36 35 39 40
|
||||||
|
g head
|
||||||
|
f 41 42 43 44
|
||||||
|
f 45 46 47 48
|
||||||
|
f 41 44 48 45
|
||||||
|
f 42 43 47 46
|
||||||
|
f 41 42 46 45
|
||||||
|
f 44 43 47 48
|
||||||
|
g left_wing_top
|
||||||
|
f 49 50 51 52
|
||||||
|
f 53 54 55 56
|
||||||
|
f 49 52 56 53
|
||||||
|
f 50 51 55 54
|
||||||
|
f 49 50 54 53
|
||||||
|
f 52 51 55 56
|
||||||
|
g left_wing_bottom
|
||||||
|
f 57 58 59 60
|
||||||
|
f 61 62 63 64
|
||||||
|
f 57 60 64 61
|
||||||
|
f 58 59 63 62
|
||||||
|
f 57 58 62 61
|
||||||
|
f 60 59 63 64
|
||||||
|
g right_wing_top
|
||||||
|
f 65 66 67 68
|
||||||
|
f 69 70 71 72
|
||||||
|
f 65 68 72 69
|
||||||
|
f 66 67 71 70
|
||||||
|
f 65 66 70 69
|
||||||
|
f 68 67 71 72
|
||||||
|
g right_wing_bottom
|
||||||
|
f 73 74 75 76
|
||||||
|
f 77 78 79 80
|
||||||
|
f 73 76 80 77
|
||||||
|
f 74 75 79 78
|
||||||
|
f 73 74 78 77
|
||||||
|
f 76 75 79 80
|
||||||
|
g tail_bottom
|
||||||
|
f 81 82 83 84
|
||||||
|
f 85 86 87 88
|
||||||
|
f 81 84 88 85
|
||||||
|
f 82 83 87 86
|
||||||
|
f 81 82 86 85
|
||||||
|
f 84 83 87 88
|
BIN
models/petz_kitty.b3d
Normal file
BIN
models/petz_kitty.blend
Normal file
BIN
models/petz_kitty.blend1
Normal file
154
models/petz_kitty.obj
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
mtllib pets_kitty.mtl
|
||||||
|
o converted_out
|
||||||
|
v 0.125 -0.5 0.0625
|
||||||
|
v 0.125 -0.5 0.125
|
||||||
|
v 0.125 -0.375 0.125
|
||||||
|
v 0.125 -0.375 0.0625
|
||||||
|
v 0.0625 -0.5 0.0625
|
||||||
|
v 0.0625 -0.5 0.125
|
||||||
|
v 0.0625 -0.375 0.125
|
||||||
|
v 0.0625 -0.375 0.0625
|
||||||
|
v 0.125 -0.5 -0.1875
|
||||||
|
v 0.125 -0.5 -0.125
|
||||||
|
v 0.125 -0.375 -0.125
|
||||||
|
v 0.125 -0.375 -0.1875
|
||||||
|
v 0.0625 -0.5 -0.1875
|
||||||
|
v 0.0625 -0.5 -0.125
|
||||||
|
v 0.0625 -0.375 -0.125
|
||||||
|
v 0.0625 -0.375 -0.1875
|
||||||
|
v -0 -0.5 -0.1875
|
||||||
|
v -0 -0.5 -0.125
|
||||||
|
v -0 -0.375 -0.125
|
||||||
|
v -0 -0.375 -0.1875
|
||||||
|
v -0.0625 -0.5 -0.1875
|
||||||
|
v -0.0625 -0.5 -0.125
|
||||||
|
v -0.0625 -0.375 -0.125
|
||||||
|
v -0.0625 -0.375 -0.1875
|
||||||
|
v -0 -0.5 0.0625
|
||||||
|
v -0 -0.5 0.125
|
||||||
|
v -0 -0.375 0.125
|
||||||
|
v -0 -0.375 0.0625
|
||||||
|
v -0.0625 -0.5 0.0625
|
||||||
|
v -0.0625 -0.5 0.125
|
||||||
|
v -0.0625 -0.375 0.125
|
||||||
|
v -0.0625 -0.375 0.0625
|
||||||
|
v 0.125 -0.375 -0.1875
|
||||||
|
v 0.125 -0.375 0.125
|
||||||
|
v 0.125 -0.25 0.125
|
||||||
|
v 0.125 -0.25 -0.1875
|
||||||
|
v -0.0625 -0.375 -0.1875
|
||||||
|
v -0.0625 -0.375 0.125
|
||||||
|
v -0.0625 -0.25 0.125
|
||||||
|
v -0.0625 -0.25 -0.1875
|
||||||
|
v 0.125 -0.3125 -0.3125
|
||||||
|
v 0.125 -0.3125 -0.125
|
||||||
|
v 0.125 -0.125 -0.125
|
||||||
|
v 0.125 -0.125 -0.3125
|
||||||
|
v -0.0625 -0.3125 -0.3125
|
||||||
|
v -0.0625 -0.3125 -0.125
|
||||||
|
v -0.0625 -0.125 -0.125
|
||||||
|
v -0.0625 -0.125 -0.3125
|
||||||
|
v 0.0625 -0.3125 0.125
|
||||||
|
v 0.0625 -0.3125 0.1875
|
||||||
|
v 0.0625 -0.25 0.1875
|
||||||
|
v 0.0625 -0.25 0.125
|
||||||
|
v -1.11759e-08 -0.3125 0.125
|
||||||
|
v -1.11759e-08 -0.3125 0.1875
|
||||||
|
v -1.11759e-08 -0.25 0.1875
|
||||||
|
v -1.11759e-08 -0.25 0.125
|
||||||
|
v 0.125 -0.125 -0.25
|
||||||
|
v 0.125 -0.125 -0.1875
|
||||||
|
v 0.125 -0.0625 -0.1875
|
||||||
|
v 0.125 -0.0625 -0.25
|
||||||
|
v 0.0625 -0.125 -0.25
|
||||||
|
v 0.0625 -0.125 -0.1875
|
||||||
|
v 0.0625 -0.0625 -0.1875
|
||||||
|
v 0.0625 -0.0625 -0.25
|
||||||
|
v 0.0625 -0.375 0.1875
|
||||||
|
v 0.0625 -0.375 0.3125
|
||||||
|
v 0.0625 -0.3125 0.3125
|
||||||
|
v 0.0625 -0.3125 0.1875
|
||||||
|
v 3.72529e-09 -0.375 0.1875
|
||||||
|
v 3.72529e-09 -0.375 0.3125
|
||||||
|
v 3.72529e-09 -0.3125 0.3125
|
||||||
|
v 3.72529e-09 -0.3125 0.1875
|
||||||
|
v -0 -0.125 -0.25
|
||||||
|
v -0 -0.125 -0.1875
|
||||||
|
v -0 -0.0625 -0.1875
|
||||||
|
v -0 -0.0625 -0.25
|
||||||
|
v -0.0625 -0.125 -0.25
|
||||||
|
v -0.0625 -0.125 -0.1875
|
||||||
|
v -0.0625 -0.0625 -0.1875
|
||||||
|
v -0.0625 -0.0625 -0.25
|
||||||
|
usemtl none
|
||||||
|
s off
|
||||||
|
g back_right_leg
|
||||||
|
f 1 2 3 4
|
||||||
|
f 5 6 7 8
|
||||||
|
f 1 4 8 5
|
||||||
|
f 2 3 7 6
|
||||||
|
f 1 2 6 5
|
||||||
|
f 4 3 7 8
|
||||||
|
g front_right_leg
|
||||||
|
f 9 10 11 12
|
||||||
|
f 13 14 15 16
|
||||||
|
f 9 12 16 13
|
||||||
|
f 10 11 15 14
|
||||||
|
f 9 10 14 13
|
||||||
|
f 12 11 15 16
|
||||||
|
g front_left_leg
|
||||||
|
f 17 18 19 20
|
||||||
|
f 21 22 23 24
|
||||||
|
f 17 20 24 21
|
||||||
|
f 18 19 23 22
|
||||||
|
f 17 18 22 21
|
||||||
|
f 20 19 23 24
|
||||||
|
g back_left_leg
|
||||||
|
f 25 26 27 28
|
||||||
|
f 29 30 31 32
|
||||||
|
f 25 28 32 29
|
||||||
|
f 26 27 31 30
|
||||||
|
f 25 26 30 29
|
||||||
|
f 28 27 31 32
|
||||||
|
g body
|
||||||
|
f 33 34 35 36
|
||||||
|
f 37 38 39 40
|
||||||
|
f 33 36 40 37
|
||||||
|
f 34 35 39 38
|
||||||
|
f 33 34 38 37
|
||||||
|
f 36 35 39 40
|
||||||
|
g head
|
||||||
|
f 41 42 43 44
|
||||||
|
f 45 46 47 48
|
||||||
|
f 41 44 48 45
|
||||||
|
f 42 43 47 46
|
||||||
|
f 41 42 46 45
|
||||||
|
f 44 43 47 48
|
||||||
|
g top_tail
|
||||||
|
f 49 50 51 52
|
||||||
|
f 53 54 55 56
|
||||||
|
f 49 52 56 53
|
||||||
|
f 50 51 55 54
|
||||||
|
f 49 50 54 53
|
||||||
|
f 52 51 55 56
|
||||||
|
g right_ear
|
||||||
|
f 57 58 59 60
|
||||||
|
f 61 62 63 64
|
||||||
|
f 57 60 64 61
|
||||||
|
f 58 59 63 62
|
||||||
|
f 57 58 62 61
|
||||||
|
f 60 59 63 64
|
||||||
|
g bottom_tail
|
||||||
|
f 65 66 67 68
|
||||||
|
f 69 70 71 72
|
||||||
|
f 65 68 72 69
|
||||||
|
f 66 67 71 70
|
||||||
|
f 65 66 70 69
|
||||||
|
f 68 67 71 72
|
||||||
|
g left_ear
|
||||||
|
f 73 74 75 76
|
||||||
|
f 77 78 79 80
|
||||||
|
f 73 76 80 77
|
||||||
|
f 74 75 79 78
|
||||||
|
f 73 74 78 77
|
||||||
|
f 76 75 79 80
|
BIN
models/petz_lamb.b3d
Normal file
BIN
models/petz_lamb.blend
Normal file
139
models/petz_lamb.obj
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
mtllib petz_lamb.mtl
|
||||||
|
o converted_out
|
||||||
|
v 0.125 -0.5 0.0625
|
||||||
|
v 0.125 -0.5 0.125
|
||||||
|
v 0.125 -0.375 0.125
|
||||||
|
v 0.125 -0.375 0.0625
|
||||||
|
v 0.0625 -0.5 0.0625
|
||||||
|
v 0.0625 -0.5 0.125
|
||||||
|
v 0.0625 -0.375 0.125
|
||||||
|
v 0.0625 -0.375 0.0625
|
||||||
|
v 0.125 -0.5 -0.125
|
||||||
|
v 0.125 -0.5 -0.0625
|
||||||
|
v 0.125 -0.375 -0.0625
|
||||||
|
v 0.125 -0.375 -0.125
|
||||||
|
v 0.0625 -0.5 -0.125
|
||||||
|
v 0.0625 -0.5 -0.0625
|
||||||
|
v 0.0625 -0.375 -0.0625
|
||||||
|
v 0.0625 -0.375 -0.125
|
||||||
|
v -0 -0.5 -0.125
|
||||||
|
v -0 -0.5 -0.0625
|
||||||
|
v -0 -0.375 -0.0625
|
||||||
|
v -0 -0.375 -0.125
|
||||||
|
v -0.0625 -0.5 -0.125
|
||||||
|
v -0.0625 -0.5 -0.0625
|
||||||
|
v -0.0625 -0.375 -0.0625
|
||||||
|
v -0.0625 -0.375 -0.125
|
||||||
|
v -0 -0.5 0.0625
|
||||||
|
v -0 -0.5 0.125
|
||||||
|
v -0 -0.375 0.125
|
||||||
|
v -0 -0.375 0.0625
|
||||||
|
v -0.0625 -0.5 0.0625
|
||||||
|
v -0.0625 -0.5 0.125
|
||||||
|
v -0.0625 -0.375 0.125
|
||||||
|
v -0.0625 -0.375 0.0625
|
||||||
|
v 0.125 -0.375 -0.125
|
||||||
|
v 0.125 -0.375 0.125
|
||||||
|
v 0.125 -0.25 0.125
|
||||||
|
v 0.125 -0.25 -0.125
|
||||||
|
v -0.0625 -0.375 -0.125
|
||||||
|
v -0.0625 -0.375 0.125
|
||||||
|
v -0.0625 -0.25 0.125
|
||||||
|
v -0.0625 -0.25 -0.125
|
||||||
|
v 0.125 -0.3125 -0.25
|
||||||
|
v 0.125 -0.3125 -0.0625
|
||||||
|
v 0.125 -0.125 -0.0625
|
||||||
|
v 0.125 -0.125 -0.25
|
||||||
|
v -0.0625 -0.3125 -0.25
|
||||||
|
v -0.0625 -0.3125 -0.0625
|
||||||
|
v -0.0625 -0.125 -0.0625
|
||||||
|
v -0.0625 -0.125 -0.25
|
||||||
|
v 0.0625 -0.3125 0.125
|
||||||
|
v 0.0625 -0.3125 0.1875
|
||||||
|
v 0.0625 -0.25 0.1875
|
||||||
|
v 0.0625 -0.25 0.125
|
||||||
|
v -1.11759e-08 -0.3125 0.125
|
||||||
|
v -1.11759e-08 -0.3125 0.1875
|
||||||
|
v -1.11759e-08 -0.25 0.1875
|
||||||
|
v -1.11759e-08 -0.25 0.125
|
||||||
|
v 0.1875 -0.1875 -0.1875
|
||||||
|
v 0.1875 -0.1875 -0.125
|
||||||
|
v 0.1875 -0.125 -0.125
|
||||||
|
v 0.1875 -0.125 -0.1875
|
||||||
|
v 0.125 -0.1875 -0.1875
|
||||||
|
v 0.125 -0.1875 -0.125
|
||||||
|
v 0.125 -0.125 -0.125
|
||||||
|
v 0.125 -0.125 -0.1875
|
||||||
|
v -0.0625 -0.1875 -0.1875
|
||||||
|
v -0.0625 -0.1875 -0.125
|
||||||
|
v -0.0625 -0.125 -0.125
|
||||||
|
v -0.0625 -0.125 -0.1875
|
||||||
|
v -0.125 -0.1875 -0.1875
|
||||||
|
v -0.125 -0.1875 -0.125
|
||||||
|
v -0.125 -0.125 -0.125
|
||||||
|
v -0.125 -0.125 -0.1875
|
||||||
|
usemtl none
|
||||||
|
s off
|
||||||
|
g back_right_leg
|
||||||
|
f 1 2 3 4
|
||||||
|
f 5 6 7 8
|
||||||
|
f 1 4 8 5
|
||||||
|
f 2 3 7 6
|
||||||
|
f 1 2 6 5
|
||||||
|
f 4 3 7 8
|
||||||
|
g front_right_leg
|
||||||
|
f 9 10 11 12
|
||||||
|
f 13 14 15 16
|
||||||
|
f 9 12 16 13
|
||||||
|
f 10 11 15 14
|
||||||
|
f 9 10 14 13
|
||||||
|
f 12 11 15 16
|
||||||
|
g front_left_leg
|
||||||
|
f 17 18 19 20
|
||||||
|
f 21 22 23 24
|
||||||
|
f 17 20 24 21
|
||||||
|
f 18 19 23 22
|
||||||
|
f 17 18 22 21
|
||||||
|
f 20 19 23 24
|
||||||
|
g back_left_leg
|
||||||
|
f 25 26 27 28
|
||||||
|
f 29 30 31 32
|
||||||
|
f 25 28 32 29
|
||||||
|
f 26 27 31 30
|
||||||
|
f 25 26 30 29
|
||||||
|
f 28 27 31 32
|
||||||
|
g body
|
||||||
|
f 33 34 35 36
|
||||||
|
f 37 38 39 40
|
||||||
|
f 33 36 40 37
|
||||||
|
f 34 35 39 38
|
||||||
|
f 33 34 38 37
|
||||||
|
f 36 35 39 40
|
||||||
|
g head
|
||||||
|
f 41 42 43 44
|
||||||
|
f 45 46 47 48
|
||||||
|
f 41 44 48 45
|
||||||
|
f 42 43 47 46
|
||||||
|
f 41 42 46 45
|
||||||
|
f 44 43 47 48
|
||||||
|
g tail
|
||||||
|
f 49 50 51 52
|
||||||
|
f 53 54 55 56
|
||||||
|
f 49 52 56 53
|
||||||
|
f 50 51 55 54
|
||||||
|
f 49 50 54 53
|
||||||
|
f 52 51 55 56
|
||||||
|
g right_ear
|
||||||
|
f 57 58 59 60
|
||||||
|
f 61 62 63 64
|
||||||
|
f 57 60 64 61
|
||||||
|
f 58 59 63 62
|
||||||
|
f 57 58 62 61
|
||||||
|
f 60 59 63 64
|
||||||
|
g left_ear
|
||||||
|
f 65 66 67 68
|
||||||
|
f 69 70 71 72
|
||||||
|
f 65 68 72 69
|
||||||
|
f 66 67 71 70
|
||||||
|
f 65 66 70 69
|
||||||
|
f 68 67 71 72
|
BIN
models/petz_piggy.blend
Normal file
184
models/petz_piggy.obj
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
mtllib petz_piggy.mtl
|
||||||
|
o converted_out
|
||||||
|
v 0.1875 -0.5 0.3125
|
||||||
|
v 0.1875 -0.5 0.4375
|
||||||
|
v 0.1875 -0.25 0.4375
|
||||||
|
v 0.1875 -0.25 0.3125
|
||||||
|
v 0.0625 -0.5 0.3125
|
||||||
|
v 0.0625 -0.5 0.4375
|
||||||
|
v 0.0625 -0.25 0.4375
|
||||||
|
v 0.0625 -0.25 0.3125
|
||||||
|
v 0.1875 -0.5 -0.125
|
||||||
|
v 0.1875 -0.5 7.45058e-09
|
||||||
|
v 0.1875 -0.25 7.45058e-09
|
||||||
|
v 0.1875 -0.25 -0.125
|
||||||
|
v 0.0625 -0.5 -0.125
|
||||||
|
v 0.0625 -0.5 7.45058e-09
|
||||||
|
v 0.0625 -0.25 7.45058e-09
|
||||||
|
v 0.0625 -0.25 -0.125
|
||||||
|
v -0.0625 -0.5 -0.125
|
||||||
|
v -0.0625 -0.5 1.11759e-08
|
||||||
|
v -0.0625 -0.25 1.11759e-08
|
||||||
|
v -0.0625 -0.25 -0.125
|
||||||
|
v -0.1875 -0.5 -0.125
|
||||||
|
v -0.1875 -0.5 1.11759e-08
|
||||||
|
v -0.1875 -0.25 1.11759e-08
|
||||||
|
v -0.1875 -0.25 -0.125
|
||||||
|
v -0.0625 -0.5 0.3125
|
||||||
|
v -0.0625 -0.5 0.4375
|
||||||
|
v -0.0625 -0.25 0.4375
|
||||||
|
v -0.0625 -0.25 0.3125
|
||||||
|
v -0.1875 -0.5 0.3125
|
||||||
|
v -0.1875 -0.5 0.4375
|
||||||
|
v -0.1875 -0.25 0.4375
|
||||||
|
v -0.1875 -0.25 0.3125
|
||||||
|
v 0.1875 -0.25 -0.1875
|
||||||
|
v 0.1875 -0.25 0.375
|
||||||
|
v 0.1875 0.0625 0.375
|
||||||
|
v 0.1875 0.0625 -0.1875
|
||||||
|
v -0.1875 -0.25 -0.1875
|
||||||
|
v -0.1875 -0.25 0.375
|
||||||
|
v -0.1875 0.0625 0.375
|
||||||
|
v -0.1875 0.0625 -0.1875
|
||||||
|
v 0.1875 -0.0625 -0.3125
|
||||||
|
v 0.1875 -0.0625 0.0625
|
||||||
|
v 0.1875 0.375 0.0625
|
||||||
|
v 0.1875 0.375 -0.3125
|
||||||
|
v -0.1875 -0.0625 -0.3125
|
||||||
|
v -0.1875 -0.0625 0.0625
|
||||||
|
v -0.1875 0.375 0.0625
|
||||||
|
v -0.1875 0.375 -0.3125
|
||||||
|
v -0 -0.0625 0.375
|
||||||
|
v -0 -0.0625 0.4375
|
||||||
|
v -0 -6.70552e-08 0.4375
|
||||||
|
v -0 -6.70552e-08 0.375
|
||||||
|
v -0.0624999 -0.0625 0.375
|
||||||
|
v -0.0624999 -0.0625 0.4375
|
||||||
|
v -0.0624999 -6.70552e-08 0.4375
|
||||||
|
v -0.0624999 -6.70552e-08 0.375
|
||||||
|
v 0.3125 0.1875 -0.1875
|
||||||
|
v 0.3125 0.1875 -0.0625
|
||||||
|
v 0.3125 0.3125 -0.0625
|
||||||
|
v 0.3125 0.3125 -0.1875
|
||||||
|
v 0.1875 0.1875 -0.1875
|
||||||
|
v 0.1875 0.1875 -0.0625
|
||||||
|
v 0.1875 0.3125 -0.0625
|
||||||
|
v 0.1875 0.3125 -0.1875
|
||||||
|
v -0 -0.1875 0.375
|
||||||
|
v -0 -0.1875 0.4375
|
||||||
|
v -0 -0.125 0.4375
|
||||||
|
v -0 -0.125 0.375
|
||||||
|
v -0.0625 -0.1875 0.375
|
||||||
|
v -0.0625 -0.1875 0.4375
|
||||||
|
v -0.0625 -0.125 0.4375
|
||||||
|
v -0.0625 -0.125 0.375
|
||||||
|
v -0.1875 0.1875 -0.1875
|
||||||
|
v -0.1875 0.1875 -0.0625
|
||||||
|
v -0.1875 0.3125 -0.0625
|
||||||
|
v -0.1875 0.3125 -0.1875
|
||||||
|
v -0.3125 0.1875 -0.1875
|
||||||
|
v -0.3125 0.1875 -0.0625
|
||||||
|
v -0.3125 0.3125 -0.0625
|
||||||
|
v -0.3125 0.3125 -0.1875
|
||||||
|
v 0.0625 -0.125 0.375
|
||||||
|
v 0.0625 -0.125 0.4375
|
||||||
|
v 0.0625 -0.0625001 0.4375
|
||||||
|
v 0.0625 -0.0625001 0.375
|
||||||
|
v 2.98023e-08 -0.125 0.375
|
||||||
|
v 2.98023e-08 -0.125 0.4375
|
||||||
|
v 2.98023e-08 -0.0625001 0.4375
|
||||||
|
v 2.98023e-08 -0.0625001 0.375
|
||||||
|
v 0.125 0 -0.375
|
||||||
|
v 0.125 0 -0.3125
|
||||||
|
v 0.125 0.1875 -0.3125
|
||||||
|
v 0.125 0.1875 -0.375
|
||||||
|
v -0.125 0 -0.375
|
||||||
|
v -0.125 0 -0.3125
|
||||||
|
v -0.125 0.1875 -0.3125
|
||||||
|
v -0.125 0.1875 -0.375
|
||||||
|
usemtl none
|
||||||
|
s off
|
||||||
|
g back_right_leg
|
||||||
|
f 1 2 3 4
|
||||||
|
f 5 6 7 8
|
||||||
|
f 1 4 8 5
|
||||||
|
f 2 3 7 6
|
||||||
|
f 1 2 6 5
|
||||||
|
f 4 3 7 8
|
||||||
|
g front_right_leg
|
||||||
|
f 9 10 11 12
|
||||||
|
f 13 14 15 16
|
||||||
|
f 9 12 16 13
|
||||||
|
f 10 11 15 14
|
||||||
|
f 9 10 14 13
|
||||||
|
f 12 11 15 16
|
||||||
|
g front_left_leg
|
||||||
|
f 17 18 19 20
|
||||||
|
f 21 22 23 24
|
||||||
|
f 17 20 24 21
|
||||||
|
f 18 19 23 22
|
||||||
|
f 17 18 22 21
|
||||||
|
f 20 19 23 24
|
||||||
|
g back_left_leg
|
||||||
|
f 25 26 27 28
|
||||||
|
f 29 30 31 32
|
||||||
|
f 25 28 32 29
|
||||||
|
f 26 27 31 30
|
||||||
|
f 25 26 30 29
|
||||||
|
f 28 27 31 32
|
||||||
|
g body
|
||||||
|
f 33 34 35 36
|
||||||
|
f 37 38 39 40
|
||||||
|
f 33 36 40 37
|
||||||
|
f 34 35 39 38
|
||||||
|
f 33 34 38 37
|
||||||
|
f 36 35 39 40
|
||||||
|
g head
|
||||||
|
f 41 42 43 44
|
||||||
|
f 45 46 47 48
|
||||||
|
f 41 44 48 45
|
||||||
|
f 42 43 47 46
|
||||||
|
f 41 42 46 45
|
||||||
|
f 44 43 47 48
|
||||||
|
g top_tail
|
||||||
|
f 49 50 51 52
|
||||||
|
f 53 54 55 56
|
||||||
|
f 49 52 56 53
|
||||||
|
f 50 51 55 54
|
||||||
|
f 49 50 54 53
|
||||||
|
f 52 51 55 56
|
||||||
|
g right_ear
|
||||||
|
f 57 58 59 60
|
||||||
|
f 61 62 63 64
|
||||||
|
f 57 60 64 61
|
||||||
|
f 58 59 63 62
|
||||||
|
f 57 58 62 61
|
||||||
|
f 60 59 63 64
|
||||||
|
g bottom_tail
|
||||||
|
f 65 66 67 68
|
||||||
|
f 69 70 71 72
|
||||||
|
f 65 68 72 69
|
||||||
|
f 66 67 71 70
|
||||||
|
f 65 66 70 69
|
||||||
|
f 68 67 71 72
|
||||||
|
g left_ear
|
||||||
|
f 73 74 75 76
|
||||||
|
f 77 78 79 80
|
||||||
|
f 73 76 80 77
|
||||||
|
f 74 75 79 78
|
||||||
|
f 73 74 78 77
|
||||||
|
f 76 75 79 80
|
||||||
|
g middle_tail
|
||||||
|
f 81 82 83 84
|
||||||
|
f 85 86 87 88
|
||||||
|
f 81 84 88 85
|
||||||
|
f 82 83 87 86
|
||||||
|
f 81 82 86 85
|
||||||
|
f 84 83 87 88
|
||||||
|
g snout
|
||||||
|
f 89 90 91 92
|
||||||
|
f 93 94 95 96
|
||||||
|
f 89 92 96 93
|
||||||
|
f 90 91 95 94
|
||||||
|
f 89 90 94 93
|
||||||
|
f 92 91 95 96
|
BIN
models/petz_puppy.b3d
Normal file
BIN
models/petz_puppy.blend
Normal file
BIN
models/petz_puppy.blend1
Normal file
169
models/petz_puppy.obj
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
mtllib petz_puppy.mtl
|
||||||
|
o converted_out
|
||||||
|
v 0.125 -0.5 0.0625
|
||||||
|
v 0.125 -0.5 0.125
|
||||||
|
v 0.125 -0.375 0.125
|
||||||
|
v 0.125 -0.375 0.0625
|
||||||
|
v 0.0625 -0.5 0.0625
|
||||||
|
v 0.0625 -0.5 0.125
|
||||||
|
v 0.0625 -0.375 0.125
|
||||||
|
v 0.0625 -0.375 0.0625
|
||||||
|
v 0.125 -0.5 -0.125
|
||||||
|
v 0.125 -0.5 -0.0625
|
||||||
|
v 0.125 -0.375 -0.0625
|
||||||
|
v 0.125 -0.375 -0.125
|
||||||
|
v 0.0625 -0.5 -0.125
|
||||||
|
v 0.0625 -0.5 -0.0625
|
||||||
|
v 0.0625 -0.375 -0.0625
|
||||||
|
v 0.0625 -0.375 -0.125
|
||||||
|
v -0 -0.5 -0.125
|
||||||
|
v -0 -0.5 -0.0625
|
||||||
|
v -0 -0.375 -0.0625
|
||||||
|
v -0 -0.375 -0.125
|
||||||
|
v -0.0625 -0.5 -0.125
|
||||||
|
v -0.0625 -0.5 -0.0625
|
||||||
|
v -0.0625 -0.375 -0.0625
|
||||||
|
v -0.0625 -0.375 -0.125
|
||||||
|
v -0 -0.5 0.0625
|
||||||
|
v -0 -0.5 0.125
|
||||||
|
v -0 -0.375 0.125
|
||||||
|
v -0 -0.375 0.0625
|
||||||
|
v -0.0625 -0.5 0.0625
|
||||||
|
v -0.0625 -0.5 0.125
|
||||||
|
v -0.0625 -0.375 0.125
|
||||||
|
v -0.0625 -0.375 0.0625
|
||||||
|
v 0.125 -0.375 -0.125
|
||||||
|
v 0.125 -0.375 0.125
|
||||||
|
v 0.125 -0.25 0.125
|
||||||
|
v 0.125 -0.25 -0.125
|
||||||
|
v -0.0625 -0.375 -0.125
|
||||||
|
v -0.0625 -0.375 0.125
|
||||||
|
v -0.0625 -0.25 0.125
|
||||||
|
v -0.0625 -0.25 -0.125
|
||||||
|
v 0.125 -0.375 -0.25
|
||||||
|
v 0.125 -0.375 -0.0625001
|
||||||
|
v 0.125 -0.1875 -0.0625001
|
||||||
|
v 0.125 -0.1875 -0.25
|
||||||
|
v -0.0625 -0.375 -0.25
|
||||||
|
v -0.0625 -0.375 -0.0625001
|
||||||
|
v -0.0625 -0.1875 -0.0625001
|
||||||
|
v -0.0625 -0.1875 -0.25
|
||||||
|
v 0.0625 -0.3125 0.125
|
||||||
|
v 0.0625 -0.3125 0.25
|
||||||
|
v 0.0625 -0.25 0.25
|
||||||
|
v 0.0625 -0.25 0.125
|
||||||
|
v -1.11759e-08 -0.3125 0.125
|
||||||
|
v -1.11759e-08 -0.3125 0.25
|
||||||
|
v -1.11759e-08 -0.25 0.25
|
||||||
|
v -1.11759e-08 -0.25 0.125
|
||||||
|
v 0.125 -0.1875 -0.1875
|
||||||
|
v 0.125 -0.1875 -0.125
|
||||||
|
v 0.125 -0.125 -0.125
|
||||||
|
v 0.125 -0.125 -0.1875
|
||||||
|
v 0.0625 -0.1875 -0.1875
|
||||||
|
v 0.0625 -0.1875 -0.125
|
||||||
|
v 0.0625 -0.125 -0.125
|
||||||
|
v 0.0625 -0.125 -0.1875
|
||||||
|
v -0 -0.1875 -0.1875
|
||||||
|
v -0 -0.1875 -0.125
|
||||||
|
v -0 -0.125 -0.125
|
||||||
|
v -0 -0.125 -0.1875
|
||||||
|
v -0.0625 -0.1875 -0.1875
|
||||||
|
v -0.0625 -0.1875 -0.125
|
||||||
|
v -0.0625 -0.125 -0.125
|
||||||
|
v -0.0625 -0.125 -0.1875
|
||||||
|
v 0.125 -0.375 -0.3125
|
||||||
|
v 0.125 -0.375 -0.25
|
||||||
|
v 0.125 -0.3125 -0.25
|
||||||
|
v 0.125 -0.3125 -0.3125
|
||||||
|
v -0.0625 -0.375 -0.3125
|
||||||
|
v -0.0625 -0.375 -0.25
|
||||||
|
v -0.0625 -0.3125 -0.25
|
||||||
|
v -0.0625 -0.3125 -0.3125
|
||||||
|
v 0.0625 -0.4375 -0.25
|
||||||
|
v 0.0625 -0.4375 -0.1875
|
||||||
|
v 0.0625 -0.375 -0.1875
|
||||||
|
v 0.0625 -0.375 -0.25
|
||||||
|
v -3.72529e-09 -0.4375 -0.25
|
||||||
|
v -3.72529e-09 -0.4375 -0.1875
|
||||||
|
v -3.72529e-09 -0.375 -0.1875
|
||||||
|
v -3.72529e-09 -0.375 -0.25
|
||||||
|
usemtl none
|
||||||
|
s off
|
||||||
|
g back_right_leg
|
||||||
|
f 1 2 3 4
|
||||||
|
f 5 6 7 8
|
||||||
|
f 1 4 8 5
|
||||||
|
f 2 3 7 6
|
||||||
|
f 1 2 6 5
|
||||||
|
f 4 3 7 8
|
||||||
|
g front_right_leg
|
||||||
|
f 9 10 11 12
|
||||||
|
f 13 14 15 16
|
||||||
|
f 9 12 16 13
|
||||||
|
f 10 11 15 14
|
||||||
|
f 9 10 14 13
|
||||||
|
f 12 11 15 16
|
||||||
|
g front_left_leg
|
||||||
|
f 17 18 19 20
|
||||||
|
f 21 22 23 24
|
||||||
|
f 17 20 24 21
|
||||||
|
f 18 19 23 22
|
||||||
|
f 17 18 22 21
|
||||||
|
f 20 19 23 24
|
||||||
|
g back_left_leg
|
||||||
|
f 25 26 27 28
|
||||||
|
f 29 30 31 32
|
||||||
|
f 25 28 32 29
|
||||||
|
f 26 27 31 30
|
||||||
|
f 25 26 30 29
|
||||||
|
f 28 27 31 32
|
||||||
|
g body
|
||||||
|
f 33 34 35 36
|
||||||
|
f 37 38 39 40
|
||||||
|
f 33 36 40 37
|
||||||
|
f 34 35 39 38
|
||||||
|
f 33 34 38 37
|
||||||
|
f 36 35 39 40
|
||||||
|
g head
|
||||||
|
f 41 42 43 44
|
||||||
|
f 45 46 47 48
|
||||||
|
f 41 44 48 45
|
||||||
|
f 42 43 47 46
|
||||||
|
f 41 42 46 45
|
||||||
|
f 44 43 47 48
|
||||||
|
g tail
|
||||||
|
f 49 50 51 52
|
||||||
|
f 53 54 55 56
|
||||||
|
f 49 52 56 53
|
||||||
|
f 50 51 55 54
|
||||||
|
f 49 50 54 53
|
||||||
|
f 52 51 55 56
|
||||||
|
g right_ear
|
||||||
|
f 57 58 59 60
|
||||||
|
f 61 62 63 64
|
||||||
|
f 57 60 64 61
|
||||||
|
f 58 59 63 62
|
||||||
|
f 57 58 62 61
|
||||||
|
f 60 59 63 64
|
||||||
|
g left_ear
|
||||||
|
f 65 66 67 68
|
||||||
|
f 69 70 71 72
|
||||||
|
f 65 68 72 69
|
||||||
|
f 66 67 71 70
|
||||||
|
f 65 66 70 69
|
||||||
|
f 68 67 71 72
|
||||||
|
g snout
|
||||||
|
f 73 74 75 76
|
||||||
|
f 77 78 79 80
|
||||||
|
f 73 76 80 77
|
||||||
|
f 74 75 79 78
|
||||||
|
f 73 74 78 77
|
||||||
|
f 76 75 79 80
|
||||||
|
g tongue
|
||||||
|
f 81 82 83 84
|
||||||
|
f 85 86 87 88
|
||||||
|
f 81 84 88 85
|
||||||
|
f 82 83 87 86
|
||||||
|
f 81 82 86 85
|
||||||
|
f 84 83 87 88
|
BIN
models/petz_turtle.blend
Normal file
BIN
models/petz_turtle.blend1
Normal file
109
models/petz_turtle.obj
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
mtllib petz_turtle.mtl
|
||||||
|
o converted_out
|
||||||
|
v 0.1875 -0.4375 -0.125
|
||||||
|
v 0.1875 -0.4375 0.1875
|
||||||
|
v 0.1875 -0.25 0.1875
|
||||||
|
v 0.1875 -0.25 -0.125
|
||||||
|
v -0.1875 -0.4375 -0.125
|
||||||
|
v -0.1875 -0.4375 0.1875
|
||||||
|
v -0.1875 -0.25 0.1875
|
||||||
|
v -0.1875 -0.25 -0.125
|
||||||
|
v 0.125 -0.4375 -0.25
|
||||||
|
v 0.125 -0.4375 -0.125
|
||||||
|
v 0.125 -0.3125 -0.125
|
||||||
|
v 0.125 -0.3125 -0.25
|
||||||
|
v -0.125 -0.4375 -0.25
|
||||||
|
v -0.125 -0.4375 -0.125
|
||||||
|
v -0.125 -0.3125 -0.125
|
||||||
|
v -0.125 -0.3125 -0.25
|
||||||
|
v -0.0625 -0.5 -0.125
|
||||||
|
v -0.0625 -0.5 2.23517e-08
|
||||||
|
v -0.0625 -0.4375 2.23517e-08
|
||||||
|
v -0.0625 -0.4375 -0.125
|
||||||
|
v -0.1875 -0.5 -0.125
|
||||||
|
v -0.1875 -0.5 2.23517e-08
|
||||||
|
v -0.1875 -0.4375 2.23517e-08
|
||||||
|
v -0.1875 -0.4375 -0.125
|
||||||
|
v 0.1875 -0.5 -0.125
|
||||||
|
v 0.1875 -0.5 4.47035e-08
|
||||||
|
v 0.1875 -0.4375 4.47035e-08
|
||||||
|
v 0.1875 -0.4375 -0.125
|
||||||
|
v 0.0625 -0.5 -0.125
|
||||||
|
v 0.0625 -0.5 4.47035e-08
|
||||||
|
v 0.0625 -0.4375 4.47035e-08
|
||||||
|
v 0.0625 -0.4375 -0.125
|
||||||
|
v -0.0625 -0.5 0.0625
|
||||||
|
v -0.0625 -0.5 0.1875
|
||||||
|
v -0.0625 -0.4375 0.1875
|
||||||
|
v -0.0625 -0.4375 0.0625
|
||||||
|
v -0.1875 -0.5 0.0625
|
||||||
|
v -0.1875 -0.5 0.1875
|
||||||
|
v -0.1875 -0.4375 0.1875
|
||||||
|
v -0.1875 -0.4375 0.0625
|
||||||
|
v 0.1875 -0.5 0.0625
|
||||||
|
v 0.1875 -0.5 0.1875
|
||||||
|
v 0.1875 -0.4375 0.1875
|
||||||
|
v 0.1875 -0.4375 0.0625
|
||||||
|
v 0.0625 -0.5 0.0625
|
||||||
|
v 0.0625 -0.5 0.1875
|
||||||
|
v 0.0625 -0.4375 0.1875
|
||||||
|
v 0.0625 -0.4375 0.0625
|
||||||
|
v 0.0625 -0.4375 0.1875
|
||||||
|
v 0.0625 -0.4375 0.25
|
||||||
|
v 0.0625 -0.375 0.25
|
||||||
|
v 0.0625 -0.375 0.1875
|
||||||
|
v -0.0625 -0.4375 0.1875
|
||||||
|
v -0.0625 -0.4375 0.25
|
||||||
|
v -0.0625 -0.375 0.25
|
||||||
|
v -0.0625 -0.375 0.1875
|
||||||
|
usemtl none
|
||||||
|
s off
|
||||||
|
g shell
|
||||||
|
f 1 2 3 4
|
||||||
|
f 5 6 7 8
|
||||||
|
f 1 4 8 5
|
||||||
|
f 2 3 7 6
|
||||||
|
f 1 2 6 5
|
||||||
|
f 4 3 7 8
|
||||||
|
g head
|
||||||
|
f 9 10 11 12
|
||||||
|
f 13 14 15 16
|
||||||
|
f 9 12 16 13
|
||||||
|
f 10 11 15 14
|
||||||
|
f 9 10 14 13
|
||||||
|
f 12 11 15 16
|
||||||
|
g front_leg_left
|
||||||
|
f 17 18 19 20
|
||||||
|
f 21 22 23 24
|
||||||
|
f 17 20 24 21
|
||||||
|
f 18 19 23 22
|
||||||
|
f 17 18 22 21
|
||||||
|
f 20 19 23 24
|
||||||
|
g front_right_leg
|
||||||
|
f 25 26 27 28
|
||||||
|
f 29 30 31 32
|
||||||
|
f 25 28 32 29
|
||||||
|
f 26 27 31 30
|
||||||
|
f 25 26 30 29
|
||||||
|
f 28 27 31 32
|
||||||
|
g back_left_leg
|
||||||
|
f 33 34 35 36
|
||||||
|
f 37 38 39 40
|
||||||
|
f 33 36 40 37
|
||||||
|
f 34 35 39 38
|
||||||
|
f 33 34 38 37
|
||||||
|
f 36 35 39 40
|
||||||
|
g back_right_leg
|
||||||
|
f 41 42 43 44
|
||||||
|
f 45 46 47 48
|
||||||
|
f 41 44 48 45
|
||||||
|
f 42 43 47 46
|
||||||
|
f 41 42 46 45
|
||||||
|
f 44 43 47 48
|
||||||
|
g tail
|
||||||
|
f 49 50 51 52
|
||||||
|
f 53 54 55 56
|
||||||
|
f 49 52 56 53
|
||||||
|
f 50 51 55 54
|
||||||
|
f 49 50 54 53
|
||||||
|
f 52 51 55 56
|
BIN
nodeboxes/petz_bowl.nbe
Normal file
BIN
nodeboxes/petz_chicken.nbe
Normal file
BIN
nodeboxes/petz_cow.nbe
Normal file
BIN
nodeboxes/petz_ducky.nbe
Normal file
BIN
nodeboxes/petz_kitty.nbe
Normal file
BIN
nodeboxes/petz_lamb.nbe
Normal file
BIN
nodeboxes/petz_panda.nbe
Normal file
BIN
nodeboxes/petz_piggy.nbe
Normal file
BIN
nodeboxes/petz_puppy.nbe
Normal file
BIN
nodeboxes/petz_turtle.nbe
Normal file
97
nodes.lua
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
local modpath, S = ...
|
||||||
|
|
||||||
|
--Pet Bowl
|
||||||
|
minetest.register_node("petz:pet_bowl", {
|
||||||
|
description = S("Pet Bowl"),
|
||||||
|
inventory_image = "petz_pet_bowl_inv.png",
|
||||||
|
wield_image = "petz_pet_bowl_inv.png",
|
||||||
|
tiles = {"petz_pet_bowl.png"},
|
||||||
|
groups = {snappy=1, bendy=2, cracky=1},
|
||||||
|
sounds = default_stone_sounds,
|
||||||
|
paramtype = "light",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.1875, -0.5, -0.1875, 0.1875, -0.4375, 0.1875}, -- bottom
|
||||||
|
{-0.1875, -0.4375, -0.1875, 0.1875, -0.375, -0.125}, -- front
|
||||||
|
{-0.1875, -0.4375, 0.125, 0.1875, -0.375, 0.1875}, -- back
|
||||||
|
{-0.1875, -0.4375, -0.125, -0.125, -0.375, 0.125}, -- left
|
||||||
|
{0.125, -0.4375, -0.125, 0.1875, -0.375, 0.125}, -- right
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shaped",
|
||||||
|
output = 'petz:pet_bowl',
|
||||||
|
recipe = {
|
||||||
|
{'group:wood', '', 'group:wood'},
|
||||||
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
|
{'', 'dye:red', ''},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
--Material for Pet's House
|
||||||
|
|
||||||
|
minetest.register_node("petz:red_gables", {
|
||||||
|
description = S("Red Gables"),
|
||||||
|
tiles = {"petz_red_gables.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("petz:yellow_paving", {
|
||||||
|
description = S("Yellow Paving"),
|
||||||
|
tiles = {"petz_yellow_paving.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("petz:blue_stained_wood", {
|
||||||
|
description = S("Blue Stained Wood"),
|
||||||
|
tiles = {"petz_blue_stained_planks.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
if minetest.get_modpath("stairs") ~= nil then
|
||||||
|
stairs.register_stair_and_slab(
|
||||||
|
"red_gables",
|
||||||
|
"petz:red_gables",
|
||||||
|
{choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||||
|
{"petz_red_gables.png"},
|
||||||
|
S("Red Gables Stair"),
|
||||||
|
S("Red Gables Slab"),
|
||||||
|
default.node_sound_wood_defaults()
|
||||||
|
)
|
||||||
|
stairs.register_stair_and_slab(
|
||||||
|
"blue_stained_wood",
|
||||||
|
"petz:blue_stained_wood",
|
||||||
|
{choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||||
|
{"petz_blue_stained_planks.png"},
|
||||||
|
S("Blue Stained Stair"),
|
||||||
|
S("Blue Stained Slab"),
|
||||||
|
default.node_sound_wood_defaults()
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
--Kennel Schematic
|
||||||
|
|
||||||
|
minetest.register_craftitem("petz:kennel", {
|
||||||
|
description = S("Kennel"),
|
||||||
|
wield_image = {"petz_kennel.png"},
|
||||||
|
inventory_image = "petz_kennel.png",
|
||||||
|
groups = {},
|
||||||
|
on_use = function (itemstack, user, pointed_thing)
|
||||||
|
if pointed_thing.type ~= "node" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local pt_above = pointed_thing.above
|
||||||
|
local pt_under = pointed_thing.under
|
||||||
|
minetest.place_schematic(pt_above, modpath..'/schematics/kennel.mts', 0, nil, true)
|
||||||
|
end,
|
||||||
|
})
|
66
panda.lua
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
--
|
||||||
|
--PANDA
|
||||||
|
--
|
||||||
|
|
||||||
|
minetest.register_node("petz:panda_block", {
|
||||||
|
tiles = {
|
||||||
|
"petz_panda_top.png",
|
||||||
|
"petz_panda_bottom.png",
|
||||||
|
"petz_panda_right.png",
|
||||||
|
"petz_panda_left.png",
|
||||||
|
"petz_panda_back.png",
|
||||||
|
"petz_panda_front.png"
|
||||||
|
},
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.25, -0.5, 0.25, -0.0625, -0.25, 0.4375}, -- back_right_leg
|
||||||
|
{-0.25, -0.5, -0.125, -0.0625, -0.25, 0.0625}, -- front_right_leg
|
||||||
|
{0.0625, -0.5, -0.125, 0.25, -0.25, 0.0625}, -- front_left_leg
|
||||||
|
{0.0625, -0.5, 0.25, 0.25, -0.25, 0.4375}, -- back_left_leg
|
||||||
|
{-0.25, -0.25, -0.125, 0.25, 0.25, 0.4375}, -- body
|
||||||
|
{-0.1875, -0.1875, -0.4375, 0.1875, 0.1875, -0.125}, -- head
|
||||||
|
{-0.125, 0.1875, -0.3125, -0.0625, 0.25, -0.25}, -- right_ear
|
||||||
|
{-0.0625, -0.125, 0.4375, 0.0625, 1.11759e-08, 0.5}, -- tail
|
||||||
|
{0.0625, 0.1875, -0.3125, 0.125, 0.25, -0.25}, -- left_ear
|
||||||
|
{-0.125, -0.1875, -0.5, 0.125, -0.0625001, -0.4375}, -- snout
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
mobs:register_mob("petz:panda", {
|
||||||
|
type = "animal",
|
||||||
|
rotate= 180,
|
||||||
|
passive = true,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
armor = 200,
|
||||||
|
collisionbox = {-0.25, -0.75, -0.25, 0.25, -0.25, 0.25},
|
||||||
|
--selectionbox = {-0.25, -0.75, -0.25, 0.25, -0.25, 0.25},
|
||||||
|
visual = "wielditem",
|
||||||
|
visual_size = {x = 1.0, y = 1.0},
|
||||||
|
textures = {"petz:panda_block"},
|
||||||
|
makes_footstep_sound = false,
|
||||||
|
walk_velocity = 0.45,
|
||||||
|
run_velocity = 1.25,
|
||||||
|
runaway = true,
|
||||||
|
jump = true,
|
||||||
|
fear_height = 2,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:pork_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 2,},
|
||||||
|
},
|
||||||
|
drawtype = "front",
|
||||||
|
water_damage = 1,
|
||||||
|
lava_damage = 6,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_panda",
|
||||||
|
},
|
||||||
|
follow = {"default:apple"},
|
||||||
|
view_range = 5,
|
||||||
|
})
|
21
petz.conf
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
##Type of model [mesh -or- cubic]
|
||||||
|
type_model = mesh
|
||||||
|
|
||||||
|
##Tamagochi Mode (Take care of your pet: fed it...)
|
||||||
|
tamagochi_mode = true
|
||||||
|
tamagochi_check_time = 1200
|
||||||
|
tamagochi_hunger_damage = 3
|
||||||
|
tamagochi_safe_node = petz:yellow_paving
|
||||||
|
|
||||||
|
##Type of API [mobs_redo]
|
||||||
|
type_api = mobs_redo
|
||||||
|
|
||||||
|
##Spawn Mobs?
|
||||||
|
kitty_spawn = true
|
||||||
|
puppy_spawn = true
|
||||||
|
|
||||||
|
##Kitty Specific
|
||||||
|
kitty_follow = farming:wheat
|
||||||
|
|
||||||
|
##Puppy Specific
|
||||||
|
puppy_follow = farming:wheat
|
89
piggy.lua
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
--
|
||||||
|
--PIGGY
|
||||||
|
--
|
||||||
|
|
||||||
|
minetest.register_node("petz:piggy_block", {
|
||||||
|
tiles = {
|
||||||
|
"petz_piggy_top.png",
|
||||||
|
"petz_piggy_bottom.png",
|
||||||
|
"petz_piggy_right.png",
|
||||||
|
"petz_piggy_left.png",
|
||||||
|
"petz_piggy_back.png",
|
||||||
|
"petz_piggy_front.png"
|
||||||
|
},
|
||||||
|
drawtype = "nodebox",
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.1875, -0.5, 0.3125, -0.0625, -0.25, 0.4375}, -- back_right_leg
|
||||||
|
{-0.1875, -0.5, -0.125, -0.0625, -0.25, 7.45058e-09}, -- front_right_leg
|
||||||
|
{0.0625, -0.5, -0.125, 0.1875, -0.25, 1.11759e-08}, -- front_left_leg
|
||||||
|
{0.0625, -0.5, 0.3125, 0.1875, -0.25, 0.4375}, -- back_left_leg
|
||||||
|
{-0.1875, -0.25, -0.1875, 0.1875, 0.0625, 0.375}, -- body
|
||||||
|
{-0.1875, -0.0625, -0.3125, 0.1875, 0.375, 0.0625}, -- head
|
||||||
|
{0, -0.0625, 0.375, 0.0624999, -6.70552e-08, 0.4375}, -- top_tail
|
||||||
|
{-0.3125, 0.1875, -0.1875, -0.1875, 0.3125, -0.0625}, -- right_ear
|
||||||
|
{0, -0.1875, 0.375, 0.0625, -0.125, 0.4375}, -- bottom_tail
|
||||||
|
{0.1875, 0.1875, -0.1875, 0.3125, 0.3125, -0.0625}, -- left_ear
|
||||||
|
{-0.0625, -0.125, 0.375, -2.98023e-08, -0.0625001, 0.4375}, -- middle_tail
|
||||||
|
{-0.125, 0, -0.375, 0.125, 0.1875, -0.3125}, -- snout
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
mobs:register_mob("petz:piggy", {
|
||||||
|
type = "animal",
|
||||||
|
rotate= 180,
|
||||||
|
passive = true,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
armor = 200,
|
||||||
|
collisionbox = {-0.25, -0.75, -0.25, 0.25, -0.25, 0.25},
|
||||||
|
--selectionbox = {-0.25, -0.75, -0.25, 0.25, -0.25, 0.25},
|
||||||
|
visual = "wielditem",
|
||||||
|
visual_size = {x = 0.85, y = 0.85},
|
||||||
|
textures = {"petz:piggy_block"},
|
||||||
|
makes_footstep_sound = false,
|
||||||
|
walk_velocity = 0.45,
|
||||||
|
run_velocity = 1.25,
|
||||||
|
runaway = true,
|
||||||
|
jump = true,
|
||||||
|
fear_height = 2,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:pork_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 2,},
|
||||||
|
},
|
||||||
|
drawtype = "front",
|
||||||
|
water_damage = 1,
|
||||||
|
lava_damage = 6,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_piggy",
|
||||||
|
},
|
||||||
|
follow = {"default:apple"},
|
||||||
|
view_range = 5,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- raw porkchop
|
||||||
|
minetest.register_craftitem("petz:pork_raw", {
|
||||||
|
description = "Raw Porkchop",
|
||||||
|
inventory_image = "petz_pork_raw.png",
|
||||||
|
on_use = minetest.item_eat(4),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- cooked porkchop
|
||||||
|
minetest.register_craftitem("petz:pork_cooked", {
|
||||||
|
description = "Cooked Porkchop",
|
||||||
|
inventory_image = "petz_pork_cooked.png",
|
||||||
|
on_use = minetest.item_eat(8),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "cooking",
|
||||||
|
output = "petz:pork_cooked",
|
||||||
|
recipe = "petz:pork_raw",
|
||||||
|
cooktime = 5,
|
||||||
|
})
|
120
puppy_mobs_redo.lua
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
--
|
||||||
|
--PUPPY
|
||||||
|
--
|
||||||
|
local S = ...
|
||||||
|
|
||||||
|
local pet_name= "puppy"
|
||||||
|
local scale_puppy = 1.5
|
||||||
|
local mesh = nil
|
||||||
|
local textures = {}
|
||||||
|
local collisionbox = {}
|
||||||
|
|
||||||
|
if petz.settings.type_model == "cubic" then
|
||||||
|
local node_name = "petz:"..pet_name.."_block"
|
||||||
|
fixed = {
|
||||||
|
{-0.125, -0.5, 0.0625, -0.0625, -0.375, 0.125}, -- back_right_leg
|
||||||
|
{-0.125, -0.5, -0.125, -0.0625, -0.375, -0.0625}, -- front_right_leg
|
||||||
|
{0, -0.5, -0.125, 0.0625, -0.375, -0.0625}, -- front_left_leg
|
||||||
|
{0, -0.5, 0.0625, 0.0625, -0.375, 0.125}, -- back_left_leg
|
||||||
|
{-0.125, -0.375, -0.125, 0.0625, -0.25, 0.125}, -- body
|
||||||
|
{-0.125, -0.375, -0.25, 0.0625, -0.1875, -0.0625001}, -- head
|
||||||
|
{-0.0625, -0.3125, 0.125, 1.11759e-08, -0.25, 0.25}, -- tail
|
||||||
|
{-0.125, -0.1875, -0.1875, -0.0625, -0.125, -0.125}, -- right_ear
|
||||||
|
{0, -0.1875, -0.1875, 0.0625, -0.125, -0.125}, -- left_ear
|
||||||
|
{-0.125, -0.375, -0.3125, 0.0625, -0.3125, -0.25}, -- snout
|
||||||
|
{-0.0625, -0.4375, -0.25, 3.72529e-09, -0.375, -0.1875}, -- tongue
|
||||||
|
}
|
||||||
|
tiles = {
|
||||||
|
"petz_puppy_top.png",
|
||||||
|
"petz_puppy_bottom.png",
|
||||||
|
"petz_puppy_right.png",
|
||||||
|
"petz_puppy_left.png",
|
||||||
|
"petz_puppy_back.png",
|
||||||
|
"petz_puppy_front.png"
|
||||||
|
}
|
||||||
|
petz.register_cubic(node_name, fixed, tiles)
|
||||||
|
textures= {"petz:puppy_block"}
|
||||||
|
collisionbox = {-0.35, -0.75*scale_puppy, -0.28, 0.35, -0.125, 0.28}
|
||||||
|
else
|
||||||
|
mesh = 'petz_puppy.b3d'
|
||||||
|
textures= {{"petz_puppy.png"}, {"petz_puppy2.png"}, {"petz_puppy3.png"}}
|
||||||
|
collisionbox = {-0.35, -0.75*scale_puppy, -0.28, 0.35, -0.3125, 0.28}
|
||||||
|
end
|
||||||
|
|
||||||
|
mobs:register_mob("petz:"..pet_name, {
|
||||||
|
type = "animal",
|
||||||
|
rotate = petz.settings.rotate,
|
||||||
|
damage = 8,
|
||||||
|
hp_min = 4,
|
||||||
|
hp_max = 8,
|
||||||
|
affinity = 100,
|
||||||
|
armor = 200,
|
||||||
|
visual = petz.settings.visual,
|
||||||
|
visual_size = {x=petz.settings.visual_size.x*scale_puppy, y=petz.settings.visual_size.y*scale_puppy},
|
||||||
|
mesh = mesh,
|
||||||
|
textures = textures,
|
||||||
|
collisionbox = collisionbox,
|
||||||
|
makes_footstep_sound = false,
|
||||||
|
walk_velocity = 0.75,
|
||||||
|
run_velocity = 1,
|
||||||
|
runaway = true,
|
||||||
|
pushable = true,
|
||||||
|
jump = true,
|
||||||
|
floats = true,
|
||||||
|
--fly = true,
|
||||||
|
--fly_in = "default:water_source",
|
||||||
|
follow = petz.settings.puppy_follow,
|
||||||
|
drops = {
|
||||||
|
{name = "mobs:meat_raw",
|
||||||
|
chance = 1,
|
||||||
|
min = 1,
|
||||||
|
max = 1,},
|
||||||
|
},
|
||||||
|
stay_near= {
|
||||||
|
nodes = "petz:pet_bowl",
|
||||||
|
chance = 1,
|
||||||
|
},
|
||||||
|
water_damage = 0,
|
||||||
|
lava_damage = 6,
|
||||||
|
light_damage = 0,
|
||||||
|
sounds = {
|
||||||
|
random = "petz_puppy_bark",
|
||||||
|
},
|
||||||
|
animation = {
|
||||||
|
speed_normal = 15, walk_start = 1, walk_end = 12,
|
||||||
|
speed_run = 25, run_start = 13, run_end = 25,
|
||||||
|
stand_start = 26, stand_end = 46,
|
||||||
|
stand2_start = 47, stand2_end = 59,
|
||||||
|
stand3_start = 60, stand3_end = 81,
|
||||||
|
stand4_start = 82, stand4_end = 94,
|
||||||
|
},
|
||||||
|
view_range = 4,
|
||||||
|
fear_height = 3,
|
||||||
|
do_punch = function (self, hitter, time_from_last_punch, tool_capabilities, direction)
|
||||||
|
petz.do_punch(self, hitter, time_from_last_punch, tool_capabilities, direction)
|
||||||
|
end,
|
||||||
|
on_die = function(self, pos)
|
||||||
|
petz.on_die(self, pos)
|
||||||
|
end,
|
||||||
|
on_rightclick = function(self, clicker)
|
||||||
|
petz.on_rightclick(self, clicker, pet_name)
|
||||||
|
end,
|
||||||
|
on_step = function(self, dtime)
|
||||||
|
petz.on_step(self, dtime)
|
||||||
|
end,
|
||||||
|
after_activate = function(self, staticdata, def, dtime)
|
||||||
|
self.init_timer = true
|
||||||
|
end,
|
||||||
|
do_custom = function(self, dtime)
|
||||||
|
if not self.custom_vars_set then
|
||||||
|
self.custom_vars_set = 0
|
||||||
|
self.affinity = 100
|
||||||
|
self.init_timer = true
|
||||||
|
self.fed= false
|
||||||
|
self.brushed = false
|
||||||
|
end
|
||||||
|
if petz.settings.tamagochi_mode == true and self.init_timer == true then
|
||||||
|
petz.timer(self, pet_name)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
BIN
schematics/kennel.mts
Normal file
28
settings.lua
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
local modpath, S = ...
|
||||||
|
|
||||||
|
local settings = Settings(modpath .. "/petz.conf")
|
||||||
|
|
||||||
|
petz.settings.type_model = settings:get("type_model", "mesh")
|
||||||
|
petz.settings.tamagochi_mode = settings:get_bool("tamagochi_mode", true)
|
||||||
|
petz.settings.tamagochi_check_time = tonumber(settings:get("tamagochi_check_time"))
|
||||||
|
petz.settings.tamagochi_hunger_damage = tonumber(settings:get("tamagochi_hunger_damage"))
|
||||||
|
petz.settings.tamagochi_safe_node = settings:get("tamagochi_safe_node", "")
|
||||||
|
petz.settings.type_api = settings:get("type_api", "mobs_redo")
|
||||||
|
petz.settings.kitty_spawn = settings:get_bool("kitty_spawn", true)
|
||||||
|
petz.settings.kitty_follow = settings:get("kitty_follow", "")
|
||||||
|
petz.settings.kitty_food = settings:get("kitty_food", "")
|
||||||
|
petz.settings.kitty_favorite_food = settings:get("kitty_favorite_food", "")
|
||||||
|
petz.settings.puppy_spawn = settings:get_bool("puppy_spawn", true)
|
||||||
|
petz.settings.puppy_follow = settings:get("puppy_follow", "")
|
||||||
|
petz.settings.puppy_food = settings:get("puppy_food", "")
|
||||||
|
petz.settings.puppy_favorite_food = settings:get("puppy_favorite_food", "")
|
||||||
|
|
||||||
|
if petz.settings.type_model == "mesh" then
|
||||||
|
petz.settings.visual = "mesh"
|
||||||
|
petz.settings.visual_size = {x=15.0, y=15.0}
|
||||||
|
petz.settings.rotate = 0
|
||||||
|
else -- is 'cubic'
|
||||||
|
petz.settings.visual = "wielditem"
|
||||||
|
petz.settings.visual_size = {x=1.0, y=1.0}
|
||||||
|
petz.settings.rotate = 180
|
||||||
|
end
|
25
sounds/LICENSE.MD
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
--------------------------------------------
|
||||||
|
file name: petz_kitty_meow.ogg
|
||||||
|
Author: Alexander
|
||||||
|
http://www.orangefreesounds.com/cat-meow-audio-clip/
|
||||||
|
License: "Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)"
|
||||||
|
--------------------------------------------
|
||||||
|
file name: petz_dog_bark.ogg
|
||||||
|
Author: Partners In Rhyme
|
||||||
|
https://www.freesoundeffects.com/free-track/dogbrk-89468/
|
||||||
|
License: Free
|
||||||
|
--------------------------------------------
|
||||||
|
file name: petz_brushing.ogg
|
||||||
|
Author: Zapsplat
|
||||||
|
https://www.zapsplat.com/music/person-brushing-hair/
|
||||||
|
License: https://www.zapsplat.com/license-type/standard-license/
|
||||||
|
--------------------------------------------
|
||||||
|
file name: petz_kitty_moaning.ogg
|
||||||
|
Author: Zapsplat
|
||||||
|
https://www.zapsplat.com/music/cat-moaning-meow-hungry/
|
||||||
|
License: https://www.zapsplat.com/license-type/standard-license/
|
||||||
|
--------------------------------------------
|
||||||
|
file name: petz_puppy_moaning.ogg
|
||||||
|
Author: Zapsplat
|
||||||
|
https://www.zapsplat.com/music/dog-barking-springer-spaniel-2/
|
||||||
|
License: https://www.zapsplat.com/license-type/standard-license/
|
BIN
sounds/petz_brushing.ogg
Normal file
BIN
sounds/petz_kitty_meow.ogg
Normal file
BIN
sounds/petz_kitty_moaning.ogg
Normal file
BIN
sounds/petz_puppy_bark.ogg
Normal file
BIN
sounds/petz_puppy_moaning.ogg
Normal file
BIN
textures/petz_affinity_heart.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
textures/petz_blue_stained_planks.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
textures/petz_calf2_back.png
Normal file
After Width: | Height: | Size: 306 B |
BIN
textures/petz_calf2_bottom.png
Normal file
After Width: | Height: | Size: 277 B |
BIN
textures/petz_calf2_front.png
Normal file
After Width: | Height: | Size: 345 B |
BIN
textures/petz_calf2_left.png
Normal file
After Width: | Height: | Size: 365 B |
BIN
textures/petz_calf2_right.png
Normal file
After Width: | Height: | Size: 369 B |
BIN
textures/petz_calf2_top.png
Normal file
After Width: | Height: | Size: 291 B |
BIN
textures/petz_calf_back.png
Normal file
After Width: | Height: | Size: 296 B |
BIN
textures/petz_calf_bottom.png
Normal file
After Width: | Height: | Size: 284 B |
BIN
textures/petz_calf_front.png
Normal file
After Width: | Height: | Size: 329 B |
BIN
textures/petz_calf_left.png
Normal file
After Width: | Height: | Size: 363 B |
BIN
textures/petz_calf_right.png
Normal file
After Width: | Height: | Size: 298 B |
BIN
textures/petz_calf_top.png
Normal file
After Width: | Height: | Size: 233 B |
BIN
textures/petz_chicken_back.png
Normal file
After Width: | Height: | Size: 222 B |
BIN
textures/petz_chicken_bottom.png
Normal file
After Width: | Height: | Size: 260 B |
BIN
textures/petz_chicken_front.png
Normal file
After Width: | Height: | Size: 318 B |
BIN
textures/petz_chicken_left.png
Normal file
After Width: | Height: | Size: 302 B |
BIN
textures/petz_chicken_right.png
Normal file
After Width: | Height: | Size: 313 B |
BIN
textures/petz_chicken_top.png
Normal file
After Width: | Height: | Size: 261 B |
BIN
textures/petz_ducky.png
Normal file
After Width: | Height: | Size: 519 B |
BIN
textures/petz_ducky2.png
Normal file
After Width: | Height: | Size: 718 B |
BIN
textures/petz_ducky2_back.png
Normal file
After Width: | Height: | Size: 291 B |
BIN
textures/petz_ducky2_bottom.png
Normal file
After Width: | Height: | Size: 276 B |
BIN
textures/petz_ducky2_front.png
Normal file
After Width: | Height: | Size: 322 B |
BIN
textures/petz_ducky2_left.png
Normal file
After Width: | Height: | Size: 373 B |
BIN
textures/petz_ducky2_right.png
Normal file
After Width: | Height: | Size: 377 B |
BIN
textures/petz_ducky2_top.png
Normal file
After Width: | Height: | Size: 278 B |
BIN
textures/petz_ducky_back.png
Normal file
After Width: | Height: | Size: 253 B |
BIN
textures/petz_ducky_bottom.png
Normal file
After Width: | Height: | Size: 262 B |
BIN
textures/petz_ducky_front.png
Normal file
After Width: | Height: | Size: 274 B |
BIN
textures/petz_ducky_left.png
Normal file
After Width: | Height: | Size: 325 B |
BIN
textures/petz_ducky_right.png
Normal file
After Width: | Height: | Size: 328 B |
BIN
textures/petz_ducky_top.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
textures/petz_hairbrush.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
textures/petz_kennel.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
textures/petz_kitty.png
Normal file
After Width: | Height: | Size: 571 B |
BIN
textures/petz_kitty2.png
Normal file
After Width: | Height: | Size: 670 B |
BIN
textures/petz_kitty3.png
Normal file
After Width: | Height: | Size: 660 B |
BIN
textures/petz_kitty_back.png
Normal file
After Width: | Height: | Size: 173 B |
BIN
textures/petz_kitty_bottom.png
Normal file
After Width: | Height: | Size: 206 B |
BIN
textures/petz_kitty_front.png
Normal file
After Width: | Height: | Size: 276 B |
BIN
textures/petz_kitty_left.png
Normal file
After Width: | Height: | Size: 214 B |
BIN
textures/petz_kitty_right.png
Normal file
After Width: | Height: | Size: 203 B |
BIN
textures/petz_kitty_top.png
Normal file
After Width: | Height: | Size: 156 B |
BIN
textures/petz_lamb.png
Normal file
After Width: | Height: | Size: 2.0 KiB |