0
0
Fork 0

Compare commits

..

1 Commits

Author SHA1 Message Date
the-real-herowl 257717e58a Update game.conf for hotfix release 0.86.1
Signed-off-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2023-12-27 19:47:05 +00:00
89 changed files with 108 additions and 744 deletions

View File

@ -1,4 +1,4 @@
title = MineClone 2
description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more.
disallowed_mapgens = v6
version=0.87.0-SNAPSHOT
version=0.86.1

View File

@ -160,7 +160,7 @@ function mcl_util.rotate_axis_and_place(itemstack, placer, pointed_thing, infini
return
end
local undef = minetest.registered_nodes[unode.name]
if undef and undef.on_rightclick and not invert_wall then
if undef and undef.on_rightclick then
undef.on_rightclick(pointed_thing.under, unode, placer,
itemstack, pointed_thing)
return
@ -198,11 +198,25 @@ function mcl_util.rotate_axis_and_place(itemstack, placer, pointed_thing, infini
local p2
if is_y then
p2 = 0
if invert_wall then
if fdir == 3 or fdir == 1 then
p2 = 12
else
p2 = 6
end
end
elseif is_x then
p2 = 12
if invert_wall then
p2 = 0
else
p2 = 12
end
elseif is_z then
p2 = 6
if invert_wall then
p2 = 0
else
p2 = 6
end
end
minetest.set_node(pos, {name = wield_name, param2 = p2})
@ -1061,7 +1075,7 @@ function mcl_util.move_list(src_inv, src_listname, out_inv, out_listname, pos, d
v.y = v.y * 4 + 2
v.z = v.z * 4
obj:set_velocity(v)
mcl_util.mcl_log("item velocity calculated "..vector.to_string(v), "[mcl_util]")
minetest.log("error", vector.to_string(v))
end
if not insta_collect then
obj:get_luaentity()._insta_collect = false

View File

@ -522,7 +522,7 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir)
if is_player then
-- is mob out of reach?
if vector.distance(mob_pos, player_pos) > 3 then
if vector.distance(mob_pos, player_pos) > 3 then
return
end
-- is mob protected?

View File

@ -305,9 +305,6 @@ Origin of those models:
* `mobs_mc_rabbit_random.*.ogg` (CC0)
* Changes were made.
* Source: <https://freesound.org/people/Alshred/>
* [epCode]
* `extra_mobs_hoglin*.ogg` (LGPL 3.0)
* Source: <https://git.minetest.land/epCode/extra_mobs/src/branch/master/sounds>
Note: Many of these sounds have been more or less modified to fit the game.

View File

@ -31,9 +31,8 @@ local hoglin = {
} },
visual_size = {x=3, y=3},
sounds = {
random = "extra_mobs_hoglin.1",
random = "extra_mobs_hoglin",
damage = "extra_mobs_hoglin_hurt",
death = "extra_mobs_hoglin_hurt",
distance = 16,
},
jump = true,
@ -93,12 +92,6 @@ local zoglin = table.copy(hoglin)
zoglin.description = S("Zoglin")
zoglin.fire_resistant = 1
zoglin.textures = {"extra_mobs_zoglin.png"}
sounds = {
random = "extra_mobs_hoglin.2",
damage = "extra_mobs_hoglin_hurt",
death = "extra_mobs_hoglin_hurt",
distance = 16,
}
zoglin.do_custom = function()
return
end

View File

@ -61,10 +61,8 @@ local piglin = {
} },
visual_size = {x=1, y=1},
sounds = {
random = "mobs_mc_zombiepig_random",
war_cry = "mobs_mc_zombiepig_war_cry", death = "mobs_mc_zombiepig_death",
damage = "mobs_mc_zombiepig_hurt.2",
death = "mobs_mc_zombiepig_death.2",
random = "extra_mobs_piglin",
damage = "extra_mobs_piglin_hurt",
distance = 16,
},
jump = true,

View File

@ -53,8 +53,8 @@ Range: 4=Range: 4
Rating @1=Classificação @1
# @1 is minimal rating, @2 is maximum rating
Rating @1-@2=Classificação @1-@2
The fall damage on this block is increased by @1%.=O dano por queda nesse bloco é aumentado em @1%.
The fall damage on this block is reduced by @1%.=O dano por queda nesse bloco é reduzido em @1%.
The fall damage on this block is increased by @1%.=O dano por queda nesse bloco é aumentado em @ 1%.
The fall damage on this block is reduced by @1%.=O dano por queda nesse bloco é reduzido em @ 1%.
This block allows light to propagate with a small loss of brightness, and sunlight can even go through losslessly.=Esse bloco permite que a luz se propague com uma pequena perda de brilho, e a luz solar pode até passar sem perdas.
This block allows light to propagate with a small loss of brightness.=Esse bloco permite que a luz se propague com uma pequena perda de brilho.
This block allows sunlight to propagate without loss in brightness.=Esse bloco permite que a luz solar se propague sem perda de brilho.
@ -78,7 +78,7 @@ This block connects to this block: @1.=Esse bloco se conecta a esse bloco: @1.
This block decreases your breath and causes a drowning damage of @1 hit point every 2 seconds.=Esse bloco diminui a sua respiração e causa um dano por afogamento de @1 ponto de vida a cada 2 segundos.
This block decreases your breath and causes a drowning damage of @1 hit points every 2 seconds.=Esse bloco diminui a sua respiração e causa um dano por afogamento de @1 pontos de vida a cada 2 segundos.
This block is a light source with a light level of @1.=Esse bloco é uma fonte de luz com um nível de luz de @1.
This block glows faintly with a light level of @1.=Esse bloco tem um brilho fraco com um nível de luz de @1.
This block glows faintly with a light level of @1.=Esse bloco tem um brilho fraco com um nível de luz de @ 1.
This block is a building block for creating various buildings.=Esse bloco é um bloco de construção para criar vários edifícios.
This block is a liquid with these properties:=Esse bloco é um líquido com as seguintes propriedades:
This block is affected by gravity and can fall.=Esse bloco é afetado pela gravidade e pode cair.
@ -123,7 +123,7 @@ any level=qualquer nível
level 0=nível 0
level 0-@1=nivel 0-@1
unknown=desconhecido
Unknown item (@1)=Item desconhecido (@1)
Unknown item (@1)=Item desconhecido
• @1: @2=
• @1: @2 HP=
• @1: @2, @3=

