This commit is contained in:
Elias Fleckenstein 2021-02-15 16:44:18 +01:00
commit b0c1aea881
20 changed files with 344 additions and 110 deletions

View File

@ -21,7 +21,8 @@ mobs:register_mob("mobs_mc:creeper", {
visual = "mesh",
mesh = "mobs_mc_creeper.b3d",
textures = {
{"mobs_mc_creeper.png"},
{"mobs_mc_creeper.png",
"mobs_mc_empty.png"},
},
visual_size = {x=3, y=3},
sounds = {
@ -127,6 +128,127 @@ mobs:register_mob("mobs_mc:creeper", {
view_range = 16,
})
mobs:register_mob("mobs_mc:creeper_charged", {
type = "monster",
spawn_class = "hostile",
hp_min = 20,
hp_max = 20,
xp_min = 5,
xp_max = 5,
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.69, 0.3},
pathfinding = 1,
visual = "mesh",
mesh = "mobs_mc_creeper.b3d",
textures = {
{"mobs_mc_creeper.png",
"mobs_mc_creeper_charge.png"},
},
visual_size = {x=3, y=3},
sounds = {
attack = "tnt_ignite",
death = "mobs_mc_creeper_death",
damage = "mobs_mc_creeper_hurt",
fuse = "tnt_ignite",
explode = "tnt_explode",
distance = 16,
},
makes_footstep_sound = true,
walk_velocity = 1.05,
run_velocity = 2.1,
runaway_from = { "mobs_mc:ocelot", "mobs_mc:cat" },
attack_type = "explode",
explosion_strength = 5,
explosion_radius = 8,
explosion_damage_radius = 8,
explosiontimer_reset_radius = 6,
reach = 3,
explosion_timer = 1.5,
allow_fuse_reset = true,
stop_to_explode = true,
-- Force-ignite creeper with flint and steel and explode after 1.5 seconds.
-- TODO: Make creeper flash after doing this as well.
-- TODO: Test and debug this code.
on_rightclick = function(self, clicker)
if self._forced_explosion_countdown_timer ~= nil then
return
end
local item = clicker:get_wielded_item()
if item:get_name() == mobs_mc.items.flint_and_steel then
if not minetest.is_creative_enabled(clicker:get_player_name()) then
-- Wear tool
local wdef = item:get_definition()
item:add_wear(1000)
-- Tool break sound
if item:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = clicker:get_pos(), gain = 0.5}, true)
end
clicker:set_wielded_item(item)
end
self._forced_explosion_countdown_timer = self.explosion_timer
minetest.sound_play(self.sounds.attack, {pos = self.object:get_pos(), gain = 1, max_hear_distance = 16}, true)
end
end,
do_custom = function(self, dtime)
if self._forced_explosion_countdown_timer ~= nil then
self._forced_explosion_countdown_timer = self._forced_explosion_countdown_timer - dtime
if self._forced_explosion_countdown_timer <= 0 then
mobs:boom(self, mcl_util.get_object_center(self.object), self.explosion_strength)
self.object:remove()
end
end
end,
on_die = function(self, pos, cmi_cause)
-- Drop a random music disc when killed by skeleton or stray
if cmi_cause and cmi_cause.type == "punch" then
local luaentity = cmi_cause.puncher and cmi_cause.puncher:get_luaentity()
if luaentity and luaentity.name:find("arrow") then
local shooter_luaentity = luaentity._shooter and luaentity._shooter:get_luaentity()
if shooter_luaentity and (shooter_luaentity.name == "mobs_mc:skeleton" or shooter_luaentity.name == "mobs_mc:stray") then
minetest.add_item({x=pos.x, y=pos.y+1, z=pos.z}, mobs_mc.items.music_discs[math.random(1, #mobs_mc.items.music_discs)])
end
end
end
end,
maxdrops = 2,
drops = {
{name = mobs_mc.items.gunpowder,
chance = 1,
min = 0,
max = 2,
looting = "common",},
-- Head
-- TODO: Only drop if killed by charged creeper
{name = mobs_mc.items.head_creeper,
chance = 200, -- 0.5%
min = 1,
max = 1,},
},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
run_start = 24,
run_end = 49,
hurt_start = 110,
hurt_end = 139,
death_start = 140,
death_end = 189,
look_start = 50,
look_end = 108,
},
floats = 1,
fear_height = 4,
view_range = 16,
--Having trouble when fire is placed with lightning
fire_resistant = true,
glow = 3,
})
mobs:spawn_specific("mobs_mc:creeper", mobs_mc.spawn.solid, {"air"}, 0, 7, 20, 16500, 2, mobs_mc.spawn_height.overworld_min, mobs_mc.spawn_height.overworld_max)

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

View File

@ -159,10 +159,13 @@ lightning.strike = function(pos)
obj = minetest.add_entity(pos2, "mobs_mc:witch")
obj:set_yaw(rot)
]]
-- TODO: creeper → charged creeper (no damage)
-- charged creeper
elseif lua.name == "mobs_mc:creeper" then
-- Other mobs: Just damage
local rot = obj:get_yaw()
obj:remove()
obj = minetest.add_entity(pos2, "mobs_mc:creeper_charged")
obj:set_yaw(rot)
-- Other mobs: Just damage
else
obj:set_hp(obj:get_hp()-5, { type = "punch", from = "mod" })
end
@ -256,4 +259,3 @@ minetest.register_chatcommand("lightning", {
return true
end,
})

