--print(self.hostile)
if self.hostile == true then
local distance = vector.distance(pos,pos2)
-
+ self.following_pos = vector.new(pos.x,pos.y-1.625,pos.z)
--punch the player
if self.attack_type == "punch" then
if distance < 2.5 and self.punch_timer <= 0 and object:get_hp() > 0 then
if self.move_head then
self.move_head(self,nil,dtime)
end
+ if self.following_pos then
+ self.following_pos = nil
+ end
if self.manage_hostile_timer then
self.manage_hostile_timer(self,dtime)
end
local pos2 = vector.add(vector.multiply(self.direction,modifier),pos)
local ray = minetest.raycast(pos, pos2, false, false)
+
+ local pointed_thing
if ray then
- local pointed_thing = ray:next()
- if pointed_thing then
- if minetest.get_nodedef(minetest.get_node(pointed_thing.under).name, "walkable") then
- local vel = self.object:get_velocity()
- self.jump_timer = 1+math.random()
+ pointed_thing = ray:next()
+ end
+
+ if pointed_thing then
+ if minetest.get_nodedef(minetest.get_node(pointed_thing.under).name, "walkable") then
+ --print("jump")
+ local vel = self.object:get_velocity()
+ --self.jump_timer = 1+math.random()
+ self.object:set_velocity(vector.new(vel.x,5,vel.z))
+ else
+ --print("velocity check")
+ local vel = self.object:get_velocity()
+ if (vel.x == 0 and self.direction.x ~= 0) or (vel.z == 0 and self.direction.z ~= 0) then
self.object:set_velocity(vector.new(vel.x,5,vel.z))
end
end
+ else
+ --print("velcheck 2")
+ local vel = self.object:get_velocity()
+ if (vel.x == 0 and self.direction.x ~= 0) or (vel.z == 0 and self.direction.z ~= 0) then
+ self.object:set_velocity(vector.new(vel.x,5,vel.z))
+ end
end
end
end
visual_size = {x = 3, y = 3},
mesh = "spider.b3d",
textures = {
- --blank out the first two to create adult pig
"spider.png"
},
state = 0,
view_distance = 15,
- item_drop = "mob:raw_porkchop",
+ item_drop = "mob:string",
standing_frame = {x=21,y=21},
moving_frame = {x=0,y=20},
animation_multiplier = 20,
----
----
- death_rotation = "x",
+ death_rotation = "z",
hurt_sound = "pig",
die_sound = "pig_die",
- hostile = false,
+ hostile = true,
attacked_hostile = false,
attack_type = "punch",
group_attack = true,
description = "Gunpowder",
inventory_image = "gunpowder.png",
})
+minetest.register_craftitem("mob:string", {
+ description = "String",
+ inventory_image = "string.png",
+})
--cooking
minetest.register_craft({
type = "cooking",
local spawn = true
local spawn_table = {"pig"}
-local dark_spawn_table = {"creeper"}
+local dark_spawn_table = {"creeper","spider"}
local nether_spawn_table = {"nitro_creeper"}
local aether_spawn_table = {"phyg"}
--- /dev/null
+mob skins - 22i https://github.com/22i
+gunpowder, porkchop - https://github.com/minetest-texture-packs/Pixel-Perfection
+string, slimeball - oil_boi
\ No newline at end of file