[Mod] Mobs [carbone_mobs] – fast and simple mobs

Post Reply
User avatar
Calinou
Moderator
Posts: 3169
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou
Location: Troyes, France
Contact:

[Mod] Mobs [carbone_mobs] – fast and simple mobs

by Calinou » Post

A fast mobs mod. Based on PilzAdam's mobs mod, packing dozens of improvements.

This mod is originating from Carbone. You don't install this mod if you're playing that particular game; it's already included and enabled by default there.

GitHub repository (includes issue tracker)

Download
Rename the directory to “carbone_mobs” after extracting the .zip file.

No dependencies on non-default mods.
License for code: WTFPL
License for media: WTFPL (some by Evergreen and Pavel_S)


This mod forces active_block_range = 1 which is the correct value needed by the spawning code. This also greatly improves server performance, by decreasing its CPU usage.

Crafting

Smelt a rat for a cooked rat, gives 3 HP. Smelt raw meat for meat, gives 6 HP.

Smelt a cooked rat for scorched stuff, which attracts nearby rats when held.

Settings

Mobs never spawn in creative mode, but can be placed using items with the same name as the mobs.

spawn_hostile_mobs: whether to spawn hostile mobs. [true]
spawn_friendly_mobs: whether to spawn friendly mobs. [true]
monster_damage_factor: 0 disables damage, values above 1 increase damage. Values between 0 and 1 do not work. [1.0]

Mob list

Hostile

Hostile mobs slowly die if exposed to sunlight. They do not spawn outside, even at night, only in caves below sea level (Y coordinate 0). All hostile mobs spawn on stone and desert stone only. Overall, the monsters aren't that easy to beat.

Dirt Monster: 20 HP, 3 damage
Fairly fast movement speed.

Stone Monster: 24 HP, 4 damage
Resistant to lava and water, is fairly slow.

Sand Monster: 12 HP, 2 damage
Moves very quickly, almost as fast as the player.

Tree Monster: 50 HP, 5 damage
Moves slowly.

Oerkki: 35 HP, 4 damage
Moves fairly quickly.

Dungeon Master: 40 HP, 8 damage using fireball (8 blocks/s movement speed, 1 fireball per 2.5 seconds)
Instantly dies in sunlight. Fireballs destroy most nearby nodes, except containers and bedrock (but do not cause fire to appear). Spawns at -50 and deeper.

Rhino: 20 HP, 2 damage using bullets (15 blocks/s movement speed, 1 bullet per 0.5 seconds)

Trooper: 20 HP, 1 damage
Looks like a player without a name tag.


Friendly

Rat: 1 HP
Can be cooked (15 seconds cook time), gives 3 HP when eaten. Left click to collect, can be placed after being collected. Also spawns on trees, jungle trees and cacti. Follows you when holding scorched stuff (which is obtained by smelting a cooked rat).

Sheep: 10 HP
Can be cooked (25 seconds cook time), gives 6 HP when eaten. Right click to shear. Follows you when holding wheat; right click with wheat to feed them, to make their wool regrow.

User avatar
HeroOfTheWinds
Member
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero
Location: Hawaii

Re: [Mod] Mobs [mobs]

by HeroOfTheWinds » Post

Neat, seems pretty close to the original Simple Mobs. However, I notice that you have some monsters drop maptools:silver_coin... shouldn't maptools be a dependency then?
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] Mobs [mobs]

by Sokomine » Post

And again: Another variant of sheep. I'd love to see goats!
A list of my mods can be found here.

trainwrecktony
Member
Posts: 67
Joined: Sun Jun 08, 2014 05:24
In-game: trainwrecktony
Location: NJ USA

Re: [Mod] Mobs [mobs]

by trainwrecktony » Post

Great work with this, this is the the mob pack to be using in my opinion. Everything is tweaked just right.
I run a modified version on my server with added animals, monsters, and code borrowed from adventuretest for knockback effect, bloodsplatter, and sounds
Server Owner trainwrecktony.serveminecraft.net:30000 irc.freenode.net ##minetest-trainwrecktony

User avatar
BrandonReese
Member
Posts: 839
Joined: Wed Sep 12, 2012 00:44
GitHub: bremaweb
IRC: BrandonReese
In-game: BrandonReese
Location: USA