View File

@ -7,7 +7,7 @@ Building Blocks=Blocs de Construction
Decoration Blocks=Blocs de Décoration
Redstone=Redstone
Transportation=Transport
Brewing=
Brewing=Potion
Miscellaneous=Divers
Search Items=Rechercher des objets
Foodstuffs=Denrées alimentaires

View File

@ -13,8 +13,7 @@ Command Block=Bloc de Commande
Command blocks are mighty redstone components which are able to alter reality itself. In other words, they cause the server to execute server commands when they are supplied with redstone power.=Les blocs de commande sont des composants redstone puissants qui sont capables de modifier la réalité elle-même. En d'autres termes, ils obligent le serveur à exécuter des commandes serveur lorsqu'ils sont alimentés en redstone.
Everyone can activate a command block and look at its commands, but not everyone can edit and place them.=Tout le monde peut activer un bloc de commandes et consulter ses commandes, mais tout le monde ne peut pas les modifier et les placer.
To view the commands in a command block, use it. To activate the command block, just supply it with redstone power. This will execute the commands once. To execute the commands again, turn the redstone power off and on again.=Pour afficher les commandes dans un bloc de commandes, utilisez-le. Pour activer le bloc de commande, il suffit de l'alimenter en redstone. Cela exécutera les commandes une fois. Pour exécuter à nouveau les commandes, éteignez puis rallumez le Redstone.
To be able to place a command block and change the commands, you need to be in Creative Mode and must have the “maphack” privilege. A new command block does not have any commands and does nothing. Use the command block (in Creative Mode!) to edit its commands. Read the help entry “Advanced usage > Server Commands” to understand how commands work. Each line contains a single command. You enter them like you would in the console, but without the leading slash. The commands will be executed from top to bottom.=
# ^ OLD TRANSLATION: Pour pouvoir placer un bloc de commande et modifier les commandes, vous devez être en mode créatif et avoir le privilège "maphack". Un nouveau bloc de commandes n'a aucune commande et ne fait rien. Utilisez le bloc de commande (en mode créatif!) Pour modifier ses commandes. Lisez l'entrée d'aide "Rubriques avancées> Commandes du serveur" pour comprendre le fonctionnement des commandes. Chaque ligne contient une seule commande. Vous les entrez comme vous le feriez dans la console, mais sans la barre oblique principale. Les commandes seront exécutées de haut en bas.
To be able to place a command block and change the commands, you need to be in Creative Mode and must have the “maphack” privilege. A new command block does not have any commands and does nothing. Use the command block (in Creative Mode!) to edit its commands. Read the help entry “Advanced usage > Server Commands” to understand how commands work. Each line contains a single command. You enter them like you would in the console, but without the leading slash. The commands will be executed from top to bottom.=Pour pouvoir placer un bloc de commande et modifier les commandes, vous devez être en mode créatif et avoir le privilège "maphack". Un nouveau bloc de commande n'a aucune commande et ne fait rien. Utilisez le bloc de commande (en mode créatif!) Pour modifier ses commandes. Lisez l'entrée d'aide "Utilisation avancée> Commandes du serveur" pour comprendre le fonctionnement des commandes. Chaque ligne contient une seule commande. Vous les entrez comme vous le feriez dans la console, mais sans la barre oblique principale. Les commandes seront exécutées de haut en bas.
All commands will be executed on behalf of the player who placed the command block, as if the player typed in the commands. This player is said to be the “commander” of the block.=Toutes les commandes seront exécutées au nom du joueur qui a placé le bloc de commande, comme si le joueur avait tapé les commandes. Ce joueur est appelé le "commandant" du bloc.
Command blocks support placeholders, insert one of these placeholders and they will be replaced by some other text:=Les blocs de commande prennent en charge les espaces réservés, insérez l'un de ces espaces réservés et ils seront remplacés par un autre texte:
• “@@c”: commander of this command block=• “@@c”: commandant de ce bloc que commande

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

After

Width:  |  Height:  |  Size: 393 B

View File

