mirror of
				https://codeberg.org/tenplus1/mobs_redo.git
				synced 2025-11-04 09:15:32 +01:00 
			
		
		
		
	Compare commits
	
		
			124 Commits
		
	
	
		
			e545cc80f4
			...
			d12576f0c8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					d12576f0c8 | ||
| 
						 | 
					7f4d473fee | ||
| 
						 | 
					f7a1b27ea4 | ||
| 
						 | 
					f14050ad3c | ||
| 
						 | 
					b6fb1948e8 | ||
| 
						 | 
					67e4ede31b | ||
| 
						 | 
					3009da0efe | ||
| 
						 | 
					bd8be0905a | ||
| 
						 | 
					89523195d5 | ||
| 
						 | 
					c6dffd1390 | ||
| 
						 | 
					499d43a9aa | ||
| 
						 | 
					39002cf4e7 | ||
| 
						 | 
					477148962f | ||
| 
						 | 
					497ff7241f | ||
| 
						 | 
					9f02777f14 | ||
| 
						 | 
					ae62b1410d | ||
| 
						 | 
					81b5e40d09 | ||
| 
						 | 
					565c0851eb | ||
| 
						 | 
					cb465559a1 | ||
| 
						 | 
					469e35d6e0 | ||
| 
						 | 
					1271570780 | ||
| 
						 | 
					ec3c6fb518 | ||
| 
						 | 
					c4f56f4204 | ||
| 
						 | 
					4814f53885 | ||
| 
						 | 
					f033cd401c | ||
| 
						 | 
					903e81bdab | ||
| 
						 | 
					81dd3d75c0 | ||
| 
						 | 
					804f8b9a0c | ||
| 
						 | 
					edf0469009 | ||
| 
						 | 
					d20ea74890 | ||
| 
						 | 
					ee8c19ce21 | ||
| 
						 | 
					296fad85ca | ||
| 
						 | 
					d65b80fa51 | ||
| 
						 | 
					48bfa284d0 | ||
| 
						 | 
					b17a5bfe77 | ||
| 
						 | 
					dfdd55848d | ||
| 
						 | 
					e63b1b478e | ||
| 
						 | 
					ec122aa6de | ||
| 
						 | 
					245128f9e6 | ||
| 
						 | 
					3b8c4bc070 | ||
| 
						 | 
					4962d44be9 | ||
| 
						 | 
					83e9180853 | ||
| 
						 | 
					ad116aa70e | ||
| 
						 | 
					d04f144b7c | ||
| 
						 | 
					d5a1fce680 | ||
| 
						 | 
					9dd4ac770f | ||
| 
						 | 
					d125d0a5db | ||
| 
						 | 
					351fce8ee8 | ||
| 
						 | 
					3a17c471ae | ||
| 
						 | 
					233cd431a8 | ||
| 
						 | 
					85faeea604 | ||
| 
						 | 
					53cc10a16f | ||
| 
						 | 
					b610a81a58 | ||
| 
						 | 
					831a5fc888 | ||
| 
						 | 
					f576947d41 | ||
| 
						 | 
					f32b69a654 | ||
| 
						 | 
					bd06ad8d6e | ||
| 
						 | 
					8ce8490e78 | ||
| 
						 | 
					18906fafeb | ||
| 
						 | 
					9928b0e35e | ||
| 
						 | 
					99fe3d0ce1 | ||
| 
						 | 
					00e8ac0850 | ||
| 
						 | 
					f98d769e15 | ||
| 
						 | 
					928f8c5479 | ||
| 
						 | 
					32e8d069f7 | ||
| 
						 | 
					e4198b2a21 | ||
| 
						 | 
					f11b774c95 | ||
| 
						 | 
					8b25ab4988 | ||
| 
						 | 
					064b59f01d | ||
| 
						 | 
					a934d80631 | ||
| 
						 | 
					f2cc0446b0 | ||
| 
						 | 
					bff313267b | ||
| 
						 | 
					9b0ff17101 | ||
| 
						 | 
					dde9896a1a | ||
| 
						 | 
					92c899e6a4 | ||
| 
						 | 
					4634288124 | ||
| 
						 | 
					610cef16f4 | ||
| 
						 | 
					9c60e96336 | ||
| 
						 | 
					dc3ed1dfe3 | ||
| 
						 | 
					ff4bb540e1 | ||
| 
						 | 
					9f5e6eb85f | ||
| 
						 | 
					ad5b444b65 | ||
| 
						 | 
					0156e04ebd | ||
| 
						 | 
					62bd960e38 | ||
| 
						 | 
					9c00616a00 | ||
| 
						 | 
					813909c86c | ||
| 
						 | 
					68fef94ba8 | ||
| 
						 | 
					92ab4eeb2e | ||
| 
						 | 
					c5b74230e5 | ||
| 
						 | 
					5958270158 | ||
| 
						 | 
					b9ad166821 | ||
| 
						 | 
					b588452dea | ||
| 
						 | 
					d6bd538a35 | ||
| 
						 | 
					2ca012e30b | ||
| 
						 | 
					c7838e5517 | ||
| 
						 | 
					38232d5ef4 | ||
| 
						 | 
					26cc611ad4 | ||
| 
						 | 
					1a85cf7e2c | ||
| 
						 | 
					06dbdb1c44 | ||
| 
						 | 
					f040ee5bc7 | ||
| 
						 | 
					7179dc86e6 | ||
| 
						 | 
					1de0c34283 | ||
| 
						 | 
					e4ca52fafb | ||
| 
						 | 
					975175e7b8 | ||
| 
						 | 
					0bc62cbf74 | ||
| 
						 | 
					392974e835 | ||
| 
						 | 
					ddbd403285 | ||
| 
						 | 
					55dda6da83 | ||
| 
						 | 
					26a520e214 | ||
| 
						 | 
					a1d4e9bbfc | ||
| 
						 | 
					8da3bb5cb1 | ||
| 
						 | 
					d3f5ead4fa | ||
| 
						 | 
					980a47bdab | ||
| 
						 | 
					0015b01834 | ||
| 
						 | 
					78ef560852 | ||
| 
						 | 
					487e037cc9 | ||
| 
						 | 
					aeb802ad40 | ||
| 
						 | 
					70d2f6399d | ||
| 
						 | 
					47d8439913 | ||
| 
						 | 
					43026c374e | ||
| 
						 | 
					51ab54bcfa | ||
| 
						 | 
					897f4a547e | ||
| 
						 | 
					df63a37b08 | ||
| 
						 | 
					71669d3c59 | 
							
								
								
									
										3985
									
								
								api.lua_testspawn
									
									
									
									
									
								
							
							
						
						
									
										3985
									
								
								api.lua_testspawn
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										180
									
								
								api.txt
									
									
									
									
									
								
							
							
						
						
									
										180
									
								
								api.txt
									
									
									
									
									
								
							@@ -31,12 +31,15 @@ functions needed for the mob to work properly which contains the following:
 | 
			
		||||
   'hp_max'        has the maximum health value the mob can spawn with.
 | 
			
		||||
   'armor'         holds strength of mob, 100 is normal, lower is more powerful
 | 
			
		||||
                   and needs more hits and better weapons to kill.
 | 
			
		||||
   'passive'       when true allows animals to defend themselves when hit,
 | 
			
		||||
   'passive'       when false allows animals to defend themselves when hit,
 | 
			
		||||
                   otherwise they amble onwards.
 | 
			
		||||
   'walk_velocity' is the speed that your mob can walk around.
 | 
			
		||||
   'run_velocity'  is the speed your mob can run with, usually when attacking.
 | 
			
		||||
   'stand_chance'  has a 0-100 chance value your mob will stand from walking.
 | 
			
		||||
   'walk_chance'   has a 0-100 chance value your mob will walk from standing,
 | 
			
		||||
                   set to 0 for jumping mobs only.
 | 
			
		||||
   'randomly_turn' if set to false then mob will not turn to face player or
 | 
			
		||||
                   randomly turn while walking or standing.
 | 
			
		||||
   'jump'          when true allows your mob to jump updwards.
 | 
			
		||||
   'jump_height'   holds the height your mob can jump, 0 to disable jumping.
 | 
			
		||||
   'stepheight'    height of a block that your mob can easily walk up onto,
 | 
			
		||||
@@ -44,6 +47,10 @@ functions needed for the mob to work properly which contains the following:
 | 
			
		||||
   'fly'           when true allows your mob to fly around instead of walking.
 | 
			
		||||
   'fly_in'        holds the node name that the mob flies (or swims) around
 | 
			
		||||
                   in e.g. "air" or "default:water_source".
 | 
			
		||||
   'keep_flying'   when true mobs like birds no longer stop and stand.
 | 
			
		||||
   'stay_near'     when set allows mobs the chance to stay around certain nodes.
 | 
			
		||||
      'nodes'      string or table of nodes to stay nearby e.g. "farming:straw"
 | 
			
		||||
      'chance'     chance of searching for above node(s), default is 10.
 | 
			
		||||
   'runaway'       if true causes animals to turn and run away when hit.
 | 
			
		||||
   'pushable'      when true mobs can be pushed by player or other mobs.
 | 
			
		||||
   'view_range'    how many nodes in distance the mob can see a player.
 | 
			
		||||
@@ -63,7 +70,8 @@ functions needed for the mob to work properly which contains the following:
 | 
			
		||||
                   level is between the min and max values below
 | 
			
		||||
   'light_damage_min' minimum light value when mob is affected (default: 14)
 | 
			
		||||
   'light_damage_max' maximum light value when mob is affected (default: 15)
 | 
			
		||||
   'suffocation'   when true causes mobs to suffocate inside solid blocks.
 | 
			
		||||
   'suffocation'   when > 0 mobs will suffocate inside solid blocks and will be
 | 
			
		||||
                   hurt by the value given every second (0 to disable).
 | 
			
		||||
   'floats'        when set to 1 mob will float in water, 0 has them sink.
 | 
			
		||||
   'follow'        mobs follow player when holding any of the items which appear
 | 
			
		||||
                   on this table, the same items can be fed to a mob to tame or
 | 
			
		||||
@@ -83,6 +91,9 @@ functions needed for the mob to work properly which contains the following:
 | 
			
		||||
                         punches when nearby.
 | 
			
		||||
   'group_attack'        when true has same mob type grouping together to attack
 | 
			
		||||
                         offender.
 | 
			
		||||
   'group_helper'        string containing mob name that attacks alongside
 | 
			
		||||
                         current mob when group attacking.
 | 
			
		||||
                         mob is attacking in groups.
 | 
			
		||||
   'attack_type'         tells the api what a mob does when attacking the player
 | 
			
		||||
                         or another mob:
 | 
			
		||||
      'dogfight'         is a melee attack when player is within mob reach.
 | 
			
		||||
@@ -126,7 +137,8 @@ functions needed for the mob to work properly which contains the following:
 | 
			
		||||
   'pathfinding'         set to 1 for mobs to use pathfinder feature to locate
 | 
			
		||||
                         player, set to 2 so they can build/break also (only
 | 
			
		||||
                         works with dogfight attack and when 'mobs_griefing'
 | 
			
		||||
                         in minetest.conf is not false).
 | 
			
		||||
                         in minetest.conf is not false). Adding {unbreakable=1}
 | 
			
		||||
                         to node groups stops them being broken by mobs.
 | 
			
		||||
   'immune_to'           is a table that holds specific damage when being hit by
 | 
			
		||||
                         certain items e.g.
 | 
			
		||||
      {"default:sword_wood",  0} -- causes no damage.
 | 
			
		||||
