[Mod] Mobs Redo [1.61] [mobs]
Re: [Mod] Mobs Redo [1.33] [mobs]
redblade7 - are you in creative mode ? if so then you will have unlimited items and they remain in your inventory, but... I've just added a change where tamed eggs will be removed even in creative so please update mobs redo api.
-
- Member
- Posts: 316
- Joined: Sun Feb 15, 2015 07:14
- IRC: redneonglow redblade7
- In-game: redblade7 redblade7_owner
Re: [Mod] Mobs Redo [1.33] [mobs]
Thank you! Tested on all of mobs_animal and a customized mobs_water containing only tropical fish and clownfish. Works on all of these except bees and rats from mobs_animal, those aren't tameable but you might want to look into something.TenPlus1 wrote:redblade7 - are you in creative mode ? if so then you will have unlimited items and they remain in your inventory, but... I've just added a change where tamed eggs will be removed even in creative so please update mobs redo api.
I wish this was possible for saplings too. I already have saplings removed from creative inventory on my server, and it's running 0.4.15 which has the "plant griefing" fix applied, but once you have one sapling you can just repeatedly drop the same one.
-redblade7, admin of: THE CREATIVE GARDENS (creative), THE VALLEYS (sandbox), and THE DIGITAL FARMS (farming/hunger/shops)
Re: [Mod] Mobs Redo [1.33] [mobs]
redblade7 - remember that 'creative' mode is for players to build without having to collect items at all, so placing any item and having it still remain in their inventory is normal... If this is not the intended use then I'd recommend disabling creative and moving to survival instead where you can still grant 'creative' privs to certain players if needed by using my github.com/tenplus1/creative mod replacement.
Re: [Mod] Mobs Redo [1.33] [mobs]
Can we make a modpack for the mods? Al least the mobs who don't have a github repo? I is tedious to install them by hand and the creeper has still the model bug
- Wuzzy
- Member
- Posts: 4803
- Joined: Mon Sep 24, 2012 15:01
- GitHub: Wuzzy2
- IRC: Wuzzy
- In-game: Wuzzy
- Contact:
Mobs Redo review
The good
- Reasonably powerful API
- Simple-to use API
- Many of the core mobs from Minecraft can be re-implemented and the code looks relatively clean
- Support for tons of sounds
- Support for a ton of animations
- Use of callback functions allow for easy extensibility, even complex mobs like traders are possible without breaking Mobs Redo!
- Easy access to everyday stuff. Very easy to use
- Seems pretty stable so far
- Mob spawners
- Support for knockback
- Animal breeding and following
- Interesting unique ideas such as the mob protection rune or the lasso
- Monsters infighting + customization
- Damage immunity
- With the right mods which add mobs, greatly enhances the gameplay
- Popular, has a long history and support
The bad
- Apparently rather weak shooting AI. Or at least I apparently can't customize it. I can't make mobs which try to stay at a distance so they can attack from afar and be safe from melee attacks
- Weak floating AI. They never change height, making use of floating mobs rather limited
- Documentation has many holes
- Water and lava damage are pretty much hardcoded, there i
- Not many options to customize hostility and/or likelihood to attack (agressiveness)
- No customization options for children or breeding behaviour (apparently there are many hardcoded values)
- Children seem to grow VERY fast
- Can't use it verbatim in my subgame (MineClone 2), I still have to modify it. :-( The reason is that it contains a couple of craftable items. For an API mod, it has still too much clutter which should go in a separate mod.
- Attacking strategies, especially shooting does not leave much room for customization
- Mob spawners don't contain the mobs they spawn (only via infotext) :-( (I know this is possible, see tsm_pyramids for an example)
- Knockback is weird and feels laggy and not fluid / unnatural
The ugly
- Hard and totally avoidable dependency on default
- I don't seem to be able to set 0 damage for hostile mobs. I need this to reimplement the tiny slimes from Minecraft, which attempt to attack the player but never deal damage. But instead, my tiny slimes deal 1 damage. :-(
- A LOT of chat abuse, also often with poor spelling
- Children have the same drops as the adults
- replace_with and replace_what are limited in use. It is not possible to make a mob replace a particular node with another particular node. E.g. sheep replace Dirt with Grass with Dirt and Grass with Air. Current API forces me to pick one.
- I am not sure, but documentation seems to be partially inconsistent or wrong about true/false vs 1/0 values. Can you please check these fields?: pathfinding, floats
- follows: It seems this is also used for feeding and breeding. I don't like this as this conflates different things. IMO this should be split into several fields, one for following, and one for feeding.
- Only probabilities of form 1/x are allowed.
- fall_speed is very weird. A low fall_speed increases the jump height! I expected a terminal velocity here, was disappointed.
Suggestions (everything I need for MineClone 2):
- on_breed: Callback function for custom breeding. Is called when a new child mob is created, parameters are the objects of both parents, and the child itself. This can be useful to further customize the child when it was born.
- https://github.com/tenplus1/mobs_redo/issues/38
- Rework the current replace_with and replace_what logic by allowing the modder to use a 1:1 mapping between replaced node and new node. I suggest to allow a table for replace_what, then both tables will be seen as a “mapping”, where item 1 from replace_with will be replaced by item 1 from replace_what. Like so:
Meaning, dirt with grass becomes dirt, and high grass and jungle grass become air. If a table is used for replace_what, it must have the equal length of replace_with, of course. The single string value can still be supported, it just means that ANY value from replace_with will be replaced with this (current behaviour)
- on_replace: Callback function which gets called whenever a mob replaces a node. Params: Position, old node, new node. Use case: Sheep regrow their wool after “eating” (read: replacing) grass.
- Allow to set how fast children grow
- Allow to set custom nodes in which mobs take damage. It is basically a more generalized version of lava_damage and water_damage
- Add an optional terminal velocity for falling mobs. Use case: Minecraft-style chicken which slowly decend to the ground at a maximum constant (!) speed because they flap their wings
Questions:
- How do I spawn a child?
- Can I customize children?
- Can I reuse an existing entity as an arrow? Or am I forced to call register_arrow?
Holes in the docs
In general:
Many of the core mechanics are not explained at all (this info is crucial to better predict the behvaiour of the mobs):
- Breeding
- Feeding
- Damage/armor
- Mob types
- Default behaviour/hostility
How to spawn a mob
- Yes, I know it is just minetest.add_entity but it is not neccessarily obvious, because the modder doesn't know how
- It is not clear how animations are used and what the various animation names mean
- Many parameters are just very roughly explained, leaving many questions open. Underlying concepts are often without explanation
register_mob:
- The different mob types as well as their typical behaviour are not explained at all. IMO this is VERY important to understand
- Mob hostility is confusing and scattered through many different parameters, their interaction is not always clear
- It is often not clear which fields are optional and which aren't
- The default values for optional fields sometimes missing
- What on Earth does “armor” do and how does it work? What do the values mean? And why do I find values like 100, 90, etc. in many Mobs Redo mods although the docs say only 1-3 are valid values
differences
- walk_chance, jump_chance: The valid value range is missing
- jump: No default value
- do_custom: It is not clear how often this is called
- self.gotten: This is just an example, but not a proper definition
- self.owner: It is not clear what it means to be the owner
- jump_height is confusing. It has nothing to do with the actual height the mobs jump. No explanation why.
- Reasonably powerful API
- Simple-to use API
- Many of the core mobs from Minecraft can be re-implemented and the code looks relatively clean
- Support for tons of sounds
- Support for a ton of animations
- Use of callback functions allow for easy extensibility, even complex mobs like traders are possible without breaking Mobs Redo!
- Easy access to everyday stuff. Very easy to use
- Seems pretty stable so far
- Mob spawners
- Support for knockback
- Animal breeding and following
- Interesting unique ideas such as the mob protection rune or the lasso
- Monsters infighting + customization
- Damage immunity
- With the right mods which add mobs, greatly enhances the gameplay
- Popular, has a long history and support
The bad
- Apparently rather weak shooting AI. Or at least I apparently can't customize it. I can't make mobs which try to stay at a distance so they can attack from afar and be safe from melee attacks
- Weak floating AI. They never change height, making use of floating mobs rather limited
- Documentation has many holes
- Water and lava damage are pretty much hardcoded, there i
- Not many options to customize hostility and/or likelihood to attack (agressiveness)
- No customization options for children or breeding behaviour (apparently there are many hardcoded values)
- Children seem to grow VERY fast
- Can't use it verbatim in my subgame (MineClone 2), I still have to modify it. :-( The reason is that it contains a couple of craftable items. For an API mod, it has still too much clutter which should go in a separate mod.
- Attacking strategies, especially shooting does not leave much room for customization
- Mob spawners don't contain the mobs they spawn (only via infotext) :-( (I know this is possible, see tsm_pyramids for an example)
- Knockback is weird and feels laggy and not fluid / unnatural
The ugly
- Hard and totally avoidable dependency on default
- I don't seem to be able to set 0 damage for hostile mobs. I need this to reimplement the tiny slimes from Minecraft, which attempt to attack the player but never deal damage. But instead, my tiny slimes deal 1 damage. :-(
- A LOT of chat abuse, also often with poor spelling
- Children have the same drops as the adults
- replace_with and replace_what are limited in use. It is not possible to make a mob replace a particular node with another particular node. E.g. sheep replace Dirt with Grass with Dirt and Grass with Air. Current API forces me to pick one.
- I am not sure, but documentation seems to be partially inconsistent or wrong about true/false vs 1/0 values. Can you please check these fields?: pathfinding, floats
- follows: It seems this is also used for feeding and breeding. I don't like this as this conflates different things. IMO this should be split into several fields, one for following, and one for feeding.
- Only probabilities of form 1/x are allowed.
- fall_speed is very weird. A low fall_speed increases the jump height! I expected a terminal velocity here, was disappointed.
Suggestions (everything I need for MineClone 2):
- on_breed: Callback function for custom breeding. Is called when a new child mob is created, parameters are the objects of both parents, and the child itself. This can be useful to further customize the child when it was born.
- https://github.com/tenplus1/mobs_redo/issues/38
- Rework the current replace_with and replace_what logic by allowing the modder to use a 1:1 mapping between replaced node and new node. I suggest to allow a table for replace_what, then both tables will be seen as a “mapping”, where item 1 from replace_with will be replaced by item 1 from replace_what. Like so:
Code: Select all
replace_with = {"default:dirt_with_grass", "default:grass_5", "air"},
replace_what = {"default:dirt_with_grass", "air", "air"},
- on_replace: Callback function which gets called whenever a mob replaces a node. Params: Position, old node, new node. Use case: Sheep regrow their wool after “eating” (read: replacing) grass.
- Allow to set how fast children grow
- Allow to set custom nodes in which mobs take damage. It is basically a more generalized version of lava_damage and water_damage
- Add an optional terminal velocity for falling mobs. Use case: Minecraft-style chicken which slowly decend to the ground at a maximum constant (!) speed because they flap their wings
Questions:
- How do I spawn a child?
- Can I customize children?
- Can I reuse an existing entity as an arrow? Or am I forced to call register_arrow?
Holes in the docs
In general:
Many of the core mechanics are not explained at all (this info is crucial to better predict the behvaiour of the mobs):
- Breeding
- Feeding
- Damage/armor
- Mob types
- Default behaviour/hostility
How to spawn a mob
- Yes, I know it is just minetest.add_entity but it is not neccessarily obvious, because the modder doesn't know how
- It is not clear how animations are used and what the various animation names mean
- Many parameters are just very roughly explained, leaving many questions open. Underlying concepts are often without explanation
register_mob:
- The different mob types as well as their typical behaviour are not explained at all. IMO this is VERY important to understand
- Mob hostility is confusing and scattered through many different parameters, their interaction is not always clear
- It is often not clear which fields are optional and which aren't
- The default values for optional fields sometimes missing
- What on Earth does “armor” do and how does it work? What do the values mean? And why do I find values like 100, 90, etc. in many Mobs Redo mods although the docs say only 1-3 are valid values
differences
- walk_chance, jump_chance: The valid value range is missing
- jump: No default value
- do_custom: It is not clear how often this is called
- self.gotten: This is just an example, but not a proper definition
- self.owner: It is not clear what it means to be the owner
- jump_height is confusing. It has nothing to do with the actual height the mobs jump. No explanation why.
- BrunoMine
- Member
- Posts: 1082
- Joined: Thu Apr 25, 2013 17:29
- GitHub: BrunoMine
- Location: SP-Brasil
- Contact:
Re: [Mod] Mobs Redo [1.33] [mobs]
Wow. You can analyze it very critically. Congrats on that.
I believe it would be a major breakthrough if we could work in detail on the presented problems.
I advise opening a issue in github.
I believe it would be a major breakthrough if we could work in detail on the presented problems.
I advise opening a issue in github.
Re: [Mod] Mobs Redo [1.34] [mobs]
Updated to 1.34
- New flying mode added to ride api which follows player look direction and can fire arrows.
Wuzzy - Thanks for the in-depth review, I have saved it locally so I can go through each point and see what can be done to make things better :) I do agree however that documentation is lacking in many areas although finding time to re-write is the problem just now.
Much of what cannot be done with mobs redo api right now relies on players and modders using the do_custom function to fill in the gaps for special features (which is called every tick) and I do try to add new features here and there but still remain compatible with PilzAdam's simple mobs.
Thankfully many users have contributed ideas and code to this project which helps make it better, and is very welcome.
- New flying mode added to ride api which follows player look direction and can fire arrows.
Wuzzy - Thanks for the in-depth review, I have saved it locally so I can go through each point and see what can be done to make things better :) I do agree however that documentation is lacking in many areas although finding time to re-write is the problem just now.
Much of what cannot be done with mobs redo api right now relies on players and modders using the do_custom function to fill in the gaps for special features (which is called every tick) and I do try to add new features here and there but still remain compatible with PilzAdam's simple mobs.
Thankfully many users have contributed ideas and code to this project which helps make it better, and is very welcome.
Re: [Mod] Mobs Redo [1.34] [mobs]
To be honest all mob API's have some big issues. e.g. if the server is lagging, mobs jump forward and backward. If I punch them nothing happens, but they can attack me. I had this situation more than once. I was dead without the chance to fight.
And I would propose to change spawning of animals and NPCs. Animals should spawn only once if the map is loaded the first time and live forever. If you want food from animals you have to tame and breed them. It is pretty useless to play survival if a sheep spawns every other minute.
I also want to propose to add the function to spawn mobs in groups like a herd of cows
Sadly I lost the code from my steering mobs. I have to start from scratch
And I would propose to change spawning of animals and NPCs. Animals should spawn only once if the map is loaded the first time and live forever. If you want food from animals you have to tame and breed them. It is pretty useless to play survival if a sheep spawns every other minute.
I also want to propose to add the function to spawn mobs in groups like a herd of cows
Sadly I lost the code from my steering mobs. I have to start from scratch
- Wuzzy
- Member
- Posts: 4803
- Joined: Mon Sep 24, 2012 15:01
- GitHub: Wuzzy2
- IRC: Wuzzy
- In-game: Wuzzy
- Contact:
Re: [Mod] Mobs Redo [1.34] [mobs]
Great!Much of what cannot be done with mobs redo api right now relies on players and modders using the do_custom function to fill in the gaps for special features (which is called every tick) and I do try to add new features here and there but still remain compatible with PilzAdam's simple mobs.
Oh, the fact that do_custom is called every tick should also be added into api.txt. ;-)
Re: [Mod] Mobs Redo [1.34] [mobs]
What is the prefered method to set the spawning rate and amount of mobs in minetest.conf?
mobs_animal:cow = 1000,5
or
mobs_animal:sheep_chance 11000
What are the dimensions of those numbers?
mobs_animal:cow = 1000,5
or
mobs_animal:sheep_chance 11000
What are the dimensions of those numbers?
- Andrey01
- Member
- Posts: 2577
- Joined: Wed Oct 19, 2016 15:18
- GitHub: Andrey2470T
- In-game: Andrey01
- Location: Russia, Moscow
Re: [Mod] Mobs Redo [1.34] [mobs]
I am wanting to ask to you, "Oerkki" - is that orc from The Lord Of The Rings?
Re: [Mod] Mobs Redo [1.34] [mobs]
mase - setting 'mobs_animal:cow = 1000,5' has a spawn chance of 1000 with 5 cows per map block and setting 'mobs_animal:cow = 5000' only sets the spawn chance.
Andrey01 - PilzAdam added Oerkki way back in Simple Mobs, am not sure but I think it was a japanese spirit.
Andrey01 - PilzAdam added Oerkki way back in Simple Mobs, am not sure but I think it was a japanese spirit.
Re: [Mod] Mobs Redo [1.34] [mobs]
that was unexpected...burli wrote:Örkki is the finish word for Ork
it sounds so much cuter than orc =(^.^)=
✨🏳️🌈♣️✨
Re: [Mod] Mobs Redo [1.34] [mobs]
https://translate.google.com/#fi/en/%C3%96rkkifirefox wrote:that was unexpected...burli wrote:Örkki is the finish word for Ork
it sounds so much cuter than orc =(^.^)=
;-)
- Wuzzy
- Member
- Posts: 4803
- Joined: Mon Sep 24, 2012 15:01
- GitHub: Wuzzy2
- IRC: Wuzzy
- In-game: Wuzzy
- Contact:
Re: [Mod] Mobs Redo [1.34] [mobs]
How can I create a mob which walks around water when chasing the player?
Re: [Mod] Mobs Redo [1.34] [mobs]
wuzzy - use the 'pathfinding = 1,' setting in mobs registry to have it pathfind player and climb/avoid obstacles, also setting to 2 allows mob to break down doorways and build to find player. I have avoidance settings to add as yet also.
- Wuzzy
- Member
- Posts: 4803
- Joined: Mon Sep 24, 2012 15:01
- GitHub: Wuzzy2
- IRC: Wuzzy
- In-game: Wuzzy
- Contact:
Re: [Mod] Mobs Redo [1.34] [mobs]
OK, thanks. This solved my problems.
- D00Med
- Member
- Posts: 949
- Joined: Sat Feb 07, 2015 22:49
- GitHub: D00Med
- Location: Australia...somewhere
Re: [Mod] Mobs Redo [1.34] [mobs]
Is there a way to make mobs go to a specific place? (like the inside of a building if it is night-time)
Look! I have a signature :]
My subgame: viewtopic.php?f=15&t=14051#p207242
My subgame: viewtopic.php?f=15&t=14051#p207242
Re: [Mod] Mobs Redo [1.34] [mobs]
you could use do_custom to check time and have a pathfind function to move mob towards a pos.
- ExeterDad
- Member
- Posts: 1717
- Joined: Sun Jun 01, 2014 20:00
- In-game: ExeterDad
- Location: New Hampshire U.S.A
Re: [Mod] Mobs Redo [1.34] [mobs]
TenPlus1 I've had several players question me about the lava flans. In their relentless quest to posses a Lava Pick they've been wanting to collect lava orbs that can only be gotten by the hunting of Lava Flan. They've been frustrated because after finally finding Flans, they've noted that are dying long before they can even get a selection box on them. It's true. I can watch them spawn in the lava as expected and then immediately I can watch their health start to fall. And then they died. Most cases, less than a second.
I'm pretty sure I haven't modified anything, nor have anything in my minetest.conf added to cause this. Has lava changed somehow in very recent Minetest-dev to cause this? I can't figure this out.
I'm pretty sure I haven't modified anything, nor have anything in my minetest.conf added to cause this. Has lava changed somehow in very recent Minetest-dev to cause this? I can't figure this out.
HOMETOWN -Our little server. Keep the HOMETOWN chatter @ http://hometownserver.com - Our server map: http://media.hometownserver.com
- Insurrection
- New member
- Posts: 6
- Joined: Sun Mar 05, 2017 02:13
- In-game: Insurrection
Re: [Mod] Mobs Redo [1.34] [mobs]
Question about mob behaviors- I'm trying to make a new "skittish" tag for mobs (so to speak) that makes them run away from the player once they spot the player. I've tried copying and modifying some of the existing code in API.lua, but no luck. I'm a bit code-dumb, so any help would be appreciated. I'd imagine this would be a useful feature altogether for other modders, too.
I started by adding
to the mobs:register_mob function.
Next, I added
by copying similar code for "runaway when punched" in the do_states function.
Then I added mob_scared
Added
to the mob_step block
Copied "do_attack" function:
Lastly, I added "skittish = true," to the bunny.lua.
It doesn't crash, but it just... doesn't work. What am I doing wrong? Or is there already a way/a better way to achieve the same effect?
I started by adding
Code: Select all
skittish = def.skittish,
skittish_timer = 0,
Next, I added
Code: Select all
-- skittish when player spotted
elseif self.state == "skittish" then
self.skittish_timer = self.skittish_timer + 1
-- stop after 5 seconds or when at cliff
if self.skittish_timer > 5
or is_at_cliff(self) then
self.skittish_timer = 0
set_velocity(self, 0)
self.state = "stand"
set_animation(self, "stand")
else
set_velocity(self, self.run_velocity)
set_animation(self, "walk")
end
Then I added mob_scared
Code: Select all
--mob, find closest player to run away from
local mob_scared = function(self)
local s = self.object:getpos()
local min_dist = self.view_range + 1
local obj, min_player = nil, nil
local objs = minetest.get_objects_inside_radius(s, self.view_range)
for n = 1, #objs do
obj = objs[n]:get_luaentity()
if obj and obj.type == "player" then
p = obj.object:getpos()
dist = get_distance(p, s)
if dist < min_dist then
min_dist = dist
min_player = obj.object
end
end
end
if min_player then
do_scaredrun(self, min_player)
end
end
Code: Select all
mob_scared(self)
Copied "do_attack" function:
Code: Select all
do_scaredrun = function(self, player)
if self.state == "skittish" then
return
end
self.state = "skittish"
if random(0, 100) < 90 then
mob_sound(self, self.sounds.war_cry)
end
end
It doesn't crash, but it just... doesn't work. What am I doing wrong? Or is there already a way/a better way to achieve the same effect?
Re: [Mod] Mobs Redo [1.34] [mobs]
ExeterDad - I've fixed that problem now, lava flan should swim around happily inside lava for now.
- ExeterDad
- Member
- Posts: 1717
- Joined: Sun Jun 01, 2014 20:00
- In-game: ExeterDad
- Location: New Hampshire U.S.A
Re: [Mod] Mobs Redo [1.34] [mobs]
Woot!! Thanks Man! Didn't expect you to go through the trouble of fixing. I was just hoping for a clue of what to do.TenPlus1 wrote:ExeterDad - I've fixed that problem now, lava flan should swim around happily inside lava for now.
Now we can see just how fast they can tear the place up with the Lava Pick. :)
HOMETOWN -Our little server. Keep the HOMETOWN chatter @ http://hometownserver.com - Our server map: http://media.hometownserver.com
Re: [Mod] Mobs Redo [1.34] [mobs]
Update:
- Added new animation function to handle built-in AND custom animations for mob e.g.
walk_start = 16, walk_end = 24, walk_speed = 15,
punch_start = 16, punch_end = 24, punch_speed = 20,
twerk_start = 25, twerk_end = 40, twerk_speed = 3000,
- New replace function added which can use tables e.g.
replace_what = {"default:grass_3", "default:grass_4", "default:grass_5"},
replace_with = "air",
replace_rate = 10,
replace_offset = 0,
... now becomes:
replace_what = {{"group:grass", "air", 0}, {"default:dirt_with_grass", "default:dirt", -1}},
replace_rate = 10,
... and adds additional node checks with their own y_offset :)
- Added new animation function to handle built-in AND custom animations for mob e.g.
walk_start = 16, walk_end = 24, walk_speed = 15,
punch_start = 16, punch_end = 24, punch_speed = 20,
twerk_start = 25, twerk_end = 40, twerk_speed = 3000,
- New replace function added which can use tables e.g.
replace_what = {"default:grass_3", "default:grass_4", "default:grass_5"},
replace_with = "air",
replace_rate = 10,
replace_offset = 0,
... now becomes:
replace_what = {{"group:grass", "air", 0}, {"default:dirt_with_grass", "default:dirt", -1}},
replace_rate = 10,
... and adds additional node checks with their own y_offset :)
Who is online
Users browsing this forum: No registered users and 33 guests