@ -0,0 +1,100 @@
# textdomain: mcl_enchanting
Aqua Affinity=Affinité aquatique
Increases underwater mining speed.=Augmente la vitesse de minage sous-marine.
Bane of Arthropods=Fléau des arthropodes
Increases damage and applies Slowness IV to arthropod mobs (spiders, cave spiders, silverfish and endermites).=Augmente les dégâts et applique la lenteur IV aux mobs arthropodes (araignées, araignées des cavernes, lépismes argentés et endermites).
Blast Protection=Protection contre les explosions
Reduces explosion damage and knockback.=Réduit les dégâts d'explosion et de recul.
Channeling=Canalisation
Channels a bolt of lightning toward a target. Works only during thunderstorms and if target is unobstructed with opaque blocks.=Canalise un éclair vers une cible. Fonctionne uniquement pendant les orages et si la cible n'est pas obstruée par des blocs opaques.
Curse of Binding=Malédiction du lien éterne
Item cannot be removed from armor slots except due to death, breaking or in Creative Mode.=L'objet ne peut pas être retiré des emplacements d'armure sauf en cas de mort, de rupture ou en mode créatif.
Curse of Vanishing=Malédiction de disparition
Item destroyed on death.=Objet détruit à la mort.
Depth Strider=Agilité aquatique
Increases underwater movement speed.=Augmente la vitesse de déplacement sous l'eau.
Efficiency=Efficacité
Increases mining speed.=Augmente la vitesse de minage.
Feather Falling=Chute amortie
Reduces fall damage.=Reduit les dégats de chute.
Fire Aspect=Aura de feu
Sets target on fire.=Définit la cible en feu.
Fire Protection=Protection contre le feu
Reduces fire damage.=Reduit les dégats de feu.
Flame=Flamme
Arrows set target on fire.=Les flèches mettent le feu à la cible.
Fortune=Fortune
Increases certain block drops.=Multiplie les items droppés
Frost Walker=Semelles givrantes
Turns water beneath the player into frosted ice and prevents the damage from magma blocks.=Transforme l'eau sous le joueur en glace givrée et empêche les dommages causés par les blocs de magma.
Impaling=Empalement
Trident deals additional damage to ocean mobs.=Trident inflige des dégâts supplémentaires aux mobs océaniques.
Infinity=Infinité
Shooting consumes no regular arrows.=Le tir ne consomme pas de flèches standard.
Knockback=Recul
Increases knockback.=Augmente le recul.
Looting=Butin
Increases mob loot.=Augmente le butin des mobs.
Loyalty=Loyauté
Trident returns after being thrown. Higher levels reduce return time.=Trident revient après avoir été jeté. Des niveaux plus élevés réduisent le temps de retour.
Luck of the Sea=Chance de la mer
Increases rate of good loot (enchanting books, etc.)=Augmente le taux de bon butin (livres enchanteurs, etc.)
Lure=Appât
Decreases time until rod catches something.=Diminue le temps jusqu'à ce qu'un poisson ne morde à l'hameçon.
Mending=Raccommodage
Repair the item while gaining XP orbs.=Réparez l'objet tout en gagnant des points d'XP.
Multishot=Tir multiple
Shoot 3 arrows at the cost of one.=Tirez sur 3 flèches au prix d'une.
Piercing=Perforation
Arrows passes through multiple objects.=Les flèches traversent plusieurs objets.
Power=Puissance
Increases arrow damage.=Augmente les dégâts des flèches.
Projectile Protection=Protection contre les projectiles
Reduces projectile damage.=Réduit les dommages causés par les projectiles.
Protection=Protection
Reduces most types of damage by 4% for each level.=éduit la plupart des types de dégâts de 4% pour chaque niveau.
Punch=Frappe
Increases arrow knockback.=Augmente le recul de la flèche.
Quick Charge=Charge rapide
Decreases crossbow charging time.=Diminue le temps de chargement de l'arbalète.
Respiration=Apnée
Extends underwater breathing time.=Prolonge le temps de respiration sous l'eau.
Riptide=Impulsion
Trident launches player with itself when thrown. Works only in water or rain.=Trident lance le joueur avec lui-même lorsqu'il est lancé. Fonctionne uniquement sous l'eau ou sous la pluie.
Sharpness=Tranchant
Increases damage.=Augmente les dégâts.
Silk Touch=Toucher de soie
Mined blocks drop themselves.=Les blocs minés tombent d'eux-mêmes.
Smite=Châtiment
Increases damage to undead mobs.=Augmente les dégâts infligés aux monstres morts-vivants.
Soul Speed=Agilité des âmes
Increases walking speed on soul sand.=Augmente la vitesse de marche sur le sable de l'âme.
Sweeping Edge=Affilage
Increases sweeping attack damage.=Augmente les dégâts de l'épée
Thorns=Épines
Reflects some of the damage taken when hit, at the cost of reducing durability with each proc.=Reflète une partie des dégâts subis lors de la frappe, au prix d'une réduction de la durabilité à chaque déclenchement.
Unbreaking=Solidité
Increases item durability.=Augmente la durabilité des objets.
Inventory=Inventaire
@1 × Lapis Lazuli=@1 × Lapis Lazuli
Enchantment levels: @1=Niveaux d'enchantement: @1
Level requirement: @1=Niveau requis: @1
Enchant an item=Enchanter un objet
<player> <enchantment> [<level>]=<joueur> <enchantement> [<niveau>]
Usage: /enchant <player> <enchantment> [<level>]=Usage: /enchant <joueur> <enchantement> [<niveau>]
Player '@1' cannot be found.=Le joueur '@1' est introuvable.
There is no such enchantment '@1'.=Il n'y a pas un tel enchantement '@1'.
The target doesn't hold an item.=La cible ne contient aucun élément.
The selected enchantment can't be added to the target item.=L'enchantement sélectionné ne peut pas être ajouté à la cible.
'@1' is not a valid number='@1' n'est pas un nombre valide
The number you have entered (@1) is too big, it must be at most @2.=Le nombre que vous avez entré (@1) est trop grand, il doit être au plus de @2.
The number you have entered (@1) is too small, it must be at least @2.=Le nombre que vous avez entré (@1) est trop petit, il doit être au moins de @2.
@1 can't be combined with @2.=@1 ne peut pas être combiné avec @2.
Enchanting succeded.=L'enchantement a réussi.
Forcefully enchant an item=Enchantement forcé d'un objet
Usage: /forceenchant <player> <enchantment> [<level>]=Usage: /forceenchant <joueur> <enchantrment> [<niveau>]
The target item is not enchantable.=L'objet cible n'est pas enchantable.
'@1' is not a valid number.='@1' n'est pas un nombre valide.
Enchanted Book=Livre enchanté
Enchanting Table=Table d'enchantement
Enchant=Enchantement