Re: [Mod] Mobs [mobs]

by BrandonReese » Post

Sokomine wrote:And again: Another variant of sheep. I'd love to see goats!
If somebody would make a goat model I would add it and I'm sure Calinou would too.

User avatar
Calinou
Moderator
Posts: 3169
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou
Location: Troyes, France
Contact:

Re: [Mod] Mobs [mobs]

by Calinou » Post

Commented out references to coin, added player damage, death and falling damage sounds, which may also be used by mods.

By installing this mod, you also get sounds when players are damaged or fall since they're automatically used by the engine.

NyankoSensei
Member
Posts: 14
Joined: Fri Feb 28, 2014 11:29

Re: [Mod] Mobs [mobs]

by NyankoSensei » Post

trainwrecktony wrote:code borrowed from adventuretest for knockback effect
That can be a nice improvement, i like how harder are those mobs but without knockback you don't have the chance to disengage enemy, can be added sword wearing ?

User avatar
Achilles
Member
Posts: 247
Joined: Sun Dec 15, 2013 11:55
In-game: Achilles
Location: Excuse Me???? -_-

Re: [Mod] Mobs [mobs]

by Achilles » Post

Is there an admin command that would spawn one of the mobs? Or an egg that can only be gained by admins?

User avatar
Calinou
Moderator
Posts: 3169
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou
Location: Troyes, France
Contact:

Re: [Mod] Mobs [mobs]

by Calinou » Post

Achilles wrote:Is there an admin command that would spawn one of the mobs? Or an egg that can only be gained by admins?
This one requires the “server” privilege: /spawnentity carbone_mobs:name – the mob is spawned directly at your position.

This one requires the “give” privilege: /giveme carbone_mobs:name – this gives you an item which lets you spawn the mob by right-clicking a block.

name can be:

Animals:
  • rat
  • sheep
  • oerkki
Monsters:
  • dirt_monster
  • sand_monster
  • stone_monster
  • tree_monster
  • dungeon_master
  • rhino
  • trooper

gsmanners
Member
Posts: 159
Joined: Fri Jan 10, 2014 21:37

Re: [Mod] Mobs [mobs]

by gsmanners » Post

Nice. I still don't care for the drops, though. I usually do a little something like this with mobs:

Code: Select all

