Compare commits
3 Commits
46cf68008b
...
39f94eb89b
Author | SHA1 | Date | |
---|---|---|---|
39f94eb89b | |||
2f7b36ea57 | |||
2427384422 |
@ -31,6 +31,7 @@ To download you can play this game with the following minetest engines:
|
||||
* https://codeberg.org/minenux/minetest-engine-minetest/src/branch/stable-4.1
|
||||
* https://codeberg.org/minenux/minetest-engine-minetest/src/branch/stable-4.0
|
||||
* https://codeberg.org/minenux/minetest-engine-minetest/src/branch/stable-5.X
|
||||
* Final minetest from https://minetest.io/downloads/ or https://minetest.org
|
||||
|
||||
#### Mods
|
||||
|
||||
@ -45,10 +46,13 @@ To download you can play this game with the following minetest engines:
|
||||
* so then default flowers as `flowers` are need. Later this will need ethereal modifications.
|
||||
* minetest Random Spawn as `rspawn` [mods/rspawn](mods/rspawn) from https://codeberg.org/minenux/minetest-mod-rspawn
|
||||
* so then default beds as `beds` [mods/beds](mods/beds) from default 0.4
|
||||
* tenplus1 customized mods
|
||||
* tenplus1 petty mods but higly customized
|
||||
* mobs_redo as `mobs` [mods/mobs](mods/mobs) from https://codeberg.org/minenux/minetest-mod-mobs_redo
|
||||
* simple_skins as `skins` [mods/skins](mods/skins) from https://codeberg.org/minenux/minetest-mod-simple_skins
|
||||
* regrow as `regrow` [mods/regrow](mods/regrow) from https://codeberg.org/minenux/minetest-mod-regrow
|
||||
* ethereal as `ethereal` [mods/ethereal](mods/ethereal) from https://codeberg.org/minenux/minetest-mod-ethereal
|
||||
* PilzAdam mobs mods and D00Med mobs
|
||||
* dmobs+animal+monsters as `mobs_jam` [mods/mobs_jam](mods/mobs_jam) from https://codeberg.org/minenux/minetest-mod-mobs_jam
|
||||
* player stuffs:
|
||||
* minenux bags as `backpacks` [mods/backpacks](mods/backpacks)
|
||||
* NPXcoot
|
||||
|
@ -1,4 +1,4 @@
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local MP = minetest.get_modpath("mobs")
|
||||
-- Check for translation method
|
||||
local S
|
||||
|
||||
@ -21,22 +21,29 @@ else
|
||||
end
|
||||
end
|
||||
end
|
||||
local FS = function(...) return minetest.formspec_escape(S(...)) end
|
||||
|
||||
|
||||
-- CMI support check
|
||||
local use_cmi = minetest.global_exists("cmi")
|
||||
|
||||
-- MineClone2 check
|
||||
local use_mc2 = minetest.get_modpath("mcl_core")
|
||||
|
||||
-- Global
|
||||
mobs = {
|
||||
mod = "redo",
|
||||
version = "20230805",
|
||||
intllib = S,
|
||||
version = "20231105",
|
||||
translate = S, intllib = S,
|
||||
invis = minetest.global_exists("invisibility") and invisibility or {},
|
||||
node_ice = "default:ice",
|
||||
node_snow = minetest.registered_aliases["mapgen_snow"] or "default:snow" or "mcl_core:snow",
|
||||
node_dirt = minetest.registered_aliases["mapgen_dirt"] or "default:dirt" or "mcl_core:dirt"
|
||||
node_snow = minetest.registered_aliases["mapgen_snow"]
|
||||
or (use_mc2 and "mcl_core:snow") or "default:snow",
|
||||
node_dirt = minetest.registered_aliases["mapgen_dirt"]
|
||||
or (use_mc2 and "mcl_core:dirt") or "default:dirt"
|
||||
}
|
||||
mobs.fallback_node = mobs.node_dirt
|
||||
|
||||
|
||||
-- localize common functions
|
||||
local pi = math.pi
|
||||
local square = math.sqrt
|
||||
@ -107,7 +114,8 @@ local pathfinder_enable = settings:get_bool("mob_pathfinder_enable") or true
|
||||
local pathfinding_stuck_timeout = tonumber(
|
||||
settings:get("mob_pathfinding_stuck_timeout")) or 3.0
|
||||
-- how long will mob follow path before giving up
|
||||
local pathfinding_stuck_path_timeout = tonumber(settings:get("mob_pathfinding_stuck_path_timeout")) or 5.0
|
||||
local pathfinding_stuck_path_timeout = tonumber(
|
||||
settings:get("mob_pathfinding_stuck_path_timeout")) or 5.0
|
||||
-- which algorithm to use, Dijkstra(default) or A*_noprefetch or A*
|
||||
-- fix settings not allowing "*"
|
||||
local pathfinding_algorithm = settings:get("mob_pathfinding_algorithm") or "Dijkstra"
|
||||
@ -210,6 +218,7 @@ mobs.mob_class = {
|
||||
friendly_fire = true,
|
||||
facing_fence = false,
|
||||
_breed_countdown = nil,
|
||||
_tame_countdown = nil,
|
||||
_cmi_is_mob = true
|
||||
}
|
||||
|
||||
@ -220,7 +229,7 @@ local mob_class_meta = {__index = mob_class}
|
||||
-- play sound
|
||||
function mob_class:mob_sound(sound)
|
||||
|
||||
if sound then
|
||||
if not sound then return end
|
||||
|
||||
-- higher pitch for a child
|
||||
local pitch = self.child and 1.5 or 1.0
|
||||
@ -231,10 +240,9 @@ function mob_class:mob_sound(sound)
|
||||
minetest.sound_play(sound, {
|
||||
object = self.object,
|
||||
gain = 1.0,
|
||||
max_hear_distance = self.sounds.distance,
|
||||
max_hear_distance = (self.sounds and self.sounds.distance) or 10,
|
||||
pitch = pitch
|
||||
}, true)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -825,6 +833,8 @@ function mob_class:update_tag()
|
||||
text = "\nLoving: " .. (self.hornytimer - (HORNY_TIME + HORNY_AGAIN_TIME))
|
||||
elseif self.child == true then
|
||||
text = "\nGrowing: " .. (self.hornytimer - CHILD_GROW_TIME)
|
||||
elseif self._tame_countdown then
|
||||
text = "\nTaming: " .. self._tame_countdown
|
||||
elseif self._breed_countdown then
|
||||
text = "\nBreeding: " .. self._breed_countdown
|
||||
end
|
||||
@ -1580,6 +1590,8 @@ function mob_class:breed()
|
||||
-- make sure baby is actually there
|
||||
if ent2 then
|
||||
|
||||
textures = self.base_texture
|
||||
|
||||
-- using specific child texture (if found)
|
||||
if self.child_texture then
|
||||
textures = self.child_texture[1]
|
||||
@ -1991,8 +2003,7 @@ local function is_peaceful_player(player)
|
||||
local player_name = player:get_player_name()
|
||||
|
||||
-- player priv enabled
|
||||
if player_name
|
||||
and minetest.check_player_privs(player_name, "peaceful_player") then
|
||||
if player_name and minetest.check_player_privs(player_name, "peaceful_player") then
|
||||
return true
|
||||
end
|
||||
end
|
||||
@ -2328,6 +2339,21 @@ function mob_class:dogswitch(dtime)
|
||||
end
|
||||
|
||||
|
||||
-- stop attack
|
||||
function mob_class:stop_attack()
|
||||
|
||||
self.attack = nil
|
||||
self.following = nil
|
||||
self.v_start = false
|
||||
self.timer = 0
|
||||
self.blinktimer = 0
|
||||
self.path.way = nil
|
||||
self:set_velocity(0)
|
||||
self.state = "stand"
|
||||
self:set_animation("stand", true)
|
||||
end
|
||||
|
||||
|
||||
-- execute current state (stand, walk, run, attacks)
|
||||
function mob_class:do_states(dtime)
|
||||
|
||||
@ -2478,6 +2504,11 @@ function mob_class:do_states(dtime)
|
||||
self:set_velocity(0)
|
||||
self.state = "stand"
|
||||
self:set_animation("stand")
|
||||
|
||||
-- try to turn so we are not stuck
|
||||
yaw = yaw + random(-1, 1) * 1.5
|
||||
yaw = self:set_yaw(yaw, 4)
|
||||
|
||||
else
|
||||
self:set_velocity(self.run_velocity)
|
||||
self:set_animation("walk")
|
||||
@ -2501,19 +2532,28 @@ function mob_class:do_states(dtime)
|
||||
|
||||
--print(" ** stop attacking **", self.name, self.health, dist, self.view_range)
|
||||
|
||||
self.attack = nil
|
||||
self.following = nil
|
||||
self.v_start = false
|
||||
self.timer = 0
|
||||
self.blinktimer = 0
|
||||
self.path.way = nil
|
||||
self:set_velocity(0)
|
||||
self.state = "stand"
|
||||
self:set_animation("stand", true)
|
||||
self:stop_attack()
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- check enemy is in sight
|
||||
local in_sight = self:line_of_sight(
|
||||
{x = s.x, y = s.y + 0.5, z = s.z},
|
||||
{x = p.x, y = p.y + 0.5, z = p.z})
|
||||
|
||||
-- stop attacking when enemy not seen for 11 seconds
|
||||
if not in_sight then
|
||||
|
||||
self.target_time_lost = (self.target_time_lost or 0) + dtime
|
||||
|
||||
if self.target_time_lost > self.attack_patience then
|
||||
self:stop_attack()
|
||||
end
|
||||
else
|
||||
self.target_time_lost = 0
|
||||
end
|
||||
|
||||
if self.attack_type == "explode" then
|
||||
|
||||
yaw_to_pos(self, p)
|
||||
@ -2528,7 +2568,7 @@ function mob_class:do_states(dtime)
|
||||
-- start timer when in reach and line of sight
|
||||
if not self.v_start
|
||||
and dist <= self.reach
|
||||
and self:line_of_sight(s, p, 2) then
|
||||
and in_sight then
|
||||
|
||||
self.v_start = true
|
||||
self.timer = 0
|
||||
@ -2540,7 +2580,7 @@ function mob_class:do_states(dtime)
|
||||
-- stop timer if out of reach or direct line of sight
|
||||
elseif self.allow_fuse_reset
|
||||
and self.v_start
|
||||
and (dist > self.reach or not self:line_of_sight(s, p, 2)) then
|
||||
and (dist > self.reach or not in_sight) then
|
||||
|
||||
--print("=== explosion timer stopped")
|
||||
|
||||
@ -2574,10 +2614,8 @@ function mob_class:do_states(dtime)
|
||||
self.blinktimer = 0
|
||||
|
||||
if self.blinkstatus then
|
||||
|
||||
self.object:set_texture_mod(self.texture_mods)
|
||||
else
|
||||
|
||||
self.object:set_texture_mod(self.texture_mods .. "^[brighten")
|
||||
end
|
||||
|
||||
@ -2590,10 +2628,9 @@ function mob_class:do_states(dtime)
|
||||
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
-- dont damage anything if area protected or next to waterpathfinding_max_jump
|
||||
-- dont damage anything if area protected or next to water
|
||||
if minetest.find_node_near(pos, 1, {"group:water"})
|
||||
or minetest.is_protected(pos, "") then
|
||||
|
||||
node_break_radius = 1
|
||||
end
|
||||
|
||||
@ -3117,15 +3154,16 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir, damage)
|
||||
self.following = nil
|
||||
end
|
||||
|
||||
local name = hitter:get_player_name() or ""
|
||||
local hitter_name = ""
|
||||
if hitter then if is_player(hitter) then hitter_name = hitter:get_player_name() end end
|
||||
|
||||
-- attack puncher and call other mobs for help
|
||||
if self.passive == false
|
||||
and self.state ~= "flop"
|
||||
and self.child == false
|
||||
and self.attack_players == true
|
||||
and hitter:get_player_name() ~= self.owner
|
||||
and not is_invisible(self, name)
|
||||
and not (is_player(hitter) and hitter_name == self.owner)
|
||||
and not is_invisible(self, hitter_name)
|
||||
and self.object ~= hitter then
|
||||
|
||||
-- attack whoever punched mob
|
||||
@ -3134,25 +3172,25 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir, damage)
|
||||
|
||||
-- alert others to the attack
|
||||
local objs = minetest.get_objects_inside_radius(hitter:get_pos(), self.view_range)
|
||||
local obj
|
||||
local ent
|
||||
|
||||
for n = 1, #objs do
|
||||
|
||||
obj = objs[n]:get_luaentity()
|
||||
ent = objs[n] and objs[n]:get_luaentity()
|
||||
|
||||
if obj and obj._cmi_is_mob then
|
||||
if ent and ent._cmi_is_mob then
|
||||
|
||||
-- only alert members of same mob and assigned helper
|
||||
if obj.group_attack == true
|
||||
and obj.state ~= "attack"
|
||||
and obj.owner ~= name
|
||||
and (obj.name == self.name or obj.name == self.group_helper) then
|
||||
obj:do_attack(hitter)
|
||||
if ent.group_attack == true
|
||||
and ent.state ~= "attack"
|
||||
and not (is_player(hitter) and ent.owner == hitter_name)
|
||||
and (ent.name == self.name or ent.name == self.group_helper) then
|
||||
ent:do_attack(hitter)
|
||||
end
|
||||
|
||||
-- have owned mobs attack player threat
|
||||
if obj.owner == name and obj.owner_loyal then
|
||||
obj:do_attack(self.object)
|
||||
if is_player(hitter) and ent.owner == hitter_name and ent.owner_loyal then
|
||||
ent:do_attack(self.object)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -3223,6 +3261,28 @@ function mob_class:mob_staticdata()
|
||||
self.serialized_cmi_components = cmi.serialize_components(self._cmi_components)
|
||||
end
|
||||
|
||||
-- move existing variables to new table for future compatibility
|
||||
-- using self.initial_properties lost some variables when backing up?!?
|
||||
if not self.backup_properties then
|
||||
|
||||
self.backup_properties = {
|
||||
hp_max = self.hp_max,
|
||||
physical = self.physical,
|
||||
collisionbox = self.collisionbox,
|
||||
selectionbox = self.selectionbox,
|
||||
visual = self.visual,
|
||||
visual_size = self.visual_size,
|
||||
mesh = self.mesh,
|
||||
textures = self.textures,
|
||||
make_footstep_sound = self.make_footstep_sound,
|
||||
stepheight = self.stepheight,
|
||||
glow = self.glow,
|
||||
nametag = self.nametag,
|
||||
damage_texture_modifier = self.damage_texture_modifier,
|
||||
infotext = self.infotext
|
||||
}
|
||||
end
|
||||
|
||||
return minetest.serialize(clean_staticdata(self))
|
||||
end
|
||||
|
||||
@ -3426,7 +3486,7 @@ function mob_class:mob_expire(pos, dtime)
|
||||
end
|
||||
end
|
||||
|
||||
-- minetest.log("action", S("lifetimer expired, removed @1", self.name))
|
||||
-- minetest.log("action", "lifetimer expired, removed " .. self.name)
|
||||
|
||||
effect(pos, 15, "tnt_smoke.png", 2, 4, 2, 0)
|
||||
|
||||
@ -3510,7 +3570,7 @@ function mob_class:on_step(dtime, moveresult)
|
||||
-- check and stop if standing at cliff and fear of heights
|
||||
self.at_cliff = self:is_at_cliff()
|
||||
|
||||
if self.pause_timer <= 0 and self.at_cliff then
|
||||
if self.pause_timer < 0 and self.at_cliff then
|
||||
self:set_velocity(0)
|
||||
end
|
||||
|
||||
@ -3667,8 +3727,8 @@ function mobs:register_mob(name, def)
|
||||
|
||||
minetest.register_entity(name, setmetatable({
|
||||
|
||||
stepheight = def.stepheight,
|
||||
name = name,
|
||||
stepheight = def.stepheight or 1.1,
|
||||
name = (name:find(":") and name or ":"..name),
|
||||
type = def.type,
|
||||
attack_type = def.attack_type,
|
||||
fly = def.fly,
|
||||
@ -3921,6 +3981,8 @@ function mobs:add_mob(pos, def)
|
||||
if not ent then
|
||||
--print("[mobs] entity not found " .. def.name)
|
||||
return false
|
||||
else
|
||||
effect(pos, 15, "tnt_smoke.png", 1, 2, 2, 15, 5)
|
||||
end
|
||||
|
||||
if def.child then
|
||||
@ -4155,14 +4217,16 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, inter
|
||||
|
||||
local mob = minetest.add_entity(pos, name)
|
||||
|
||||
-- print("[mobs] Spawned " .. name .. " at "
|
||||
-- .. minetest.pos_to_string(pos) .. " on "
|
||||
-- .. node.name .. " near " .. neighbors[1])
|
||||
|
||||
if mob_log_spawn then
|
||||
|
||||
minetest.log("[MOBS] Spawned " .. name .. " at "
|
||||
.. minetest.pos_to_string(pos))
|
||||
local pos_string = pos and minetest.pos_to_string(pos) or ""
|
||||
|
||||
minetest.log(
|
||||
"[MOBS] Spawned "
|
||||
.. (name or "")
|
||||
.. " at "
|
||||
.. pos_string
|
||||
)
|
||||
end
|
||||
|
||||
if on_spawn and mob then
|
||||
@ -4238,7 +4302,7 @@ function mobs:register_arrow(name, def)
|
||||
|
||||
if not name or not def then return end -- errorcheck
|
||||
|
||||
minetest.register_entity(name, {
|
||||
minetest.register_entity( (name:find(":") and name or ":"..name) , {
|
||||
|
||||
physical = def.physical or false,
|
||||
collide_with_objects = def.collide_with_objects or false,
|
||||
@ -4409,7 +4473,6 @@ end
|
||||
|
||||
|
||||
-- Register spawn eggs
|
||||
|
||||
-- Note: This also introduces the “spawn_egg” group:
|
||||
-- * spawn_egg=1: Spawn egg (generic mob, no metadata)
|
||||
-- * spawn_egg=2: Spawn egg (captured/tamed mob, metadata)
|
||||
@ -4752,11 +4815,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
|
||||
|
||||
-- increase health
|
||||
self.health = self.health + 4
|
||||
|
||||
if self.health >= self.hp_max then
|
||||
|
||||
self.health = self.hp_max
|
||||
end
|
||||
if self.health >= self.hp_max then self.health = self.hp_max end
|
||||
|
||||
self.object:set_hp(self.health)
|
||||
|
||||
@ -4764,7 +4823,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
|
||||
if self.child == true then
|
||||
|
||||
-- deduct 10% of the time to adulthood
|
||||
self.hornytimer = math.floor(self.hornytimer + (
|
||||
self.hornytimer = floor(self.hornytimer + (
|
||||
(CHILD_GROW_TIME - self.hornytimer) * 0.1))
|
||||
--print ("====", self.hornytimer)
|
||||
return true
|
||||
@ -4772,7 +4831,8 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
|
||||
|
||||
-- feed and tame
|
||||
self.food = (self.food or 0) + 1
|
||||
self._breed_countdown = feed_count - self.food
|
||||
self._breed_countdown = breed and (feed_count - self.food)
|
||||
self._tame_countdown = not self.tamed and tame and (feed_count - self.food)
|
||||
|
||||
if self.food >= feed_count then
|
||||
|
||||
@ -4813,8 +4873,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
|
||||
|
||||
-- if mob has been tamed you can name it with a nametag
|
||||
if item:get_name() == "mobs:nametag"
|
||||
and (name == self.owner
|
||||
or minetest.check_player_privs(name, "protection_bypass")) then
|
||||
and (name == self.owner or minetest.check_player_privs(name, "protection_bypass")) then
|
||||
|
||||
-- store mob and nametag stack in external variables
|
||||
mob_obj[name] = self
|
||||
@ -4823,13 +4882,9 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
|
||||
local tag = self.nametag or ""
|
||||
local esc = minetest.formspec_escape
|
||||
|
||||
minetest.show_formspec(name, "mobs_nametag",
|
||||
"size[8,4]" ..
|
||||
"field[0.5,1;7.5,0;name;" ..
|
||||
esc(S("Enter name:")) ..
|
||||
";" .. tag .. "]" ..
|
||||
"button_exit[2.5,3.5;3,1;mob_rename;" ..
|
||||
esc(S("Rename")) .. "]")
|
||||
minetest.show_formspec(name, "mobs_nametag", "size[8,4]"
|
||||
.. "field[0.5,1;7.5,0;name;" .. esc(FS("Enter name:")) .. ";" .. tag .. "]"
|
||||
.. "button_exit[2.5,3.5;3,1;mob_rename;" .. esc(FS("Rename")) .. "]")
|
||||
|
||||
return true
|
||||
end
|
||||
@ -4844,9 +4899,9 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
|
||||
end
|
||||
|
||||
minetest.chat_send_player(clicker:get_player_name(),
|
||||
S("@1 follows:\n- @2",
|
||||
self.name:split(":")[2],
|
||||
table.concat(self.follow, "\n- ")))
|
||||
S("@1 follows:",
|
||||
self.name:split(":")[2]) .. "\n" ..
|
||||
table.concat(self.follow, "\n- "))
|
||||
end
|
||||
end
|
||||
|
||||
@ -4907,10 +4962,10 @@ function mobs:alias_mob(old_name, new_name)
|
||||
end
|
||||
|
||||
-- spawn egg
|
||||
minetest.register_alias(old_name, new_name)
|
||||
minetest.register_alias( (old_name:find(":") and old_name or ":"..old_name), new_name)
|
||||
|
||||
-- entity
|
||||
minetest.register_entity(":" .. old_name, {
|
||||
minetest.register_entity( ":"..old_name , {
|
||||
|
||||
physical = false, static_save = false,
|
||||
|
||||
|
@ -387,6 +387,15 @@ for each mob.
|
||||
in it's name.
|
||||
|
||||
|
||||
Internal Functions
|
||||
------------------
|
||||
|
||||
Each mob contains a set of functions that can be called for use internally or from
|
||||
another mod entirely, replace mob_class with the mob entity variable:
|
||||
|
||||
mob_class:stop_attack() -- stops mob attacking
|
||||
|
||||
|
||||
Adding Mobs in World
|
||||
--------------------
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
local S = mobs.translate
|
||||
local FS = function(...) return minetest.formspec_escape(S(...)) end
|
||||
local mc2 = minetest.get_modpath("mcl_core")
|
||||
|
||||
-- recipe items
|
||||
@ -334,9 +335,9 @@ minetest.register_tool(":mobs:mob_reset_stick", {
|
||||
|
||||
minetest.show_formspec(name, "mobs_texture", "size[8,4]"
|
||||
.. "field[0.5,1;7.5,0;name;"
|
||||
.. minetest.formspec_escape(S("Enter texture:")) .. ";" .. bt .. "]"
|
||||
.. FS("Enter texture:") .. ";" .. bt .. "]"
|
||||
.. "button_exit[2.5,3.5;3,1;mob_texture_change;"
|
||||
.. minetest.formspec_escape(S("Change")) .. "]")
|
||||
.. FS("Change") .. "]")
|
||||
end
|
||||
end
|
||||
})
|
||||
|
@ -21,6 +21,9 @@ dofile(path .. "/crafts.lua")
|
||||
dofile(path .. "/spawner.lua")
|
||||
|
||||
-- Lucky Blocks
|
||||
dofile(path .. "/lucky_block.lua")
|
||||
if minetest.get_modpath("lucky_block") then
|
||||
dofile(path .. "/lucky_block.lua")
|
||||
end
|
||||
|
||||
|
||||
print("[MOD] Mobs Redo loaded")
|
||||
|
@ -1,34 +1,38 @@
|
||||
# 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!
|
||||
# textdomain: mobs
|
||||
** Peaceful Mode Active - No Monsters Will Spawn=** Friedlicher Modus aktiv - Es werden keine Monster spawnen
|
||||
Active Mob Limit Reached!=Aktives Mob-Limit erreicht!
|
||||
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)
|
||||
@1 (Tamed)=@1 (Gezähmt)
|
||||
Not tamed!=Nicht gezähmt!
|
||||
Raw Meat=Rohes Fleisch
|
||||
@1 is owner!=@1 ist der Besitzer!
|
||||
Missed!=Daneben!
|
||||
Already protected!=Bereits geschützt!
|
||||
@1 has been tamed!=@1 wurde gezähmt!
|
||||
@1 follows:=@1 folgt:
|
||||
@1 mobs removed.=@1 Mobs entfernt.
|
||||
Enter name:=Namen eingeben:
|
||||
Rename=Umbenennen
|
||||
Saddle=Sattel
|
||||
Spawner Active (@1)=Spawner aktiv (@1)
|
||||
Spawner Not Active (enter settings)=Nicht aktiv (Einstellungen eingeben)
|
||||
Name Tag=Namensschild
|
||||
Leather=Leder
|
||||
Raw Meat=Rohes Fleisch
|
||||
Meat=Fleisch
|
||||
Lasso (right-click animal to put in inventory)=Lasso (Rechtsklick auf Tier, um es zu nehmen)
|
||||
Net (right-click animal to put in inventory)=Netz (Rechtsklick auf Tier, um es zu nehmen)
|
||||
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=
|
||||
Mob Protection Rune=Kreaturschutzrune
|
||||
Mob Protection Rune (Level 2)=Kreaturschutzrune (Level 2)
|
||||
Saddle=Sattel
|
||||
Mob Fence=Kreaturen Zaun
|
||||
Mob Fence Top=Kreaturen Zaun Oberteil
|
||||
Mob Reset Stick=Kreatur reset Stock
|
||||
Meat Block=Fleischblock
|
||||
Raw Meat Block=Rohfleisch Blokc
|
||||
Enter texture:=Textur eingeben:
|
||||
Change=Ändern
|
||||
Mob Spawner=Kreaturenspawner
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=(Kreaturenname) (Min. Licht) (Max. Licht) (Anzahl) (Spielerabstand) (Y-Offset)
|
||||
Command:=Befehl:
|
||||
Spawner Not Active (enter settings)=Nicht aktiv (Einstellungen eingeben)
|
||||
Spawner Active (@1)=Spawner aktiv (@1)
|
||||
Mob Spawner settings failed!=Kreaturenspawner-Einstellungen gescheitert!
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# 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=
|
||||
# textdomain: mobs
|
||||
** Peaceful Mode Active - No Monsters Will Spawn=
|
||||
Active Mob Limit Reached!=
|
||||
Mob has been protected!=
|
||||
@1 (Tamed)=
|
||||
Not tamed!=
|
||||
@1 is owner!=
|
||||
Missed!=
|
||||
Already protected!=
|
||||
@1 has been tamed!=
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=
|
||||
Rename=
|
||||
Name Tag=
|
||||
Leather=
|
||||
Raw Meat=
|
||||
Meat=
|
||||
Lasso (right-click animal to put in inventory)=
|
||||
Net (right-click animal to put in inventory)=
|
||||
Steel Shears (right-click to shear)=
|
||||
Mob Protection Rune=
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=
|
||||
Mob Fence=
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=
|
||||
Spawner Active (@1)=
|
||||
Mob Spawner settings failed!=
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# 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ó!
|
||||
# textdomain: mobs
|
||||
** Peaceful Mode Active - No Monsters Will Spawn=
|
||||
Active Mob Limit Reached!=
|
||||
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)
|
||||
@1 (Tamed)=@1 (Domesticado)
|
||||
Not tamed!=No domesticado!
|
||||
Raw Meat=Carne cruda
|
||||
@1 is owner!=@1 es el dueño!
|
||||
Missed!=Perdido!
|
||||
Already protected!=Ya está protegido!
|
||||
@1 has been tamed!=@1 ha sido domesticado!
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=Ingrese nombre:
|
||||
Rename=Renombrar
|
||||
Saddle=Montura
|
||||
Spawner Active (@1)=Generador activo (@1)
|
||||
Spawner Not Active (enter settings)=Generador no activo (ingrese config)
|
||||
Name Tag=Nombrar etiqueta
|
||||
Leather=Cuero
|
||||
Raw Meat=Carne cruda
|
||||
Meat=Carne
|
||||
Lasso (right-click animal to put in inventory)=Lazo (click derecho en animal para colocar en inventario)
|
||||
Net (right-click animal to put in inventory)=Red (click derecho en animal para colocar en inventario)
|
||||
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=
|
||||
Mob Protection Rune=Runa de protección de Mob
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=Montura
|
||||
Mob Fence=
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=Generador no activo (ingrese config)
|
||||
Spawner Active (@1)=Generador activo (@1)
|
||||
Mob Spawner settings failed!=Configuracion de generador de Mob falló!
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# textdomain:mobs
|
||||
# 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
|
||||
Mob has been protected!=L'animal a été protégé !
|
||||
@1 (Tamed)=@1 (apprivoisé)
|
||||
Not tamed!=Non-apprivoisé !
|
||||
@1 is owner!=Appartient à @1 !
|
||||
Missed!=Raté !
|
||||
Already protected!=Déjà protégé !
|
||||
@1 has been tamed!=@1 a été apprivoisé !
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=Saisissez un nom :
|
||||
Rename=Renommer
|
||||
Name Tag=Étiquette de collier
|
||||
Leather=Cuir
|
||||
Raw Meat=Viande crue
|
||||
Meat=Viande
|
||||
Lasso (right-click animal to put in inventory)=Lasso (clic droit sur l'animal pour le mettre dans l'inventaire)
|
||||
Net (right-click animal to put in inventory)=Filet (clic droit sur l'animal pour le mettre dans l'inventaire)
|
||||
Steel Shears (right-click to shear)=Ciseaux à laine (clic droit pour tondre)
|
||||
Mob Protection Rune=Rune de protection des animaux
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=Selle
|
||||
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
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=Saisissez une texture :
|
||||
Change=Changer
|
||||
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)
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=Commande :
|
||||
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)
|
||||
Spawner Active (@1)=Créateur actif (@1)
|
||||
Mob Spawner settings failed!=Échec des paramètres du créateur d'être vivants !
|
||||
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é
|
||||
|
@ -1,34 +1,38 @@
|
||||
# textdomain:mobs
|
||||
# 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!
|
||||
Active Mob Limit Reached!=
|
||||
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)
|
||||
@1 (Tamed)=@1 (Addomesticato)
|
||||
Not tamed!=Non addomesticato!
|
||||
Raw Meat=Carne cruda
|
||||
@1 is owner!=Il padrone è @1!
|
||||
Missed!=Mancato!
|
||||
Already protected!=Già protetto!
|
||||
@1 has been tamed!=@1 è stato addomesticato!
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=Inserire il nome:
|
||||
Rename=Rinomina
|
||||
Saddle=Sella
|
||||
Spawner Active (@1)=Generatore attivo (@1)
|
||||
Spawner Not Active (enter settings)=Generatore inattivo (inserire le impostazioni)
|
||||
Name Tag=Targhetta
|
||||
Leather=Pelle
|
||||
Raw Meat=Carne cruda
|
||||
Meat=Carne
|
||||
Lasso (right-click animal to put in inventory)=Lazo (click di destro per mettere l'animale nell'inventario)
|
||||
Net (right-click animal to put in inventory)=Rete (click destro per mettere l'animale nell'inventario)
|
||||
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=
|
||||
Mob Protection Rune=Runa di protezione per mob
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=Sella
|
||||
Mob Fence=Recinzione per mob
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=Generatore inattivo (inserire le impostazioni)
|
||||
Spawner Active (@1)=Generatore attivo (@1)
|
||||
Mob Spawner settings failed!=Impostazioni del generatore di mob fallite!
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# textdomain:mobs
|
||||
# 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!
|
||||
Active Mob Limit Reached!=
|
||||
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)
|
||||
@1 (Tamed)=@1 (Jinak)
|
||||
Not tamed!=Belum dijinakkan!
|
||||
Raw Meat=Daging Mentah
|
||||
@1 is owner!=Ini hak milik @1!
|
||||
Missed!=Terlepas!
|
||||
Already protected!=Telah dilindungi!
|
||||
@1 has been tamed!=@1 telah dijinakkan!
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=Masukkan nama:
|
||||
Rename=Namakan semula
|
||||
Saddle=Pelana
|
||||
Spawner Active (@1)=Pewujud Mob Aktif (@1)
|
||||
Spawner Not Active (enter settings)=Pewujud Mob Tidak Aktif (masukkan tetapan)
|
||||
Name Tag=Tanda Nama
|
||||
Leather=Kulit
|
||||
Raw Meat=Daging Mentah
|
||||
Meat=Daging Bakar
|
||||
Lasso (right-click animal to put in inventory)=Tanjul (klik-kanan haiwan untuk masukkan ke inventori)
|
||||
Net (right-click animal to put in inventory)=Jaring (klik-kanan haiwan untuk masukkan ke inventori)
|
||||
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=
|
||||
Mob Protection Rune=Rune Perlindungan Mob
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=Pelana
|
||||
Mob Fence=Pagar Mob
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=Pewujud Mob Tidak Aktif (masukkan tetapan)
|
||||
Spawner Active (@1)=Pewujud Mob Aktif (@1)
|
||||
Mob Spawner settings failed!=Penetapan Pewujud Mob gagal!
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# 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)
|
||||
# textdomain: mobs
|
||||
** Peaceful Mode Active - No Monsters Will Spawn=
|
||||
Active Mob Limit Reached!=
|
||||
Mob has been protected!=
|
||||
@1 (Tamed)=
|
||||
Not tamed!=Indomesticado!
|
||||
Raw Meat=Carne crua
|
||||
@1 is owner!=Dono @1!
|
||||
Missed!=Faltou!
|
||||
Already protected!=
|
||||
@1 has been tamed!=@1 foi domesticado!
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=Insira um nome:
|
||||
Rename=Renomear
|
||||
#Saddle=
|
||||
Spawner Active (@1)=Spawnador Ativo (@1)
|
||||
Spawner Not Active (enter settings)=Spawnador Inativo (configurar)
|
||||
Name Tag=Etiqueta
|
||||
Leather=Couro
|
||||
Raw Meat=Carne crua
|
||||
Meat=Carne
|
||||
Lasso (right-click animal to put in inventory)=Laço (clique-direito no animal para por no inventario)
|
||||
Net (right-click animal to put in inventory)=Net (clique-direito no animal para por no inventario)
|
||||
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=
|
||||
Mob Protection Rune=
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=
|
||||
Mob Fence=
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=Spawnador Inativo (configurar)
|
||||
Spawner Active (@1)=Spawnador Ativo (@1)
|
||||
Mob Spawner settings failed!=Configuraçao de Spawnador do Mob falhou!
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# textdomain:mobs
|
||||
# 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!=Настройки спаунера моба провалились
|
||||
Active Mob Limit Reached!=
|
||||
Mob has been protected!=Моб защищен!
|
||||
Name Tag=Новый тэг
|
||||
Net (right-click animal to put in inventory)=Сеть (Правый клик - положить животное в инвентарь)
|
||||
@1 (Tamed)=@1 (Прирученный)
|
||||
Not tamed!=Не прирученный
|
||||
Raw Meat=Сырое мясо
|
||||
@1 is owner!=@1 владелец
|
||||
Missed!=Промазал!
|
||||
Already protected!=Уже защищен!
|
||||
@1 has been tamed!=@1 приручен
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=Введите имя:
|
||||
Rename=Переименовать
|
||||
Saddle=Седло
|
||||
Spawner Active (@1)=Активные спаунер (@1)
|
||||
Spawner Not Active (enter settings)=Спаунер не активен (введите настройки)
|
||||
Name Tag=Новый тэг
|
||||
Leather=Кожа
|
||||
Raw Meat=Сырое мясо
|
||||
Meat=Мясо
|
||||
Lasso (right-click animal to put in inventory)=Лассо (Правый клик - положить животное в инвентарь)
|
||||
Net (right-click animal to put in inventory)=Сеть (Правый клик - положить животное в инвентарь)
|
||||
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=
|
||||
Mob Protection Rune=Защитная руна мобов
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=Седло
|
||||
Mob Fence=Забор от мобов
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=Спаунер не активен (введите настройки)
|
||||
Spawner Active (@1)=Активные спаунер (@1)
|
||||
Mob Spawner settings failed!=Настройки спаунера моба провалились
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# 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)
|
||||
# textdomain: mobs
|
||||
** Peaceful Mode Active - No Monsters Will Spawn=
|
||||
Active Mob Limit Reached!=
|
||||
Mob has been protected!=
|
||||
@1 (Tamed)=
|
||||
Not tamed!=Evcil değil!
|
||||
Raw Meat=Çiğ et
|
||||
@1 is owner!=Sahibi @1!
|
||||
Missed!=Kaçırdın!
|
||||
Already protected!=
|
||||
@1 has been tamed!=@1 tamamen evcilleştirilmiştir!
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=İsim gir:
|
||||
Rename=Yeniden adlandır
|
||||
#Saddle=
|
||||
Spawner Active (@1)=Yaratıcı aktif (@1)
|
||||
Spawner Not Active (enter settings)=Yaratıcı aktif değil (ayarlara gir)
|
||||
Name Tag=İsim etiketi
|
||||
Leather=Deri
|
||||
Raw Meat=Çiğ et
|
||||
Meat=Et
|
||||
Lasso (right-click animal to put in inventory)=Kement (hayvana sağ tıklayarak envantere koy)
|
||||
Net (right-click animal to put in inventory)=Ağ (hayvana sağ tıklayarak envantere koy)
|
||||
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=
|
||||
Mob Protection Rune=
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=
|
||||
Mob Fence=Canavar Yaratıcı
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=Yaratıcı aktif değil (ayarlara gir)
|
||||
Spawner Active (@1)=Yaratıcı aktif (@1)
|
||||
Mob Spawner settings failed!=Yaratıcı ayarları uygulanamadı.
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# textdomain:mobs
|
||||
# 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 孵化器设置失败!
|
||||
Active Mob Limit Reached!=
|
||||
Mob has been protected!=Mob 已经被保护了!
|
||||
Name Tag=名称标签
|
||||
Net (right-click animal to put in inventory)=网(右键单击动物以放入物品栏)
|
||||
@1 (Tamed)=@1(已驯服)
|
||||
Not tamed!=没有驯服!
|
||||
Raw Meat=生肉
|
||||
@1 is owner!=@1 是主人
|
||||
Missed!=没抓住!
|
||||
Already protected!=已经被保护!
|
||||
@1 has been tamed!=@1已经被驯服!
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=输入名称:
|
||||
Rename=重新命名
|
||||
Saddle=鞍
|
||||
Spawner Active (@1)=孵化器正在运转(@1)
|
||||
Spawner Not Active (enter settings)=孵化器未使用(输入设置)
|
||||
Name Tag=名称标签
|
||||
Leather=皮革
|
||||
Raw Meat=生肉
|
||||
Meat=肉
|
||||
Lasso (right-click animal to put in inventory)=套索(右键单击动物以放入物品栏)
|
||||
Net (right-click animal to put in inventory)=网(右键单击动物以放入物品栏)
|
||||
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=
|
||||
Mob Protection Rune=Mob 保护符文
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=鞍
|
||||
Mob Fence=Mob 栅栏
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=孵化器未使用(输入设置)
|
||||
Spawner Active (@1)=孵化器正在运转(@1)
|
||||
Mob Spawner settings failed!=Mob 孵化器设置失败!
|
||||
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]”=
|
||||
|
@ -1,34 +1,38 @@
|
||||
# textdomain:mobs
|
||||
# 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 孵化器設置失敗!
|
||||
Active Mob Limit Reached!=
|
||||
Mob has been protected!=Mob 已經被保護了!
|
||||
Name Tag=名稱標籤
|
||||
Net (right-click animal to put in inventory)=網(右鍵單擊動物以放入物品欄)
|
||||
@1 (Tamed)=@1(已馴服)
|
||||
Not tamed!=沒有馴服!
|
||||
Raw Meat=生肉
|
||||
@1 is owner!=@1 是主人
|
||||
Missed!=沒抓住!
|
||||
Already protected!=已經被保護!
|
||||
@1 has been tamed!=@1已經被馴服!
|
||||
@1 follows:=
|
||||
@1 mobs removed.=
|
||||
Enter name:=輸入名稱:
|
||||
Rename=重新命名
|
||||
Saddle=鞍
|
||||
Spawner Active (@1)=孵化器正在運轉(@1)
|
||||
Spawner Not Active (enter settings)=孵化器未使用(輸入設置)
|
||||
Name Tag=名稱標籤
|
||||
Leather=皮革
|
||||
Raw Meat=生肉
|
||||
Meat=肉
|
||||
Lasso (right-click animal to put in inventory)=套索(右鍵單擊動物以放入物品欄)
|
||||
Net (right-click animal to put in inventory)=網(右鍵單擊動物以放入物品欄)
|
||||
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=
|
||||
Mob Protection Rune=Mob 保護符文
|
||||
Mob Protection Rune (Level 2)=
|
||||
Saddle=鞍
|
||||
Mob Fence=Mob 柵欄
|
||||
Mob Fence Top=
|
||||
Mob Reset Stick=
|
||||
Meat Block=
|
||||
Raw Meat Block=
|
||||
Enter texture:=
|
||||
Change=
|
||||
Mob Spawner=
|
||||
(mob name) (min light) (max light) (amount) (player distance) (Y offset)=
|
||||
Command:=
|
||||
Spawner Not Active (enter settings)=孵化器未使用(輸入設置)
|
||||
Spawner Active (@1)=孵化器正在運轉(@1)
|
||||
Mob Spawner settings failed!=Mob 孵化器設置失敗!
|
||||
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]”=
|
||||
|
@ -1,7 +1,5 @@
|
||||
|
||||
if minetest.get_modpath("lucky_block") then
|
||||
|
||||
lucky_block:add_blocks({
|
||||
lucky_block:add_blocks({
|
||||
{"dro", {"mobs:meat_raw"}, 5},
|
||||
{"dro", {"mobs:meat"}, 5},
|
||||
{"dro", {"mobs:nametag"}, 1},
|
||||
@ -14,5 +12,4 @@ if minetest.get_modpath("lucky_block") then
|
||||
{"dro", {"mobs:fence_wood"}, 10},
|
||||
{"dro", {"mobs:fence_top"}, 12},
|
||||
{"lig"}
|
||||
})
|
||||
end
|
||||
})
|
||||
|
@ -1,4 +1,5 @@
|
||||
name = mobs
|
||||
depends =default
|
||||
optional_depends = tnt, player_api, dye, farming, invisibility, intllib, lucky_block, cmi, toolranks, pathfinder, mtobjid
|
||||
description = MOBS api for mobs to add animals or monsters etc
|
||||
optional_depends = tnt, player_api, invisibility, intllib, lucky_block, cmi, toolranks, pathfinder, mtobjid
|
||||
min_minetest_version = 5.0
|
||||
|
@ -1,8 +1,10 @@
|
||||
-- lib_mount by Blert2112 (edited by TenPlus1)
|
||||
|
||||
--[[ one of these is needed (for now) to ride mobs, otherwise no riding for you
|
||||
if not minetest.get_modpath("default")
|
||||
or not minetest.get_modpath("player_api") then
|
||||
local is_pa = minetest.get_modpath("player_api") -- 5.x compatibility
|
||||
local is_mc2 = minetest.get_modpath("mcl_mobs") -- MineClone2 check
|
||||
|
||||
-- one of these is needed to ride mobs, otherwise no riding for you
|
||||
if not minetest.get_modpath("default") and not is_pa and not is_mc2 then
|
||||
|
||||
function mobs.attach() end
|
||||
function mobs.detach() end
|
||||
@ -11,10 +13,6 @@ or not minetest.get_modpath("player_api") then
|
||||
|
||||
return
|
||||
end
|
||||
]]
|
||||
|
||||
local is_pa = minetest.get_modpath("player_api") -- 5.x compatibility
|
||||
local is_mc2 = minetest.get_modpath("mcl_mobs") -- MineClone2 compatibility
|
||||
|
||||
-- are we a real player ?
|
||||
local function is_player(player)
|
||||
@ -25,7 +23,7 @@ local function is_player(player)
|
||||
return false
|
||||
end
|
||||
|
||||
|
||||
-- Localise some functions
|
||||
local abs, cos, floor, sin, sqrt, pi =
|
||||
math.abs, math.cos, math.floor, math.sin, math.sqrt, math.pi
|
||||
|
||||
@ -117,16 +115,18 @@ local function force_detach(player)
|
||||
|
||||
local name = player:get_player_name()
|
||||
|
||||
if is_pa then
|
||||
player_api.player_attached[name] = false
|
||||
player_api.set_animation(player, "stand", 30)
|
||||
elseif is_mc2 then
|
||||
if is_mc2 then
|
||||
mcl_player.player_attached[player:get_player_name()] = false
|
||||
mcl_player.player_set_animation(player, "stand", 30)
|
||||
else
|
||||
if is_pa then
|
||||
player_api.player_attached[name] = false
|
||||
player_api.set_animation(player, "stand", 30)
|
||||
else
|
||||
default.player_attached[name] = false
|
||||
default.player_set_animation(player, "stand", 30)
|
||||
end
|
||||
end
|
||||
|
||||
player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0})
|
||||
player:set_properties({visual_size = {x = 1, y = 1}})
|
||||
@ -209,13 +209,15 @@ function mobs.attach(entity, player)
|
||||
|
||||
force_detach(player)
|
||||
|
||||
if is_pa then
|
||||
player_api.player_attached[player:get_player_name()] = true
|
||||
elseif is_mc2 then
|
||||
if is_mc2 then
|
||||
mcl_player.player_attached[player:get_player_name()] = true
|
||||
else
|
||||
if is_pa then
|
||||
player_api.player_attached[player:get_player_name()] = true
|
||||
else
|
||||
default.player_attached[player:get_player_name()] = true
|
||||
end
|
||||
end
|
||||
|
||||
player:set_attach(entity.object, "", attach_at, entity.player_rotation)
|
||||
player:set_eye_offset(eye_offset, {x = 0, y = 0, z = 0})
|
||||
@ -231,14 +233,16 @@ function mobs.attach(entity, player)
|
||||
|
||||
if is_player(player) then
|
||||
|
||||
if is_pa then
|
||||
player_api.set_animation(player, "sit", 30)
|
||||
elseif is_mc2 then
|
||||
if is_mc2 then
|
||||
mcl_player.player_set_animation(player, "sit_mount" , 30)
|
||||
else
|
||||
if is_pa then
|
||||
player_api.set_animation(player, "sit", 30)
|
||||
else
|
||||
default.player_set_animation(player, "sit", 30)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
player:set_look_horizontal(entity.object:get_yaw() - rot_view)
|
||||
|
@ -4,7 +4,7 @@ MOBS REDO for MINETEST
|
||||
This mod contains the API only for adding your own mobs into the world, so
|
||||
please use the additional modpacks to add animals, monsters, and npcs.
|
||||
|
||||
https://forum.minetest.net/viewtopic.php?f=11&t=9917
|
||||
https://codeberg.org/minenux/minetest-mod-mobs_redo
|
||||
|
||||
Information
|
||||
-----------
|
||||
@ -12,6 +12,10 @@ Information
|
||||
Built from PilzAdam's original Simple Mobs with additional mobs by KrupnoPavel,
|
||||
Zeg9, ExeterDad and AspireMint.
|
||||
|
||||
This mod is special one already compatible with older engines.. with backported
|
||||
patches to work both in multicraft, minetest, mineclone and finetest, becouse
|
||||
the tenplus1 only works in last minetest, admins will not wants to constant upgrades!
|
||||
|
||||
## Crafts
|
||||
|
||||
- **Nametag**. Can be crafted by paper, black dye, and string. Can be used
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
local S = mobs.translate
|
||||
|
||||
|
||||
-- are we a real player ?
|
||||
@ -31,8 +31,7 @@ minetest.register_node("mobs:spawner", {
|
||||
.. " (player distance) (Y offset)")
|
||||
|
||||
-- text entry formspec
|
||||
meta:set_string("formspec",
|
||||
"size[10,3.5]"
|
||||
meta:set_string("formspec", "size[10,3.5]"
|
||||
.. "label[0.15,0.5;" .. minetest.formspec_escape(head) .. "]"
|
||||
.. "field[1,2.5;8.5,0.8;text;" .. S("Command:")
|
||||
.. ";${command}]")
|
||||
|
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
FIXED=0
|
||||
|
||||
for f in ./*.png; do
|
||||
WARN="$(pngcrush -n -warn "$f" 2>&1)"
|
||||
printf %s\\n "file = $f" "warn = $WARN"
|
||||
case "$WARN" in
|
||||
*'PCS illuminant is not D50'*|*'known incorrect sRGB profile'* )
|
||||
pngcrush -s -ow -rem allb -reduce "$f"
|
||||
FIXED=$((FIXED + 1))
|
||||
;;
|
||||
esac
|
||||
pngquant -v -f --ext .png --quality 0-50 --speed 1 "$f"
|
||||
done
|
||||
|
||||
printf %s\\n "$FIXED errors fixed"
|
Loading…
x
Reference in New Issue
Block a user