forked from mtcontrib/mobs_redo
		
	getpos to get_pos
This commit is contained in:
		
							
								
								
									
										82
									
								
								api.lua
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								api.lua
									
									
									
									
									
								
							| @@ -360,7 +360,7 @@ local item_drop = function(self, cooked) | ||||
| 	if self.child then return end | ||||
|  | ||||
| 	local obj, item, num | ||||
| 	local pos = self.object:getpos() | ||||
| 	local pos = self.object:get_pos() | ||||
|  | ||||
| 	self.drops = self.drops or {} -- nil check | ||||
|  | ||||
| @@ -446,7 +446,7 @@ local check_for_death = function(self, cause, cmi_cause) | ||||
|  | ||||
| 	mob_sound(self, self.sounds.death) | ||||
|  | ||||
| 	local pos = self.object:getpos() | ||||
| 	local pos = self.object:get_pos() | ||||
|  | ||||
| 	-- execute custom death function | ||||
| 	if self.on_die then | ||||
| @@ -529,7 +529,7 @@ local is_at_cliff = function(self) | ||||
| 	local yaw = self.object:get_yaw() | ||||
| 	local dir_x = -sin(yaw) * (self.collisionbox[4] + 0.5) | ||||
| 	local dir_z = cos(yaw) * (self.collisionbox[4] + 0.5) | ||||
| 	local pos = self.object:getpos() | ||||
| 	local pos = self.object:get_pos() | ||||
| 	local ypos = pos.y + self.collisionbox[2] -- just above floor | ||||
|  | ||||
| 	if minetest.line_of_sight( | ||||
| @@ -576,7 +576,7 @@ local do_env_damage = function(self) | ||||
| 		update_tag(self) | ||||
| 	end | ||||
|  | ||||
| 	local pos = self.object:getpos() | ||||
| 	local pos = self.object:get_pos() | ||||
|  | ||||
| 	self.time_of_day = minetest.get_timeofday() | ||||
|  | ||||
| @@ -696,7 +696,7 @@ self.facing_fence = false | ||||
| 		return false | ||||
| 	end | ||||
|  | ||||
| 	local pos = self.object:getpos() | ||||
| 	local pos = self.object:get_pos() | ||||
| 	local yaw = self.object:get_yaw() | ||||
|  | ||||
| 	-- what is mob standing on? | ||||
| @@ -764,7 +764,7 @@ local entity_physics = function(pos, radius) | ||||
|  | ||||
| 	for n = 1, #objs do | ||||
|  | ||||
| 		obj_pos = objs[n]:getpos() | ||||
| 		obj_pos = objs[n]:get_pos() | ||||
|  | ||||
| 		dist = get_distance(pos, obj_pos) | ||||
| 		if dist < 1 then dist = 1 end | ||||
| @@ -864,7 +864,7 @@ local breed = function(self) | ||||
| 	if self.horny == true | ||||
| 	and self.hornytimer <= 40 then | ||||
|  | ||||
| 		local pos = self.object:getpos() | ||||
| 		local pos = self.object:get_pos() | ||||
|  | ||||
| 		effect({x = pos.x, y = pos.y + 1, z = pos.z}, 8, "heart.png", 3, 4, 1, 0.1) | ||||
|  | ||||
| @@ -1073,7 +1073,7 @@ local smart_mobs = function(self, s, p, dist, dtime) | ||||
| 			s.y = sground.y + 1 | ||||
| 		end | ||||
|  | ||||
| 		local p1 = self.attack:getpos() | ||||
| 		local p1 = self.attack:get_pos() | ||||
|  | ||||
| 		p1.x = floor(p1.x + 0.5) | ||||
| 		p1.y = floor(p1.y + 0.5) | ||||
| @@ -1237,7 +1237,7 @@ local monster_attack = function(self) | ||||
| 		return | ||||
| 	end | ||||
|  | ||||
| 	local s = self.object:getpos() | ||||
| 	local s = self.object:get_pos() | ||||
| 	local p, sp, dist | ||||
| 	local player, obj, min_player | ||||
| 	local type, name = "", "" | ||||
| @@ -1271,8 +1271,8 @@ local monster_attack = function(self) | ||||
| 		and (type == "player" or type == "npc" | ||||
| 			or (type == "animal" and self.attack_animals == true)) then | ||||
|  | ||||
| 			s = self.object:getpos() | ||||
| 			p = player:getpos() | ||||
| 			s = self.object:get_pos() | ||||
| 			p = player:get_pos() | ||||
| 			sp = s | ||||
|  | ||||
| 			-- aim higher to make looking up hills more realistic | ||||
| @@ -1311,7 +1311,7 @@ local npc_attack = function(self) | ||||
| 	end | ||||
|  | ||||
| 	local p, sp, obj, min_player | ||||
| 	local s = self.object:getpos() | ||||
| 	local s = self.object:get_pos() | ||||
| 	local min_dist = self.view_range + 1 | ||||
| 	local objs = minetest.get_objects_inside_radius(s, self.view_range) | ||||
|  | ||||
| @@ -1321,7 +1321,7 @@ local npc_attack = function(self) | ||||
|  | ||||
| 		if obj and obj.type == "monster" then | ||||
|  | ||||
| 			p = obj.object:getpos() | ||||
| 			p = obj.object:get_pos() | ||||
|  | ||||
| 			dist = get_distance(p, s) | ||||
|  | ||||
| @@ -1348,12 +1348,12 @@ local follow_flop = function(self) | ||||
| 	and self.state ~= "attack" | ||||
| 	and self.state ~= "runaway" then | ||||
|  | ||||
| 		local s = self.object:getpos() | ||||
| 		local s = self.object:get_pos() | ||||
| 		local players = minetest.get_connected_players() | ||||
|  | ||||
| 		for n = 1, #players do | ||||
|  | ||||
| 			if get_distance(players[n]:getpos(), s) < self.view_range | ||||
| 			if get_distance(players[n]:get_pos(), s) < self.view_range | ||||
| 			and not mobs.invis[ players[n]:get_player_name() ] then | ||||
|  | ||||
| 				self.following = players[n] | ||||
| @@ -1387,16 +1387,16 @@ local follow_flop = function(self) | ||||
| 	-- follow that thing | ||||
| 	if self.following then | ||||
|  | ||||
| 		local s = self.object:getpos() | ||||
| 		local s = self.object:get_pos() | ||||
| 		local p | ||||
|  | ||||
| 		if self.following:is_player() then | ||||
|  | ||||
| 			p = self.following:getpos() | ||||
| 			p = self.following:get_pos() | ||||
|  | ||||
| 		elseif self.following.object then | ||||
|  | ||||
| 			p = self.following.object:getpos() | ||||
| 			p = self.following.object:get_pos() | ||||
| 		end | ||||
|  | ||||
| 		if p then | ||||
| @@ -1439,7 +1439,7 @@ local follow_flop = function(self) | ||||
|  | ||||
| 	-- swimmers flop when out of their element, and swim again when back in | ||||
| 	if self.fly then | ||||
| 		local s = self.object:getpos() | ||||
| 		local s = self.object:get_pos() | ||||
| 		if not flight_check(self, s) then | ||||
|  | ||||
| 			self.state = "flop" | ||||
| @@ -1494,13 +1494,13 @@ local do_states = function(self, dtime) | ||||
| 		if random(1, 4) == 1 then | ||||
|  | ||||
| 			local lp = nil | ||||
| 			local s = self.object:getpos() | ||||
| 			local s = self.object:get_pos() | ||||
| 			local objs = minetest.get_objects_inside_radius(s, 3) | ||||
|  | ||||
| 			for n = 1, #objs do | ||||
|  | ||||
| 				if objs[n]:is_player() then | ||||
| 					lp = objs[n]:getpos() | ||||
| 					lp = objs[n]:get_pos() | ||||
| 					break | ||||
| 				end | ||||
| 			end | ||||
| @@ -1554,7 +1554,7 @@ local do_states = function(self, dtime) | ||||
|  | ||||
| 	elseif self.state == "walk" then | ||||
|  | ||||
| 		local s = self.object:getpos() | ||||
| 		local s = self.object:get_pos() | ||||
| 		local lp = nil | ||||
|  | ||||
| 		-- is there something I need to avoid? | ||||
| @@ -1674,14 +1674,14 @@ local do_states = function(self, dtime) | ||||
| 	elseif self.state == "attack" then | ||||
|  | ||||
| 		-- calculate distance from mob and enemy | ||||
| 		local s = self.object:getpos() | ||||
| 		local p = self.attack:getpos() or s | ||||
| 		local s = self.object:get_pos() | ||||
| 		local p = self.attack:get_pos() or s | ||||
| 		local dist = get_distance(p, s) | ||||
|  | ||||
| 		-- stop attacking if player or out of range | ||||
| 		if dist > self.view_range | ||||
| 		or not self.attack | ||||
| 		or not self.attack:getpos() | ||||
| 		or not self.attack:get_pos() | ||||
| 		or self.attack:get_hp() <= 0 | ||||
| 		or (self.attack:is_player() and mobs.invis[ self.attack:get_player_name() ]) then | ||||
|  | ||||
| @@ -1752,7 +1752,7 @@ local do_states = function(self, dtime) | ||||
|  | ||||
| 				if self.timer > 3 then | ||||
|  | ||||
| 					local pos = self.object:getpos() | ||||
| 					local pos = self.object:get_pos() | ||||
| 					local radius = self.explosion_radius or 1 | ||||
| 					local damage_radius = radius | ||||
|  | ||||
| @@ -1995,7 +1995,7 @@ local do_states = function(self, dtime) | ||||
| 				-- play shoot attack sound | ||||
| 				mob_sound(self, self.sounds.shoot_attack) | ||||
|  | ||||
| 				local p = self.object:getpos() | ||||
| 				local p = self.object:get_pos() | ||||
|  | ||||
| 				p.y = p.y + (self.collisionbox[2] + self.collisionbox[5]) / 2 | ||||
|  | ||||
| @@ -2073,7 +2073,7 @@ local falling = function(self, pos) | ||||
| 		if self.fall_damage == 1 | ||||
| 		and self.object:getvelocity().y == 0 then | ||||
|  | ||||
| 			local d = (self.old_y or 0) - self.object:getpos().y | ||||
| 			local d = (self.old_y or 0) - self.object:get_pos().y | ||||
|  | ||||
| 			if d > 5 then | ||||
|  | ||||
| @@ -2086,7 +2086,7 @@ local falling = function(self, pos) | ||||
| 				end | ||||
| 			end | ||||
|  | ||||
| 			self.old_y = self.object:getpos().y | ||||
| 			self.old_y = self.object:get_pos().y | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
| @@ -2117,7 +2117,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) | ||||
|  | ||||
| 	-- is mob protected? | ||||
| 	if self.protected and hitter:is_player() | ||||
| 	and minetest.is_protected(self.object:getpos(), hitter:get_player_name()) then | ||||
| 	and minetest.is_protected(self.object:get_pos(), hitter:get_player_name()) then | ||||
| 		minetest.chat_send_player(hitter:get_player_name(), S("Mob has been protected!")) | ||||
| 		return | ||||
| 	end | ||||
| @@ -2216,7 +2216,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) | ||||
| 		if self.blood_amount > 0 | ||||
| 		and not disable_blood then | ||||
|  | ||||
| 			local pos = self.object:getpos() | ||||
| 			local pos = self.object:get_pos() | ||||
|  | ||||
| 			pos.y = pos.y + (-self.collisionbox[2] + self.collisionbox[5]) * .5 | ||||
|  | ||||
| @@ -2286,8 +2286,8 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) | ||||
| 	-- if skittish then run away | ||||
| 	if self.runaway == true then | ||||
|  | ||||
| 		local lp = hitter:getpos() | ||||
| 		local s = self.object:getpos() | ||||
| 		local lp = hitter:get_pos() | ||||
| 		local s = self.object:get_pos() | ||||
| 		local vec = { | ||||
| 			x = lp.x - s.x, | ||||
| 			y = lp.y - s.y, | ||||
| @@ -2320,7 +2320,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) | ||||
| 		do_attack(self, hitter) | ||||
|  | ||||
| 		-- alert others to the attack | ||||
| 		local objs = minetest.get_objects_inside_radius(hitter:getpos(), self.view_range) | ||||
| 		local objs = minetest.get_objects_inside_radius(hitter:get_pos(), self.view_range) | ||||
| 		local obj = nil | ||||
|  | ||||
| 		for n = 1, #objs do | ||||
| @@ -2485,7 +2485,7 @@ local mob_activate = function(self, staticdata, def, dtime) | ||||
| 	-- end init | ||||
|  | ||||
| 	self.object:set_armor_groups({immortal = 1, fleshy = self.armor}) | ||||
| 	self.old_y = self.object:getpos().y | ||||
| 	self.old_y = self.object:get_pos().y | ||||
| 	self.old_health = self.health | ||||
| 	self.sounds.distance = self.sounds.distance or 10 | ||||
| 	self.textures = textures | ||||
| @@ -2526,7 +2526,7 @@ local mob_step = function(self, dtime) | ||||
| 		cmi.notify_step(self.object, dtime) | ||||
| 	end | ||||
|  | ||||
| 	local pos = self.object:getpos() | ||||
| 	local pos = self.object:get_pos() | ||||
| 	local yaw = 0 | ||||
|  | ||||
| 	-- when lifetimer expires remove mob (except npc and tamed) | ||||
| @@ -3006,7 +3006,7 @@ function mobs:register_arrow(name, def) | ||||
|  | ||||
| 			self.timer = self.timer + 1 | ||||
|  | ||||
| 			local pos = self.object:getpos() | ||||
| 			local pos = self.object:get_pos() | ||||
|  | ||||
| 			if self.switch == 0 | ||||
| 			or self.timer > 150 | ||||
| @@ -3349,7 +3349,7 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso, | ||||
| 			if inv:room_for_item("main", new_stack) then | ||||
| 				inv:add_item("main", new_stack) | ||||
| 			else | ||||
| 				minetest.add_item(clicker:getpos(), new_stack) | ||||
| 				minetest.add_item(clicker:get_pos(), new_stack) | ||||
| 			end | ||||
|  | ||||
| 			self.object:remove() | ||||
| @@ -3396,10 +3396,10 @@ function mobs:protect(self, clicker) | ||||
| 	self.protected = true | ||||
| --	minetest.chat_send_player(name, S("Protected!")) | ||||
|  | ||||
| 	local pos = self.object:getpos() | ||||
| 	local pos = self.object:get_pos() | ||||
| 	pos.y = pos.y + self.collisionbox[2] + 0.5 | ||||
|  | ||||
| 	effect(self.object:getpos(), 25, "mobs_protect_particle.png", 0.5, 4, 2, 15) | ||||
| 	effect(self.object:get_pos(), 25, "mobs_protect_particle.png", 0.5, 4, 2, 15) | ||||
|  | ||||
| 	mob_sound(self, "mobs_spell") | ||||
|  | ||||
| @@ -3574,7 +3574,7 @@ function mobs:alias_mob(old_name, new_name) | ||||
|  | ||||
| 		on_step = function(self) | ||||
|  | ||||
| 			local pos = self.object:getpos() | ||||
| 			local pos = self.object:get_pos() | ||||
|  | ||||
| 			if minetest.registered_entities[new_name] then | ||||
| 				minetest.add_entity(pos, new_name) | ||||
|   | ||||
							
								
								
									
										11
									
								
								mount.lua
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								mount.lua
									
									
									
									
									
								
							| @@ -166,7 +166,7 @@ function mobs.detach(player, offset) | ||||