local handle_drops = function(self)
	if self.object:get_hp() <= 0 then
		local p = self.object:getpos()
		for _,drop in ipairs(self.drops) do
			if math.random(1, drop.chance) == 1 then
				local o = minetest.add_entity(p, "__builtin:item")
				local s = ItemStack(drop.name.." "..math.random(drop.min, drop.max))
				o:get_luaentity():set_item(s:to_string())
				o:setvelocity({x=math.random(0,4)-2, y=0, z=math.random(0,4)-2})
			end
		end
		if self.bonus and math.random(1, 4) == 1 then
			local o = minetest.add_entity(p, "__builtin:item")
			local s = ItemStack(self.bonus[math.random(1, #self.bonus)])
			o:get_luaentity():set_item(s:to_string())
			o:setvelocity({x=math.random(0,4)-2, y=0, z=math.random(0,4)-2})
		end
		self.object:remove()
		return
	end
end
Then call the above right before various remove()s.

User avatar
Calinou
Moderator
Posts: 3169
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou
Location: Troyes, France
Contact:

Re: [Mod] Mobs [mobs]

by Calinou » Post

gsmanners wrote:Nice. I still don't care for the drops, though. I usually do a little something like this with mobs:

Code: Select all

local handle_drops = function(self)
	if self.object:get_hp() <= 0 then
		local p = self.object:getpos()
		for _,drop in ipairs(self.drops) do
			if math.random(1, drop.chance) == 1 then
				local o = minetest.add_entity(p, "__builtin:item")
				local s = ItemStack(drop.name.." "..math.random(drop.min, drop.max))
				o:get_luaentity():set_item(s:to_string())
				o:setvelocity({x=math.random(0,4)-2, y=0, z=math.random(0,4)-2})
			end
		end
		if self.bonus and math.random(1, 4) == 1 then
			local o = minetest.add_entity(p, "__builtin:item")
			local s = ItemStack(self.bonus[math.random(1, #self.bonus)])
			o:get_luaentity():set_item(s:to_string())
			o:setvelocity({x=math.random(0,4)-2, y=0, z=math.random(0,4)-2})
		end
		self.object:remove()
		return
	end
end
Then call the above right before various remove()s.
Ideally, I would drop items like that only if the mob dies due to an arrow. I don't want to see dozens of meat in lakes. :)

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: [Mod] Mobs [mobs]

by Wuzzy » Post

You said that you made “tons of improvements” and performance improvements. May I know which ones?
Maybe you could get in touch with the author of this mod, which is like PilzAdam’s mobs mod, but just the API. It would be great if you could help out here a little bit. :)

User avatar
Calinou
Moderator
Posts: 3169
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou
Location: Troyes, France
Contact:

Re: [Mod] Mobs [carbone_mobs] – fast and simple mobs

by Calinou » Post

A new release, finally:
  • Mod name changed: mobs → carbone_mobs (added aliases for compatibility).
  • Health, damage and speed values tweaked for use in minetest_game.
  • Added troopers (player-looking monsters).
  • active_block_range = 1 is now enforced.
  • Uses a Git repository.

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: [Mod] Mobs [carbone_mobs] – fast and simple mobs

by Inocudom » Post

Cyberpangolen uploaded these sound effects recently:
viewforum.php?f=9
You might find something that you like.

User avatar
Cryterion
Member
Posts: 94
Joined: Tue Jun 10, 2014 08:12
GitHub: Cryterion
IRC: Cryterion
In-game: Cryterion
Location: Durban, South Africa

Re: [Mod] Mobs [carbone_mobs] – fast and simple mobs

by Cryterion » Post

Hi. Just a suggestion to help server admins. Is to place an option to either enable or disable node damage from the fireballs sent out by the dungeon master. Simple enough for a programmer to do, but would help for the non programmers with server configuration.
No trees or animals were hurt in the production of this message. However, a large number of Electrons were temporarily inconvenienced.

u34

Re: [Mod] Mobs [carbone_mobs] – fast and simple mobs

by u34 » Post

What are the dozens of improvements exactly?

Can you implement bigs and cows?

User avatar
j0j0n4th4n
Member
Posts: 249
Joined: Tue Jan 26, 2021 06:45

Re: [Mod] Mobs [carbone_mobs] – fast and simple mobs

by j0j0n4th4n » Post

I run into a bug, I opened a world(v5) with just this mod but after a while the game closed and I got this message:

ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'carbone_mobs' in callback luaentity_Step(): ...j0\Jogos\Minetest_5.3.0\bin\..\mods\carbone_mobs/api.lua:276: attempt to index local 's' (a nil value)
ERROR[Main]: stack traceback:
ERROR[Main]: ...j0\Jogos\Minetest_5.3.0\bin\..\mods\carbone_mobs/api.lua:276: in function <...j0\Jogos\Minetest_5.3.0\bin\..\mods\carbone_mobs/api.lua:127>
cdb_894a100ddd76

User avatar
rubenwardy
Moderator
Posts: 6972
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

Re: [Mod] Mobs [carbone_mobs] – fast and simple mobs

by rubenwardy » Post

j0j0n4th4n wrote:
Mon Feb 01, 2021 18:02
I run into a bug, I opened a world(v5) with just this mod but after a while the game closed and I got this message:

ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'carbone_mobs' in callback luaentity_Step(): ...j0\Jogos\Minetest_5.3.0\bin\..\mods\carbone_mobs/api.lua:276: attempt to index local 's' (a nil value)
ERROR[Main]: stack traceback:
ERROR[Main]: ...j0\Jogos\Minetest_5.3.0\bin\..\mods\carbone_mobs/api.lua:276: in function <...j0\Jogos\Minetest_5.3.0\bin\..\mods\carbone_mobs/api.lua:127>
This mod is very old, it's a better idea to use Mobs Redo - they both use similar code, Mobs Redo is just more up to date
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

Post Reply

Who is online

Users browsing this forum: Zav and 19 guests