forked from VoxeLibre/VoxeLibre
Merge pull request 'Make golem go home. Fixes #3288' (#3929) from golem_nav into master
Reviewed-on: MineClone2/MineClone2#3929 Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
This commit is contained in:
commit
accb8742dd
|
@ -4,12 +4,14 @@
|
||||||
--License for code WTFPL and otherwise stated in readmes
|
--License for code WTFPL and otherwise stated in readmes
|
||||||
|
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
|
local allow_nav_hacks = minetest.settings:get_bool("mcl_mob_allow_nav_hacks ",false)
|
||||||
|
|
||||||
--###################
|
--###################
|
||||||
--################### IRON GOLEM
|
--################### IRON GOLEM
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
local etime = 0
|
local walk_dist = 40
|
||||||
|
local tele_dist = 80
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:iron_golem", {
|
mcl_mobs.register_mob("mobs_mc:iron_golem", {
|
||||||
description = S("Iron Golem"),
|
description = S("Iron Golem"),
|
||||||
|
@ -85,11 +87,23 @@ mcl_mobs.register_mob("mobs_mc:iron_golem", {
|
||||||
punch_start = 40, punch_end = 50,
|
punch_start = 40, punch_end = 50,
|
||||||
},
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
on_step = function(self,dtime)
|
do_custom = function(self, dtime)
|
||||||
etime = etime + dtime
|
self.home_timer = (self.home_timer or 0) + dtime
|
||||||
if etime > 10 then
|
|
||||||
if self._home and vector.distance(self._home,self.object:get_pos()) > 50 then
|
if self.home_timer > 10 then
|
||||||
self:gopath(self._home)
|
self.home_timer = 0
|
||||||
|
if self._home and self.state ~= "attack" then
|
||||||
|
local dist = vector.distance(self._home,self.object:get_pos())
|
||||||
|
if allow_nav_hacks and dist >= tele_dist then
|
||||||
|
self.object:set_pos(self._home)
|
||||||
|
self.state = "stand"
|
||||||
|
self.order = "follow"
|
||||||
|
elseif dist >= walk_dist then
|
||||||
|
self:gopath(self._home, function(self)
|
||||||
|
self.state = "stand"
|
||||||
|
self.order = "follow"
|
||||||
|
end)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
|
@ -290,6 +290,10 @@ fix_doubleplants (Mcimport double plant fixes) bool true
|
||||||
# Allow players to create Minecraft-like maps.
|
# Allow players to create Minecraft-like maps.
|
||||||
enable_real_maps (Enable Real Maps) bool true
|
enable_real_maps (Enable Real Maps) bool true
|
||||||
|
|
||||||
|
# Enable workarounds for faulty mob navigation.
|
||||||
|
# Hack 1: teleport golems home if they are very far from home
|
||||||
|
mcl_mob_allow_nav_hacks (Mob navigation hacks) bool false
|
||||||
|
|
||||||
[Additional Features]
|
[Additional Features]
|
||||||
# Enable Bookshelf inventories
|
# Enable Bookshelf inventories
|
||||||
mcl_bookshelf_inventories (Enable bookshelf inventories) bool true
|
mcl_bookshelf_inventories (Enable bookshelf inventories) bool true
|
||||||
|
|
Loading…
Reference in New Issue