Temperest wrote:Kryuko: According to sapier, the best way to selectively enable mobs is by adding/removing the folders from the modpack.
sapier wrote:@Josh lots of suggestions I'll try to answer them one by one
1.1) cooking fish ... I like the idea, I've added fish meat some time ago and I'm enabling it in 1.9.1 to be dropped. There's already a cooking mod probably recieps could be added there
1.2) fishing rod: this idea is around for some time by now I don't have an idea how to do this in a way it's better than the nets used atm
2) Duck ... needs improovements in mobf core as this would be first animal that needs to stay exactly uppon waterline I'll put it on improovement list, but it's low prio atm
3) Chicken ... there is already a chicken for recieps see suggestion 1.1
4) Rat is in there, stealing cheese would require cheese being there ;-) I don't have an idea how to get a mob doing this but it's an interesting option to be added in later releases
5) Cows are there ... ok here's the cheese for recieps making cheese I recomend same as in 1.1
6) Everything you suggested about sheep can already be done
7) pigs ... some ppl like it others don't, riding is difficult to implement atm
sapier wrote:@Josh as you wish 1.9.1 adds animation support ... still lots of animals aren't due to lack of animated models
riding is possible? ok then I need to update monorail first :-)
To all others: A new release 1.9.1 is available,
-fixing lots of state change bugs introduced with 1.9.0 thus still not completely flawless of course.
-now you get the meat you want!
-finaly animation has arrived! thanks to jojoa1997's model I was able to add those small pieces missing
Inocudom wrote:Google Chrome states that FreeImageHosting is a malware site and could therefore harm computers. Try uploading your images to PhotoBucket.
mob.on_step = function(self, dtime)
self.timer = self.timer + 0.01
self.turn_timer = self.turn_timer + 0.01
self.jump_timer = self.jump_timer + 0.01
self.door_timer = self.door_timer + 0.01
self.present_timer = self.present_timer + 0.01
if self.timer > math.random(2,5) then
self.state = math.random(1,2)
self.timer = 0
end
--STANDING
if self.state == 1 then
self.yawwer = true
for _,object in ipairs(minetest.env:get_objects_inside_radius(self.object:getpos(), 3)) do
if object:is_player() then
self.yawwer = false
NPC = self.object:getpos()
PLAYER = object:getpos()
self.vec = {x=PLAYER.x-NPC.x, y=PLAYER.y-NPC.y, z=PLAYER.z-NPC.z}
self.yaw = math.atan(self.vec.z/self.vec.x)+math.pi^2
if PLAYER.x > NPC.x then
self.yaw = self.yaw + math.pi
end
self.yaw = self.yaw - 2
self.object:setyaw(self.yaw)
end
end
if self.turn_timer > math.random(1,4) and yawwer == true then
self.yaw = 360 * math.random()
self.object:setyaw(self.yaw)
self.turn_timer = 0
end
self.object:setvelocity({x=0,y=self.object:getvelocity().y,z=0})
if self.player_anim ~= ANIM_STAND then
self.anim = player_get_animations(visual)
self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed_mod, animation_blend)
self.player_anim = ANIM_STAND
end
end
--WALKING
if self.state == 2 then
if self.present_timer > 1 then
minetest.env:add_item(self.object:getpos(),"default:coal_lump")
minetest.sound_play("fart", {pos=self.object:getpos(), gain=1.5, max_hear_distance=2*64})
self.present_timer = 0
end
if self.direction ~= nil then
self.object:setvelocity({x=self.direction.x*chillaxin_speed,y=self.object:getvelocity().y,z=self.direction.z*chillaxin_speed})
end
if self.turn_timer > math.random(1,4) then
self.yaw = 360 * math.random()
self.object:setyaw(self.yaw)
self.turn_timer = 0
self.direction = {x = math.sin(self.yaw)*-1, y = -10, z = math.cos(self.yaw)}
--self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=direction.z})
--self.object:setacceleration(self.direction)
end
if self.player_anim ~= ANIM_WALK then
self.anim = player_get_animations(visual)
self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
self.player_anim = ANIM_WALK
end
--open a door [alpha]
if self.direction ~= nil then
if self.door_timer > 2 then
local is_a_door = minetest.env:get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
if is_a_door == "doors:door_wood_t_1" then
minetest.env:punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
self.door_timer = 0
end
local is_in_door = minetest.env:get_node(self.object:getpos()).name
if is_in_door == "doors:door_wood_t_1" then
minetest.env:punch_node(self.object:getpos())
end
end
end
--jump
if self.direction ~= nil then
if self.jump_timer > 0.3 then
if minetest.registered_nodes[minetest.env:get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name].walkable then
self.object:setvelocity({x=self.object:getvelocity().x,y=5,z=self.object:getvelocity().z})
self.jump_timer = 0
end
end
end
end
end
Users browsing this forum: No registered users and 57 guests