@@ -153,6 +165,11 @@ functions needed for the mob to work properly which contains the following:
 | 
			
		||||
      'min'    minimum number of items dropped, set to 0 for rare drops.
 | 
			
		||||
      'max'    maximum number of items dropped.
 | 
			
		||||
   Note: If weapon has {fire=1} damage group set then cooked items will drop.
 | 
			
		||||
   Note2: A function can now be passed which can also return drops table, e.g.
 | 
			
		||||
      drops = function(pos)
 | 
			
		||||
         -- do something
 | 
			
		||||
         return { {name = "farming:bread"}, {name = "default:dirt", chance = 2} }
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
   'visual'            holds the look of the mob you wish to create:
 | 
			
		||||
      'cube'           looks like a normal node
 | 
			
		||||
@@ -170,16 +187,20 @@ functions needed for the mob to work properly which contains the following:
 | 
			
		||||
   'child_texture'     holds the texture table for when baby mobs are used.
 | 
			
		||||
   'gotten_texture'    holds the texture table for when self.gotten value is
 | 
			
		||||
                       true, used for milking cows or shearing sheep.
 | 
			
		||||
   'texture_mods'      holds a string which overlays a texture on top of the
 | 
			
		||||
                       mob texture e.g. "^saddle.png"
 | 
			
		||||
   'mesh'              holds the name of the external object used for mob model
 | 
			
		||||
                       e.g. "mobs_cow.b3d"
 | 
			
		||||
   'gotten_mesh"       holds the name of the external object used for when
 | 
			
		||||
                       self.gotten is true for mobs.
 | 
			
		||||
   'rotate'            custom model rotation, 0 = front, 90 = side, 180 = back,
 | 
			
		||||
                       270 = other side.
 | 
			
		||||
   'glow'              has mob glow without light source, 0 to 15 or nil to disable
 | 
			
		||||
   'double_melee_attack' when true has the api choose between 'punch' and
 | 
			
		||||
                      'punch2' animations. [DEPRECATED]
 | 
			
		||||
 | 
			
		||||
   'animation'       holds a table containing animation names and settings for use with mesh models:
 | 
			
		||||
   'animation'       holds a table containing animation names and settings for use with
 | 
			
		||||
                     mesh models:
 | 
			
		||||
      'stand_start'  start frame for when mob stands still.
 | 
			
		||||
      'stand_end'    end frame of stand animation.
 | 
			
		||||
      'stand_speed'  speed of animation in frames per second.
 | 
			
		||||
@@ -244,7 +265,7 @@ eating.
 | 
			
		||||
       If false is returned, the mob will not replace the node.
 | 
			
		||||
 | 
			
		||||
       By default, replacing sets self.gotten to true and resets the object
 | 
			
		||||
       properties.
 | 
			
		||||
       properties. (DEPRECATED, use on_replace to make changes).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Custom Definition Functions
 | 
			
		||||