View File

@ -115,7 +115,7 @@ minetest.register_tool("mcl_farming:hoe_stone", {
damage_groups = { fleshy = 1, },
punch_attack_uses = uses.stone,
},
_repair_material = "mcl_core:cobblestone",
_repair_material = "mcl_core:cobble",
})
minetest.register_craft({

View File

@ -17,11 +17,9 @@ Fern=Fougère
Ferns are small plants which occur naturally in jungles and taigas. They can be harvested for wheat seeds. By using bone meal, a fern can be turned into a large fern which is two blocks high.=Les fougères sont de petites plantes qui se produisent naturellement dans les jungles et les taigas. Ils peuvent être récoltés pour les graines de blé. En utilisant de la farine d'os, une fougère peut être transformée en une grande fougère haute de deux blocs.
(Top Part)=(Partie supérieure)
Peony=Pivoine
A peony is a large plant which occupies two blocks. It is mainly used in dye production.=
# ^^^ OLD TRANSLATION FOR ABOVE: Une pivoine est une grande plante qui occupe deux blocs. Il est principalement utilisé dans la protection des colorants.
A peony is a large plant which occupies two blocks. It is mainly used in dye production.=Une pivoine est une grande plante qui occupe deux blocs. Principalement utilisé dans la production de colorants.
Rose Bush=Rosier
A rose bush is a large plant which occupies two blocks. It is safe to touch it. Rose bushes are mainly used in dye production.=
# ^^^ OLD TRANSLATION FOR ABOVE: Un rosier est une grande plante qui occupe deux blocs. Il n'y a pas de danger à le toucher. Les rosiers sont principalement utilisés dans la protection des colorants.
A rose bush is a large plant which occupies two blocks. It is safe to touch it. Rose bushes are mainly used in dye production.=Un rosier est une grande plante qui occupe deux blocs. Il n'y a rien a craindre à le toucher. Les rosiers sont principalement utilisés dans la production de teinture.
Lilac=Lilas
A lilac is a large plant which occupies two blocks. It is mainly used in dye production.=Un lilas est une grande plante qui occupe deux blocs. Il est principalement utilisé dans la production de colorants.
Sunflower=Tournesol

View File

@ -40,7 +40,7 @@ Removes all status effects=Supprime tous les effets de statut!
Milk is very refreshing and can be obtained by using a bucket on a cow. Drinking it will remove all status effects, but restores no hunger points.=Le lait est très rafraîchissant et peut être obtenu en utilisant un seau sur une vache. Le boire supprimera tous les effets de statut, mais ne restaure aucun point de faim.
Use the placement key to drink the milk.=
Use the placement key to drink the milk.=Utilisez la clé de placement pour boire le lait.
Spider Eye=Oeil d'Araignée
Poisonous=Toxique
@ -78,7 +78,7 @@ Saddle=Selle
Can be placed on animals to ride them=Peut être placé sur les animaux pour les monter
Saddles can be put on some animals in order to mount them.=Des selles peuvent être posées sur certains animaux afin de les monter.
Use the placement key with the saddle in your hand to try to put on the saddle. Saddles fit on horses, mules, donkeys and pigs. Horses, mules and donkeys need to be tamed first, otherwise they'll reject the saddle. Saddled animals can be mounted by using the placement key on them again.=
Use the placement key with the saddle in your hand to try to put on the saddle. Saddles fit on horses, mules, donkeys and pigs. Horses, mules and donkeys need to be tamed first, otherwise they'll reject the saddle. Saddled animals can be mounted by using the placement key on them again.=Utilisez la clé de placement avec la selle à la main pour essayer de mettre la selle. Les selles conviennent aux chevaux, mulets, ânes et cochons. Les chevaux, les mulets et les ânes doivent d'abord être apprivoisés, sinon ils rejetteront la selle. Les animaux sellés peuvent être montés en utilisant à nouveau la clé de placement.
Rabbit Stew=Ragout de Lapin
Rabbit stew is a very nutricious food item.=Le ragoût de lapin est un aliment très nutritif.

View File

@ -8,11 +8,8 @@ NOTE: The End dimension is currently incomplete and might change in future versi
End Portal Frame with Eye of Ender=Cadre de portail de l'End avec Oeil d'Ender
Nether Portal=Portail du Nether
A Nether portal teleports creatures and objects to the hot and dangerous Nether dimension (and back!). Enter at your own risk!=A Nether portal teleports creatures and objects to the hot and dangerous Nether dimension (and back!). Enter at your own risk!
Stand in the portal for a moment to activate the teleportation. Entering a Nether portal for the first time will also create a new portal in the other dimension. If a Nether portal has been built in the Nether, it will lead to the Overworld. A Nether portal is destroyed if the any of the obsidian which surrounds it is destroyed, or if it was caught in an explosion.=Tenez-vous un instant dans le portail pour activer la téléportation. Entrer pour la première fois sur un portail Nether créera également un nouveau portail dans l'autre dimension. Si un portail du Nether a été construit dans le Nether, il mènera à l'Overworld. Un portail du Nether est détruit si l'une des obsidiennes qui l'entourent est détruit, ou s'il a été pris dans une explosion.
Stand in the portal for a moment to activate the teleportation. Entering a Nether portal for the first time will also create a new portal in the other dimension. If a Nether portal has been built in the Nether, it will lead to the Overworld. A Nether portal is destroyed if the any of the obsidian which surrounds it is destroyed, or if it was caught in an explosion.=Tenez-vous un instant dans le portail pour activer la téléportation. Entrer pour la première fois sur un portail Nether créera également un nouveau portail dans l'Overworld. Si un portail du Nether a été construit dans le Nether, il mènera à l'Overworld. Un portail du Nether est détruit si l'une des obsidiennes qui l'entourent est détruit, ou s'il a été pris dans une explosion.
Obsidian is also used as the frame of Nether portals.=Obsidian is also used as the frame of Nether portals.
To open a Nether portal, place an upright frame of obsidian with a width of at least 4 blocks and a height of 5 blocks, leaving only air in the center. After placing this frame, light a fire in the obsidian frame. Nether portals only work in the Overworld and the Nether.=
To open a Nether portal, place an upright frame of obsidian with a width of at least 4 blocks and a height of 5 blocks, leaving only air in the center. After placing this frame, light a fire in the obsidian frame. Nether portals only work in the Overworld and the Nether.=Pour ouvrir un portail du Nether, placez un cadre vertical d'obsidienne d'une largeur d'au moins 4 blocs et d'une hauteur de 5 blocs, ne laissant que de l'air au centre. Après avoir placé ce cadre, allumez un feu dans le cadre d'obsidienne. Les portails du Nether ne fonctionnent que dans l'Overworld et le Nether.
Once placed, an eye of ender can not be taken back.=Une fois placé, un œil d'ender ne peut pas être repris.
Used to construct end portals=Utilisé pour construire des portails d'End
# OUTDATED:
#To open a Nether portal, place an upright frame of obsidian with a width of 4 blocks and a height of 5 blocks, leaving only air in the center. After placing this frame, light a fire in the obsidian frame. Nether portals only work in the Overworld and the Nether.=Pour ouvrir un portail du Nether, placez un cadre vertical d'obsidienne d'une largeur de 4 blocs et d'une hauteur de 5 blocs, ne laissant que de l'air au centre. Après avoir placé ce cadre, allumez un feu dans le cadre en obsidienne. Les portails du Nether ne fonctionnent que dans l'Overworld et le Nether.
Used to construct end portals=Utilisé pour construire des portails d'End

View File

@ -1,12 +1,12 @@
# textdomain: mcl_potions
<effect> <duration> [<factor>]=
<effect> <duration> [<factor>]=<effet> <durée> [<facteurr>]
Add a status effect to yourself. Arguments: <effect>: name of status effect, e.g. poison. <duration>: duration in seconds. <factor>: effect strength multiplier (1 @= 100%)=
Add a status effect to yourself. Arguments: <effect>: name of status effect, e.g. poison. <duration>: duration in seconds. <factor>: effect strength multiplier (1 @= 100%)=Ajoutez-vous un effet de statut. Arguments: <effet>: nom de l'effet de statut, par ex. poison. <duration>: durée en secondes. <facteur>: multiplicateur de force d'effet (1 @ = 100%)
Missing effect parameter!=
Missing or invalid duration parameter!=
Invalid factor parameter!=
@1 is not an available status effect.=
Missing effect parameter!=Paramètre d'effet manquant!
Missing or invalid duration parameter!=Paramètre durée manquant ou invalide!
Invalid factor parameter!=Paramètre facteur invalide!
@1 is not an available status effect.=@1 n'est pas un effet disponible.
Fermented Spider Eye=Oeil d'araignée fermenté
Glass Bottle=Bouteille en verre
Liquid container=Récipient de liquide
@ -25,91 +25,91 @@ River water bottles can be used to fill cauldrons. Drinking it has no effect.=Le
Use the “Place” key to drink. Place this item on a cauldron to pour the river water into the cauldron.=Utilisez la touche "Utiliser" pour boire. Placez cet objet sur un chaudron pour verser l'eau de la rivière dans le chaudron.
Splash Water Bottle=
Extinguishes fire and hurts some mobs=
Splash Water Bottle=Bouteille d'eau jetable
Extinguishes fire and hurts some mobs=Éteint le feu et blesse certains mobs
A throwable water bottle that will shatter on impact, where it extinguishes nearby fire and hurts mobs that are vulnerable to water.=
A throwable water bottle that will shatter on impact, where it extinguishes nearby fire and hurts mobs that are vulnerable to water.=Une bouteille d'eau jetable qui se brisera à l'impact, où elle éteint le feu à proximité et blesse les mobs vulnérables à l'eau.
Lingering Water Bottle=
Lingering Water Bottle=Bouteille d'eau persistante
A throwable water bottle that will shatter on impact, where it creates a cloud of water vapor that lingers on the ground for a while. This cloud extinguishes fire and hurts mobs that are vulnerable to water.=
A throwable water bottle that will shatter on impact, where it creates a cloud of water vapor that lingers on the ground for a while. This cloud extinguishes fire and hurts mobs that are vulnerable to water.=Une bouteille d'eau jetable qui se brisera à l'impact, où elle crée un nuage de vapeur d'eau qui s'attarde au sol pendant un moment. Ce nuage éteint le feu et blesse les mobs vulnérables à l'eau.
Glistering Melon=Melon étincelant
This shiny melon is full of tiny gold nuggets and would be nice in an item frame. It isn't edible and not useful for anything else.=Ce melon brillant est plein de minuscules pépites d'or et serait bien dans un cadre d'objet. Il n'est pas comestible et n'est utile à rien d'autre.
A throwable potion that will shatter on impact, where it creates a magic cloud that lingers around for a while. Any player or mob inside the cloud will receive the potion's effect, possibly repeatedly.=
A throwable potion that will shatter on impact, where it creates a magic cloud that lingers around for a while. Any player or mob inside the cloud will receive the potion's effect, possibly repeatedly.=Une potion jetable qui se brisera à l'impact, où elle crée un nuage magique qui persiste pendant un moment. Tout joueur ou mob à l'intérieur du nuage recevra l'effet de la potion, peut-être à plusieurs reprises.
Use the “Punch” key to throw it.=
Use the “Punch” key to throw it.=Utilisez la touche "Frapper" pour le lancer.
Use the “Place” key to drink it.=Utilisez la touche "Utiliser" pour le boire.
Drinking a potion gives you a particular effect.=
1 HP/@1s | @2=
@1 HP=
@1 Potion=
Splash @1 Potion=
Lingering @1 Potion=
Arrow of @1=
II=
IV=
@1 Potion@2=
Splash @1@2 Potion=
Lingering @1@2 Potion=
Arrow of @1@2=
@1 + Potion=
Splash @1 + Potion=
Lingering @1 + Potion=
Arrow of @1 +=
Awkward Potion=Potion maladroite
Awkward Splash Potion=
Awkward Lingering Potion=
Has an awkward taste and is used for brewing potions.=
Mundane Potion=Potion mondaine
Mundane Splash Potion=
Mundane Lingering Potion=
Has a terrible taste and is not useful for brewing potions.=
Drinking a potion gives you a particular effect.=Boire une potion vous donne un effet particulier.
1 HP/@1s | @2=1 HP/@1s | @2
@1 HP=@1 HP
@1 Potion=Potion @1
Splash @1 Potion=Potion @1 jettable
Lingering @1 Potion=Potion @1 persistante
Arrow of @1=Flêche de @1
II= II
IV= IV
@1 Potion@2=@1 Potion@2
Splash @1@2 Potion=Potion @1@2 jettable
Lingering @1@2 Potion=Potion @1@2 persistante
Arrow of @1@2=Flêche de @1@2
@1 + Potion=@1 + Potion
Splash @1 + Potion=Potion @1 + jettable
Lingering @1 + Potion=Potion @1 + persistante
Arrow of @1 +=Flêche de @1 +
Awkward Potion=Potion étrange
Awkward Splash Potion=Potion étrange jetable
Awkward Lingering Potion=Potion étrange persistante
Has an awkward taste and is used for brewing potions.=A un goût étrange et est utilisé pour préparer des potions.
Mundane Potion=Potion banale
Mundane Splash Potion=Potion banale jetable
Mundane Lingering Potion=Potion banale persistante
Has a terrible taste and is not useful for brewing potions.=A un goût terrible et n'est pas utile pour préparer des potions.
Thick Potion=Potion épaisse
Thick Splash Potion=
Thick Lingering Potion=
Has a bitter taste and is not useful for brewing potions.=
Dragon's Breath=Le souffle du dragon
Thick Splash Potion=Potion épaisse jetable
Thick Lingering Potion=Potion épaisse persistante
Has a bitter taste and is not useful for brewing potions.=A un goût amer et n'est pas utile pour préparer des potions.
Dragon's Breath=Souffle du dragon
This item is used in brewing and can be combined with splash potions to create lingering potions.=
This item is used in brewing and can be combined with splash potions to create lingering potions.=Cet objet est utilisé dans le brassage et peut être combiné avec des potions d'éclaboussures pour créer des potions persistantes.
Healing=
+4 HP=
+8 HP=
Instantly heals.=
Harming=
-6 HP=
-12 HP=
Instantly deals damage.=
Night Vision=
Increases the perceived brightness of light under a dark sky.=
Swiftness=
Increases walking speed.=
Slowness=
Decreases walking speed.=
Leaping=
Increases jump strength.=
Poison=
Applies the poison effect which deals damage at a regular interval.=
Regeneration=
Regenerates health over time.=
Invisibility=
Grants invisibility.=
Water Breathing=
Grants limitless breath underwater.=
Fire Resistance=
Grants immunity to damage from heat sources like fire.=
Weakness=
Weakness +=
Strength=
Strength II=
Strength +=
Try different combinations to create potions.=
Healing=Guérison
+4 HP=+4 HP
+8 HP=+8 HP
Instantly heals.=Guérit instantanément.
Harming=Dégâts
-6 HP=-6 HP
-12 HP=-12 HP
Instantly deals damage.=Instantly deals damage.
Night Vision=Vision Nocturne
Increases the perceived brightness of light under a dark sky.=Augmente la luminosité perçue de la lumière sous un ciel sombre.
Swiftness=Rapidité
Increases walking speed.=Augmente la vitesse de marche.
Slowness=Lenteur
Decreases walking speed.=Diminue la vitesse de marche.
Leaping=Saut
Increases jump strength.=Augmente la force de saut.
Poison=Poison
Applies the poison effect which deals damage at a regular interval.=Applique l'effet de poison qui inflige des dégâts à intervalle régulier.
Regeneration=Régénération
Regenerates health over time.=Régénère la santé au fil du temps.
Invisibility=Invisibilité
Grants invisibility.=Accorde l'invisibilité.
Water Breathing=Respiration Aquatique
Grants limitless breath underwater.=Donne une respiration illimitée sous l'eau.
Fire Resistance=Résistance au Feu
Grants immunity to damage from heat sources like fire.=Confère une immunité aux dommages causés par des sources de chaleur comme le feu.
Weakness=Faiblesse
Weakness +=Faiblesse +
Strength=Force
Strength II=Force II
Strength +=Force +
Try different combinations to create potions.=Essayez différentes combinaisons pour créer des potions.
No effect=Aucun effet
A throwable potion that will shatter on impact, where it gives all nearby players and mobs a status effect.=
A throwable potion that will shatter on impact, where it gives all nearby players and mobs a status effect.=Une potion jetable qui se brisera à l'impact, où elle donne à tous les joueurs et créatures proches un effet de statut.
This particular arrow is tipped and will give an effect when it hits a player or mob.=
This particular arrow is tipped and will give an effect when it hits a player or mob.=Cette flèche particulière est enchantée et donnera un effet lorsqu'elle touche un joueur ou un mob.

View File

@ -154,8 +154,12 @@ minetest.register_globalstep(function(dtime)
animation_speed_mod = animation_speed_mod / 2
end
-- ask if player is in a place which he should crawl
node_in_feet = minetest.registered_nodes[mcl_playerinfo[name].node_feet]
-- ask if player is swiming
local standing_on_water = minetest.get_item_group(mcl_playerinfo[name].node_stand, "water") ~= 0
standing_on_water = minetest.get_item_group(mcl_playerinfo[name].node_stand, "water") ~= 0
-- Apply animations based on what the player is doing
if player:get_hp() == 0 then

View File

@ -24,11 +24,19 @@ minetest.register_globalstep(function(dtime)
name = player:get_player_name()
-- controls head bone
pitch = degrees(player:get_look_vertical()) * -1
local pitch = degrees(player:get_look_vertical()) * -1
if controls.LMB then
local node_in_feet = minetest.registered_nodes[mcl_playerinfo[name].node_feet]
-- controls right and left arms pitch when shooting a bow or punching
if string.find(player:get_wielded_item():get_name(), "mcl_bows:bow") and controls.RMB and not controls.up and not controls.down and not controls.left and not controls.right then
player:set_bone_position("Arm_Right_Pitch_Control", vector.new(-3,5.785,0), vector.new(pitch+90,-30,pitch * -1 * .35))
player:set_bone_position("Arm_Left_Pitch_Control", vector.new(3.5,5.785,0), vector.new(pitch+90,43,pitch * .35))
elseif controls.LMB then
player:set_bone_position("Arm_Right_Pitch_Control", vector.new(-3,5.785,0), vector.new(pitch,0,0))
player:set_bone_position("Arm_Left_Pitch_Control", vector.new(3,5.785,0), vector.new(0,0,0))
else
player:set_bone_position("Arm_Left_Pitch_Control", vector.new(3,5.785,0), vector.new(0,0,0))
player:set_bone_position("Arm_Right_Pitch_Control", vector.new(-3,5.785,0), vector.new(0,0,0))
end
@ -36,19 +44,19 @@ minetest.register_globalstep(function(dtime)
-- controls head pitch when sneaking
player:set_bone_position("Head", vector.new(0,6.3,0), vector.new(pitch+36,0,0))
-- sets eye height, and nametag color accordingly
player:set_properties({eye_height = 1.35, nametag_color = { r = 225, b = 225, a = 0, g = 225 }})
player:set_properties({collisionbox = {-0.35,0,-0.35,0.35,1.8,0.35}, eye_height = 1.35, nametag_color = { r = 225, b = 225, a = 0, g = 225 }})
elseif minetest.get_item_group(mcl_playerinfo[name].node_stand, "water") ~= 0 and player:get_attach() == nil then
-- controls head pitch when swiming
player:set_bone_position("Head", vector.new(0,6.3,0), vector.new(pitch+90,0,0))
-- sets eye height, and nametag color accordingly
player:set_properties({eye_height = 1.65, nametag_color = { r = 225, b = 225, a = 225, g = 225 }})
player:set_properties({collisionbox = {-0.35,1,-0.35,0.35,1.8,0.35}, eye_height = 1.65, nametag_color = { r = 225, b = 225, a = 225, g = 225 }})
else
-- controls head pitch when not sneaking
player:set_bone_position("Head", vector.new(0,6.3,0), vector.new(pitch,0,0))
-- sets eye height, and nametag color accordingly
player:set_properties({eye_height = 1.65, nametag_color = { r = 225, b = 225, a = 225, g = 225 }})
player:set_properties({collisionbox = {-0.35,0,-0.35,0.35,1.8,0.35}, eye_height = 1.65, nametag_color = { r = 225, b = 225, a = 225, g = 225 }})
end
if mcl_playerplus_internal[name].jump_cooldown > 0 then

View File

@ -1,8 +1,9 @@
# Output indicator
# !< Indicates a text line without '=' in template.txt
# << Indicates an untranslated line in template.txt
# << Indicates an untranslated line in template.txt or an extra line in translate file (.tr)
# !> Indicates a text line without '=' in translate file (.tr)
# >> Indicates an unknown translated line in translate file (.tr)
# >= Indicate an untrannslated entry in translate file (.tr)
# >> Missing file: Indicates a missing translate file (.tr)
import os
@ -15,7 +16,7 @@ args = parser.parse_args()
path = "../mods/"
code_lang = args.language
def LoadTranslateFile(filename, direction):
def LoadTranslateFile(filename, direction, ref=None):
result = set()
file = open(filename, 'r', encoding="utf-8")
for line in file:
@ -23,15 +24,18 @@ def LoadTranslateFile(filename, direction):
if line.startswith('#') or line == '':
continue
if '=' in line:
result.add(line.split('=')[0])
parts = line.split('=')
result.add(parts[0])
if ref is not None and parts[1] == '' and parts[1] not in ref :
print ('>= ' + parts[0])
else:
print (direction + line)
return result
def CompareFiles(f1, f2):
r1 = LoadTranslateFile(f1, "!> ")
r2 = LoadTranslateFile(f2, "!< ")
r1 = LoadTranslateFile(f1, "!< ")
r2 = LoadTranslateFile(f2, "!> ", r1)
for key in r1.difference(r2):
print (">> " + key )
@ -57,5 +61,5 @@ for root, directories, files in os.walk(path):
print("Compare files %s with %s" % (template, language))
CompareFiles(template, language)
else:
LoadTranslateFile(filename, "!> ")
LoadTranslateFile(template, "!< ")
print(">> Missing file = " + language)