View File

@ -25,7 +25,7 @@ Minetest is a free software game engine for games based on voxel gameplay, inspi
The player is thrown into a huge world made out of cubes or blocks. These cubes usually make the landscape they blocks can be removed and placed almost entirely freely. Using the collected items, new tools and other items can be crafted. Games in Minetest (also called “subgames”) can, however, be much more complex than this.=L'utente è gettat* in un enorme mondo fatto di cubi o blocchi. Questi cubi normalmente compongono il panorama e possono essere tolti o messi quasi completamente liberamente. Usando gli oggetti raccolti, si possono assemblare nuovi strumenti e altri oggetti. I giochi in Minetest (chiamati anche "subgame") possono, comunque, essere molto più complessi.
A core feature of Minetest is the built-in modding capability. Mods modify existing gameplay. They can be as simple as adding a few decorational blocks or be very complex by e.g. introducing completely new gameplay concepts, generating a completely different kind of world, and many other things.=Una caratteristica centrale di Minetest è la capacità integrata di usare moduli. I moduli modificano l'esperienza di gioco esistente. Possono essere tanto semplici da aggiungere qualche blocco decorativo o essere molto complessi, per esempio introducendo concetti di gioco totalmente nuovi, generare un tipo di mondo completamente diverso, e molte altre cose.
Minetest can be played alone or online together with multiple players. Online play will work out of the box with any mods, with no need for additional software as they are entirely provided by the server.=Minetest può essere giocato localmente o in rete assieme a più utenti. Il gioco in rete funzionerà immediatamente senza nessun modulo, senza bisogno di programmi aggiuntivi perché interamente forniti dal server.
Minetest is usually bundled with a simple default game, named “Minetest Game” (shown in images 1 and 2). You probably already have it. Other games for Minetest can be downloaded from the official Minetest forums <https://forum.minetest.net/viewforum.php?f@=48>.=Minetest generalmente include un gioco predefinito semplice, chiamato "Minetest Game" (mostrato nelle immagini 1 e 2). Probabilmente lo avete già. Altri giochi per Minetest possono essere scaricati dai forum ufficiali di Minetest <https://forum.minetest.net/viewforum.php?f@=48>.
Minetest is usually bundled with a simple default game, named “Minetest Game” (shown in images 1 and 2). You probably already have it. Other games for Minetest can be downloaded from the official Minetest forums <https://forum.minetest.net/viewforum.php?f=48>.=Minetest generalmente include un gioco predefinito semplice, chiamato "Minetest Game" (mostrato nelle immagini 1 e 2). Probabilmente lo avete già. Altri giochi per Minetest possono essere scaricati dai forum ufficiali di Minetest <https://forum.minetest.net/viewforum.php?f=48>.
Sneaking=Strisciare
Sneaking makes you walk slower and prevents you from falling off the edge of a block.=Strisciare vi fa camminare più lentamente e vi impedisce di cadere dal bordo di un blocco.
To sneak, hold down the sneak key (default: [Shift]). When you release it, you stop sneaking. Careful: When you release the sneak key at a ledge, you might fall!=Per strisciare, tenete premuto il tasto per strisciare (predefinito [Maiusc]). Quando lo rilasciate, smettete di strisciare. Fate attenzione: quando rilasciate il tasto per strisciare vicino a un orlo, potreste cadere!
@ -396,7 +396,7 @@ Note that “transparency” here only means that the block is able to carry bri
Coordinates=Coordinate
The Minetest world is a large cube. And because of this, a position in the world can be easily expressed with Cartesian coordinates. That is, for each position in the world, there are 3 values X, Y and Z.=Il mondo di Minetest è un grande cubo. E per questo, una posizione nel mondo può essere facilmente espressa tramite coordinate Cartesiane. Cioè, per ogni posizione nel mondo, esistono tre valori: X, Y e Z.
Like this: (5, 45, -12)=Come questi: (5, 45, -12)
This refers to the position where X@=5, Y@=45 and Z@=-12. The 3 letters are called “axes”: Y is for the height. X and Z are for the horizontal position.=Ciò si riferisce alla posizione dove X@=5 (si legga “X vale 5”, NdT), Y@=45 e Z@=-12. Le tre lettere sono chiamate “assi”: Y si riferisce all'altezza. X e Z si riferiscono alla posizione orizzontale.
This refers to the position where X=5, Y=45 and Z=-12. The 3 letters are called “axes”: Y is for the height. X and Z are for the horizontal position.=Ciò si riferisce alla posizione dove X=5 (si legga “X vale 5”, NdT), Y=45 e Z=-12. Le tre lettere sono chiamate “assi”: Y si riferisce all'altezza. X e Z si riferiscono alla posizione orizzontale.
The values for X, Y and Z work like this:=I valori di X, Y e Z funzionano così:
• If you go up, Y increases=• Se salite, Y aumenta
• If you go down, Y decreases=• Se scendete, Y diminuisce

View File

@ -1,48 +0,0 @@
# textdomain: mcl_tt
Head armor=Armadura para la cabeza
Torso armor=Armadura para el torso
Legs armor=Armadura para las piernas
Feet armor=Armadura para los pies
Armor points: @1=Puntos de armadura: @1
Armor durability: @1=Durabilidad de armadura: @1
Protection: @1%=Protección: @1%
Hunger points: +@1=Puntos de hambre: +@1
Saturation points: +@1=Puntos de saturación: +@1
Deals damage when falling=Causa daño al caer
Grows on grass blocks or dirt=Crece sobre bloques de pasto o tierra
Grows on grass blocks, podzol, dirt or coarse dirt=Crece sobre bloques de pasto, podsol, tierra o tierra estéril
Flammable=Inflamable
Zombie view range: -50%=Rango de visión zombie: -50%
Skeleton view range: -50%=Rango de visión de esqueleto: -50%
Creeper view range: -50%=Rango de visión de creeper: -50%
Damage: @1=Daño: @1
Damage (@1): @2=Daño (@1): @2
Healing: @1=Curación: @1
Healing (@1): @2=Curación (@1): @2
Full punch interval: @1s=Intervalo de golpe completo: @1s
Contact damage: @1 per second=Daño por contacto: @1 por segundo
Contact healing: @1 per second=Curación por contacto: @1 por segundo
Drowning damage: @1=Dañor por ahogamiento: @1
Bouncy (@1%)=Rebota (@1%)
Luminance: @1=Luminancia: @1
Slippery=Resbaladizo
Climbable=Escalable
Climbable (only downwards)=Escalable (solo hacia abajo)
No jumping=No saltar
No swimming upwards=No nadar hacia arriba
No rising=No levantar
Fall damage: @1%=Daño por caída: @1%
Fall damage: +@1%=Daño por caída: @1%
No fall damage=Sin daño por caída
Mining speed: @1=Velocidad de minado: @1
Very fast=Muy rápido
Extremely fast=Extremadamente rápido
Fast=Rápido
Slow=Lento
Very slow=Muy lento
Painfully slow=Dolorosamente lento
Mining durability: @1=Durabilidad de minería: @1
Block breaking strength: @1=Fuerza para romper bloques: @1
@1 uses=@1 usos
Unlimited uses=Usos ilimitados
Durability: @1=Durabilidad: @1