@@ -273,8 +294,10 @@ enhance mob functionality and have them do many interesting things:
 | 
			
		||||
                    time_from_last_punch, tool_capabilities, direction), return
 | 
			
		||||
                    false to stop punch damage and knockback from taking place.
 | 
			
		||||
   'custom_attack'  when set this function is called instead of the normal mob
 | 
			
		||||
                    melee attack, parameters are (self, to_attack).
 | 
			
		||||
   'on_die'         a function that is called when mob is killed (self, pos)
 | 
			
		||||
                    melee attack, parameters are (self, to_attack) and if true
 | 
			
		||||
                    is returned normal attack function continued.
 | 
			
		||||
   'on_die'         a function that is called when mob is killed (self, pos), also
 | 
			
		||||
                    has access to self.cause_of_death table.
 | 
			
		||||
   'do_custom'      a custom function that is called every tick while mob is
 | 
			
		||||
                    active and which has access to all of the self.* variables
 | 
			
		||||
                    e.g. (self.health for health or self.standing_in for node
 | 
			
		||||
@@ -308,46 +331,74 @@ for each mob.
 | 
			
		||||
   'self.nametag'       contains the name of the mob which it can show above
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Adding Mobs in World
 | 
			
		||||
--------------------
 | 
			
		||||
 | 
			
		||||
	mobs:add_mob(pos, {
 | 
			
		||||
		name = "mobs_animal:chicken",
 | 
			
		||||
		child = true,
 | 
			
		||||
		owner = "singleplayer",
 | 
			
		||||
		nametag = "Bessy",
 | 
			
		||||
		ignore_count = true -- ignores mob count per map area
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
Returns false if mob could not be added, returns mob object if spawned ok.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Removing Mob from World
 | 
			
		||||
-----------------------
 | 
			
		||||
 | 
			
		||||
	mobs:remove(self, decrease)
 | 
			
		||||
 | 
			
		||||
Removes mob 'self' from the world and if 'decrease' is true then the mob counter
 | 
			
		||||
will also be decreased by one.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Spawning Mobs in World
 | 
			
		||||
----------------------
 | 
			
		||||
 | 
			
		||||
    mobs:spawn({
 | 
			
		||||
       name = "mobs_monster:tree_monster",
 | 
			
		||||
       nodes = {"group:leaves"},
 | 
			
		||||
       max_light = 7,
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
Spawn functions require the following settings, some of which already have a
 | 
			
		||||
default setting and can be omitted:
 | 
			
		||||
 | 
			
		||||
    'name'                is the name of the animal/monster
 | 
			
		||||
    'nodes'               is a list of nodenames on that the animal/monster can
 | 
			
		||||
                          spawn on top of (defaults to {"group:dirt", "group:stone"}
 | 
			
		||||
    'neighbors'           is a list of nodenames on that the animal/monster will
 | 
			
		||||
                          spawn beside (default is {"air"})
 | 
			
		||||
    'interval'            is same as in register_abm() (default is 30)
 | 
			
		||||
    'chance'              is same as in register_abm() (default is 5000)
 | 
			
		||||
    'min_light'           is the minimum light level (default is 0)
 | 
			
		||||
    'max_light'           is the maximum light (default is 15)
 | 
			
		||||
    'min_height'          is the minimum height a mob can spawn (default: -31000)
 | 
			
		||||
    'max_height'          is the maximum height a mob can spawn (default is 31000)
 | 
			
		||||
    'active_object_count' number of this type of mob to spawn at one time inside
 | 
			
		||||
                          map area (default is 1)
 | 
			
		||||
    'day_toggle'          true for day spawning, false for night or nil for
 | 
			
		||||
                          anytime
 | 
			
		||||
    'on_spawn'            is a custom function which runs after mob has spawned
 | 
			
		||||
                          and gives self and pos values.
 | 
			
		||||
    'on_map_load'         when true mobs will have a chance of spawning only
 | 
			
		||||
                          when new areas of map are loaded, interval will not be
 | 
			
		||||
                          used.
 | 
			
		||||
 | 
			
		||||
The older spawn functions are still active and working but have no defaults like
 | 
			
		||||
the mobs:spawn, so it is recommended to use the above instead.
 | 
			
		||||
 | 
			
		||||
mobs:register_spawn(name, nodes, max_light, min_light, chance,
 | 
			
		||||
   active_object_count, max_height, day_toggle)
 | 
			
		||||
 | 
			
		||||
mobs:spawn_specfic(name, nodes, neighbors, min_light, max_light, interval,
 | 
			
		||||
   chance, active_object_count, min_height, max_height, day_toggle, on_spawn)
 | 
			
		||||
 | 
			
		||||
These functions register a spawn algorithm for the mob. Without this function
 | 
			
		||||
the call the mobs won't spawn.
 | 
			
		||||
 | 
			
		||||
    'name'                is the name of the animal/monster
 | 
			
		||||
    'nodes'               is a list of nodenames on that the animal/monster can
 | 
			
		||||
                          spawn on top of
 | 
			
		||||
    'neighbors'           is a list of nodenames on that the animal/monster will
 | 
			
		||||
                          spawn beside (default is {"air"} for
 | 
			
		||||
                          mobs:register_spawn)
 | 
			
		||||
    'max_light'           is the maximum of light
 | 
			
		||||
    'min_light'           is the minimum of light
 | 
			
		||||
    'interval'            is same as in register_abm() (default is 30 for
 | 
			
		||||
                          mobs:register_spawn)
 | 
			
		||||
    'chance'              is same as in register_abm()
 | 
			
		||||
    'active_object_count' number of this type of mob to spawn at one time inside
 | 
			
		||||
                          map area
 | 
			
		||||
    'min_height'          is the minimum height the mob can spawn
 | 
			
		||||
    'max_height'          is the maximum height the mob can spawn
 | 
			
		||||
    'day_toggle'          true for day spawning, false for night or nil for
 | 
			
		||||
                          anytime
 | 
			
		||||
    'on_spawn'            is a custom function which runs after mob has spawned
 | 
			
		||||
                          and gives self and pos values.
 | 
			
		||||
 | 
			
		||||
A simpler way to handle mob spawns has been added with the mobs:spawn(def)
 | 
			
		||||
command which uses above names to make settings clearer:
 | 
			
		||||
 | 
			
		||||
    mobs:spawn({name = "mobs_monster:tree_monster",
 | 
			
		||||
       nodes = {"group:leaves"},
 | 
			
		||||
       max_light = 7,
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
For each mob that spawns with this function is a field in mobs.spawning_mobs.
 | 
			
		||||
It tells if the mob should spawn or not.  Default is true.  So other mods can
 | 
			
		||||
@@ -366,6 +417,24 @@ true the mob will not spawn.
 | 
			
		||||
    'name'   is the name of the animal/monster
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Particle Effects
 | 
			
		||||
----------------
 | 
			
		||||
 | 
			
		||||
mobs:effect(pos, amount, texture, min_size, max_size, radius, gravity, glow, fall)
 | 
			
		||||
 | 
			
		||||
This function provides a quick way to spawn particles as an effect.
 | 
			
		||||
 | 
			
		||||
    'pos'       center position of particle effect.
 | 
			
		||||
    'amount'    how many particles.
 | 
			
		||||
    'texture'   texture filename to use for effect.
 | 
			
		||||
    'min_size'  smallest particle size.
 | 
			
		||||
    'max_size'  largest particle size.
 | 
			
		||||
    'radius'    how far particles spread outward from center.
 | 
			
		||||
    'gravity'   gravity applied to particles once they spawn.
 | 
			
		||||
    'glow'      number between 1 and 15 for glowing particles.
 | 
			
		||||
    'fall'      when true particles fall, false has them rising, nil has them scatter.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Making Arrows
 | 
			
		||||
-------------
 | 
			
		||||
 | 
			
		||||
@@ -386,6 +455,8 @@ This function registers a arrow for mobs with the attack type shoot.
 | 
			
		||||
       'hit_mob'      a function that is called when the arrow hits a mob;
 | 
			
		||||
                      this function should hurt the mob, the parameters are
 | 
			
		||||
                      (self, player)
 | 
			
		||||
       'hit_object'   a function that is called when the arrow hits an object;
 | 
			
		||||
                      this function parameters are (self, player)
 | 
			
		||||
       'hit_node'     a function that is called when the arrow hits a node, the
 | 
			
		||||
                      parameters are (self, pos, node)
 | 
			
		||||
       'tail'         when set to 1 adds a trail or tail to mob arrows
 | 
			
		||||
@@ -399,7 +470,9 @@ This function registers a arrow for mobs with the attack type shoot.
 | 
			
		||||
       'on_step'      is a custom function when arrow is active, nil for
 | 
			
		||||
                      default.
 | 
			
		||||
       'on_punch'     is a custom function when arrow is punched, nil by default
 | 
			
		||||
       'collisionbox' is hitbox table for arrow, {0,0,0,0,0,0} by default.
 | 
			
		||||
       'collisionbox' is hitbox table for arrow, {-.1,-.1,-.1,.1,.1,.1} by default.
 | 
			
		||||
       'lifetime'     contains float value for how many seconds arrow exists in
 | 
			
		||||
                      world before being removed (default is 4.5 seconds).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Spawn Eggs
 | 
			
		||||
@@ -407,7 +480,8 @@ Spawn Eggs
 | 
			
		||||
 | 
			
		||||
mobs:register_egg(name, description, background, addegg, no_creative)
 | 
			
		||||
 | 
			
		||||
This function registers a spawn egg which can be used by admin to properly spawn in a mob.
 | 
			
		||||
This function registers a spawn egg which can be used to properly spawn in a mob.
 | 
			
		||||
Animals are spawned as tamed unless sneak/shift is held while spawning.
 | 
			
		||||
 | 
			
		||||
   'name'        this is the name of your new mob to spawn e.g. "mob:sheep"
 | 
			
		||||
   'description' the name of the new egg you are creating e.g. "Spawn Sheep"
 | 
			
		||||
@@ -454,6 +528,11 @@ replace with another item entirely.
 | 
			
		||||
   'replacewith'  once captured replace mob with this item instead (overrides
 | 
			
		||||
                  new mob eggs with saved information)
 | 
			
		||||
 | 
			
		||||
mobs:force_capture(self, clicker)
 | 
			
		||||
 | 
			
		||||
Same as above but does no checks, it simply captures any and all mobs and places
 | 
			
		||||
inside a spawn egg containing all of the mob information.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Feeding and Taming/Breeding
 | 
			
		||||
---------------------------
 | 
			
		||||
@@ -566,7 +645,7 @@ Certain variables need to be set before using the above functions:
 | 
			
		||||
   'self.driver_scale'      sets driver scale for mobs larger than {x=1, y=1}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mobs:line_of_sight(self, pos1, pos2, stepsize)
 | 
			
		||||
mobs:line_of_sight(self, pos1, pos2, stepsize) [DEPRECATED]
 | 
			
		||||
 | 
			
		||||
This function is for use within the mobs definition for special use cases and
 | 
			
		||||
returns true if a mob can see the player or victim.
 | 
			
		||||
@@ -576,6 +655,17 @@ returns true if a mob can see the player or victim.
 | 
			
		||||
   'pos2' position of vistim or player
 | 
			
		||||
   'stepsize' usually set to 1
 | 
			
		||||
 | 
			
		||||
Use this instead:
 | 
			
		||||
 | 
			
		||||
    mob_class:line_of_sight(pos1, pos2, stepsize)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mobs:can_spawn(pos, name)
 | 
			
		||||
 | 
			
		||||
This function checks the surrounding area at [pos] to see if there is enough empty
 | 
			
		||||
space to spawn mob [name], if so then a new position is returned for use,
 | 
			
		||||
otherwise nil is returned.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
External Settings for "minetest.conf"
 | 
			
		||||
------------------------------------
 | 
			
		||||
@@ -605,13 +695,21 @@ External Settings for "minetest.conf"
 | 
			
		||||
   'mobs_griefing'          when false mobs cannot break blocks when using either
 | 
			
		||||
                            pathfinding level 2, replace functions or mobs:boom
 | 
			
		||||
                            function.
 | 
			
		||||
   'mob_nospawn_range'      Minimum range a mob can spawn near player (def: 12)
 | 
			
		||||
   'mob_active_limit'       Number of active mobs in game, 0 for unlimited
 | 
			
		||||
 | 
			
		||||
Players can override the spawn chance for each mob registered by adding a line
 | 
			
		||||
to their minetest.conf file with a new value, the lower the value the more each
 | 
			
		||||
mob will spawn e.g.
 | 
			
		||||
 | 
			
		||||
mobs_animal:sheep_chance 11000
 | 
			
		||||
mobs_monster:sand_monster_chance 100
 | 
			
		||||
mobs_animal:sheep 11000
 | 
			
		||||
mobs_monster:sand_monster 100
 | 
			
		||||
 | 
			
		||||
...you can also change how many of a certain mob appear in an active mapblock by
 | 
			
		||||
adding a comma and then a new value e.g.
 | 
			
		||||
 | 
			
		||||
mobs_animal:cow = 8000,4            <-- 4 cows per mapblock at 8000 spawn chance
 | 
			
		||||
mobs_monster:dirt_monster = ,20     <-- 20 dirt monsters per mapblock
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Rideable Horse Example Mob
 | 
			
		||||
@@ -722,7 +820,7 @@ mobs:register_mob("mob_horse:horse", {
 | 
			
		||||
				if inv:room_for_item("main", "mobs:saddle") then
 | 
			
		||||
					inv:add_item("main", "mobs:saddle")
 | 
			
		||||
				else
 | 
			
		||||
					minetest.add_item(clicker.getpos(), "mobs:saddle")
 | 
			
		||||
					minetest.add_item(clicker.get_pos(), "mobs:saddle")
 | 
			
		||||
				end
 | 
			
		||||
 | 
			
		||||
			-- attach player to horse
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										230
									
								
								crafts.lua
									
									
									
									
									
								
							
							
						
						
									
										230
									
								
								crafts.lua
									
									
									
									
									
								
							@@ -5,14 +5,14 @@ local S = mobs.intllib
 | 
			
		||||
minetest.register_craftitem("mobs:nametag", {
 | 
			
		||||
	description = S("Name Tag"),
 | 
			
		||||
	inventory_image = "mobs_nametag.png",
 | 
			
		||||
	groups = {flammable = 2},
 | 
			
		||||
	groups = {flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("dye") and minetest.get_modpath("farming") then
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		output = "mobs:nametag",
 | 
			
		||||
		recipe = {"default:paper", "dye:black", "farming:string"},
 | 
			
		||||
		recipe = {"default:paper", "dye:black", "farming:string"}
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@@ -20,7 +20,7 @@ end
 | 
			
		||||
minetest.register_craftitem("mobs:leather", {
 | 
			
		||||
	description = S("Leather"),
 | 
			
		||||
	inventory_image = "mobs_leather.png",
 | 
			
		||||
	groups = {flammable = 2},
 | 
			
		||||
	groups = {flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- raw meat
 | 
			
		||||
@@ -28,7 +28,7 @@ minetest.register_craftitem("mobs:meat_raw", {
 | 
			
		||||
	description = S("Raw Meat"),
 | 
			
		||||
	inventory_image = "mobs_meat_raw.png",
 | 
			
		||||
	on_use = minetest.item_eat(3),
 | 
			
		||||
	groups = {food_meat_raw = 1, flammable = 2},
 | 
			
		||||
	groups = {food_meat_raw = 1, flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- cooked meat
 | 
			
		||||
@@ -36,21 +36,21 @@ minetest.register_craftitem("mobs:meat", {
 | 
			
		||||
	description = S("Meat"),
 | 
			
		||||
	inventory_image = "mobs_meat.png",
 | 
			
		||||
	on_use = minetest.item_eat(8),
 | 
			
		||||
	groups = {food_meat = 1, flammable = 2},
 | 
			
		||||
	groups = {food_meat = 1, flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "cooking",
 | 
			
		||||
	output = "mobs:meat",
 | 
			
		||||
	recipe = "mobs:meat_raw",
 | 
			
		||||
	cooktime = 5,
 | 
			
		||||
	cooktime = 5
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- lasso
 | 
			
		||||
minetest.register_tool("mobs:lasso", {
 | 
			
		||||
	description = S("Lasso (right-click animal to put in inventory)"),
 | 
			
		||||
	inventory_image = "mobs_magic_lasso.png",
 | 
			
		||||
	groups = {flammable = 2},
 | 
			
		||||
	groups = {flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("farming") then
 | 
			
		||||
@@ -59,7 +59,7 @@ if minetest.get_modpath("farming") then
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"farming:string", "", "farming:string"},
 | 
			
		||||
			{"", "default:diamond", ""},
 | 
			
		||||
			{"farming:string", "", "farming:string"},
 | 
			
		||||
			{"farming:string", "", "farming:string"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
@@ -70,7 +70,7 @@ minetest.register_alias("mobs:magic_lasso", "mobs:lasso")
 | 
			
		||||
minetest.register_tool("mobs:net", {
 | 
			
		||||
	description = S("Net (right-click animal to put in inventory)"),
 | 
			
		||||
	inventory_image = "mobs_net.png",
 | 
			
		||||
	groups = {flammable = 2},
 | 
			
		||||
	groups = {flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("farming") then
 | 
			
		||||
@@ -79,7 +79,7 @@ if minetest.get_modpath("farming") then
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"group:stick", "", "group:stick"},
 | 
			
		||||
			{"group:stick", "", "group:stick"},
 | 
			
		||||
			{"farming:string", "group:stick", "farming:string"},
 | 
			
		||||
			{"farming:string", "group:stick", "farming:string"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
@@ -88,14 +88,14 @@ end
 | 
			
		||||
minetest.register_tool("mobs:shears", {
 | 
			
		||||
	description = S("Steel Shears (right-click to shear)"),
 | 
			
		||||
	inventory_image = "mobs_shears.png",
 | 
			
		||||
	groups = {flammable = 2},
 | 
			
		||||
	groups = {flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'mobs:shears',
 | 
			
		||||
	output = "mobs:shears",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'', 'default:steel_ingot', ''},
 | 
			
		||||
		{'', 'group:stick', 'default:steel_ingot'},
 | 
			
		||||
		{"", "default:steel_ingot", ""},
 | 
			
		||||
		{"", "group:stick", "default:steel_ingot"}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -103,7 +103,7 @@ minetest.register_craft({
 | 
			
		||||
minetest.register_craftitem("mobs:protector", {
 | 
			
		||||
	description = S("Mob Protection Rune"),
 | 
			
		||||
	inventory_image = "mobs_protector.png",
 | 
			
		||||
	groups = {flammable = 2},
 | 
			
		||||
	groups = {flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
@@ -111,7 +111,7 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:stone", "default:stone", "default:stone"},
 | 
			
		||||
		{"default:stone", "default:goldblock", "default:stone"},
 | 
			
		||||
		{"default:stone", "default:stone", "default:stone"},
 | 
			
		||||
		{"default:stone", "default:stone", "default:stone"}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -119,7 +119,7 @@ minetest.register_craft({
 | 
			
		||||
minetest.register_craftitem("mobs:saddle", {
 | 
			
		||||
	description = S("Saddle"),
 | 
			
		||||
	inventory_image = "mobs_saddle.png",
 | 
			
		||||
	groups = {flammable = 2},
 | 
			
		||||
	groups = {flammable = 2}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
@@ -127,10 +127,14 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"mobs:leather", "mobs:leather", "mobs:leather"},
 | 
			
		||||
		{"mobs:leather", "default:steel_ingot", "mobs:leather"},
 | 
			
		||||
		{"mobs:leather", "default:steel_ingot", "mobs:leather"},
 | 
			
		||||
		{"mobs:leather", "default:steel_ingot", "mobs:leather"}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- make sure we can register fences
 | 
			
		||||
if default.register_fence then
 | 
			
		||||
 | 
			
		||||
-- mob fence (looks like normal fence but collision is 2 high)
 | 
			
		||||
default.register_fence("mobs:fence_wood", {
 | 
			
		||||
	description = S("Mob Fence"),
 | 
			
		||||
@@ -142,80 +146,210 @@ default.register_fence("mobs:fence_wood", {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {
 | 
			
		||||
			{-0.5, -0.5, -0.5, 0.5, 1.9, 0.5},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- mob fence top (has enlarged collisionbox to stop mobs getting over)
 | 
			
		||||
	minetest.register_node("mobs:fence_top", {
 | 
			
		||||
		description = S("Mob Fence Top"),
 | 
			
		||||
		drawtype = "nodebox",
 | 
			
		||||
		tiles = {"default_wood.png"},
 | 
			
		||||
		paramtype = "light",
 | 
			
		||||
		is_ground_content = false,
 | 
			
		||||
		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
 | 
			
		||||
		sounds = default.node_sound_wood_defaults(),
 | 
			
		||||
		node_box = {
 | 
			
		||||
			type = "fixed",
 | 
			
		||||
			fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2},
 | 
			
		||||
		},
 | 
			
		||||
		collision_box = {
 | 
			
		||||
			type = "fixed",
 | 
			
		||||
			fixed = {-0.4, -1.5, -0.4, 0.4, 0, 0.4},
 | 
			
		||||
		},
 | 
			
		||||
		selection_box = {
 | 
			
		||||
			type = "fixed",
 | 
			
		||||
			fixed = {-0.4, -1.5, -0.4, 0.4, 0, 0.4},
 | 
			
		||||
		},
 | 
			
		||||
minetest.register_node("mobs:fence_top", {
 | 
			
		||||
	description = S("Mob Fence Top"),
 | 
			
		||||
	drawtype = "nodebox",
 | 
			
		||||
	tiles = {"default_wood.png"},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
 | 
			
		||||
	sounds = default.node_sound_wood_defaults(),
 | 
			
		||||
	node_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
 | 
			
		||||
	},
 | 
			
		||||
	collision_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {-0.4, -1.5, -0.4, 0.4, 0, 0.4}
 | 
			
		||||
	},
 | 
			
		||||
	selection_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {-0.4, -1.5, -0.4, 0.4, 0, 0.4}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "mobs:fence_top 12",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"group:wood", "group:wood", "group:wood"},
 | 
			
		||||
		{"", "default:fence_wood", ""},
 | 
			
		||||
		{"", "default:fence_wood", ""}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- items that can be used as fuel
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "mobs:nametag",
 | 
			
		||||
	burntime = 3,
 | 
			
		||||
	burntime = 3
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "mobs:lasso",
 | 
			
		||||
	burntime = 7,
 | 
			
		||||
	burntime = 7
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "mobs:net",
 | 
			
		||||
	burntime = 8,
 | 
			
		||||
	burntime = 8
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "mobs:leather",
 | 
			
		||||
	burntime = 4,
 | 
			
		||||
	burntime = 4
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "mobs:saddle",
 | 
			
		||||
	burntime = 7,
 | 
			
		||||
	burntime = 7
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "mobs:fence_wood",
 | 
			
		||||
	burntime = 7,
 | 
			
		||||
	burntime = 7
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "mobs:fence_top",
 | 
			
		||||
	burntime = 2,
 | 
			
		||||
	burntime = 2
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- this tool spawns same mob and adds owner, protected, nametag info
 | 
			
		||||
-- then removes original entity, this is used for fixing any issues.
 | 
			
		||||
 | 
			
		||||
local tex_obj
 | 
			
		||||
 | 
			
		||||
minetest.register_tool(":mobs:mob_reset_stick", {
 | 
			
		||||
	description = S("Mob Reset Stick"),
 | 
			
		||||
	inventory_image = "default_stick.png^[colorize:#ff000050",
 | 
			
		||||
	stack_max = 1,
 | 
			
		||||
	groups = {not_in_creative_inventory = 1},
 | 
			
		||||
 | 
			
		||||
	on_use = function(itemstack, user, pointed_thing)
 | 
			
		||||
 | 
			
		||||
		if pointed_thing.type ~= "object" then
 | 
			
		||||
			return
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		local obj = pointed_thing.ref
 | 
			
		||||
 | 
			
		||||
		local control = user:get_player_control()
 | 
			
		||||
		local sneak = control and control.sneak
 | 
			
		||||
 | 
			
		||||
		-- spawn same mob with saved stats, with random texture
 | 
			
		||||
		if obj and not sneak then
 | 
			
		||||
 | 
			
		||||
			local self = obj:get_luaentity()
 | 
			
		||||
			local obj2 = minetest.add_entity(obj:get_pos(), self.name)
 | 
			
		||||
 | 
			
		||||
			if obj2 then
 | 
			
		||||
 | 
			
		||||
				local ent2 = obj2:get_luaentity()
 | 
			
		||||
 | 
			
		||||
				ent2.protected = self.protected
 | 
			
		||||
				ent2.owner = self.owner
 | 
			
		||||
				ent2.nametag = self.nametag
 | 
			
		||||
				ent2.gotten = self.gotten
 | 
			
		||||
				ent2.tamed = self.tamed
 | 
			
		||||
				ent2.health = self.health
 | 
			
		||||
				ent2.order = self.order
 | 
			
		||||
 | 
			
		||||
				if self.child then
 | 
			
		||||
					obj2:set_velocity({x = 0, y = self.jump_height, z = 0})
 | 
			
		||||
				end
 | 
			
		||||
 | 
			
		||||
				obj2:set_properties({nametag = self.nametag})
 | 
			
		||||
 | 
			
		||||
				obj:remove()
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		-- display form to enter texture name ending in .png
 | 
			
		||||
		if obj and sneak then
 | 
			
		||||
 | 
			
		||||
			tex_obj = obj
 | 
			
		||||
 | 
			
		||||
			local name = user:get_player_name()
 | 
			
		||||
			local tex = ""
 | 
			
		||||
 | 
			
		||||
			minetest.show_formspec(name, "mobs_texture", "size[8,4]"
 | 
			
		||||
			.. "field[0.5,1;7.5,0;name;"
 | 
			
		||||
			.. minetest.formspec_escape(S("Enter texture:")) .. ";" .. tex .. "]"
 | 
			
		||||
			.. "button_exit[2.5,3.5;3,1;mob_texture_change;"
 | 
			
		||||
			.. minetest.formspec_escape(S("Change")) .. "]")
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
 | 
			
		||||
 | 
			
		||||
	-- right-clicked with nametag and name entered?
 | 
			
		||||
	if formname == "mobs_texture"
 | 
			
		||||
	and fields.name
 | 
			
		||||
	and fields.name ~= "" then
 | 
			
		||||
 | 
			
		||||
		-- does mob still exist?
 | 
			
		||||
		if not tex_obj
 | 
			
		||||
		or not tex_obj:get_luaentity() then
 | 
			
		||||
			return
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		-- make sure nametag is being used to name mob
 | 
			
		||||
		local item = player:get_wielded_item()
 | 
			
		||||
 | 
			
		||||
		if item:get_name() ~= "mobs:mob_reset_stick" then
 | 
			
		||||
			return
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		-- limit name entered to 64 characters long
 | 
			
		||||
		if fields.name:len() > 64 then
 | 
			
		||||
			fields.name = fields.name:sub(1, 64)
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		-- update texture
 | 
			
		||||
		local self = tex_obj:get_luaentity()
 | 
			
		||||
 | 
			
		||||
		self.base_texture = {fields.name}
 | 
			
		||||
 | 
			
		||||
		tex_obj:set_properties({textures = {fields.name}})
 | 
			
		||||
 | 
			
		||||
		-- reset external variable
 | 
			
		||||
		tex_obj = nil
 | 
			
		||||
	end
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Meat Block (thanks to painterlypack.net for allowing me to use these textures)
 | 
			
		||||
minetest.register_node("mobs:meatblock", {
 | 
			
		||||
	description = S("Meat Block"),
 | 
			
		||||
	tiles = {"mobs_meat_top.png", "mobs_meat_bottom.png", "mobs_meat_side.png"},
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
	groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2},
 | 
			
		||||
	sounds = default.node_sound_leaves_defaults(),
 | 
			
		||||
	on_place = minetest.rotate_node,
 | 
			
		||||
	on_use = minetest.item_eat(20),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "mobs:meatblock",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		"group:food_meat", "group:food_meat", "group:food_meat",
 | 
			
		||||
		"group:food_meat", "group:food_meat", "group:food_meat",
 | 
			
		||||
		"group:food_meat", "group:food_meat", "group:food_meat"
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								intllib.lua
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								intllib.lua
									
									
									
									
									
								
							@@ -1,45 +1,3 @@
 | 
			
		||||
-- Support for the old multi-load method
 | 
			
		||||
dofile(minetest.get_modpath("intllib").."/init.lua")
 | 
			
		||||
 | 
			
		||||
-- Fallback functions for when `intllib` is not installed.
 | 
			
		||||
-- Code released under Unlicense <http://unlicense.org>.
 | 
			
		||||
 | 
			
		||||
-- Get the latest version of this file at:
 | 
			
		||||
--   https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
 | 
			
		||||
 | 
			
		||||
local function format(str, ...)
 | 
			
		||||
	local args = { ... }
 | 
			
		||||
	local function repl(escape, open, num, close)
 | 
			
		||||
		if escape == "" then
 | 
			
		||||
			local replacement = tostring(args[tonumber(num)])
 | 
			
		||||
			if open == "" then
 | 
			
		||||
				replacement = replacement..close
 | 
			
		||||
			end
 | 
			
		||||
			return replacement
 | 
			
		||||
		else
 | 
			
		||||
			return "@"..open..num..close
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local gettext, ngettext
 | 
			
		||||
if minetest.get_modpath("intllib") then
 | 
			
		||||
	if intllib.make_gettext_pair then
 | 
			
		||||
		-- New method using gettext.
 | 
			
		||||
		gettext, ngettext = intllib.make_gettext_pair()
 | 
			
		||||
	else
 | 
			
		||||
		-- Old method using text files.
 | 
			
		||||
		gettext = intllib.Getter()
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Fill in missing functions.
 | 
			
		||||
 | 
			
		||||
gettext = gettext or function(msgid, ...)
 | 
			
		||||
	return format(msgid, ...)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
 | 
			
		||||
	return format(n==1 and msgid or msgid_plural, ...)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
return gettext, ngettext
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								locale/fr.po
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								locale/fr.po
									
									
									
									
									
								
							@@ -3,20 +3,19 @@
 | 
			
		||||
# This file is distributed under the same license as the PACKAGE package.
 | 
			
		||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 | 
			
		||||
#
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: \n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2017-07-29 09:13+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2017-07-29 09:20+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2020-08-13 21:20+0500\n"
 | 
			
		||||
"Last-Translator: Olivier Dragon <odragon@protonmail.com>\n"
 | 
			
		||||
"Language-Team: \n"
 | 
			
		||||
"Language: fr\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: Poedit 1.8.12\n"
 | 
			
		||||
"Last-Translator: fat115 <fat115@framasoft.org>\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 | 
			
		||||
"Language: fr\n"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "** Peaceful Mode Active - No Monsters Will Spawn"
 | 
			
		||||
@@ -64,7 +63,7 @@ msgstr "Renommer"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Name Tag"
 | 
			
		||||
msgstr "Étiquette pour collier"
 | 
			
		||||
msgstr "Étiquette de collier"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Leather"
 | 
			
		||||
@@ -102,18 +101,26 @@ msgstr "Selle"
 | 
			
		||||
msgid "Mob Fence"
 | 
			
		||||
msgstr "Clôture à animaux"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Mob Fence Top"
 | 
			
		||||
msgstr "Haut de clôture à animaux"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob Spawner"
 | 
			
		||||
msgstr "Générateur de mob"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob MinLight MaxLight Amount PlayerDist"
 | 
			
		||||
msgstr "Mob MinLumière MaxLumière Quantité DistanceJoueur"
 | 
			
		||||
msgid "(mob name) (min light) (max light) (amount) (player distance) (Y offset)"
 | 
			
		||||
msgstr "(Nom) (MinLumière) (MaxLumière) (Quantité) (Distance du Joueur) (Décalage en Y)"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Not Active (enter settings)"
 | 
			
		||||
msgstr "Générateur non actif (entrez les paramètres)"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Command:"
 | 
			
		||||
msgstr "Commande:"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Active (@1)"
 | 
			
		||||
msgstr "Générateur actif (@1)"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								locale/it.po
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								locale/it.po
									
									
									
									
									
								
							@@ -8,19 +8,19 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: Italian locale file for the Mobs Redo module\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2017-07-02 16:48+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2017-08-18 12:18+0100\n"
 | 
			
		||||
"Last-Translator: H4mlet <h4mlet@riseup.net>\n"
 | 
			
		||||
"PO-Revision-Date: 2020-05-11 13:33+0200\n"
 | 
			
		||||
"Last-Translator: Hamlet <hamlatgitlab@riseup.net>\n"
 | 
			
		||||
"Language-Team: \n"
 | 
			
		||||
"Language: it\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
"X-Generator: Poedit 1.6.10\n"
 | 
			
		||||
"X-Generator: Poedit 2.2.1\n"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "** Peaceful Mode Active - No Monsters Will Spawn"
 | 
			
		||||
msgstr ""
 | 
			
		||||
msgstr "** Modalità pacifica attiva - non comparirà nessun mostro"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Mob has been protected!"
 | 
			
		||||
@@ -28,23 +28,23 @@ msgstr "Il mob è stato protetto!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 (Tamed)"
 | 
			
		||||
msgstr "@1 (Addomesticat*)"
 | 
			
		||||
msgstr "@1 (Addomesticato)"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Not tamed!"
 | 
			
		||||
msgstr "Non addomesticat*!"
 | 
			
		||||
msgstr "Non addomesticato!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 is owner!"
 | 
			
		||||
msgstr "Proprietari* @1!"
 | 
			
		||||
msgstr "Il padrone è @1!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Missed!"
 | 
			
		||||
msgstr "Mancat*!"
 | 
			
		||||
msgstr "Mancato!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Already protected!"
 | 
			
		||||
msgstr "Già protett*!"
 | 
			
		||||
msgstr "Già protetto!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 at full health (@2)"
 | 
			
		||||
@@ -52,7 +52,7 @@ msgstr "@1 in piena salute (@2)"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 has been tamed!"
 | 
			
		||||
msgstr "@1 è stat* addomesticat*!"
 | 
			
		||||
msgstr "@1 è stato addomesticato!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Enter name:"
 | 
			
		||||
@@ -60,7 +60,7 @@ msgstr "Inserire il nome:"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Rename"
 | 
			
		||||
msgstr "Rinominare"
 | 
			
		||||
msgstr "Rinomina"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Name Tag"
 | 
			
		||||
@@ -100,7 +100,7 @@ msgstr "Sella"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Mob Fence"
 | 
			
		||||
msgstr ""
 | 
			
		||||
msgstr "Recinzione per mob"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob Spawner"
 | 
			
		||||
@@ -128,4 +128,4 @@ msgid ""
 | 
			
		||||
"distance[1-20] y_offset[-10 to 10]”"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Sintassi: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 per "
 | 
			
		||||
"disabilitare] distance[1-20] y_offset[-10 to 10]”"
 | 
			
		||||
"disabilitare] distance[1-20] y_offset[-10 fino a 10]”"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.de_DE.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.de_DE.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
#** Peaceful Mode Active - No Monsters Will Spawn=
 | 
			
		||||
@1 (Tamed)=@1 (Gezähmt)
 | 
			
		||||
@1 at full health (@2)=@1 bei voller Gesundheit (@2)
 | 
			
		||||
@1 has been tamed!=@1 wurde gezähmt!
 | 
			
		||||
@1 is owner!=@1 ist der Besitzer!
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
Already protected!=Bereits geschützt!
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=Namen eingeben:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Lasso (Rechtsklick auf Tier, um es zu nehmen)
 | 
			
		||||
Leather=Leder
 | 
			
		||||
Meat=Fleisch
 | 
			
		||||
Missed!=Daneben!
 | 
			
		||||
Mob Fence=Kreaturen Zaun
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
Mob Protection Rune=Kreaturschutzrune
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Kreaturenspawner-Einstellungen gescheitert!
 | 
			
		||||
Mob has been protected!=Kreatur wurde geschützt!
 | 
			
		||||
Name Tag=Namensschild
 | 
			
		||||
Net (right-click animal to put in inventory)=Netz (Rechtsklick auf Tier, um es zu nehmen)
 | 
			
		||||
Not tamed!=Nicht gezähmt!
 | 
			
		||||
Raw Meat=Rohes Fleisch
 | 
			
		||||
Rename=Umbenennen
 | 
			
		||||
Saddle=Sattel
 | 
			
		||||
Spawner Active (@1)=Spawner aktiv (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Nicht aktiv (Einstellungen eingeben)
 | 
			
		||||
Steel Shears (right-click to shear)=Stahlschere (Rechtsklick zum Scheren)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.en.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.en.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
#** Peaceful Mode Active - No Monsters Will Spawn=
 | 
			
		||||
#@1 (Tamed)=
 | 
			
		||||
#@1 at full health (@2)=
 | 
			
		||||
#@1 has been tamed!=
 | 
			
		||||
#@1 is owner!=
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
#Already protected!=
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
#Enter name:=
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
#Lasso (right-click animal to put in inventory)=
 | 
			
		||||
#Leather=
 | 
			
		||||
#Meat=
 | 
			
		||||
#Missed!=
 | 
			
		||||
#Mob Fence=
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
#Mob Protection Rune=
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
#Mob Spawner settings failed!=
 | 
			
		||||
#Mob has been protected!=
 | 
			
		||||
#Name Tag=
 | 
			
		||||
#Net (right-click animal to put in inventory)=
 | 
			
		||||
#Not tamed!=
 | 
			
		||||
#Raw Meat=
 | 
			
		||||
#Rename=
 | 
			
		||||
#Saddle=
 | 
			
		||||
#Spawner Active (@1)=
 | 
			
		||||
#Spawner Not Active (enter settings)=
 | 
			
		||||
#Steel Shears (right-click to shear)=
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.es.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.es.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
#** Peaceful Mode Active - No Monsters Will Spawn=
 | 
			
		||||
@1 (Tamed)=@1 (Domesticado)
 | 
			
		||||
@1 at full health (@2)=@1 con salud llena (@2)
 | 
			
		||||
@1 has been tamed!=@1 ha sido domesticado!
 | 
			
		||||
@1 is owner!=@1 es el dueño!
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
Already protected!=Ya está protegido!
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=Ingrese nombre:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Lazo (click derecho en animal para colocar en inventario)
 | 
			
		||||
Leather=Cuero
 | 
			
		||||
Meat=Carne
 | 
			
		||||
Missed!=Perdido!
 | 
			
		||||
#Mob Fence=
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
Mob Protection Rune=Runa de protección de Mob
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Configuracion de generador de Mob falló!
 | 
			
		||||
Mob has been protected!=El mob ha sido protegido!
 | 
			
		||||
Name Tag=Nombrar etiqueta
 | 
			
		||||
Net (right-click animal to put in inventory)=Red (click derecho en animal para colocar en inventario)
 | 
			
		||||
Not tamed!=No domesticado!
 | 
			
		||||
Raw Meat=Carne cruda
 | 
			
		||||
Rename=Renombrar
 | 
			
		||||
Saddle=Montura
 | 
			
		||||
Spawner Active (@1)=Generador activo (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Generador no activo (ingrese config)
 | 
			
		||||
Steel Shears (right-click to shear)=Tijera de acero (click derecho para esquilar)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.fr.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.fr.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
** Peaceful Mode Active - No Monsters Will Spawn=** Mode pacifique activé - aucun monstre ne sera généré
 | 
			
		||||
@1 (Tamed)=@1 (apprivoisé)
 | 
			
		||||
@1 at full health (@2)=@1 est en pleine forme (@2) 
 | 
			
		||||
@1 has been tamed!=@1 a été apprivoisé ! 
 | 
			
		||||
@1 is owner!=Appartient à @1 !
 | 
			
		||||
Active Mob Limit Reached!=Limite atteinte du nombre des êtres vivants actifs !
 | 
			
		||||
Already protected!=Déjà protégé !
 | 
			
		||||
Change=Changer
 | 
			
		||||
Command:=Commande :
 | 
			
		||||
Enter name:=Saisissez un nom :
 | 
			
		||||
Enter texture:=Saisissez une texture :
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Lasso (clic droit sur l'animal pour le mettre dans l'inventaire)
 | 
			
		||||
Leather=Cuir
 | 
			
		||||
Meat=Viande
 | 
			
		||||
Missed!=Raté !
 | 
			
		||||
Mob Fence= Clôture à animaux
 | 
			
		||||
Mob Fence Top=Haut de clôture à animaux
 | 
			
		||||
Mob Protection Rune=Rune de protection des animaux
 | 
			
		||||
Mob Reset Stick=Baguette de réinitialisation des êtres vivants
 | 
			
		||||
Mob Spawner=Créateur d'êtres vivants
 | 
			
		||||
Mob Spawner settings failed!=Échec des paramètres du créateur d'être vivants !
 | 
			
		||||
Mob has been protected!=L'animal a été protégé !
 | 
			
		||||
Name Tag=Étiquette de collier
 | 
			
		||||
Net (right-click animal to put in inventory)=Filet (clic droit sur l'animal pour le mettre dans l'inventaire)
 | 
			
		||||
Not tamed!=Non-apprivoisé !
 | 
			
		||||
Raw Meat=Viande crue
 | 
			
		||||
Rename=Renommer
 | 
			
		||||
Saddle=Selle
 | 
			
		||||
Spawner Active (@1)=Créateur actif (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Créateur non actif (entrez les paramètres)
 | 
			
		||||
Steel Shears (right-click to shear)=Ciseaux à laine (clic droit pour tondre)
 | 
			
		||||
Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=Syntaxe : «name min_lumière[0-14] max_lumière[0-14] max_être_vivant_dans_région[0 pour désactiver] distance_joueur[1-20] décalage_y[-10 to 10]»
 | 
			
		||||
lifetimer expired, removed @1=Être immortel expiré ; @1 retiré
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.it.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.it.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
** Peaceful Mode Active - No Monsters Will Spawn=** Modalità pacifica attiva - non comparirà nessun mostro
 | 
			
		||||
@1 (Tamed)=@1 (Addomesticato)
 | 
			
		||||
@1 at full health (@2)=@1 in piena salute (@2)
 | 
			
		||||
@1 has been tamed!=@1 è stato addomesticato!
 | 
			
		||||
@1 is owner!=Il padrone è @1!
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
Already protected!=Già protetto!
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=Inserire il nome:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Lazo (click di destro per mettere l'animale nell'inventario)
 | 
			
		||||
Leather=Pelle
 | 
			
		||||
Meat=Carne
 | 
			
		||||
Missed!=Mancato!
 | 
			
		||||
Mob Fence=Recinzione per mob
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
Mob Protection Rune=Runa di protezione per mob
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Impostazioni del generatore di mob fallite!
 | 
			
		||||
Mob has been protected!=Il mob è stato protetto!
 | 
			
		||||
Name Tag=Targhetta
 | 
			
		||||
Net (right-click animal to put in inventory)=Rete (click destro per mettere l'animale nell'inventario)
 | 
			
		||||
Not tamed!=Non addomesticato!
 | 
			
		||||
Raw Meat=Carne cruda
 | 
			
		||||
Rename=Rinomina
 | 
			
		||||
Saddle=Sella
 | 
			
		||||
Spawner Active (@1)=Generatore attivo (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Generatore inattivo (inserire le impostazioni)
 | 
			
		||||
Steel Shears (right-click to shear)=Cesoie d'acciaio (click destro per tosare)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.ms.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
** Peaceful Mode Active - No Monsters Will Spawn=** Mod Aman Diaktifkan - Tiada Raksasa Akan Muncul
 | 
			
		||||
@1 (Tamed)=@1 (Jinak)
 | 
			
		||||
@1 at full health (@2)=Mata kesihatan @1 telah penuh (@2)
 | 
			
		||||
@1 has been tamed!=@1 telah dijinakkan!
 | 
			
		||||
@1 is owner!=Ini hak milik @1!
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
Already protected!=Telah dilindungi!
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=Masukkan nama:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Tanjul (klik-kanan haiwan untuk masukkan ke inventori)
 | 
			
		||||
Leather=Kulit
 | 
			
		||||
Meat=Daging Bakar
 | 
			
		||||
Missed!=Terlepas!
 | 
			
		||||
Mob Fence=Pagar Mob
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
Mob Protection Rune=Rune Perlindungan Mob
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Penetapan Pewujud Mob gagal!
 | 
			
		||||
Mob has been protected!=Mob telah pun dilindungi!
 | 
			
		||||
Name Tag=Tanda Nama
 | 
			
		||||
Net (right-click animal to put in inventory)=Jaring (klik-kanan haiwan untuk masukkan ke inventori)
 | 
			
		||||
Not tamed!=Belum dijinakkan!
 | 
			
		||||
Raw Meat=Daging Mentah
 | 
			
		||||
Rename=Namakan semula
 | 
			
		||||
Saddle=Pelana
 | 
			
		||||
Spawner Active (@1)=Pewujud Mob Aktif (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Pewujud Mob Tidak Aktif (masukkan tetapan)
 | 
			
		||||
Steel Shears (right-click to shear)=Ketam Keluli (klik-kanan untuk mengetam bulu biri-biri)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.pt.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.pt.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
#** Peaceful Mode Active - No Monsters Will Spawn=
 | 
			
		||||
#@1 (Tamed)=
 | 
			
		||||
@1 at full health (@2)=@1 em plena saude (@2)
 | 
			
		||||
@1 has been tamed!=@1 foi domesticado!
 | 
			
		||||
@1 is owner!=Dono @1!
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
#Already protected!=
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=Insira um nome:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Laço (clique-direito no animal para por no inventario)
 | 
			
		||||
Leather=Couro
 | 
			
		||||
Meat=Carne
 | 
			
		||||
Missed!=Faltou!
 | 
			
		||||
#Mob Fence=
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
#Mob Protection Rune=
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Configuraçao de Spawnador do Mob falhou!
 | 
			
		||||
#Mob has been protected!=
 | 
			
		||||
Name Tag=Etiqueta
 | 
			
		||||
Net (right-click animal to put in inventory)=Net (clique-direito no animal para por no inventario)
 | 
			
		||||
Not tamed!=Indomesticado!
 | 
			
		||||
Raw Meat=Carne crua
 | 
			
		||||
Rename=Renomear
 | 
			
		||||
#Saddle=
 | 
			
		||||
Spawner Active (@1)=Spawnador Ativo (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Spawnador Inativo (configurar)
 | 
			
		||||
Steel Shears (right-click to shear)=Tesoura de Aço (clique-direito para tosquiar)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.ru.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
** Peaceful Mode Active - No Monsters Will Spawn=** Мирный модус активирован - монстры не спаунятся
 | 
			
		||||
@1 (Tamed)=@1 (Прирученный)
 | 
			
		||||
@1 at full health (@2)=@1 при полном здоровье (@2)
 | 
			
		||||
@1 has been tamed!=@1 приручен
 | 
			
		||||
@1 is owner!=@1 владелец
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
Already protected!=Уже защищен!
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=Введите имя:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Лассо (Правый клик - положить животное в инвентарь)
 | 
			
		||||
Leather=Кожа
 | 
			
		||||
Meat=Мясо
 | 
			
		||||
Missed!=Промазал!
 | 
			
		||||
Mob Fence=Забор от мобов
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
Mob Protection Rune=Защитная руна мобов
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Настройки спаунера моба провалились
 | 
			
		||||
Mob has been protected!=Моб защищен!
 | 
			
		||||
Name Tag=Новый тэг
 | 
			
		||||
Net (right-click animal to put in inventory)=Сеть (Правый клик - положить животное в инвентарь)
 | 
			
		||||
Not tamed!=Не прирученный
 | 
			
		||||
Raw Meat=Сырое мясо
 | 
			
		||||
Rename=Переименовать
 | 
			
		||||
Saddle=Седло
 | 
			
		||||
Spawner Active (@1)=Активные спаунер (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Спаунер не активен (введите настройки)
 | 
			
		||||
Steel Shears (right-click to shear)=Ножницы (Правый клик - подстричь)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.tr.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.tr.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
#** Peaceful Mode Active - No Monsters Will Spawn=
 | 
			
		||||
#@1 (Tamed)=
 | 
			
		||||
@1 at full health (@2)=@1 tam canında (@2)
 | 
			
		||||
@1 has been tamed!=@1 tamamen evcilleştirilmiştir!
 | 
			
		||||
@1 is owner!=Sahibi @1!
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
#Already protected!=
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=İsim gir:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=Kement (hayvana sağ tıklayarak envantere koy)
 | 
			
		||||
Leather=Deri
 | 
			
		||||
Meat=Et
 | 
			
		||||
Missed!=Kaçırdın!
 | 
			
		||||
Mob Fence=Canavar Yaratıcı
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
#Mob Protection Rune=
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Yaratıcı ayarları uygulanamadı.
 | 
			
		||||
#Mob has been protected!=
 | 
			
		||||
Name Tag=İsim etiketi
 | 
			
		||||
Net (right-click animal to put in inventory)=Ağ (hayvana sağ tıklayarak envantere koy)
 | 
			
		||||
Not tamed!=Evcil değil!
 | 
			
		||||
Raw Meat=Çiğ et
 | 
			
		||||
Rename=Yeniden adlandır
 | 
			
		||||
#Saddle=
 | 
			
		||||
Spawner Active (@1)=Yaratıcı aktif (@1)
 | 
			
		||||
Spawner Not Active (enter settings)=Yaratıcı aktif değil (ayarlara gir)
 | 
			
		||||
Steel Shears (right-click to shear)=Çelik makas (sağ tıklayarak kes)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
** Peaceful Mode Active - No Monsters Will Spawn=** 和平模式已激活——没有怪物会产生
 | 
			
		||||
@1 (Tamed)=@1(已驯服)
 | 
			
		||||
@1 at full health (@2)=@1已经满血(@2)
 | 
			
		||||
@1 has been tamed!=@1已经被驯服!
 | 
			
		||||
@1 is owner!=@1 是主人
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
Already protected!=已经被保护!
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=输入名称:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=套索(右键单击动物以放入物品栏)
 | 
			
		||||
Leather=皮革
 | 
			
		||||
Meat=肉
 | 
			
		||||
Missed!=没抓住!
 | 
			
		||||
Mob Fence=Mob 栅栏
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
Mob Protection Rune=Mob 保护符文
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Mob 孵化器设置失败!
 | 
			
		||||
Mob has been protected!=Mob 已经被保护了!
 | 
			
		||||
Name Tag=名称标签
 | 
			
		||||
Net (right-click animal to put in inventory)=网(右键单击动物以放入物品栏)
 | 
			
		||||
Not tamed!=没有驯服!
 | 
			
		||||
Raw Meat=生肉
 | 
			
		||||
Rename=重新命名
 | 
			
		||||
Saddle=鞍
 | 
			
		||||
Spawner Active (@1)=孵化器正在运转(@1)
 | 
			
		||||
Spawner Not Active (enter settings)=孵化器未使用(输入设置)
 | 
			
		||||
Steel Shears (right-click to shear)=钢剪(右键单击以剪切)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
							
								
								
									
										34
									
								
								locale/mobs.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								locale/mobs.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
# textdomain:mobs
 | 
			
		||||
** Peaceful Mode Active - No Monsters Will Spawn=** 和平模式已激活——沒有怪物會產生
 | 
			
		||||
@1 (Tamed)=@1(已馴服)
 | 
			
		||||
@1 at full health (@2)=@1已經滿血(@2)
 | 
			
		||||
@1 has been tamed!=@1已經被馴服!
 | 
			
		||||
@1 is owner!=@1 是主人
 | 
			
		||||
#Active Mob Limit Reached!=
 | 
			
		||||
Already protected!=已經被保護!
 | 
			
		||||
#Change=
 | 
			
		||||
#Command:=
 | 
			
		||||
Enter name:=輸入名稱:
 | 
			
		||||
#Enter texture:=
 | 
			
		||||
Lasso (right-click animal to put in inventory)=套索(右鍵單擊動物以放入物品欄)
 | 
			
		||||
Leather=皮革
 | 
			
		||||
Meat=肉
 | 
			
		||||
Missed!=沒抓住!
 | 
			
		||||
Mob Fence=Mob 柵欄
 | 
			
		||||
#Mob Fence Top=
 | 
			
		||||
Mob Protection Rune=Mob 保護符文
 | 
			
		||||
#Mob Reset Stick=
 | 
			
		||||
#Mob Spawner=
 | 
			
		||||
Mob Spawner settings failed!=Mob 孵化器設置失敗!
 | 
			
		||||
Mob has been protected!=Mob 已經被保護了!
 | 
			
		||||
Name Tag=名稱標籤
 | 
			
		||||
Net (right-click animal to put in inventory)=網(右鍵單擊動物以放入物品欄)
 | 
			
		||||
Not tamed!=沒有馴服!
 | 
			
		||||
Raw Meat=生肉
 | 
			
		||||
Rename=重新命名
 | 
			
		||||
Saddle=鞍
 | 
			
		||||
Spawner Active (@1)=孵化器正在運轉(@1)
 | 
			
		||||
Spawner Not Active (enter settings)=孵化器未使用(輸入設置)
 | 
			
		||||
Steel Shears (right-click to shear)=鋼剪(右鍵單擊以剪切)
 | 
			
		||||
#Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”=
 | 
			
		||||
#lifetimer expired, removed @1=
 | 
			
		||||
@@ -101,18 +101,26 @@ msgstr ""
 | 
			
		||||
msgid "Mob Fence"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Mob Fence Top"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob Spawner"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob MinLight MaxLight Amount PlayerDist"
 | 
			
		||||
msgid "(mob name) (min light) (max light) (amount) (player distance) (Y offset)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Not Active (enter settings)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#@ spawner.lua
 | 
			
		||||
msgid "Command:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Active (@1)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										130
									
								
								locale/zh_CN.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								locale/zh_CN.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,130 @@
 | 
			
		||||
# SOME DESCRIPTIVE TITLE.
 | 
			
		||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 | 
			
		||||
# This file is distributed under the same license as the PACKAGE package.
 | 
			
		||||
# IFRFSX<1079092922@qq.com>, 2020.
 | 
			
		||||
#
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2017-07-02 16:48+0200\n"
 | 
			
		||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
			
		||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 | 
			
		||||
"Language-Team: LANGUAGE <LL@li.org>\n"
 | 
			
		||||
"Language: \n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "** Peaceful Mode Active - No Monsters Will Spawn"
 | 
			
		||||
msgstr "** 和平模式已激活——没有怪物会产生"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Mob has been protected!"
 | 
			
		||||
msgstr "Mob 已经被保护了!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 (Tamed)"
 | 
			
		||||
msgstr "@1(已驯服)"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Not tamed!"
 | 
			
		||||
msgstr "没有驯服!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 is owner!"
 | 
			
		||||
msgstr "@1 是主人"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Missed!"
 | 
			
		||||
msgstr "没抓住!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Already protected!"
 | 
			
		||||
msgstr "已经被保护!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 at full health (@2)"
 | 
			
		||||
msgstr "@1已经满血(@2)"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 has been tamed!"
 | 
			
		||||
msgstr "@1已经被驯服!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Enter name:"
 | 
			
		||||
msgstr "输入名称:"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Rename"
 | 
			
		||||
msgstr "重新命名"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Name Tag"
 | 
			
		||||
msgstr "名称标签"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Leather"
 | 
			
		||||
msgstr "皮革"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Raw Meat"
 | 
			
		||||
msgstr "生肉"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Meat"
 | 
			
		||||
msgstr "肉"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Lasso (right-click animal to put in inventory)"
 | 
			
		||||
msgstr "套索(右键单击动物以放入物品栏)"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Net (right-click animal to put in inventory)"
 | 
			
		||||
msgstr "网(右键单击动物以放入物品栏)"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Steel Shears (right-click to shear)"
 | 
			
		||||
msgstr "钢剪(右键单击以剪切)"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Mob Protection Rune"
 | 
			
		||||
msgstr "Mob 保护符文"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Saddle"
 | 
			
		||||
msgstr "鞍"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Mob Fence"
 | 
			
		||||
msgstr "Mob 栅栏"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob Spawner"
 | 
			
		||||
msgstr "Mob 孵化器"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob MinLight MaxLight Amount PlayerDist"
 | 
			
		||||
msgstr "Mob/最小光量/最大光量/玩家距离"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Not Active (enter settings)"
 | 
			
		||||
msgstr "孵化器未使用(输入设置)"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Active (@1)"
 | 
			
		||||
msgstr "孵化器正在运转(@1)"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob Spawner settings failed!"
 | 
			
		||||
msgstr "Mob 孵化器设置失败!"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid ""
 | 
			
		||||
"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] "
 | 
			
		||||
"distance[1-20] y_offset[-10 to 10]”"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"语法: “物品名称 最小光亮[0-14] 最大光亮[0-14] 范围内的最大Mob数量[0 to disable] "
 | 
			
		||||
"距离[1-20] y_offset[-10 to 10]”"
 | 
			
		||||
							
								
								
									
										130
									
								
								locale/zh_TW.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								locale/zh_TW.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,130 @@
 | 
			
		||||
# SOME DESCRIPTIVE TITLE.
 | 
			
		||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 | 
			
		||||
# This file is distributed under the same license as the PACKAGE package.
 | 
			
		||||
# IFRFSX<1079092922@qq.com>, 2020.
 | 
			
		||||
#
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2017-07-02 16:48+0200\n"
 | 
			
		||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
			
		||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 | 
			
		||||
"Language-Team: LANGUAGE <LL@li.org>\n"
 | 
			
		||||
"Language: \n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "** Peaceful Mode Active - No Monsters Will Spawn"
 | 
			
		||||
msgstr "** 和平模式已激活——沒有怪物會產生"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Mob has been protected!"
 | 
			
		||||
msgstr "Mob 已經被保護了!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 (Tamed)"
 | 
			
		||||
msgstr "@1(已馴服)"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Not tamed!"
 | 
			
		||||
msgstr "沒有馴服!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 is owner!"
 | 
			
		||||
msgstr "@1 是主人"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Missed!"
 | 
			
		||||
msgstr "沒抓住!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Already protected!"
 | 
			
		||||
msgstr "已經被保護!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 at full health (@2)"
 | 
			
		||||
msgstr "@1已經滿血(@2)"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "@1 has been tamed!"
 | 
			
		||||
msgstr "@1已經被馴服!"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Enter name:"
 | 
			
		||||
msgstr "輸入名稱:"
 | 
			
		||||
 | 
			
		||||
#: api.lua
 | 
			
		||||
msgid "Rename"
 | 
			
		||||
msgstr "重新命名"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Name Tag"
 | 
			
		||||
msgstr "名稱標籤"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Leather"
 | 
			
		||||
msgstr "皮革"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Raw Meat"
 | 
			
		||||
msgstr "生肉"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Meat"
 | 
			
		||||
msgstr "肉"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Lasso (right-click animal to put in inventory)"
 | 
			
		||||
msgstr "套索(右鍵單擊動物以放入物品欄)"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Net (right-click animal to put in inventory)"
 | 
			
		||||
msgstr "網(右鍵單擊動物以放入物品欄)"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Steel Shears (right-click to shear)"
 | 
			
		||||
msgstr "鋼剪(右鍵單擊以剪切)"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Mob Protection Rune"
 | 
			
		||||
msgstr "Mob 保護符文"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Saddle"
 | 
			
		||||
msgstr "鞍"
 | 
			
		||||
 | 
			
		||||
#: crafts.lua
 | 
			
		||||
msgid "Mob Fence"
 | 
			
		||||
msgstr "Mob 柵欄"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob Spawner"
 | 
			
		||||
msgstr "Mob 孵化器"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob MinLight MaxLight Amount PlayerDist"
 | 
			
		||||
msgstr "Mob/最小光量/最大光量/玩家距離"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Not Active (enter settings)"
 | 
			
		||||
msgstr "孵化器未使用(輸入設置)"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Spawner Active (@1)"
 | 
			
		||||
msgstr "孵化器正在運轉(@1)"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid "Mob Spawner settings failed!"
 | 
			
		||||
msgstr "Mob 孵化器設置失敗!"
 | 
			
		||||
 | 
			
		||||
#: spawner.lua
 | 
			
		||||
msgid ""
 | 
			
		||||
"Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] "
 | 
			
		||||
"distance[1-20] y_offset[-10 to 10]”"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"語法: “物品名稱 最小光亮[0-14] 最大光亮[0-14] 範圍內的最大Mob數量[0 to disable] "
 | 
			
		||||
"距離[1-20] y_offset[-10 to 10]”"
 | 
			
		||||
@@ -13,6 +13,6 @@ if minetest.get_modpath("lucky_block") then
 | 
			
		||||
		{"dro", {"mobs:protector"}, 1},
 | 
			
		||||
		{"dro", {"mobs:fence_wood"}, 10},
 | 
			
		||||
		{"dro", {"mobs:fence_top"}, 12},
 | 
			
		||||
		{"lig"},
 | 
			
		||||
		{"lig"}
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								mount.lua
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								mount.lua
									
									
									
									
									
								
							@@ -84,7 +84,7 @@ local function force_detach(player)
 | 
			
		||||
 | 
			
		||||
	local entity = attached_to:get_luaentity()
 | 
			
		||||
 | 
			
		||||
	if entity.driver
 | 
			
		||||
	if entity and entity.driver
 | 
			
		||||
	and entity.driver == player then
 | 
			
		||||
 | 
			
		||||
		entity.driver = nil
 | 
			
		||||
@@ -131,7 +131,7 @@ function mobs.attach(entity, player)
 | 
			
		||||
	local rot_view = 0
 | 
			
		||||
 | 
			
		||||
	if entity.player_rotation.y == 90 then
 | 
			
		||||
		rot_view = math.pi/2
 | 
			
		||||
		rot_view = math.pi / 2
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	attach_at = entity.driver_attach_at
 | 
			
		||||
@@ -151,11 +151,13 @@ function mobs.attach(entity, player)
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.after(0.2, function()
 | 
			
		||||
		default.player_set_animation(player, "sit" , 30)
 | 
			
		||||
	end)
 | 
			
		||||
	minetest.after(0.2, function(name)
 | 
			
		||||
		local player = minetest.get_player_by_name(name)
 | 
			
		||||
		if player then
 | 
			
		||||
			default.player_set_animation(player, "sit" , 30)
 | 
			
		||||
		end
 | 
			
		||||
	end, player:get_player_name())
 | 
			
		||||
 | 
			
		||||
	--player:set_look_yaw(entity.object:get_yaw() - rot_view)
 | 
			
		||||
	player:set_look_horizontal(entity.object:get_yaw() - rot_view)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@@ -168,11 +170,18 @@ function mobs.detach(player, offset)
 | 
			
		||||
 | 
			
		||||
	local pos = player:get_pos()
 | 
			
		||||
 | 
			
		||||
	pos = {x = pos.x + offset.x, y = pos.y + 0.2 + offset.y, z = pos.z + offset.z}
 | 
			
		||||
	pos = {
 | 
			
		||||
		x = pos.x + offset.x,
 | 
			
		||||
		y = pos.y + 0.2 + offset.y,
 | 
			
		||||
		z = pos.z + offset.z
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	minetest.after(0.1, function()
 | 
			
		||||
		player:set_pos(pos)
 | 
			
		||||
	end)
 | 
			
		||||
	minetest.after(0.1, function(name, pos)
 | 
			
		||||
		local player = minetest.get_player_by_name(name)
 | 
			
		||||
		if player then
 | 
			
		||||
			player:set_pos(pos)
 | 
			
		||||
		end
 | 
			
		||||
	end, player:get_player_name(), pos)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -212,7 +221,8 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime)
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		-- fix mob rotation
 | 
			
		||||
		entity.object:set_yaw(entity.driver:get_look_horizontal() - entity.rotate)
 | 
			
		||||
		local horz = entity.driver:get_look_horizontal() or 0
 | 
			
		||||
		entity.object:set_yaw(horz - entity.rotate)
 | 
			
		||||
 | 
			
		||||
		if can_fly then
 | 
			
		||||
 | 
			
		||||
@@ -246,7 +256,6 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime)
 | 
			
		||||
					acce_y = acce_y + (acce_y * 3) + 1
 | 
			
		||||
				end
 | 
			
		||||
			end
 | 
			
		||||
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
@@ -290,7 +299,7 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime)
 | 
			
		||||
 | 
			
		||||
	-- Set position, velocity and acceleration
 | 
			
		||||
	local p = entity.object:get_pos()
 | 
			
		||||
	local new_velo = {x = 0, y = 0, z = 0}
 | 
			
		||||
	local new_velo
 | 
			
		||||
	local new_acce = {x = 0, y = -9.8, z = 0}
 | 
			
		||||
 | 
			
		||||
	p.y = p.y - 0.5
 | 
			
		||||
@@ -315,7 +324,7 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime)
 | 
			
		||||
				minetest.sound_play("default_punch", {
 | 
			
		||||
					object = entity.object,
 | 
			
		||||
					max_hear_distance = 5
 | 
			
		||||
				})
 | 
			
		||||
				}, true)
 | 
			
		||||
 | 
			
		||||
				entity.object:punch(entity.object, 1.0, {
 | 
			
		||||
					full_punch_interval = 1.0,
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,13 @@ Lucky Blocks: 9
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Changelog:
 | 
			
		||||
- 1.53 - Added 'on_map_load' settings to mobs:spawn so that mobs will only spawn when new areas of map are loaded.
 | 
			
		||||
- 1.52 - Added 'mob_active_limit' in settings to set number of mobs in game,
 | 
			
		||||
(default is 0 for unlimited), removed {immortal} from mob armor, fluid viscocity slows mobs
 | 
			
		||||
- 1.51 - Added some node checks for dangerous nodes, jumping and falling tweaks, spawn area check (thx for idea wuzzy), re-enabled mob suffocation, add 'mob_nospawn_range' setting
 | 
			
		||||
- 1.50 - Added new line_of_sight function that uses raycasting if mt5.0 is found,  (thanks Astrobe), dont spawn mobs if world anchor nearby (technic or simple_anchor mods), chinese local added
 | 
			
		||||
- 1.49- Added mobs:force_capture(self, player) function, api functions now use metatables thanks to bell07
 | 
			
		||||
- 1.48- Add mobs:set_velocity(self, velocity) global function
 | 
			
		||||
- 1.47- Mob damage changes, min and max light level for damage added, ignition sources checked for lava damage
 | 
			
		||||
- 1.46- Mobs only drop rare items when killed by player (drops.min = 0 makes them rare), code tweak, pathfinding no longer sees through walkable nodes
 | 
			
		||||
- 1.45- Added Fence Top to add on top of any fence to stop mobs escaping, new line_of_sight tweaked by Astrobe
 | 
			
		||||
 
 | 
			
		||||
@@ -27,3 +27,9 @@ mob_chance_multiplier (Mob chance multiplier) float 1.0
 | 
			
		||||
 | 
			
		||||
#    When false Mob no longer drop items when killed
 | 
			
		||||
mobs_drop_items (Mob drops) bool true
 | 
			
		||||
 | 
			
		||||
#    Sets minimum distance around player that mobs cannot spawn
 | 
			
		||||
mob_nospawn_range (Mob no-spawn range) float 12.0
 | 
			
		||||
 | 
			
		||||
#    Sets maximum number of active mobs in game (0 for unlimited)
 | 
			
		||||
mob_active_limit (Mob Active Limit) float 0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								spawner.lua
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								spawner.lua
									
									
									
									
									
								
							@@ -1,11 +1,9 @@
 | 
			
		||||
 | 
			
		||||
-- intllib
 | 
			
		||||
local MP = minetest.get_modpath(minetest.get_current_modname())
 | 
			
		||||
local S, NS = dofile(MP .. "/intllib.lua")
 | 
			
		||||
local S = mobs.intllib
 | 
			
		||||
 | 
			
		||||
-- mob spawner
 | 
			
		||||
 | 
			
		||||
local spawner_default = "mobs_animal:pumba 10 15 0 0"
 | 
			
		||||
local spawner_default = "mobs_animal:pumba 10 15 0 0 0"
 | 
			
		||||
 | 
			
		||||
minetest.register_node("mobs:spawner", {
 | 
			
		||||
	tiles = {"mob_spawner.png"},
 | 
			
		||||
@@ -19,9 +17,17 @@ minetest.register_node("mobs:spawner", {
 | 
			
		||||
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
 | 
			
		||||
		-- setup formspec
 | 
			
		||||
		local head = S("(mob name) (min light) (max light) (amount)"
 | 
			
		||||
				.. " (player distance) (Y offset)")
 | 
			
		||||
 | 
			
		||||
		-- text entry formspec
 | 
			
		||||
		meta:set_string("formspec",
 | 
			
		||||
			"field[text;" .. S("Mob MinLight MaxLight Amount PlayerDist") .. ";${command}]")
 | 
			
		||||
			"size[9,3.5]"
 | 
			
		||||
			.. "label[0.15,0.5;" .. minetest.formspec_escape(head) .. "]"
 | 
			
		||||
			.. "field[1,2.5;7.5,0.8;text;" .. S("Command:")
 | 
			
		||||
			.. ";${command}]")
 | 
			
		||||
 | 
			
		||||
		meta:set_string("infotext", S("Spawner Not Active (enter settings)"))
 | 
			
		||||
		meta:set_string("command", spawner_default)
 | 
			
		||||
	end,
 | 
			
		||||
@@ -55,11 +61,11 @@ minetest.register_node("mobs:spawner", {
 | 
			
		||||
		local pla = tonumber(comm[5]) -- player distance (0 to disable)
 | 
			
		||||
		local yof = tonumber(comm[6]) or 0 -- Y offset to spawn mob
 | 
			
		||||
 | 
			
		||||
		if mob and mob ~= "" and mobs.spawning_mobs[mob] == true
 | 
			
		||||
		if mob and mob ~= "" and mobs.spawning_mobs[mob]
 | 
			
		||||
		and num and num >= 0 and num <= 10
 | 
			
		||||
		and mlig and mlig >= 0 and mlig <= 15
 | 
			
		||||
		and xlig and xlig >= 0 and xlig <= 15
 | 
			
		||||
		and pla and pla >=0 and pla <= 20
 | 
			
		||||
		and pla and pla >= 0 and pla <= 20
 | 
			
		||||
		and yof and yof > -10 and yof < 10 then
 | 
			
		||||
 | 
			
		||||
			meta:set_string("command", fields.text)
 | 
			
		||||
@@ -68,9 +74,9 @@ minetest.register_node("mobs:spawner", {
 | 
			
		||||
		else
 | 
			
		||||
			minetest.chat_send_player(name, S("Mob Spawner settings failed!"))
 | 
			
		||||
			minetest.chat_send_player(name,
 | 
			
		||||
				S("Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] distance[1-20] y_offset[-10 to 10]”"))
 | 
			
		||||
				S("Syntax: “name min_light[0-14] max_light[0-14] max_mobs_in_area[0 to disable] player_distance[1-20] y_offset[-10 to 10]”"))
 | 
			
		||||
		end
 | 
			
		||||
	end,
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -117,10 +123,10 @@ minetest.register_abm({
 | 
			
		||||
		-- check objects inside 9x9 area around spawner
 | 
			
		||||
		local objs = minetest.get_objects_inside_radius(pos, 9)
 | 
			
		||||
		local count = 0
 | 
			
		||||
		local ent = nil
 | 
			
		||||
		local ent
 | 
			
		||||
 | 
			
		||||
		-- count mob objects of same type in area
 | 
			
		||||
		for k, obj in ipairs(objs) do
 | 
			
		||||
		for _, obj in ipairs(objs) do
 | 
			
		||||
 | 
			
		||||
			ent = obj:get_luaentity()
 | 
			
		||||
 | 
			
		||||
@@ -138,9 +144,9 @@ minetest.register_abm({
 | 
			
		||||
		if pla > 0 then
 | 
			
		||||
 | 
			
		||||
			local in_range = 0
 | 
			
		||||
			local objs = minetest.get_objects_inside_radius(pos, pla)
 | 
			
		||||
			local objsp = minetest.get_objects_inside_radius(pos, pla)
 | 
			
		||||
 | 
			
		||||
			for _,oir in pairs(objs) do
 | 
			
		||||
			for _, oir in pairs(objsp) do
 | 
			
		||||
 | 
			
		||||
				if oir:is_player() then
 | 
			
		||||
 | 
			
		||||
@@ -159,8 +165,7 @@ minetest.register_abm({
 | 
			
		||||
		-- find air blocks within 5 nodes of spawner
 | 
			
		||||
		local air = minetest.find_nodes_in_area(
 | 
			
		||||
			{x = pos.x - 5, y = pos.y + yof, z = pos.z - 5},
 | 
			
		||||
			{x = pos.x + 5, y = pos.y + yof, z = pos.z + 5},
 | 
			
		||||
			{"air"})
 | 
			
		||||
			{x = pos.x + 5, y = pos.y + yof, z = pos.z + 5}, {"air"})
 | 
			
		||||
 | 
			
		||||
		-- spawn in random air block
 | 
			
		||||
		if air and #air > 0 then
 | 
			
		||||
@@ -176,6 +181,5 @@ minetest.register_abm({
 | 
			
		||||
				minetest.add_entity(pos2, mob)
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								textures/mobs_meat_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								textures/mobs_meat_bottom.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 253 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/mobs_meat_side.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								textures/mobs_meat_side.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 271 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/mobs_meat_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								textures/mobs_meat_top.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 287 B  | 
		Reference in New Issue
	
	Block a user