Compare commits
1 Commits
master
...
release/0.
Author | SHA1 | Date |
---|---|---|
the-real-herowl | 257717e58a |
|
@ -1,4 +1,4 @@
|
||||||
title = MineClone 2
|
title = MineClone 2
|
||||||
description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more.
|
description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more.
|
||||||
disallowed_mapgens = v6
|
disallowed_mapgens = v6
|
||||||
version=0.87.0-SNAPSHOT
|
version=0.86.1
|
||||||
|
|
|
@ -160,7 +160,7 @@ function mcl_util.rotate_axis_and_place(itemstack, placer, pointed_thing, infini
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local undef = minetest.registered_nodes[unode.name]
|
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,
|
undef.on_rightclick(pointed_thing.under, unode, placer,
|
||||||
itemstack, pointed_thing)
|
itemstack, pointed_thing)
|
||||||
return
|
return
|
||||||
|
@ -198,11 +198,25 @@ function mcl_util.rotate_axis_and_place(itemstack, placer, pointed_thing, infini
|
||||||
|
|
||||||
local p2
|
local p2
|
||||||
if is_y then
|
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
|
elseif is_x then
|
||||||
p2 = 12
|
if invert_wall then
|
||||||
|
p2 = 0
|
||||||
|
else
|
||||||
|
p2 = 12
|
||||||
|
end
|
||||||
elseif is_z then
|
elseif is_z then
|
||||||
p2 = 6
|
if invert_wall then
|
||||||
|
p2 = 0
|
||||||
|
else
|
||||||
|
p2 = 6
|
||||||
|
end
|
||||||
end
|
end
|
||||||
minetest.set_node(pos, {name = wield_name, param2 = p2})
|
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.y = v.y * 4 + 2
|
||||||
v.z = v.z * 4
|
v.z = v.z * 4
|
||||||
obj:set_velocity(v)
|
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
|
end
|
||||||
if not insta_collect then
|
if not insta_collect then
|
||||||
obj:get_luaentity()._insta_collect = false
|
obj:get_luaentity()._insta_collect = false
|
||||||
|
|
|
@ -522,7 +522,7 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir)
|
||||||
|
|
||||||
if is_player then
|
if is_player then
|
||||||
-- is mob out of reach?
|
-- is mob out of reach?
|
||||||
if vector.distance(mob_pos, player_pos) > 3 then
|
if vector.distance(mob_pos, player_pos) > 3 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
-- is mob protected?
|
-- is mob protected?
|
||||||
|
|
|
@ -305,9 +305,6 @@ Origin of those models:
|
||||||
* `mobs_mc_rabbit_random.*.ogg` (CC0)
|
* `mobs_mc_rabbit_random.*.ogg` (CC0)
|
||||||
* Changes were made.
|
* Changes were made.
|
||||||
* Source: <https://freesound.org/people/Alshred/>
|
* 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.
|
Note: Many of these sounds have been more or less modified to fit the game.
|
||||||
|
|
||||||
|
|
|
@ -31,9 +31,8 @@ local hoglin = {
|
||||||
} },
|
} },
|
||||||
visual_size = {x=3, y=3},
|
visual_size = {x=3, y=3},
|
||||||
sounds = {
|
sounds = {
|
||||||
random = "extra_mobs_hoglin.1",
|
random = "extra_mobs_hoglin",
|
||||||
damage = "extra_mobs_hoglin_hurt",
|
damage = "extra_mobs_hoglin_hurt",
|
||||||
death = "extra_mobs_hoglin_hurt",
|
|
||||||
distance = 16,
|
distance = 16,
|
||||||
},
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
|
@ -93,12 +92,6 @@ local zoglin = table.copy(hoglin)
|
||||||
zoglin.description = S("Zoglin")
|
zoglin.description = S("Zoglin")
|
||||||
zoglin.fire_resistant = 1
|
zoglin.fire_resistant = 1
|
||||||
zoglin.textures = {"extra_mobs_zoglin.png"}
|
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()
|
zoglin.do_custom = function()
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
|
@ -61,10 +61,8 @@ local piglin = {
|
||||||
} },
|
} },
|
||||||
visual_size = {x=1, y=1},
|
visual_size = {x=1, y=1},
|
||||||
sounds = {
|
sounds = {
|
||||||
random = "mobs_mc_zombiepig_random",
|
random = "extra_mobs_piglin",
|
||||||
war_cry = "mobs_mc_zombiepig_war_cry", death = "mobs_mc_zombiepig_death",
|
damage = "extra_mobs_piglin_hurt",
|
||||||
damage = "mobs_mc_zombiepig_hurt.2",
|
|
||||||
death = "mobs_mc_zombiepig_death.2",
|
|
||||||
distance = 16,
|
distance = 16,
|
||||||
},
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
|
|
|
@ -53,8 +53,8 @@ Range: 4=Range: 4
|
||||||
Rating @1=Classificação @1
|
Rating @1=Classificação @1
|
||||||
# @1 is minimal rating, @2 is maximum rating
|
# @1 is minimal rating, @2 is maximum rating
|
||||||
Rating @1-@2=Classificação @1-@2
|
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 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 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, 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 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.
|
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 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 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 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 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 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.
|
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=nível 0
|
||||||
level 0-@1=nivel 0-@1
|
level 0-@1=nivel 0-@1
|
||||||
unknown=desconhecido
|
unknown=desconhecido
|
||||||
Unknown item (@1)=Item desconhecido (@1)
|
Unknown item (@1)=Item desconhecido
|
||||||
• @1: @2=
|
• @1: @2=
|
||||||
• @1: @2 HP=
|
• @1: @2 HP=
|
||||||
• @1: @2, @3=
|
• @1: @2, @3=
|
||||||
|
|
|
@ -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.
|
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.
|
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 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=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.
|
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!
|
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
|
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.
|
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)
|
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ì:
|
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 up, Y increases=• Se salite, Y aumenta
|
||||||
• If you go down, Y decreases=• Se scendete, Y diminuisce
|
• If you go down, Y decreases=• Se scendete, Y diminuisce
|
||||||
|
|
|
@ -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
|
|
|
@ -155,7 +155,7 @@ minetest.register_entity("mcl_experience:orb", {
|
||||||
collisionbox = {-0.2, -0.2, -0.2, 0.2, 0.2, 0.2},
|
collisionbox = {-0.2, -0.2, -0.2, 0.2, 0.2, 0.2},
|
||||||
visual = "sprite",
|
visual = "sprite",
|
||||||
visual_size = {x = 0.4, y = 0.4},
|
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},
|
spritediv = {x = 1, y = 14},
|
||||||
initial_sprite_basepos = {x = 0, y = 0},
|
initial_sprite_basepos = {x = 0, y = 0},
|
||||||
is_visible = true,
|
is_visible = true,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# textdomain: mcl_info
|
# 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
|
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
|
Debug bit mask set to @1=Masque de bits de débuguage réglé à @1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# textdomain: mesecons_commandblock
|
# 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.=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: 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.
|
Error: No commander! Block must be replaced.=Error: ¡Sin dueño! El bloque debe ser reemplazado.
|
||||||
Commander: @1=Dueño: @1
|
Commander: @1=Dueño: @1
|
||||||
Submit=Aceptar
|
Submit=Aceptar
|
||||||
|
|
|
@ -2,24 +2,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
|
|
||||||
local light = minetest.LIGHT_MAX
|
local light = minetest.LIGHT_MAX
|
||||||
|
|
||||||
local function generate_action_on(color)
|
minetest.register_node("mesecons_lightstone:lightstone_off", {
|
||||||
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 = {
|
|
||||||
tiles = {"jeija_lightstone_gray_off.png"},
|
tiles = {"jeija_lightstone_gray_off.png"},
|
||||||
groups = {handy=1, mesecon_effector_off = 1, mesecon = 2},
|
groups = {handy=1, mesecon_effector_off = 1, mesecon = 2},
|
||||||
is_ground_content = false,
|
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),
|
_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(),
|
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||||
mesecons = {effector = {
|
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,
|
rules = mesecon.rules.alldirs,
|
||||||
}},
|
}},
|
||||||
_mcl_blast_resistance = 0.3,
|
_mcl_blast_resistance = 0.3,
|
||||||
_mcl_hardness = 0.3,
|
_mcl_hardness = 0.3,
|
||||||
}
|
})
|
||||||
minetest.register_node(ls_off_name, ls_off_def)
|
|
||||||
|
|
||||||
local ls_on_name = "mesecons_lightstone:lightstone_on"
|
minetest.register_node("mesecons_lightstone:lightstone_on", {
|
||||||
local ls_on_def = {
|
|
||||||
tiles = {"jeija_lightstone_gray_on.png"},
|
tiles = {"jeija_lightstone_gray_on.png"},
|
||||||
groups = {handy=1, not_in_creative_inventory=1, mesecon = 2, opaque = 1},
|
groups = {handy=1, not_in_creative_inventory=1, mesecon = 2, opaque = 1},
|
||||||
drop = "node mesecons_lightstone:lightstone_off",
|
drop = "node mesecons_lightstone:lightstone_off",
|
||||||
|
@ -46,59 +29,14 @@ local ls_on_def = {
|
||||||
light_source = light,
|
light_source = light,
|
||||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||||
mesecons = {effector = {
|
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,
|
rules = mesecon.rules.alldirs,
|
||||||
}},
|
}},
|
||||||
_mcl_blast_resistance = 0.3,
|
_mcl_blast_resistance = 0.3,
|
||||||
_mcl_hardness = 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({
|
minetest.register_craft({
|
||||||
output = "mesecons_lightstone:lightstone_off",
|
output = "mesecons_lightstone:lightstone_off",
|
||||||
|
|
|
@ -2,19 +2,3 @@
|
||||||
Redstone Lamp=Redstonelampe
|
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.
|
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
|
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
|
|
||||||
|
|
|
@ -2,19 +2,3 @@
|
||||||
Redstone Lamp=Lampa czerwienitowa
|
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ą.
|
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
|
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
|
|
||||||
|
|
|
@ -2,19 +2,3 @@
|
||||||
Redstone Lamp=
|
Redstone Lamp=
|
||||||
Redstone lamps are simple redstone components which glow brightly (light level @1) when they receive redstone power.=
|
Redstone lamps are simple redstone components which glow brightly (light level @1) when they receive redstone power.=
|
||||||
Glows when powered by 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=
|
|
||||||
|
|
|
@ -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.
|
|
|
@ -1,6 +1,6 @@
|
||||||
# textdomain: mcl_armor
|
# 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.
|
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
|
Leather Cap=Lederkappe
|
||||||
Iron Helmet=Eisenhelm
|
Iron Helmet=Eisenhelm
|
||||||
Golden Helmet=Goldhelm
|
Golden Helmet=Goldhelm
|
||||||
|
|
|
@ -280,7 +280,31 @@ local bamboo_block_def = {
|
||||||
_mcl_blast_resistance = 3,
|
_mcl_blast_resistance = 3,
|
||||||
_mcl_hardness = 2,
|
_mcl_hardness = 2,
|
||||||
_mcl_stripped_variant = "mcl_bamboo:bamboo_block_stripped", -- this allows us to use the built in Axe's strip block.
|
_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)
|
minetest.register_node("mcl_bamboo:bamboo_block", bamboo_block_def)
|
||||||
|
|
|
@ -57,9 +57,7 @@ function mcl_bows.shoot_arrow(arrow_item, pos, dir, yaw, shooter, power, damage,
|
||||||
damage = damage + (enchantments.power + 1) / 4
|
damage = damage + (enchantments.power + 1) / 4
|
||||||
end
|
end
|
||||||
if enchantments.punch then
|
if enchantments.punch then
|
||||||
knockback = enchantments.punch * 24
|
knockback = enchantments.punch * 21
|
||||||
else
|
|
||||||
knockback = 4.875
|
|
||||||
end
|
end
|
||||||
if enchantments.flame then
|
if enchantments.flame then
|
||||||
mcl_burning.set_on_fire(obj, math.huge)
|
mcl_burning.set_on_fire(obj, math.huge)
|
||||||
|
|
|
@ -48,7 +48,7 @@ function mcl_bows_s.shoot_arrow_crossbow(arrow_item, pos, dir, yaw, shooter, pow
|
||||||
if damage == nil then
|
if damage == nil then
|
||||||
damage = 3
|
damage = 3
|
||||||
end
|
end
|
||||||
local knockback = 4.875
|
local knockback
|
||||||
if crossbow_stack then
|
if crossbow_stack then
|
||||||
local enchantments = mcl_enchanting.get_enchantments(crossbow_stack)
|
local enchantments = mcl_enchanting.get_enchantments(crossbow_stack)
|
||||||
if enchantments.piercing then
|
if enchantments.piercing then
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
local modname = minetest.get_current_modname()
|
|
||||||
local modpath = minetest.get_modpath(modname)
|
|
||||||
|
|
||||||
dofile(modpath.."/nodes.lua")
|
|
||||||
dofile(modpath.."/recipes.lua")
|
|
|
@ -1,5 +0,0 @@
|
||||||
name = mcl_compressed_blocks
|
|
||||||
depends = mcl_core
|
|
||||||
description = adds compressed blocks to mineclone2
|
|
||||||
|
|
||||||
|
|
|
@ -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,
|
|
||||||
})
|
|
|
@ -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" },
|
|
||||||
},
|
|
||||||
})
|
|
Before Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 206 B |
Before Width: | Height: | Size: 173 B |
Before Width: | Height: | Size: 250 B |
Before Width: | Height: | Size: 296 B |
Before Width: | Height: | Size: 244 B |
Before Width: | Height: | Size: 296 B |
Before Width: | Height: | Size: 277 B |
|
@ -663,22 +663,6 @@ mcl_dye.register_on_bone_meal_apply(function(pt,user)
|
||||||
end
|
end
|
||||||
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", {
|
mcl_doors:register_door("mcl_crimson:crimson_door", {
|
||||||
description = S("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."),
|
_doc_items_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal."),
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# textdomain: mcl_dye
|
# textdomain: mcl_dye
|
||||||
White Dye=Biała farba
|
White Dye=Biały farba
|
||||||
Light Grey Dye=Jasnoszara farba
|
Light Grey Dye=Jasnoszara farba
|
||||||
Grey Dye=Szara farba
|
Grey Dye=Szara farba
|
||||||
Black Dye=Czarny farba
|
Black Dye=Czarny farba
|
||||||
|
|
|
@ -133,11 +133,7 @@ minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch,
|
||||||
if wielditem then
|
if wielditem then
|
||||||
local fire_aspect_level = mcl_enchanting.get_enchantment(wielditem, "fire_aspect")
|
local fire_aspect_level = mcl_enchanting.get_enchantment(wielditem, "fire_aspect")
|
||||||
if fire_aspect_level > 0 then
|
if fire_aspect_level > 0 then
|
||||||
local player_pos = player:get_pos()
|
mcl_burning.set_on_fire(player, fire_aspect_level * 4)
|
||||||
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
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -280,65 +276,15 @@ function minetest.calculate_knockback(player, hitter, time_from_last_punch, tool
|
||||||
if hitter then
|
if hitter then
|
||||||
luaentity = hitter:get_luaentity()
|
luaentity = hitter:get_luaentity()
|
||||||
end
|
end
|
||||||
if hitter and hitter:is_player() and distance <= 3 then
|
if hitter and hitter:is_player() then
|
||||||
local wielditem = hitter:get_wielded_item()
|
local wielditem = hitter:get_wielded_item()
|
||||||
--knockback = knockback + 3 * mcl_enchanting.get_enchantment(wielditem, "knockback")
|
knockback = knockback + 5 * 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
|
|
||||||
-- add player velocity to knockback
|
-- add player velocity to knockback
|
||||||
local h_name = hitter:get_player_name()
|
|
||||||
local hv = hitter:get_velocity()
|
local hv = hitter:get_velocity()
|
||||||
local dir_dot = (hv.x * dir.x) + (hv.z * dir.z)
|
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 then
|
||||||
if dir_dot > 0 and mcl_sprint.is_sprinting(h_name) then
|
knockback = knockback + dir_dot * 2
|
||||||
knockback = knockback + hitter_mag * 0.6875
|
|
||||||
elseif dir_dot > 0 then
|
|
||||||
knockback = knockback + hitter_mag * 0.515625
|
|
||||||
end
|
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
|
elseif luaentity and luaentity._knockback then
|
||||||
local kb = knockback + luaentity._knockback / 4
|
local kb = knockback + luaentity._knockback / 4
|
||||||
local punch_dir = dir
|
local punch_dir = dir
|
||||||
|
|
|
@ -59,18 +59,16 @@ minetest.register_node("mcl_end:purpur_pillar", {
|
||||||
_mcl_hardness = 1.5,
|
_mcl_hardness = 1.5,
|
||||||
})
|
})
|
||||||
|
|
||||||
local end_rod_name = "mcl_end:end_rod"
|
minetest.register_node("mcl_end:end_rod", {
|
||||||
local end_rod_side_tex = "mcl_end_end_rod_side.png"
|
|
||||||
local end_rod_def = {
|
|
||||||
description = S("End Rod"),
|
description = S("End Rod"),
|
||||||
_doc_items_longdesc = S("End rods are decorative light sources."),
|
_doc_items_longdesc = S("End rods are decorative light sources."),
|
||||||
tiles = {
|
tiles = {
|
||||||
"mcl_end_end_rod_top.png",
|
"mcl_end_end_rod_top.png",
|
||||||
"mcl_end_end_rod_bottom.png",
|
"mcl_end_end_rod_bottom.png",
|
||||||
end_rod_side_tex,
|
"mcl_end_end_rod_side.png",
|
||||||
end_rod_side_tex,
|
"mcl_end_end_rod_side.png",
|
||||||
end_rod_side_tex,
|
"mcl_end_end_rod_side.png",
|
||||||
end_rod_side_tex,
|
"mcl_end_end_rod_side.png",
|
||||||
},
|
},
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -78,7 +76,7 @@ local end_rod_def = {
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
light_source = minetest.LIGHT_MAX,
|
light_source = minetest.LIGHT_MAX,
|
||||||
sunlight_propagates = true,
|
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 = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
|
@ -134,58 +132,7 @@ local end_rod_def = {
|
||||||
|
|
||||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||||
_mcl_blast_resistance = 0,
|
_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", {
|
minetest.register_node("mcl_end:dragon_egg", {
|
||||||
description = S("Dragon Egg"),
|
description = S("Dragon Egg"),
|
||||||
|
|
|
@ -5,22 +5,6 @@ Purpur Block=Purpurblock
|
||||||
Purpur Pillar=Purpursäule
|
Purpur Pillar=Purpursäule
|
||||||
End Rod=Endstab
|
End Rod=Endstab
|
||||||
End rods are decorative light sources.=Endstäbe sind dekorative Lichtquellen.
|
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
|
Dragon Egg=Drachenei
|
||||||
A dragon egg is a decorative item which can be placed.=Ein Drahenei ist ein dekorativer, platzierbarer Gegenstand.
|
A dragon egg is a decorative item which can be placed.=Ein Drahenei ist ein dekorativer, platzierbarer Gegenstand.
|
||||||
Chorus Flower=Chorusblume
|
Chorus Flower=Chorusblume
|
||||||
|
|
|
@ -5,22 +5,6 @@ Purpur Block=Blok purpury
|
||||||
Purpur Pillar=Filar purpury
|
Purpur Pillar=Filar purpury
|
||||||
End Rod=Różdżka Kresu
|
End Rod=Różdżka Kresu
|
||||||
End rods are decorative light sources.=Różdżki Kresu są dekoracyjnymi źródłami światła.
|
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
|
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ć.
|
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
|
Chorus Flower=Kwiat refrenusu
|
||||||
|
|
|
@ -5,22 +5,6 @@ Purpur Block=
|
||||||
Purpur Pillar=
|
Purpur Pillar=
|
||||||
End Rod=
|
End Rod=
|
||||||
End rods are decorative light sources.=
|
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=
|
Dragon Egg=
|
||||||
A dragon egg is a decorative item which can be placed.=
|
A dragon egg is a decorative item which can be placed.=
|
||||||
Chorus Flower=
|
Chorus Flower=
|
||||||
|
|
|
@ -101,5 +101,5 @@ Turns block into farmland=Transforme un bloc en terres agricoles
|
||||||
Surface for crops=Surface pour les cultures
|
Surface for crops=Surface pour les cultures
|
||||||
Can become wet=Peut devenir humide
|
Can become wet=Peut devenir humide
|
||||||
Uses: @1=Utilisations : @1
|
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
|
Sweet Berry=Baie sucrée
|
||||||
|
|
|
@ -38,7 +38,7 @@ local stem_drop = {
|
||||||
{ items = {"mcl_farming:pumpkin_seeds 2"}, rarity = 31 },
|
{ items = {"mcl_farming:pumpkin_seeds 2"}, rarity = 31 },
|
||||||
|
|
||||||
-- 3 seeds: 1/125 chance
|
-- 3 seeds: 1/125 chance
|
||||||
{ items = {"mcl_farming:pumpkin_seeds 3"}, rarity = 125 },
|
{ items = {"mcl_farming:pumkin_seeds 3"}, rarity = 125 },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -112,18 +112,16 @@ end
|
||||||
|
|
||||||
function mcl_shields.is_blocking(obj)
|
function mcl_shields.is_blocking(obj)
|
||||||
if not obj:is_player() then return end
|
if not obj:is_player() then return end
|
||||||
if mcl_shields.players[obj] then
|
local blocking = mcl_shields.players[obj].blocking
|
||||||
local blocking = mcl_shields.players[obj].blocking
|
if blocking <= 0 then
|
||||||
if blocking <= 0 then
|
return
|
||||||
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
|
end
|
||||||
|
|
||||||
|
local shieldstack = obj:get_wielded_item()
|
||||||
|
if blocking == 1 then
|
||||||
|
shieldstack = obj:get_inventory():get_stack("offhand", 1)
|
||||||
|
end
|
||||||
|
return blocking, shieldstack
|
||||||
end
|
end
|
||||||
|
|
||||||
mcl_damage.register_modifier(function(obj, damage, reason)
|
mcl_damage.register_modifier(function(obj, damage, reason)
|
||||||
|
|
|
@ -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.
|
|
|
@ -228,14 +228,6 @@ minetest.register_globalstep(function(dtime)
|
||||||
-- Apply animations based on what the player is doing
|
-- Apply animations based on what the player is doing
|
||||||
if player:get_hp() == 0 then
|
if player:get_hp() == 0 then
|
||||||
player_set_animation(player, "die")
|
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
|
elseif mcl_playerplus.elytra[player] and mcl_playerplus.elytra[player].active then
|
||||||
player_set_animation(player, "stand")
|
player_set_animation(player, "stand")
|
||||||
elseif walking and velocity.x > 0.35
|
elseif walking and velocity.x > 0.35
|
||||||
|
|
|
@ -663,8 +663,6 @@ minetest.register_on_joinplayer(function(player)
|
||||||
lastPos = nil,
|
lastPos = nil,
|
||||||
swimDistance = 0,
|
swimDistance = 0,
|
||||||
jump_cooldown = -1, -- Cooldown timer for jumping, we need this to prevent the jump exhaustion to increase rapidly
|
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}
|
mcl_playerplus.elytra[player] = {active = false, rocketing = 0, speed = 0}
|
||||||
|
|
||||||
|
@ -729,43 +727,19 @@ mcl_damage.register_modifier(function(obj, damage, reason)
|
||||||
end
|
end
|
||||||
end, -200)
|
end, -200)
|
||||||
|
|
||||||
minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage)
|
-- damage invulnerability
|
||||||
-- attack reach limit
|
mcl_damage.register_modifier(function(obj, damage, reason)
|
||||||
if hitter and hitter:is_player() then
|
local invul = obj:get_meta():get_int("mcl_damage:invulnerable")
|
||||||
local player_pos = player:get_pos()
|
if invul > 0 then
|
||||||
local hitter_pos = hitter:get_pos()
|
return 0
|
||||||
if vector.distance(player_pos, hitter_pos) > 3 then
|
else
|
||||||
damage = 0
|
obj:get_meta():set_int("mcl_damage:invulnerable", 1)
|
||||||
return damage
|
minetest.after(0.5, function()
|
||||||
end
|
obj:get_meta():set_int("mcl_damage:invulnerable", 0)
|
||||||
|
end)
|
||||||
|
return damage
|
||||||
end
|
end
|
||||||
-- damage invulnerability
|
end, -1000)
|
||||||
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)
|
|
||||||
|
|
||||||
minetest.register_on_respawnplayer(function(player)
|
minetest.register_on_respawnplayer(function(player)
|
||||||
local pos = player:get_pos()
|
local pos = player:get_pos()
|
||||||
|
|
|
@ -37,14 +37,3 @@ The setting disabling deepslate generation now works properly thanks to Zasco.
|
||||||
### Crash fixes
|
### Crash fixes
|
||||||
* Villager trading UI crash by JoseDouglas26
|
* Villager trading UI crash by JoseDouglas26
|
||||||
* Piston related crash by cora
|
* 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).
|
|
||||||
|
|
|
@ -98,9 +98,6 @@ mcl_creative_dig_speed (Creative mode dig speed) float 0.2
|
||||||
# If enabled the hunger mechanic will be active
|
# If enabled the hunger mechanic will be active
|
||||||
mcl_enable_hunger (Hunger mechanic) bool true
|
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
|
# Health regeneration delay when hunger bar is full
|
||||||
# Default: 0.5 s
|
# Default: 0.5 s
|
||||||
mcl_health_regen_delay (Health regen delay) float 0.5 0
|
mcl_health_regen_delay (Health regen delay) float 0.5 0
|
||||||
|
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 183 B After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 413 B |
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 489 B |
Before Width: | Height: | Size: 120 B After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 244 B |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 279 B |
Before Width: | Height: | Size: 268 B After Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 539 B After Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 451 B After Width: | Height: | Size: 529 B |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 310 B |
Before Width: | Height: | Size: 316 B After Width: | Height: | Size: 390 B |
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 321 B |
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 4.3 KiB |