|  | ||||
| 	default.player_set_animation(player, "stand" , 30) | ||||
|  | ||||
| 	local pos = player:getpos() | ||||
| 	local pos = player:get_pos() | ||||
|  | ||||
| 	pos = {x = pos.x + offset.x, y = pos.y + 0.2 + offset.y, z = pos.z + offset.z} | ||||
|  | ||||
| @@ -212,7 +212,6 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime) | ||||
| 		end | ||||
|  | ||||
| 		-- fix mob rotation | ||||
| --		entity.object:setyaw(entity.driver:get_look_yaw() - entity.rotate) | ||||
| 		entity.object:setyaw(entity.driver:get_look_horizontal() - entity.rotate) | ||||
|  | ||||
| 		if can_fly then | ||||
| @@ -290,7 +289,7 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime) | ||||
| 	end | ||||
|  | ||||
| 	-- Set position, velocity and acceleration | ||||
| 	local p = entity.object:getpos() | ||||
| 	local p = entity.object:get_pos() | ||||
| 	local new_velo = {x = 0, y = 0, z = 0} | ||||
| 	local new_acce = {x = 0, y = -9.8, z = 0} | ||||
|  | ||||
| @@ -344,7 +343,7 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime) | ||||
| 				end | ||||
| 			else | ||||
| 				if math.abs(velo.y) < 1 then | ||||
| 					local pos = entity.object:getpos() | ||||
| 					local pos = entity.object:get_pos() | ||||
| 					pos.y = math.floor(pos.y) + 0.5 | ||||
| 					entity.object:setpos(pos) | ||||
| 					velo.y = 0 | ||||
| @@ -389,7 +388,6 @@ function mobs.fly(entity, dtime, speed, shoots, arrow, moving_anim, stand_anim) | ||||
| 	local ctrl = entity.driver:get_player_control() | ||||
| 	local velo = entity.object:getvelocity() | ||||
| 	local dir = entity.driver:get_look_dir() | ||||
| --	local yaw = entity.driver:get_look_yaw() | ||||
| 	local yaw = entity.driver:get_look_horizontal() + 1.57 -- offset fix between old and new commands | ||||
| 	local rot_steer, rot_view = math.pi / 2, 0 | ||||
|  | ||||
| @@ -420,7 +418,7 @@ function mobs.fly(entity, dtime, speed, shoots, arrow, moving_anim, stand_anim) | ||||
| 	-- firing arrows | ||||
| 	if ctrl.LMB and ctrl.sneak and shoots then | ||||
|  | ||||
| 		local pos = entity.object:getpos() | ||||
| 		local pos = entity.object:get_pos() | ||||
| 		local obj = minetest.add_entity({ | ||||
| 			x = pos.x + 0 + dir.x * 2.5, | ||||
| 			y = pos.y + 1.5 + dir.y, | ||||
| @@ -431,7 +429,6 @@ function mobs.fly(entity, dtime, speed, shoots, arrow, moving_anim, stand_anim) | ||||
| 			ent.switch = 1 -- for mob specific arrows | ||||
| 			ent.owner_id = tostring(entity.object) -- so arrows dont hurt entity you are riding | ||||
| 			local vec = {x = dir.x * 6, y = dir.y * 6, z = dir.z * 6} | ||||
| --			local yaw = entity.driver:get_look_yaw() | ||||
| 			local yaw = entity.driver:get_look_horizontal() | ||||
| 			obj:setyaw(yaw + math.pi / 2) | ||||
| 			obj:setvelocity(vec) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user