View File

@ -155,7 +155,7 @@ minetest.register_entity("mcl_experience:orb", {
collisionbox = {-0.2, -0.2, -0.2, 0.2, 0.2, 0.2},
visual = "sprite",
visual_size = {x = 0.4, y = 0.4},
textures = {"mcl_experience_orb.png"},
textures = {name="mcl_experience_orb.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0}},
spritediv = {x = 1, y = 14},
initial_sprite_basepos = {x = 0, y = 0},
is_visible = true,

View File

@ -1,4 +1,4 @@
# textdomain: mcl_info
Set debug bit mask: 0 @= disable, 1 @= biome name, 2 @= coordinates, 3 @= all=Régler le masque de bits pour débuguer : 0 @= pour désactiver, 1 @= nom du biome, 2 @= coordonnées, 3 @= tout
Set debug bit mask: 0 @= disable, 1 @= biome name, 2 @= coordinates, 3 @= all=Régler le masque de bits pour débuguer : 0 @= pour désactiver, 1 @= nom du biome, 2 @= coordonnées, 3 @= tout=
Error! Possible values are integer numbers from @1 to @2=Erreur ! Les valeurs possibles sont des nombres entiers de @1 à @2
Debug bit mask set to @1=Masque de bits de débuguage réglé à @1

View File

@ -1,7 +1,7 @@
# textdomain: mesecons_commandblock
Error: The command “@1” does not exist; your command block has not been changed. Use the “help” chat command for a list of available commands.=Error: el comando "@1" no existe; su bloque de comando no ha sido cambiado. Utilice el comando de chat "help" para obtener una lista de los comandos disponibles.
Error: The command “@1” does not exist; your command block has not been changed. Use the “help” chat command for a list of available commands. Hint: Try to remove the leading slash.=Error: el comando "@1" no existe; su bloque de comando no ha sido cambiado. Utilice el comando de chat "help" para obtener una lista de los comandos disponibles. Sugerencia: intente eliminar la barra diagonal inicial.
Error: You have insufficient privileges to use the command “@1” (missing privilege: @2)! The command block has not been changed.=Error: ¡No tiene suficientes privilegios para usar el comando “@1” (faltan privilegios: @2)! El bloque de comando no ha sido cambiado.
Error: You have insufficient privileges to use the command “@1” (missing privilege: @2)! The command block has not been changed.=Error: ¡No tiene suficientes privilegios para usar el comando “@ 1” (faltan privilegios: @ 2)! El bloque de comando no ha sido cambiado.
Error: No commander! Block must be replaced.=Error: ¡Sin dueño! El bloque debe ser reemplazado.
Commander: @1=Dueño: @1
Submit=Aceptar

View File

@ -2,24 +2,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
local light = minetest.LIGHT_MAX
local function generate_action_on(color)
local n = "mesecons_lightstone:lightstone_on"
if color then n = n .. "_" .. color end
return function(pos, node)
minetest.swap_node(pos, {name=n, param2 = node.param2})
end
end
local function generate_action_off(color)
local n = "mesecons_lightstone:lightstone_off"
if color then n = n .. "_" .. color end
return function(pos, node)
minetest.swap_node(pos, {name=n, param2 = node.param2})
end
end
local ls_off_name = "mesecons_lightstone:lightstone_off"
local ls_off_def = {
minetest.register_node("mesecons_lightstone:lightstone_off", {
tiles = {"jeija_lightstone_gray_off.png"},
groups = {handy=1, mesecon_effector_off = 1, mesecon = 2},
is_ground_content = false,
@ -28,16 +11,16 @@ local ls_off_def = {
_doc_items_longdesc = S("Redstone lamps are simple redstone components which glow brightly (light level @1) when they receive redstone power.", light),
sounds = mcl_sounds.node_sound_glass_defaults(),
mesecons = {effector = {
action_on = generate_action_on(),
action_on = function(pos, node)
minetest.swap_node(pos, {name="mesecons_lightstone:lightstone_on", param2 = node.param2})
end,
rules = mesecon.rules.alldirs,
}},
_mcl_blast_resistance = 0.3,
_mcl_hardness = 0.3,
}
minetest.register_node(ls_off_name, ls_off_def)
})
local ls_on_name = "mesecons_lightstone:lightstone_on"
local ls_on_def = {
minetest.register_node("mesecons_lightstone:lightstone_on", {
tiles = {"jeija_lightstone_gray_on.png"},
groups = {handy=1, not_in_creative_inventory=1, mesecon = 2, opaque = 1},
drop = "node mesecons_lightstone:lightstone_off",
@ -46,59 +29,14 @@ local ls_on_def = {
light_source = light,
sounds = mcl_sounds.node_sound_glass_defaults(),
mesecons = {effector = {
action_off = generate_action_off(),
action_off = function(pos, node)
minetest.swap_node(pos, {name="mesecons_lightstone:lightstone_off", param2 = node.param2})
end,
rules = mesecon.rules.alldirs,
}},
_mcl_blast_resistance = 0.3,
_mcl_hardness = 0.3,
}
minetest.register_node(ls_on_name, ls_on_def)
local colored_lamps = {
{"white", S("White Redstone Lamp"), "white"},
{"grey", S("Grey Redstone Lamp"), "dark_grey"},
{"silver", S("Light Grey Redstone Lamp"), "grey"},
{"black", S("Black Redstone Lamp"), "black"},
{"red", S("Red Redstone Lamp"), "red"},
{"yellow", S("Yellow Redstone Lamp"), "yellow"},
{"green", S("Green Redstone Lamp"), "dark_green"},
{"cyan", S("Cyan Redstone Lamp"), "cyan"},
{"blue", S("Blue Redstone Lamp"), "blue"},
{"magenta", S("Magenta Redstone Lamp"), "magenta"},
{"orange", S("Orange Redstone Lamp"), "orange"},
{"purple", S("Purple Redstone Lamp"), "violet"},
{"brown", S("Brown Redstone Lamp"), "brown"},
{"pink", S("Pink Redstone Lamp"), "pink"},
{"lime", S("Lime Redstone Lamp"), "green"},
{"lightblue", S("Light Blue Redstone Lamp"), "lightblue"},
}
for _, row in ipairs(colored_lamps) do
local name = row[1]
local desc = row[2]
local dye = row[3]
local mask = "^[hsl:0:-100^(mcl_lightstone_mask.png^[multiply:" .. name .. "^[opacity:100)"
if name == "lightblue" then
mask = "^[hsl:0:-100^(mcl_lightstone_mask.png^[multiply:" .. name .. "^[hsl:0:200^[opacity:100)"
end
local name_off = ls_off_name .. "_" .. name
local def_off = table.copy(ls_off_def)
def_off.description = desc
def_off._doc_items_longdesc = nil
def_off._doc_items_create_entry = false
def_off.mesecons.effector.action_on = generate_action_on(name)
def_off.tiles[1] = def_off.tiles[1] .. mask
local def_on = table.copy(ls_on_def)
def_on.drop = name_off
def_on.tiles[1] = def_on.tiles[1] .. mask
def_on.mesecons.effector.action_off = generate_action_off(name)
minetest.register_node(name_off, def_off)
minetest.register_node(ls_on_name.."_"..name, def_on)
minetest.register_craft({
type = "shapeless",
output = name_off,
recipe = {ls_off_name, "mcl_dye:" .. dye}
})
end
})
minetest.register_craft({
output = "mesecons_lightstone:lightstone_off",

View File

@ -2,19 +2,3 @@
Redstone Lamp=Redstonelampe
Redstone lamps are simple redstone components which glow brightly (light level @1) when they receive redstone power.=Redstonelampen sind einfache Redstonekomponenten, die hell aufleuchten (Helligkeitspegel von @1), wenn sie Redstoneenergie erhalten.
Glows when powered by redstone power=Leuchtet, wenn mit Redstoneenergie versorgt
White Redstone Lamp=Weiße Redstonelampe
Grey Redstone Lamp=Graue Redstonelampe
Light Grey Redstone Lamp=Hellgraue Redstonelampe
Black Redstone Lamp=Schwartze Redstonelampe
Red Redstone Lamp=Rote Redstonelampe
Yellow Redstone Lamp=Gelbe Redstonelampe
Green Redstone Lamp=Grüne Redstonelampe
Cyan Redstone Lamp=Türkise Redstonelampe
Blue Redstone Lamp=Blaue Redstonelampe
Magenta Redstone Lamp=Magenta Redstonelampe
Orange Redstone Lamp=Orange Redstonelampe
Purple Redstone Lamp=Violette Redstonelampe
Brown Redstone Lamp=Braune Redstonelampe
Pink Redstone Lamp=Rosa Redstonelampe
Lime Redstone Lamp=Lindgrüne Redstonelampe
Light Blue Redstone Lamp=Hellblaue Redstonelampe

View File

@ -2,19 +2,3 @@
Redstone Lamp=Lampa czerwienitowa
Redstone lamps are simple redstone components which glow brightly (light level @1) when they receive redstone power.=Lampy czerwienitowe to mechanizmy czerwienitowe, które jasno świecą (poziom światła @1), gdy są zasilone energią czerwienitową.
Glows when powered by redstone power=Świeci gdy zasilana czerwienitem
White Redstone Lamp=Biała lampa czerwienitowa
Grey Redstone Lamp=Szara lampa czerwienitowa
Light Grey Redstone Lamp=Jasnoszara lampa czerwienitowa
Black Redstone Lamp=Czarna lampa czerwienitowa
Red Redstone Lamp=Czerwona lampa czerwienitowa
Yellow Redstone Lamp=Żółta lampa czerwienitowa
Green Redstone Lamp=Zielona lampa czerwienitowa
Cyan Redstone Lamp=Błękitna lampa czerwienitowa
Blue Redstone Lamp=Niebieska lampa czerwienitowa
Magenta Redstone Lamp=Karmazynowa lampa czerwienitowa
Orange Redstone Lamp=Pomarańczowa lampa czerwienitowa
Purple Redstone Lamp=Fioletowa lampa czerwienitowa
Brown Redstone Lamp=Brązowa lampa czerwienitowa
Pink Redstone Lamp=Różowa lampa czerwienitowa
Lime Redstone Lamp=Jasnozielona lampa czerwienitowa
Light Blue Redstone Lamp=Jasnoniebieska lampa czerwienitowa

View File

@ -2,19 +2,3 @@
Redstone Lamp=
Redstone lamps are simple redstone components which glow brightly (light level @1) when they receive redstone power.=
Glows when powered by redstone power=
White Redstone Lamp=
Grey Redstone Lamp=
Light Grey Redstone Lamp=
Black Redstone Lamp=
Red Redstone Lamp=
Yellow Redstone Lamp=
Green Redstone Lamp=
Cyan Redstone Lamp=
Blue Redstone Lamp=
Magenta Redstone Lamp=
Orange Redstone Lamp=
Purple Redstone Lamp=
Brown Redstone Lamp=
Pink Redstone Lamp=
Lime Redstone Lamp=
Light Blue Redstone Lamp=

View File

@ -1,19 +0,0 @@
# textdomain: mcl_amethyst
Amethyst Cluster=Amethysthaufen
Amethyst Cluster is the final growth of amethyst bud.=Der Amethysthaufen ist das endgültige Wachstum der Amethystknospe.
Amethyst Shard=Amethystsplitter
An amethyst shard is a crystalline mineral.=Ein Amethystsplitter ist ein kristallines Mineral.
Block of Amethyst=Amethystblock
Budding Amethyst=Amethystknospe
Calcite=Kalzit
Calcite can be found as part of amethyst geodes.=Kalzit kann als Teil von Amethystgeoden gefunden werden.
Large Amethyst Bud=Große Amethystknospe
Large Amethyst Bud is the third growth of amethyst bud.=Die große Amethystknospe ist die dritte Wachstumsstufe der Amethystknospe.
Medium Amethyst Bud=Mittelgroße Amethystknospe
Medium Amethyst Bud is the second growth of amethyst bud.=Die mittelgroße Amethystknospe ist die zweite Wachstumsstufe der Amethystknospe.
Small Amethyst Bud=Kleine Amethystknospe
Small Amethyst Bud is the first growth of amethyst bud.=Die kleine Amethystknospe ist die erste Wachstumsstufe der Amethystknospe.
The Block of Amethyst is a decoration block crafted from amethyst shards.=Der Amethystblock ist ein aus Amethystsplittern gefertigter Dekorationsblock.
The Budding Amethyst can grow amethyst=Knospender Amethyst kann Amethyst wachsen lassen.
Tinted Glass=Getöntes Glas
Tinted Glass is a type of glass which blocks lights while it is visually transparent.=Getöntes Glas ist eine Art von Glas, das Licht blockiert, während es visuell transparent ist.

View File

@ -1,6 +1,6 @@
# textdomain: mcl_armor
This is a piece of equippable armor which reduces the amount of damage you receive.=Dies ist ein Teil einer tragbaren Rüstung, die die Menge an Schaden, den Sie erleiden, reduziert.
To equip it, put it on the corresponding armor slot in your inventory menu.=Um es zu tragen, legen Sie es in den passenden Rüstungsplatz in Ihrem Inventarmenü.
To equip it, put it on the corresponding armor slot in your inventory menu.=Um es zu tragen, legen Sie es in den passenden Rüstungsplatz in ihrem Inventarmenü.
Leather Cap=Lederkappe
Iron Helmet=Eisenhelm
Golden Helmet=Goldhelm

View File

@ -280,7 +280,31 @@ local bamboo_block_def = {
_mcl_blast_resistance = 3,
_mcl_hardness = 2,
_mcl_stripped_variant = "mcl_bamboo:bamboo_block_stripped", -- this allows us to use the built in Axe's strip block.
on_place = mcl_util.rotate_axis,
on_place = function(itemstack, placer, pointed_thing)
if not pointed_thing then
return itemstack
end
if pointed_thing.type ~= "node" then -- make sure that pointed_thing is not null and is pointing at a node.
return itemstack
end
local pos = pointed_thing.under
if mcl_bamboo.is_protected(pos, placer) then
return
end
-- Use pointed node's on_rightclick function first, if present
local node = minetest.get_node(pointed_thing.under)
if placer and not placer:get_player_control().sneak then
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack
end
end
return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(vector.direction(pointed_thing.above, pointed_thing.under)))
end,
}
minetest.register_node("mcl_bamboo:bamboo_block", bamboo_block_def)

View File

@ -57,9 +57,7 @@ function mcl_bows.shoot_arrow(arrow_item, pos, dir, yaw, shooter, power, damage,
damage = damage + (enchantments.power + 1) / 4
end
if enchantments.punch then
knockback = enchantments.punch * 24
else
knockback = 4.875
knockback = enchantments.punch * 21
end
if enchantments.flame then
mcl_burning.set_on_fire(obj, math.huge)

View File

@ -48,7 +48,7 @@ function mcl_bows_s.shoot_arrow_crossbow(arrow_item, pos, dir, yaw, shooter, pow
if damage == nil then
damage = 3
end
local knockback = 4.875
local knockback
if crossbow_stack then
local enchantments = mcl_enchanting.get_enchantments(crossbow_stack)
if enchantments.piercing then

View File

@ -1,5 +0,0 @@
local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
dofile(modpath.."/nodes.lua")
dofile(modpath.."/recipes.lua")

View File

@ -1,5 +0,0 @@
name = mcl_compressed_blocks
depends = mcl_core
description = adds compressed blocks to mineclone2

View File

@ -1,121 +0,0 @@
--Compressed Cobblestone
minetest.register_node("mcl_compressed_blocks:compressed_cobblestone", {
description = "Compressed Cobblestone",
_doc_items_longdesc = ("Compressed Cobblestone is a decorative block made from 9 Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 11,
_mcl_hardness = 3,
})
--Double Compressed Cobble
minetest.register_node("mcl_compressed_blocks:double_compressed_cobblestone", {
description = "Double Compressed Cobblestone",
_doc_items_longdesc = ("Double Compressed Cobblestone is a decorative block made from 9 Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_double_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 19,
_mcl_hardness = 4,
})
--Triple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:triple_compressed_cobblestone", {
description = "Triple Compressed Cobblestone",
_doc_items_longdesc = ("Triple Compressed Cobblestone is a decorative block made from 9 Double Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_triple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 33,
_mcl_hardness = 5,
})
--Quadruple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:quadruple_compressed_cobblestone", {
description = "Quadruple Compressed Cobblestone",
_doc_items_longdesc = ("Quadruple Compressed Cobblestone is a decorative block made from 9 Triple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_quadruple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 58,
_mcl_hardness = 7,
})
--Quintuple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:quintuple_compressed_cobblestone", {
description = "Quintuple Compressed Cobblestone",
_doc_items_longdesc = ("Quintuple Compressed Cobblestone is a decorative block made from 9 Quadruple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_quintuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 102,
_mcl_hardness = 9,
})
--Sextuple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:sextuple_compressed_cobblestone", {
description = "Sextuple Compressed Cobblestone",
_doc_items_longdesc = ("Sextuple Compressed Cobblestone is a decorative block made from 9 Quintuple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_sextuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 179,
_mcl_hardness = 12,
})
--Septuple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:septuple_compressed_cobblestone", {
description = "Septuple Compressed Cobblestone",
_doc_items_longdesc = ("Septuple Compressed Cobblestone is a decorative block made from 9 Sextuple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_septuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 313,
_mcl_hardness = 16,
})
--Ocutple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:octuple_compressed_cobblestone", {
description = "Octuple Compressed Cobblestone",
_doc_items_longdesc = ("Octuple Compressed Cobblestone is a decorative block made from 9 Septuple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_octuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
drop = {
max_items = 2,
items = {
{items = {"mcl_core:diamond 9"}},
{items = {"mcl_nether:netherite_scrap 18"}},
},
},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 548,
_mcl_hardness = 21,
_mcl_silk_touch_drop = true,
})

View File

@ -1,127 +0,0 @@
minetest.register_craft({
output = "mcl_compressed_blocks:compressed_cobblestone",
recipe = {
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
},
})
minetest.register_craft({
output = "mcl_core:cobble 9",
recipe = {
{ "mcl_compressed_blocks:compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:double_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone" },
{ "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone" },
{ "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:double_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:triple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone" },
{ "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone" },
{ "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:double_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:triple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quadruple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone" },
{ "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone" },
{ "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:triple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quintuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quadruple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:sextuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quintuple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:septuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:sextuple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:septuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:octuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:septuple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:octuple_compressed_cobblestone" },
},
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

View File

@ -663,22 +663,6 @@ mcl_dye.register_on_bone_meal_apply(function(pt,user)
end
end)
minetest.register_abm({
label = "Turn Crimson Nylium and Warped Nylium below solid block into Netherrack",
nodenames = {"mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium"},
neighbors = {"group:solid"},
interval = 8,
chance = 50,
action = function(pos, node)
local above = {x = pos.x, y = pos.y + 1, z = pos.z}
local name = minetest.get_node(above).name
local nodedef = minetest.registered_nodes[name]
if name ~= "ignore" and nodedef and (nodedef.groups and nodedef.groups.solid) then
minetest.set_node(pos, {name = "mcl_nether:netherrack"})
end
end
})
mcl_doors:register_door("mcl_crimson:crimson_door", {
description = S("Crimson Door"),
_doc_items_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal."),
@ -824,4 +808,4 @@ minetest.register_craft({
}
})
dofile(modpath.."/alias.lua")
dofile(modpath.."/alias.lua")

View File

@ -1,5 +1,5 @@
# textdomain: mcl_dye
White Dye=Biała farba
White Dye=Biały farba
Light Grey Dye=Jasnoszara farba
Grey Dye=Szara farba
Black Dye=Czarny farba

View File

@ -133,11 +133,7 @@ minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch,
if wielditem then
local fire_aspect_level = mcl_enchanting.get_enchantment(wielditem, "fire_aspect")
if fire_aspect_level > 0 then
local player_pos = player:get_pos()
local hitter_pos = hitter:get_pos()
if vector.distance(hitter_pos, player_pos) <= 3 then
mcl_burning.set_on_fire(player, fire_aspect_level * 4)
end
mcl_burning.set_on_fire(player, fire_aspect_level * 4)
end
end
end
@ -280,65 +276,15 @@ function minetest.calculate_knockback(player, hitter, time_from_last_punch, tool
if hitter then
luaentity = hitter:get_luaentity()
end
if hitter and hitter:is_player() and distance <= 3 then
if hitter and hitter:is_player() then
local wielditem = hitter:get_wielded_item()
--knockback = knockback + 3 * mcl_enchanting.get_enchantment(wielditem, "knockback")
local enchant = mcl_enchanting.get_enchantment(wielditem, "knockback")
knockback = knockback + 3.22 * enchant
-- add vertical lift to knockback
local v = player:get_velocity()
local added_v = 0
local invul = player:get_meta():get_int("mcl_damage:invulnerable")
if v and v.y <= 0.01 and v.y >= -0.01 and invul == 0 then
local regular_v = 6.4
local enchant_v = 7
regular_v = regular_v * math.abs(dir.y - 1)
enchant_v = enchant_v * math.abs(dir.y - 1)
if enchant == 0 then
player:add_velocity({x = 0, y = regular_v, z = 0})
added_v = regular_v
else
player:add_velocity({x = 0, y = enchant_v, z = 0})
added_v = enchant_v
end
-- add minimum knockback
if knockback <= 1.5 then
knockback = knockback + 4.875
elseif knockback <= 6.19 then
knockback = knockback + 0.609375
end
end
-- counteract forward velocity when hit
local self_dir_dot = (v.x * dir.x) + (v.z * dir.z)
if self_dir_dot < 0 then
player:add_velocity({x = v.x * -1, y = 0, z = v.z * -1})
end
knockback = knockback + 5 * mcl_enchanting.get_enchantment(wielditem, "knockback")
-- add player velocity to knockback
local h_name = hitter:get_player_name()
local hv = hitter:get_velocity()
local dir_dot = (hv.x * dir.x) + (hv.z * dir.z)
local hitter_mag = math.sqrt((hv.x * hv.x) + (hv.z * hv.z))
if dir_dot > 0 and mcl_sprint.is_sprinting(h_name) then
knockback = knockback + hitter_mag * 0.6875
elseif dir_dot > 0 then
knockback = knockback + hitter_mag * 0.515625
if dir_dot > 0 then
knockback = knockback + dir_dot * 2
end
-- reduce floatiness
minetest.after(0.25, function()
player:add_velocity({x = 0, y = (v.y + added_v) * -0.375, z = 0})
end)
-- reduce knockback when moving towards hitter while attacking
local self_dir_dot = (v.x * dir.x) + (v.z * dir.z)
local control = player:get_player_control()
if self_dir_dot < -4.3 and control.up and control.LMB then
knockback = knockback * 0.6
end
-- remove knockback if invulnerable
if invul > 0 then
knockback = 0
end
elseif hitter and hitter:is_player() and distance > 3 then
knockback = 0
elseif luaentity and luaentity._knockback then
local kb = knockback + luaentity._knockback / 4
local punch_dir = dir

View File

@ -59,18 +59,16 @@ minetest.register_node("mcl_end:purpur_pillar", {
_mcl_hardness = 1.5,
})
local end_rod_name = "mcl_end:end_rod"
local end_rod_side_tex = "mcl_end_end_rod_side.png"
local end_rod_def = {
minetest.register_node("mcl_end:end_rod", {
description = S("End Rod"),
_doc_items_longdesc = S("End rods are decorative light sources."),
tiles = {
"mcl_end_end_rod_top.png",
"mcl_end_end_rod_bottom.png",
end_rod_side_tex,
end_rod_side_tex,
end_rod_side_tex,
end_rod_side_tex,
"mcl_end_end_rod_side.png",
"mcl_end_end_rod_side.png",
"mcl_end_end_rod_side.png",
"mcl_end_end_rod_side.png",
},
drawtype = "nodebox",
is_ground_content = false,
@ -78,7 +76,7 @@ local end_rod_def = {
paramtype2 = "facedir",
light_source = minetest.LIGHT_MAX,
sunlight_propagates = true,
groups = { dig_immediate=3, deco_block=1, destroy_by_lava_flow=1, end_rod=1 },
groups = { dig_immediate=3, deco_block=1, destroy_by_lava_flow=1, },
node_box = {
type = "fixed",
fixed = {
@ -134,58 +132,7 @@ local end_rod_def = {
sounds = mcl_sounds.node_sound_glass_defaults(),
_mcl_blast_resistance = 0,
}
minetest.register_node(end_rod_name, end_rod_def)
-- register colored end_rods
local colored_end_rods = {
{"white", S("White End Rod"), "white"},
{"grey", S("Grey End Rod"), "dark_grey"},
{"silver", S("Light Grey End Rod"), "grey"},
{"black", S("Black End Rod"), "black"},
{"red", S("Red End Rod"), "red"},
{"yellow", S("Yellow End Rod"), "yellow"},
{"green", S("Green End Rod"), "dark_green"},
{"cyan", S("Cyan End Rod"), "cyan"},
{"blue", S("Blue End Rod"), "blue"},
{"magenta", S("Magenta End Rod"), "magenta"},
{"orange", S("Orange End Rod"), "orange"},
{"purple", S("Purple End Rod"), "violet"},
{"brown", S("Brown End Rod"), "brown"},
{"pink", S("Pink End Rod"), "pink"},
{"lime", S("Lime End Rod"), "green"},
{"lightblue", S("Light Blue End Rod"), "lightblue"},
}
local top_mask = "^[mask:mobs_mc_empty.png\\^[fill\\:2x2\\:7,7\\:white"
local side_mask = "^[mask:mobs_mc_empty.png\\^[fill\\:16x15\\:0,0\\:white"
for num, row in ipairs(colored_end_rods) do
local name = row[1]
local desc = row[2]
local dye = row[3]
local def = table.copy(end_rod_def)
def.description = desc
def._doc_items_longdesc = nil
def._doc_items_create_entry = false
local side_tex
if name == "pink" then
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. top_mask .. "^[multiply:" .. name .. "^[hsl:0:300)"
side_tex = end_rod_side_tex .. "^(" .. end_rod_side_tex .. side_mask .. "^[multiply:" .. name .. "^[hsl:0:300)"
elseif num > 4 then
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. top_mask .. "^[multiply:" .. name .. "^[hsl:0:300^[opacity:120)"
side_tex = end_rod_side_tex .. "^(" .. end_rod_side_tex .. side_mask .. "^[multiply:" .. name .. "^[hsl:0:300^[opacity:120)"
else
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. top_mask .. "^[multiply:" .. name .. "^[hsl:0:-100^[opacity:170)"
side_tex = end_rod_side_tex .. "^(" .. end_rod_side_tex .. side_mask .. "^[multiply:" .. name .. "^[hsl:0:-100^[opacity:170)"
end
for i=3, 6 do def.tiles[i] = side_tex end
minetest.register_node(end_rod_name.."_"..name, def)
minetest.register_craft({
type = "shapeless",
output = end_rod_name.."_"..name,
recipe = {"group:end_rod", "mcl_dye:"..dye}
})
end
})
minetest.register_node("mcl_end:dragon_egg", {
description = S("Dragon Egg"),

View File

@ -5,22 +5,6 @@ Purpur Block=Purpurblock
Purpur Pillar=Purpursäule
End Rod=Endstab
End rods are decorative light sources.=Endstäbe sind dekorative Lichtquellen.
White End Rod=Weißer Endstab
Grey End Rod=Grauer Endstab
Light Grey End Rod=Hellgrauer Endstab
Black End Rod=Schwarzer Endstab
Red End Rod=Roter Endstab
Yellow End Rod=Gelber Endstab
Green End Rod=Grüner Endstab
Cyan End Rod=Türkiser Endstab
Blue End Rod=Blauer Endstab
Magenta End Rod=Magenta Endstab
Orange End Rod=Orange Endstab
Purple End Rod=Violetter Endstab
Brown End Rod=Brauner Endstab
Pink End Rod=Rosa Endstab
Lime End Rod=Lindgrüner Endstab
Light Blue End Rod=Hellblauer Endstab
Dragon Egg=Drachenei
A dragon egg is a decorative item which can be placed.=Ein Drahenei ist ein dekorativer, platzierbarer Gegenstand.
Chorus Flower=Chorusblume

View File

@ -5,22 +5,6 @@ Purpur Block=Blok purpury
Purpur Pillar=Filar purpury
End Rod=Różdżka Kresu
End rods are decorative light sources.=Różdżki Kresu są dekoracyjnymi źródłami światła.
White End Rod=Biała Różdżka Kresu
Grey End Rod=Szara Różdżka Kresu
Light Grey End Rod=Jasnoszara Różdżka Kresu
Black End Rod=Czarna Różdżka Kresu
Red End Rod=Czerwona Różdżka Kresu
Yellow End Rod=Żółta Różdżka Kresu
Green End Rod=Zielona Różdżka Kresu
Cyan End Rod=Błękitna Różdżka Kresu
Blue End Rod=Niebieska Różdżka Kresu
Magenta End Rod=Karmazynowa Różdżka Kresu
Orange End Rod=Pomarańczowa Różdżka Kresu
Purple End Rod=Fioletowa Różdżka Kresu
Brown End Rod=Brązowa Różdżka Kresu
Pink End Rod=Różowa Różdżka Kresu
Lime End Rod=Jasnozielona Różdżka Kresu
Light Blue End Rod=Jasnoniebieska Różdżka Kresu
Dragon Egg=Jajo smoka
A dragon egg is a decorative item which can be placed.=Jajo smoka jest przedmiotem dekoracyjnym, który można postawić.
Chorus Flower=Kwiat refrenusu

View File

@ -5,22 +5,6 @@ Purpur Block=
Purpur Pillar=
End Rod=
End rods are decorative light sources.=
White End Rod=
Grey End Rod=
Light Grey End Rod=
Black End Rod=
Red End Rod=
Yellow End Rod=
Green End Rod=
Cyan End Rod=
Blue End Rod=
Magenta End Rod=
Orange End Rod=
Purple End Rod=
Brown End Rod=
Pink End Rod=
Lime End Rod=
Light Blue End Rod=
Dragon Egg=
A dragon egg is a decorative item which can be placed.=
Chorus Flower=

View File

@ -101,5 +101,5 @@ Turns block into farmland=Transforme un bloc en terres agricoles
Surface for crops=Surface pour les cultures
Can become wet=Peut devenir humide
Uses: @1=Utilisations : @1
Sweet Berry Bush (Stage @1)=Buisson de baies sucrées (étape @1)
Sweet Berry Bush (Stage @1)=Buisson de baies sucrées (étape 1)
Sweet Berry=Baie sucrée

View File

@ -38,7 +38,7 @@ local stem_drop = {
{ items = {"mcl_farming:pumpkin_seeds 2"}, rarity = 31 },
-- 3 seeds: 1/125 chance
{ items = {"mcl_farming:pumpkin_seeds 3"}, rarity = 125 },
{ items = {"mcl_farming:pumkin_seeds 3"}, rarity = 125 },
},
}

View File

@ -112,18 +112,16 @@ end
function mcl_shields.is_blocking(obj)
if not obj:is_player() then return end
if mcl_shields.players[obj] then
local blocking = mcl_shields.players[obj].blocking
if blocking <= 0 then
return
end
local shieldstack = obj:get_wielded_item()
if blocking == 1 then
shieldstack = obj:get_inventory():get_stack("offhand", 1)
end
return blocking, shieldstack
local blocking = mcl_shields.players[obj].blocking
if blocking <= 0 then
return
end
local shieldstack = obj:get_wielded_item()
if blocking == 1 then
shieldstack = obj:get_inventory():get_stack("offhand", 1)
end
return blocking, shieldstack
end
mcl_damage.register_modifier(function(obj, damage, reason)

View File

@ -1,4 +0,0 @@
# textdomain: mcl_stonecutter
Stone Cutter=Steinsäge
Used to cut stone like materials.=Wird zum Schneiden von steinähnlichen Materialien verwendet.
Stonecutters are used to create stairs and slabs from stone like materials. It is also the jobsite for the Stone Mason Villager.=Steinsägen stellen Treppen und Platten aus steinähnlichen Materialien her. Diese sind auch der Arbeitsplatz für den Steinmetz-Dorfbewohner.

View File

@ -228,14 +228,6 @@ minetest.register_globalstep(function(dtime)
-- Apply animations based on what the player is doing
if player:get_hp() == 0 then
player_set_animation(player, "die")
elseif player:get_meta():get_int("mcl_damage:damage_animation") > 0 then
player_set_animation(player, "walk", animation_speed_mod)
local name = player:get_player_name()
minetest.after(0.5, function()
local player = minetest.get_player_by_name(name)
if not player then return end
player:get_meta():set_int("mcl_damage:damage_animation", 0)
end)
elseif mcl_playerplus.elytra[player] and mcl_playerplus.elytra[player].active then
player_set_animation(player, "stand")
elseif walking and velocity.x > 0.35

View File

@ -663,8 +663,6 @@ minetest.register_on_joinplayer(function(player)
lastPos = nil,
swimDistance = 0,
jump_cooldown = -1, -- Cooldown timer for jumping, we need this to prevent the jump exhaustion to increase rapidly
last_damage = 0,
invul_timestamp = 0,
}
mcl_playerplus.elytra[player] = {active = false, rocketing = 0, speed = 0}
@ -729,43 +727,19 @@ mcl_damage.register_modifier(function(obj, damage, reason)
end
end, -200)
minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage)
-- attack reach limit
if hitter and hitter:is_player() then
local player_pos = player:get_pos()
local hitter_pos = hitter:get_pos()
if vector.distance(player_pos, hitter_pos) > 3 then
damage = 0
return damage
end
-- damage invulnerability
mcl_damage.register_modifier(function(obj, damage, reason)
local invul = obj:get_meta():get_int("mcl_damage:invulnerable")
if invul > 0 then
return 0
else
obj:get_meta():set_int("mcl_damage:invulnerable", 1)
minetest.after(0.5, function()
obj:get_meta():set_int("mcl_damage:invulnerable", 0)
end)
return damage
end
-- damage invulnerability
if hitter then
local name = player:get_player_name()
local time_now = minetest.get_us_time()
local invul_timestamp = mcl_playerplus_internal[name].invul_timestamp
local time_diff = time_now - invul_timestamp
-- check for invulnerability time in microseconds (0.5 second)
if time_diff <= 500000 and time_diff >= 0 then
player:get_meta():set_int("mcl_damage:invulnerable", 1)
minetest.after(0.5, function()
player:get_meta():set_int("mcl_damage:invulnerable", 0)
end)
damage = damage - mcl_playerplus_internal[name].last_damage
if damage < 0 then
damage = 0
end
return damage
else
mcl_playerplus_internal[name].last_damage = damage
mcl_playerplus_internal[name].invul_timestamp = time_now
player:get_meta():set_int("mcl_damage:damage_animation", 1)
minetest.after(0.5, function()
player:get_meta():set_int("mcl_damage:damage_animation", 0)
end)
end
end
end)
end, -1000)
minetest.register_on_respawnplayer(function(player)
local pos = player:get_pos()

View File

@ -37,14 +37,3 @@ The setting disabling deepslate generation now works properly thanks to Zasco.
### Crash fixes
* Villager trading UI crash by JoseDouglas26
* Piston related crash by cora
## 0.86.1 hotfix
* Implemented a fix to a graphical glitch regression introduced in release 0.86, which had been fixed but wasn't loaded into the tag.
* Added a workaround to enable mobile players to use bows, crossbows and spyglasses by using zoom key (they can't *hold* `place`).
(both fixes by Herowl)
## 0.86.2 hotfix
* Implemented refactorization of player-related combat code by Eliy21. This fixes a critical bug which can cause players to become invulnerable indefinitely.
* Optimized some textures for size.
* Fixed XP orbs breaking randomly (by Herowl).
* Fixed a cryptic error message (by Herowl).

View File

@ -98,9 +98,6 @@ mcl_creative_dig_speed (Creative mode dig speed) float 0.2
# If enabled the hunger mechanic will be active
mcl_enable_hunger (Hunger mechanic) bool true
# Enables hunger debug
mcl_hunger_debug (Hunger debug) bool false
# Health regeneration delay when hunger bar is full
# Default: 0.5 s
mcl_health_regen_delay (Health regen delay) float 0.5 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 B

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 B

After

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 451 B

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 4.3 KiB