bunnies!
|
@ -62,7 +62,7 @@ petz.on_rightclick = function(self, clicker)
|
|||
petz.capture(self, clicker, true)
|
||||
minetest.chat_send_player("singleplayer", S("Your").." "..S(pet_name).." "..S("has been captured")..".")
|
||||
elseif self.breed and wielded_item_name == petz.settings[self.type.."_breed"] and not(self.is_baby) then
|
||||
minetest.chat_send_all("test="..petz.settings[self.type.."_breed"])
|
||||
--minetest.chat_send_all("test="..petz.settings[self.type.."_breed"])
|
||||
petz.breed(self, clicker, wielded_item, wielded_item_name)
|
||||
elseif (wielded_item_name == "petz:dreamcatcher") and (self.tamed == true) and (self.is_pet == true) and is_owner then
|
||||
petz.put_dreamcatcher(self, clicker, wielded_item, wielded_item_name)
|
||||
|
|
|
@ -34,6 +34,7 @@ Blueberry Muffin=Muffin de mirtilo
|
|||
Bone=Ossos
|
||||
Bottle with Moth=Garrafa com traça
|
||||
Brushed=Escovado
|
||||
Bunny=Coelhinho
|
||||
Butterfly=Borboleta
|
||||
Butterfly Showcase=Exibição de borboletas
|
||||
Buy=Compre
|
||||
|
@ -165,12 +166,14 @@ Prince Crown=A coroa do príncipe
|
|||
Prince of North Coat=Jaqueta do Príncipe do Norte
|
||||
Queen Ant=Formiga Rainha
|
||||
Queen Bee=Abelha Rainha
|
||||
Rabbit Hide=Couro de coelho
|
||||
Rat=Rato
|
||||
Raw Chicken=Frango cru
|
||||
Raw Ducky=Pato cru
|
||||
Raw Goat=Caprino cru
|
||||
Raw Parrot=Papagaio Cru
|
||||
Raw Porkchop=Costeleta de porco crua
|
||||
Raw Rabbit=Coelho cru
|
||||
Roasted Chicken=Frango Assado
|
||||
Roasted Chicken Legs=Coxas de frango assado
|
||||
Roasted Ducky=Pato assado
|
||||
|
@ -179,6 +182,7 @@ Roasted Goat Meat=Carne assada de caprino
|
|||
Roasted Lamb Chop=Costeleta de cordeiro assada
|
||||
Roasted Parrot=Papagaio Assado
|
||||
Roasted Porkchop=Costeleta de porco assada
|
||||
Roasted Rabbit=Coelho assado
|
||||
Rooster=Galo
|
||||
Saddle=Sela
|
||||
Saddlebag=Sacos de Sela
|
||||
|
|
|
@ -34,6 +34,7 @@ Blueberry Muffin=Blaubeermuffin
|
|||
Bone=Knochen
|
||||
Bottle with Moth=Flasche mit Motte
|
||||
Brushed=Gebürstet
|
||||
Bunny=Kaninchen
|
||||
Butterfly=Schmetterling
|
||||
Butterfly Showcase=Schmetterling-Vitrine
|
||||
Buy=Kaufen
|
||||
|
@ -165,6 +166,7 @@ Prince Crown=Prinzenkrone
|
|||
Prince of North Coat=Umhang des Prinz des Nordens
|
||||
Queen Ant=Ameisenkönigin
|
||||
Queen Bee=Bienenkönigin
|
||||
Rabbit Hide=Kaninchenfell
|
||||
Rat=Ratte
|
||||
Raw Chicken=Rohes Hühnchen
|
||||
Raw Ducky=Rohes Entlein
|
||||
|
@ -172,6 +174,7 @@ Raw Goat=Rohes Ziege
|
|||
Raw Parrot=Roher Papagei
|
||||
Raw Porkchop=Rohes Schweinekotelett
|
||||
Roasted Chicken=Gebratenes Hühnchen
|
||||
Raw Rabbit=Rohe Kaninchen
|
||||
Roasted Chicken Legs=Gebratene Hühnchenkeule
|
||||
Roasted Ducky=Gebratenes Entlein
|
||||
Roasted Frog Leg=Gebratener Froschschenkel
|
||||
|
@ -179,6 +182,7 @@ Roasted Goat Meat=Gebratenes Ziegenfleisch
|
|||
Roasted Lamb Chop=Gebratene Lammkeule
|
||||
Roasted Parrot=Gebratener Papagei
|
||||
Roasted Porkchop=Gebratenes Schweinekotelett
|
||||
Roasted Rabbit=Gebratenes Kaninchen
|
||||
Rooster=Hahn
|
||||
Saddle=Sattel
|
||||
Saddlebag=Satteltasche
|
||||
|
|
|
@ -34,6 +34,7 @@ Blueberry Muffin=Madalena de arándano
|
|||
Bone=Hueso
|
||||
Bottle with Moth=Botella con polilla
|
||||
Brushed=Cepillado
|
||||
Bunny=Conejo
|
||||
Butterfly=Mariposa
|
||||
Butterfly Showcase=Expositor de mariposas
|
||||
Buy=Comprar
|
||||
|
@ -165,12 +166,14 @@ Prince Crown=Corona de príncipe
|
|||
Prince of North Coat=Casaca del Príncipe del Norte
|
||||
Queen Ant=Hormiga reina
|
||||
Queen Bee=Abeja reina
|
||||
Rabbit Hide=Pellejo de conejo
|
||||
Rat=Rata
|
||||
Raw Chicken=Pollo crudo
|
||||
Raw Ducky=Pato crudo
|
||||
Raw Goat=Cabrito crudo
|
||||
Raw Parrot=Loro crudo
|
||||
Raw Porkchop=Chuleta de cerdo cruda
|
||||
Raw Rabbit=Conejo crudo
|
||||
Roasted Chicken=Pollo asado
|
||||
Roasted Chicken Legs=Muslitos de pollo asados
|
||||
Roasted Ducky=Pato asado
|
||||
|
@ -179,6 +182,7 @@ Roasted Goat Meat=Carne de cabrito asada
|
|||
Roasted Lamb Chop=Chuletilla de cordero asada
|
||||
Roasted Parrot=Loro tostado
|
||||
Roasted Porkchop=Chuleta de cerdo asada
|
||||
Roasted Rabbit=Conejo asado
|
||||
Rooster=Gallo
|
||||
Saddle=Silla de montar
|
||||
Saddlebag=Alforjas
|
||||
|
|
|
@ -34,6 +34,7 @@ Blueberry Muffin=Madeleine aux myrtilles
|
|||
Brushed=Brossé
|
||||
Bone=Os
|
||||
Bottle with Moth=Bouteille de papillon nocturne
|
||||
Bunny=Lapin
|
||||
Butterfly=Papillon
|
||||
Butterfly Showcase=Vitrine des papillons
|
||||
Buy=Acheter
|
||||
|
@ -165,12 +166,14 @@ Prince Crown=Couronne de Prince.
|
|||
Prince of North Coat=Prince de la côte nord
|
||||
Queen Ant=Fourmi reine
|
||||
Queen Bee=Abeille reine
|
||||
Rabbit Hide=Peau de lapin
|
||||
Rat=Rat
|
||||
Raw Chicken=Poulet cru
|
||||
Raw Ducky=Canard cru
|
||||
Raw Parrot=Perroquet cru
|
||||
Raw Goat=Chèvre crue
|
||||
Raw Porkchop=Porc cru
|
||||
Raw Rabbit=Lapin cru
|
||||
Roasted Chicken=Poulet rôti
|
||||
Roasted Chicken Legs=Cuisses de poulet rôties
|
||||
Roasted Ducky=Canard rôti
|
||||
|
@ -179,6 +182,7 @@ Roasted Goat Meat=Viande de chèvre rôtie
|
|||
Roasted Lamb Chop=Mouton rôti
|
||||
Roasted Parrot=Perroquet rôti
|
||||
Roasted Porkchop=Rôti de porc
|
||||
Roasted Rabbit=Rôti de lapin
|
||||
Rooster=Coq
|
||||
Saddle=Selle
|
||||
Saddlebag=Sac pour selle
|
||||
|
|
|
@ -34,6 +34,7 @@ Blueberry Muffin=Кекс с черникой
|
|||
Bone= Кость
|
||||
Bottle with Moth=Бутылка с мотылем
|
||||
Brushed=Почищенный
|
||||
Bunny=Зайка
|
||||
Butterfly= бабочка
|
||||
Butterfly Showcase=Витрина бабочки
|
||||
Buy=Купить
|
||||
|
@ -165,6 +166,7 @@ Prince Crown=Королевская корона
|
|||
Prince of North Coat=Принц Северного плаща
|
||||
Queen Ant=Королева муравей
|
||||
Queen Bee=Королева пчел
|
||||
Rabbit Hide=Кроличья шкура
|
||||
Rat=Крыса
|
||||
Raw Chicken=Сырая курица
|
||||
Raw Ducky=Сырая Утка
|
||||
|
@ -172,6 +174,7 @@ Raw Parrot=Сырой попугай
|
|||
Raw Goat=Сырой козёл
|
||||
Raw Porkchop=Сырая свиная отбивная
|
||||
Roasted Chicken=Жареная курица
|
||||
Raw Rabbit=Сырой кролик
|
||||
Roasted Chicken Legs=Жареные куриные ножки
|
||||
Roasted Ducky=Обжаренная утка
|
||||
Roasted Frog Leg=Жареная лягушачья лапка
|
||||
|
@ -179,6 +182,7 @@ Roasted Lamb Chop=Жареные отбивные из ягненка
|
|||
Roasted Goat Meat=Жареное козье мясо
|
||||
Roasted Parrot=Жареный попугай
|
||||
Roasted Porkchop=Жареная свиная отбивная
|
||||
Roasted Rabbit=Жареный кролик
|
||||
Rooster=Рустер
|
||||
Saddle=Седло
|
||||
Saddlebag=Мешок
|
||||
|
|
|
@ -365,3 +365,26 @@ minetest.register_craft({
|
|||
recipe = "petz:raw_goat",
|
||||
cooktime = 3,
|
||||
})
|
||||
|
||||
--Rabbit Food
|
||||
minetest.register_craftitem("petz:raw_rabbit", {
|
||||
description = S("Raw Rabbit"),
|
||||
inventory_image = "petz_raw_rabbit.png",
|
||||
wield_image = "petz_raw_rabbit.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {flammable = 2, food = 2, food_meat_raw = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("petz:roasted_rabbit", {
|
||||
description = S("Roasted Rabbit"),
|
||||
inventory_image = "petz_roasted_rabbit.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
groups = {flammable = 2, food = 2, food_meat = 1},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "petz:roasted_rabbit",
|
||||
recipe = "petz:raw_rabbit",
|
||||
cooktime = 2,
|
||||
})
|
||||
|
|
|
@ -586,6 +586,14 @@ minetest.register_craftitem("petz:ant_leg", {
|
|||
inventory_image = "petz_ant_leg.png",
|
||||
})
|
||||
|
||||
--Rabbit Hide
|
||||
|
||||
minetest.register_craftitem("petz:rabbit_hide", {
|
||||
description = S("Rabbit Hide"),
|
||||
inventory_image = "petz_rabbit_hide.png",
|
||||
wield_image = "petz_rabbit_hide.png"
|
||||
})
|
||||
|
||||
--minetest.register_node("petz:squirrel_cage", {
|
||||
--description = S("Squirrel Cage"),
|
||||
--drawtype = "glasslike_framed",
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
function mobkit.hq_terrestial_jump(self, prty)
|
||||
local func = function()
|
||||
local velocity = {
|
||||
x = self.max_speed * (self.jump_impulse/3),
|
||||
y = self.max_speed * self.jump_impulse,
|
||||
z = self.max_speed * (self.jump_impulse/3),
|
||||
}
|
||||
petz.set_velocity(self, velocity)
|
||||
mobkit.animate(self, 'jump')
|
||||
self.object:set_acceleration({x=1.0, y=self.jump_impulse, z=1.0})
|
||||
self.status = "jump"
|
||||
mobkit.animate(self, 'fly')
|
||||
--mokapi.make_sound("object", self.object, "petz_splash", petz.settings.max_hear_distance)
|
||||
minetest.after(0.5, function()
|
||||
if mobkit.is_alive(self.object) then
|
||||
self.status = nil
|
||||
mobkit.clear_queue_high(self)
|
||||
end
|
||||
end, self, velocity)
|
||||
return true
|
||||
end
|
||||
mobkit.queue_high(self, func, prty)
|
||||
end
|
|
@ -119,6 +119,17 @@ function petz.herbivore_brain(self)
|
|||
--end
|
||||
--end
|
||||
|
||||
if prty < 8 then
|
||||
if (self.can_jump) and not(self.status== "jump") then
|
||||
local random_number = math.random(1, self.jump_ratio)
|
||||
if random_number == 1 then
|
||||
--minetest.chat_send_player("singleplayer", "jump")
|
||||
mobkit.clear_queue_high(self)
|
||||
mobkit.hq_terrestial_jump(self, 8)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--Poop
|
||||
if prty < 7 then
|
||||
petz.poop(self, pos)
|
||||
|
|
|
@ -9,6 +9,7 @@ assert(loadfile(modpath .. "/mobkit/bh_breed.lua"))()
|
|||
assert(loadfile(modpath .. "/mobkit/bh_fly.lua"))()
|
||||
assert(loadfile(modpath .. "/mobkit/bh_follow.lua"))()
|
||||
assert(loadfile(modpath .. "/mobkit/bh_herding.lua"))()
|
||||
assert(loadfile(modpath .. "/mobkit/bh_herbivore.lua"))()
|
||||
assert(loadfile(modpath .. "/mobkit/bh_hunt.lua"))()
|
||||
assert(loadfile(modpath .. "/mobkit/bh_mount.lua"))()
|
||||
assert(loadfile(modpath .. "/mobkit/bh_replace.lua"))()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# WARNING: Do NOT change the Petz Mod preferences here
|
||||
# Do create a 'user.conf' with your favourite preferences instead of.
|
||||
|
||||
petz_list = kitty,puppy,ducky,lamb,lion,calf,panda,grizzly,pony,parrot,chicken,piggy,wolf,elephant,elephant_female,pigeon,moth,camel,clownfish,bat,silkworm,chimp,hamster,dolphin,tropicalfish,beaver,turtle,frog,toucan,bee,queen_bee,mr_pumpkin,foxy,penguin,polar_bear,santa_killer,werewolf,tarantula,butterfly,rat,goat,squirrel,leopard,snow_leopard,ant,warrior_ant,queen_ant,rooster,hen
|
||||
petz_list = kitty,puppy,ducky,lamb,lion,calf,panda,grizzly,pony,parrot,chicken,piggy,wolf,elephant,elephant_female,pigeon,moth,camel,clownfish,bat,silkworm,chimp,hamster,dolphin,tropicalfish,beaver,turtle,frog,toucan,bee,queen_bee,mr_pumpkin,foxy,penguin,polar_bear,santa_killer,werewolf,tarantula,butterfly,rat,goat,squirrel,leopard,snow_leopard,ant,warrior_ant,queen_ant,rooster,hen,bunny
|
||||
|
||||
##Tamagochi Mode (Take care of your pet: fed it...)
|
||||
tamagochi_mode = true
|
||||
|
@ -516,3 +516,13 @@ queen_ant_spawn_chance = 0.4
|
|||
queen_ant_spawn_nodes = default:dirt_with_grass,default:desert_sand
|
||||
queen_ant_preys = petz:queen_ant
|
||||
queen_ant_spawn_biome = default
|
||||
|
||||
##Bunny Specific
|
||||
bunny_follow = farming:wheat
|
||||
bunny_spawn_chance = 0.6
|
||||
bunny_spawn_nodes = default:dirt_with_grass
|
||||
bunny_predators = petz:foxy
|
||||
bunny_spawn_biome = default
|
||||
bunny_spawn_herd = 3
|
||||
bunny_breed = default:blueberries
|
||||
bunny_copulation_distance = 2
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
--
|
||||
--BUNNY
|
||||
--
|
||||
local S = ...
|
||||
|
||||
local pet_name = "bunny"
|
||||
local scale_model = 1.3
|
||||
local scale_baby = 0.5
|
||||
local visual_size = {x=petz.settings.visual_size.x*scale_model, y=petz.settings.visual_size.y*scale_model}
|
||||
local visual_size_baby = {x=petz.settings.visual_size.x*scale_model*scale_baby, y=petz.settings.visual_size.y*scale_model*scale_baby}
|
||||
local mesh = 'petz_bunny.b3d'
|
||||
local skin_colors = {"brown", "gray", "black", "white", "pink"}
|
||||
local textures = {}
|
||||
for n = 1, #skin_colors do
|
||||
textures[n] = "petz_"..pet_name.."_"..skin_colors[n]..".png"
|
||||
end
|
||||
local p1 = {x= -0.25, y = -0.5, z = -0.125}
|
||||
local p2 = {x= 0.25, y = -0.0625, z = 0.1875}
|
||||
local collisionbox, collisionbox_baby = petz.get_collisionbox(p1, p2, scale_model, scale_baby)
|
||||
|
||||
minetest.register_entity("petz:"..pet_name, {
|
||||
--Petz specifics
|
||||
type = "bunny",
|
||||
init_tamagochi_timer = true,
|
||||
is_pet = true,
|
||||
has_affinity = true,
|
||||
is_wild = false,
|
||||
give_orders = true,
|
||||
can_be_brushed = true,
|
||||
can_jump = true,
|
||||
jump_ratio = 10,
|
||||
jump_impulse = 1.2,
|
||||
breed = true,
|
||||
mutation = 1,
|
||||
capture_item = "lasso",
|
||||
follow = petz.settings.bunny_follow,
|
||||
drops = {
|
||||
{name = "petz:raw_rabbit", chance = 1, min = 1, max = 1,},
|
||||
{name = "petz:rabbit_hide", chance = 3, min = 1, max = 1,},
|
||||
{name = "petz:bone", chance = 5, min = 1, max = 1,},
|
||||
},
|
||||
sleep_at_night = true,
|
||||
sleep_ratio = 0.3,
|
||||
rotate = petz.settings.rotate,
|
||||
physical = true,
|
||||
stepheight = 0.1, --EVIL!
|
||||
collide_with_objects = true,
|
||||
collisionbox = collisionbox,
|
||||
collisionbox_baby = collisionbox_baby,
|
||||
visual = petz.settings.visual,
|
||||
mesh = mesh,
|
||||
textures = textures,
|
||||
skin_colors = skin_colors,
|
||||
visual_size = visual_size,
|
||||
visual_size_baby = visual_size_baby,
|
||||
static_save = true,
|
||||
get_staticdata = mobkit.statfunc,
|
||||
-- api props
|
||||
springiness= 0,
|
||||
buoyancy = 0.5, -- portion of hitbox submerged
|
||||
max_speed = 4,
|
||||
jump_height = 1.5,
|
||||
view_range = 10,
|
||||
lung_capacity = 10, -- seconds
|
||||
max_hp = 8,
|
||||
makes_footstep_sound = false,
|
||||
|
||||
--head = {
|
||||
--position = vector.new(0, 0.0969, 0.1939),
|
||||
--rotation_origin = vector.new(-90, -90, 0), --in degrees, normally values are -90, 0, 90
|
||||
--},
|
||||
|
||||
attack={range=0.5, damage_groups={fleshy=3}},
|
||||
animation = {
|
||||
walk={range={x=1, y=12}, speed=25, loop=true},
|
||||
run={range={x=13, y=25}, speed=25, loop=true},
|
||||
stand={
|
||||
{range={x=26, y=46}, speed=5, loop=true},
|
||||
{range={x=47, y=59}, speed=5, loop=true},
|
||||
{range={x=82, y=94}, speed=5, loop=true},
|
||||
},
|
||||
sit = {range={x=60, y=65}, speed=5, loop=false},
|
||||
sleep = {range={x=94, y=113}, speed=10, loop=false},
|
||||
jump = {range={x=114, y=117}, speed=5, loop=false},
|
||||
},
|
||||
sounds = {
|
||||
misc = {"petz_bunny_squeak", "petz_bunny_squeak2", "petz_bunny_squeak3"},
|
||||
moaning = "petz_bunny_moaning",
|
||||
},
|
||||
|
||||
logic = petz.herbivore_brain,
|
||||
|
||||
on_activate = function(self, staticdata, dtime_s) --on_activate, required
|
||||
mobkit.actfunc(self, staticdata, dtime_s)
|
||||
petz.set_initial_properties(self, staticdata, dtime_s)
|
||||
end,
|
||||
|
||||
on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir)
|
||||
petz.on_punch(self, puncher, time_from_last_punch, tool_capabilities, dir)
|
||||
end,
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
petz.on_rightclick(self, clicker)
|
||||
end,
|
||||
|
||||
on_step = function(self, dtime)
|
||||
mobkit.stepfunc(self, dtime) -- required
|
||||
petz.on_step(self, dtime)
|
||||
end,
|
||||
})
|
||||
|
||||
petz:register_egg("petz:bunny", S("Bunny"), "petz_spawnegg_bunny.png", true)
|
|
@ -33,6 +33,7 @@ minetest.register_entity("petz:"..pet_name, {
|
|||
mesh = mesh,
|
||||
textures = textures,
|
||||
visual_size = {x=petz.settings.visual_size.x*scale_model, y=petz.settings.visual_size.y*scale_model},
|
||||
visual_size_baby = visual_size_baby,
|
||||
static_save = true,
|
||||
get_staticdata = mobkit.statfunc,
|
||||
-- api props
|
||||
|
|
|
@ -57,7 +57,7 @@ minetest.register_entity("petz:"..pet_name, {
|
|||
stand={
|
||||
{range={x=26, y=46}, speed=5, loop=true},
|
||||
{range={x=47, y=59}, speed=5, loop=true},
|
||||
{range={x=81, y=94}, speed=5, loop=true},
|
||||
{range={x=82, y=94}, speed=5, loop=true},
|
||||
},
|
||||
sit = {range={x=60, y=65}, speed=5, loop=false},
|
||||
sleep = {range={x=94, y=113}, speed=10, loop=false},
|
||||
|
|
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1016 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 1.3 KiB |