Compare commits

...

12 Commits

Author SHA1 Message Date
aac9a30a0d Merge tag '0.88.0' into mtsr_devel 2025-01-05 14:05:13 +03:00
the-real-herowl
eebfe43e7e Add release notes for v0.88 2024-12-31 04:01:31 +01:00
the-real-herowl
37b24c9dfe Updated release credits and set version for v0.88 2024-12-31 04:01:14 +01:00
the-real-herowl
7324c6b39e Merge pull request 'Basic 3rd person spear aim animation' (#4773) from animation_fixes into master
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4773
2024-12-31 03:49:01 +01:00
the-real-herowl
7ed6e7b780 Improve spear mobile experience 2024-12-31 03:49:01 +01:00
the-real-herowl
bd7524d712 Actually working spear aiming animation 2024-12-31 03:49:01 +01:00
the-real-herowl
9cd807d5c5 Basic 3rd person spear aim anim 2024-12-31 03:49:01 +01:00
the-real-herowl
d45184a885 Merge pull request 'Added a conversion for legacy fireworks' (#4776) from legacy_fireworks_conversion into master
Fixed translation files' textdomain and added some Polish translations in this PR too.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4776
2024-12-31 03:47:57 +01:00
the-real-herowl
ce01fc29ae Translation files textdomain fix 2024-12-31 03:45:44 +01:00
the-real-herowl
9e55cfed65 Added a conversion for legacy fireworks 2024-12-31 03:44:34 +01:00
88ea992984 Исправление бага с вылетом игры при нажатии ПКМ на полые блоки дерева 2024-11-08 05:32:05 +03:00
Aleksandr Avdeev
c76dc71284 Добавить русификацию табличек (автор Torq) 2024-11-05 11:01:30 +00:00
87 changed files with 484 additions and 46 deletions

View File

@ -24,6 +24,7 @@
* Faerraven / Michieal * Faerraven / Michieal
* rudzik8 * rudzik8
* teknomunk * teknomunk
* kno10
## Past Developers ## Past Developers
* jordan4ibanez * jordan4ibanez
@ -141,6 +142,17 @@
* Bram * Bram
* qoheniac * qoheniac
* WillConker * WillConker
* 0ldude
* tacotexmex
* Pixel-Peter
* OgelGames
* blitzdoughnuts
* goodspeed
* Bloodaxe
* ClementMR
* THE-NERD2
* ethan
* villager8472
## Music ## Music
* Jordach for the jukebox music compilation from Big Freaking Dig * Jordach for the jukebox music compilation from Big Freaking Dig
@ -193,6 +205,7 @@
* Faerraven / Michieal * Faerraven / Michieal
* SumianVoice * SumianVoice
* thunder1035 * thunder1035
* Herowl
## Textures ## Textures
* XSSheep * XSSheep
@ -237,6 +250,14 @@
* ADLON * ADLON
* Sab Pyrope * Sab Pyrope
* JoseDouglas26 * JoseDouglas26
* 0ldude
* Bloodaxe
* ethan
* Herowl
* kno10
* Pixel-Peter
* Laudrin
* chmodsayshello
## Funders ## Funders
* 40W * 40W

View File

@ -1,4 +1,4 @@
title = VoxeLibre title = VoxeLibre
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.88.0-SNAPSHOT version=0.88.0

View File

@ -26,6 +26,7 @@ return {
"Faerraven / Michieal", "Faerraven / Michieal",
"rudzik8", "rudzik8",
"teknomunk", "teknomunk",
"kno10",
}}, }},
{S("Past Developers"), 0xF84355, { {S("Past Developers"), 0xF84355, {
"jordan4ibanez", "jordan4ibanez",
@ -143,6 +144,17 @@ return {
"Bram", "Bram",
"qoheniac", "qoheniac",
"WillConker", "WillConker",
"0ldude",
"tacotexmex",
"Pixel-Peter",
"OgelGames",
"blitzdoughnuts",
"goodspeed",
"Bloodaxe",
"ClementMR",
"THE-NERD2",
"ethan",
"villager8472",
}}, }},
{S("Music"), 0xA60014, { {S("Music"), 0xA60014, {
"Jordach for the jukebox music compilation from Big Freaking Dig", "Jordach for the jukebox music compilation from Big Freaking Dig",
@ -195,6 +207,7 @@ return {
"Faerraven / Michieal", "Faerraven / Michieal",
"SumianVoice", "SumianVoice",
"thunder1035", "thunder1035",
"Herowl",
}}, }},
{S("Textures"), 0xFF9705, { {S("Textures"), 0xFF9705, {
"XSSheep", "XSSheep",
@ -239,6 +252,14 @@ return {
"ADLON", "ADLON",
"Sab Pyrope", "Sab Pyrope",
"JoseDouglas26", "JoseDouglas26",
"0ldude",
"Bloodaxe",
"ethan",
"Herowl",
"kno10",
"Pixel-Peter",
"Laudrin",
"chmodsayshello",
}}, }},
{S("Funders"), 0xF7FF00, { {S("Funders"), 0xF7FF00, {
"40W", "40W",
@ -246,7 +267,7 @@ return {
"Cora", "Cora",
}}, }},
{S("Special thanks"), 0x00E9FF, { {S("Special thanks"), 0x00E9FF, {
"The Minetest team for making and supporting an engine, and distribution infrastructure that makes this all possible", "The Luanti team for making and supporting an engine, and distribution infrastructure that makes this all possible",
"The workaholics who spent way too much time writing for the Minecraft Wiki. It's an invaluable resource for creating this game", "The workaholics who spent way too much time writing for the Minecraft Wiki. It's an invaluable resource for creating this game",
"Notch and Jeb for being the major forces behind Minecraft", "Notch and Jeb for being the major forces behind Minecraft",
}}, }},

View File

@ -565,3 +565,202 @@ _thorn
ÿ ÿ
_y_diaresis _y_diaresis
5 5
А
_rus_a_
5
Б
_rus_b_
5
В
_rus_v_
5
Г
_rus_g_
5
Д
_rus_d_
5
Е
_rus_e_
5
Ё
_rus_yo_
5
Ж
_rus_zh_
5
З
_rus_z_
5
И
_rus_i_
5
Й
_rus_j_
5
К
_rus_k_
5
Л
_rus_l_
5
М
_rus_m_
5
Н
_rus_n_
5
О
_rus_o_
5
П
_rus_p_
5
Р
_rus_r_
5
С
_rus_s_
5
Т
_rus_t_
5
У
_rus_u_
5
Ф
_rus_f_
5
Х
_rus_h_
5
Ц
_rus_c_
5
Ч
_rus_ch_
5
Ш
_rus_sh_
5
Щ
_rus_shh_
6
Ъ
_rus_tz_
5
Ы
_rus_y_
5
Ь
_rus_mz_
5
Э
_rus_ee_
5
Ю
_rus_yu_
5
Я
_rus_ya_
5
а
_rus_a
5
б
_rus_b
5
в
_rus_v
5
г
_rus_g
5
д
_rus_d
5
е
_rus_e
5
ё
_rus_yo
5
ж
_rus_zh
5
з
_rus_z
5
и
_rus_i
5
й
_rus_j
5
к
_rus_k
5
л
_rus_l
5
м
_rus_m
5
н
_rus_n
5
о
_rus_o
5
п
_rus_p
5
р
_rus_r
5
с
_rus_s
5
т
_rus_t
5
у
_rus_u
5
ф
_rus_f
5
х
_rus_h
5
ц
_rus_c
5
ч
_rus_ch
5
ш
_rus_sh
5
щ
_rus_shh
6
ъ
_rus_tz
5
ы
_rus_y
5
ь
_rus_mz
5
э
_rus_ee
5
ю
_rus_yu
5
я
_rus_ya
5

View File

@ -416,22 +416,35 @@ local function make_stripped_trunk(itemstack, placer, pointed_thing)
end end
if noddef._mcl_stripped_variant == nil then if noddef._mcl_stripped_variant == nil then
return itemstack return itemstack
else else
minetest.swap_node(pointed_thing.under, {name=noddef._mcl_stripped_variant, param2=node.param2}) if minetest.registered_nodes[noddef._mcl_stripped_variant] == nil then
if minetest.get_item_group(node_name, "waxed") ~= 0 then -- vl_hollow_logs:acaciatree_hollow -> vl_hollow_logs:stripped_acacia_hollow
awards.unlock(placer:get_player_name(), "mcl:wax_off")
end local node_name_try = "vl_hollow_logs:stripped_" .. string.sub(node_name, 16, -12) .. "_hollow"
if not minetest.is_creative_enabled(placer:get_player_name()) then --core.chat_send_all(node_name_try)
-- Add wear (as if digging a axey node) if minetest.registered_nodes[node_name_try] == nil then
local toolname = itemstack:get_name() return
local wear = mcl_autogroup.get_wear(toolname, "axey") else
if wear then minetest.swap_node(pointed_thing.under, {name=node_name_try, param2=node.param2})
itemstack:add_wear(wear) end
tt.reload_itemstack_description(itemstack) -- update tooltip else
end minetest.swap_node(pointed_thing.under, {name=noddef._mcl_stripped_variant, param2=node.param2})
end end
end
if minetest.get_item_group(node_name, "waxed") ~= 0 then
awards.unlock(placer:get_player_name(), "mcl:wax_off")
end
if not minetest.is_creative_enabled(placer:get_player_name()) then
-- Add wear (as if digging a axey node)
local toolname = itemstack:get_name()
local wear = mcl_autogroup.get_wear(toolname, "axey")
if wear then
itemstack:add_wear(wear)
tt.reload_itemstack_description(itemstack) -- update tooltip
end
end
end
return itemstack return itemstack
end end

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star=Feuerwerksstern Firework Star=Feuerwerksstern
A firework star is the key component of a firework rocket which is responsible for the visible explosion.=Ein Feuerwerksstern ist der Hauptbestandteil einer Feuerwerksrakete, der für die sichtbare Explosion verantwortlich ist. A firework star is the key component of a firework rocket which is responsible for the visible explosion.=Ein Feuerwerksstern ist der Hauptbestandteil einer Feuerwerksrakete, der für die sichtbare Explosion verantwortlich ist.

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=

View File

@ -1,9 +1,9 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=Gwiazdka pirotechniczna
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=Gwiazdka pirotechniczna jest kluczowym składnikiem rakiety fajerwerkowej, odpowiedzialnym za widoczną eksplozję.
Generic Firework Star= Generic Firework Star=Zwyczajna gwiazdka pirotechniczna
Size:= Size:=Rozmiar:
##[ rockets.lua ]## ##[ rockets.lua ]##
Flight Duration:=Czas lotu: Flight Duration:=Czas lotu:
Firework Rocket=Fajerwerkowa rakieta Firework Rocket=Fajerwerkowa rakieta

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=

View File

@ -1,4 +1,4 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=

View File

@ -1,14 +1,10 @@
# textdomain: mcl_fireworks # textdomain: vl_fireworks
##[ star.lua ]## ##[ star.lua ]##
Firework Star= Firework Star=
A firework star is the key component of a firework rocket which is responsible for the visible explosion.= A firework star is the key component of a firework rocket which is responsible for the visible explosion.=
Generic Firework Star= Generic Firework Star=
Size:= Size:=
##[ rockets.lua ]## ##[ rockets.lua ]##
Flight Duration:= Flight Duration:=飞行时长:
Firework Rocket=烟花火箭 Firework Rocket=烟花火箭
##### not used anymore #####
Flight Duration=飞行时长

View File

@ -1,3 +1,3 @@
name = vl_fireworks name = vl_fireworks
description = Adds fun fireworks to the game which players can use. description = Adds fun fireworks to the game which players can use.
depends = vl_projectile depends = vl_projectile, vl_legacy

View File

@ -199,3 +199,16 @@ local firework_def = {
vl_fireworks.firework_def = table.copy(firework_def) vl_fireworks.firework_def = table.copy(firework_def)
core.register_craftitem("vl_fireworks:rocket", firework_def) core.register_craftitem("vl_fireworks:rocket", firework_def)
-- legacy
for i=1, 3 do
vl_legacy.register_item_conversion("mcl_fireworks:rocket_"..i, nil, function(itemstack)
itemstack:set_name("vl_fireworks:rocket")
local meta = itemstack:get_meta()
local tbl = vl_fireworks.firework_def._vl_fireworks_std_durs_forces[i]
meta:set_float("vl_fireworks:duration", tbl[1])
meta:set_int("vl_fireworks:force", tbl[2])
tt.reload_itemstack_description(itemstack)
end)
end

View File

@ -371,7 +371,7 @@ core.register_tool("vl_weaponry:spear_wood", {
wield_scale = wield_scale, wield_scale = wield_scale,
on_place = spear_on_place, on_place = spear_on_place,
on_secondary_use = spear_on_place, on_secondary_use = spear_on_place,
groups = { weapon=1, spear=1, dig_speed_class=2, enchantability=15 }, groups = { weapon=1, weapon_ranged=1, spear=1, dig_speed_class=2, enchantability=15 },
range = SPEAR_RANGE, range = SPEAR_RANGE,
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.75, full_punch_interval = 0.75,
@ -386,6 +386,7 @@ core.register_tool("vl_weaponry:spear_wood", {
swordy = { speed = 2, level = 1, uses = uses.wood }, swordy = { speed = 2, level = 1, uses = uses.wood },
swordy_cobweb = { speed = 2, level = 1, uses = uses.wood } swordy_cobweb = { speed = 2, level = 1, uses = uses.wood }
}, },
touch_interaction = "short_dig_long_place",
_mcl_spear_thrown_damage = 5, _mcl_spear_thrown_damage = 5,
}) })
core.register_tool("vl_weaponry:spear_stone", { core.register_tool("vl_weaponry:spear_stone", {
@ -397,7 +398,7 @@ core.register_tool("vl_weaponry:spear_stone", {
wield_scale = wield_scale, wield_scale = wield_scale,
on_place = spear_on_place, on_place = spear_on_place,
on_secondary_use = spear_on_place, on_secondary_use = spear_on_place,
groups = { weapon=1, spear=1, dig_speed_class=2, enchantability=5 }, groups = { weapon=1, weapon_ranged=1, spear=1, dig_speed_class=2, enchantability=5 },
range = SPEAR_RANGE, range = SPEAR_RANGE,
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.75, full_punch_interval = 0.75,
@ -412,6 +413,7 @@ core.register_tool("vl_weaponry:spear_stone", {
swordy = { speed = 2, level = 1, uses = uses.stone }, swordy = { speed = 2, level = 1, uses = uses.stone },
swordy_cobweb = { speed = 2, level = 1, uses = uses.stone } swordy_cobweb = { speed = 2, level = 1, uses = uses.stone }
}, },
touch_interaction = "short_dig_long_place",
_mcl_spear_thrown_damage = 6, _mcl_spear_thrown_damage = 6,
}) })
core.register_tool("vl_weaponry:spear_iron", { core.register_tool("vl_weaponry:spear_iron", {
@ -423,7 +425,7 @@ core.register_tool("vl_weaponry:spear_iron", {
wield_scale = wield_scale, wield_scale = wield_scale,
on_place = spear_on_place, on_place = spear_on_place,
on_secondary_use = spear_on_place, on_secondary_use = spear_on_place,
groups = { weapon=1, spear=1, dig_speed_class=2, enchantability=14 }, groups = { weapon=1, weapon_ranged=1, spear=1, dig_speed_class=2, enchantability=14 },
range = SPEAR_RANGE, range = SPEAR_RANGE,
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.75, full_punch_interval = 0.75,
@ -438,6 +440,7 @@ core.register_tool("vl_weaponry:spear_iron", {
swordy = { speed = 2, level = 1, uses = uses.iron }, swordy = { speed = 2, level = 1, uses = uses.iron },
swordy_cobweb = { speed = 2, level = 1, uses = uses.iron } swordy_cobweb = { speed = 2, level = 1, uses = uses.iron }
}, },
touch_interaction = "short_dig_long_place",
_mcl_spear_thrown_damage = 7, _mcl_spear_thrown_damage = 7,
}) })
core.register_tool("vl_weaponry:spear_gold", { core.register_tool("vl_weaponry:spear_gold", {
@ -449,7 +452,7 @@ core.register_tool("vl_weaponry:spear_gold", {
wield_scale = wield_scale, wield_scale = wield_scale,
on_place = spear_on_place, on_place = spear_on_place,
on_secondary_use = spear_on_place, on_secondary_use = spear_on_place,
groups = { weapon=1, spear=1, dig_speed_class=2, enchantability=22 }, groups = { weapon=1, weapon_ranged=1, spear=1, dig_speed_class=2, enchantability=22 },
range = SPEAR_RANGE, range = SPEAR_RANGE,
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.75, full_punch_interval = 0.75,
@ -464,6 +467,7 @@ core.register_tool("vl_weaponry:spear_gold", {
swordy = { speed = 2, level = 1, uses = uses.gold }, swordy = { speed = 2, level = 1, uses = uses.gold },
swordy_cobweb = { speed = 2, level = 1, uses = uses.gold } swordy_cobweb = { speed = 2, level = 1, uses = uses.gold }
}, },
touch_interaction = "short_dig_long_place",
_mcl_spear_thrown_damage = 5, _mcl_spear_thrown_damage = 5,
}) })
core.register_tool("vl_weaponry:spear_diamond", { core.register_tool("vl_weaponry:spear_diamond", {
@ -475,7 +479,7 @@ core.register_tool("vl_weaponry:spear_diamond", {
wield_scale = wield_scale, wield_scale = wield_scale,
on_place = spear_on_place, on_place = spear_on_place,
on_secondary_use = spear_on_place, on_secondary_use = spear_on_place,
groups = { weapon=1, spear=1, dig_speed_class=2, enchantability=10 }, groups = { weapon=1, weapon_ranged=1, spear=1, dig_speed_class=2, enchantability=10 },
range = SPEAR_RANGE, range = SPEAR_RANGE,
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.75, full_punch_interval = 0.75,
@ -490,6 +494,7 @@ core.register_tool("vl_weaponry:spear_diamond", {
swordy = { speed = 2, level = 1, uses = uses.diamond }, swordy = { speed = 2, level = 1, uses = uses.diamond },
swordy_cobweb = { speed = 2, level = 1, uses = uses.diamond } swordy_cobweb = { speed = 2, level = 1, uses = uses.diamond }
}, },
touch_interaction = "short_dig_long_place",
_mcl_spear_thrown_damage = 8, _mcl_spear_thrown_damage = 8,
_mcl_upgradable = true, _mcl_upgradable = true,
_mcl_upgrade_item = "vl_weaponry:spear_netherite" _mcl_upgrade_item = "vl_weaponry:spear_netherite"
@ -503,7 +508,7 @@ core.register_tool("vl_weaponry:spear_netherite", {
wield_scale = wield_scale, wield_scale = wield_scale,
on_place = spear_on_place, on_place = spear_on_place,
on_secondary_use = spear_on_place, on_secondary_use = spear_on_place,
groups = { weapon=1, spear=1, dig_speed_class=2, enchantability=10, fire_immune=1 }, groups = { weapon=1, weapon_ranged=1, spear=1, dig_speed_class=2, enchantability=10, fire_immune=1 },
range = SPEAR_RANGE, range = SPEAR_RANGE,
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.75, full_punch_interval = 0.75,
@ -518,6 +523,7 @@ core.register_tool("vl_weaponry:spear_netherite", {
swordy = { speed = 2, level = 1, uses = uses.netherite }, swordy = { speed = 2, level = 1, uses = uses.netherite },
swordy_cobweb = { speed = 2, level = 1, uses = uses.netherite } swordy_cobweb = { speed = 2, level = 1, uses = uses.netherite }
}, },
touch_interaction = "short_dig_long_place",
_mcl_spear_thrown_damage = 12, _mcl_spear_thrown_damage = 12,
}) })

View File

@ -14,6 +14,7 @@ local function get_mouse_button(player)
local get_wielded_item_name = player:get_wielded_item():get_name() local get_wielded_item_name = player:get_wielded_item():get_name()
if controls.RMB and not string.find(get_wielded_item_name, "mcl_bows:bow") and if controls.RMB and not string.find(get_wielded_item_name, "mcl_bows:bow") and
not string.find(get_wielded_item_name, "mcl_bows:crossbow") and not string.find(get_wielded_item_name, "mcl_bows:crossbow") and
core.get_item_group(get_wielded_item_name, "spear") == 0 and
not mcl_shields.wielding_shield(player, 1) and not mcl_shields.wielding_shield(player, 2) or controls.LMB then not mcl_shields.wielding_shield(player, 1) and not mcl_shields.wielding_shield(player, 2) or controls.LMB then
return true return true
else else
@ -263,7 +264,8 @@ minetest.register_globalstep(function(dtime)
local wielded_itemname = player:get_wielded_item():get_name() local wielded_itemname = player:get_wielded_item():get_name()
local no_arm_moving = string.find(wielded_itemname, "mcl_bows:bow") or local no_arm_moving = string.find(wielded_itemname, "mcl_bows:bow") or
mcl_shields.wielding_shield(player, 1) or mcl_shields.wielding_shield(player, 1) or
mcl_shields.wielding_shield(player, 2) mcl_shields.wielding_shield(player, 2) or
core.get_item_group(wielded_itemname, "spear") > 0
if player_sneak[name] ~= controls.sneak then if player_sneak[name] ~= controls.sneak then
player_anim[name] = nil player_anim[name] = nil
player_sneak[name] = controls.sneak player_sneak[name] = controls.sneak

View File

@ -284,7 +284,9 @@ minetest.register_globalstep(function(dtime)
playerphysics.remove_physics_factor(player, "gravity", "mcl_playerplus:elytra") playerphysics.remove_physics_factor(player, "gravity", "mcl_playerplus:elytra")
end end
if wielded_def and wielded_def._mcl_toollike_wield then if control.RMB and core.get_item_group(wielded:get_name(), "spear") > 0 then
set_bone_pos(player, "Wield_Item", vector.new(0, 5.2, 1.2), vector.new(-1.57, 5.7, 1.57))
elseif wielded_def and wielded_def._mcl_toollike_wield then
set_bone_pos(player, "Wield_Item", vector.new(0, 4.7, 3.1), vector.new(-1.57, 3.93, 1.57)) set_bone_pos(player, "Wield_Item", vector.new(0, 4.7, 3.1), vector.new(-1.57, 3.93, 1.57))
elseif string.find(wielded:get_name(), "mcl_bows:bow") then elseif string.find(wielded:get_name(), "mcl_bows:bow") then
set_bone_pos(player, "Wield_Item", vector.new(1, 4, 0), vector.new(1.57, 2.27, 2.01)) set_bone_pos(player, "Wield_Item", vector.new(1, 4, 0), vector.new(1.57, 2.27, 2.01))
@ -314,6 +316,10 @@ minetest.register_globalstep(function(dtime)
local left_arm_rot = vector.new(pitch + 1.57, 0.75, pitch * .35) local left_arm_rot = vector.new(pitch + 1.57, 0.75, pitch * .35)
set_bone_pos(player, "Arm_Right_Pitch_Control", nil, right_arm_rot) set_bone_pos(player, "Arm_Right_Pitch_Control", nil, right_arm_rot)
set_bone_pos(player, "Arm_Left_Pitch_Control", nil, left_arm_rot) set_bone_pos(player, "Arm_Left_Pitch_Control", nil, left_arm_rot)
-- controls arm for spear throwing
elseif core.get_item_group(wielded:get_name(), "spear") > 0 and control.RMB then
local right_arm_rot = vector.new(pitch + 1.8, 0, pitch * -1 * .35)
set_bone_pos(player, "Arm_Right_Pitch_Control", nil, right_arm_rot)
-- controls right and left arms pitch when loading a crossbow -- controls right and left arms pitch when loading a crossbow
elseif string.find(wielded:get_name(), "mcl_bows:crossbow_") then elseif string.find(wielded:get_name(), "mcl_bows:crossbow_") then
set_bone_pos(player, "Arm_Right_Pitch_Control", nil, vector.new(0.786, -0.35, 0.47)) set_bone_pos(player, "Arm_Right_Pitch_Control", nil, vector.new(0.786, -0.35, 0.47))

View File

@ -0,0 +1,161 @@
## 0.88 The Back on Track release
### Contributors
#### New Developer
* kno10
#### New Contributors
* 0ldude
* tacotexmex
* Pixel-Peter
* OgelGames
* blitzdoughnuts
* goodspeed
* Bloodaxe
* ClementMR
* THE-NERD2
* ethan
* villager8472
### Minecart update
Thanks to enormous efforts of teknomunk, minecart code is rewritten and better than ever! Minecarts that get off the rails behave predictably and can get *back on track*. They can move diagonally on zig-zag rails. Proper physics are employed. Command block minecarts have been added. Code quality is improved and further improvements and additions will be easier and more feasible. Countless bugs have been fixed and carts are finally quite reliable. Make sure to check them out and let us know what you think!
### Mob improvements
Mob AI has been massively improved by kno10, making then less likely to jump down from cliffs, finding paths better and not jumping pointlessly anymore. Door and gate interaction has also been improved. Zombies and skeletons, as undead mobs, don't try to swim and float and rather sink to the bottom of water bodies. Iron Golem attack animation looks better. Stalker textures and camouflage mechanics. Axolotl should attack the correct mobs and shouldn't jump out from the water anymore. Mob head movement (swivel) works better. A bug in the new code has been fixed by rudzik8.
### Mob spawning
Mob spawning space check has been greatly improved by teknomunk, reflecting the actual spatial size of a mob.
Mob spawning direction is now chosen properly and uniformly thanks to kno10, who also improved the spawning code in a few other ways, increasing its performance, and fixed some bugs.
Slime chunks logic has been changed by kno10, making them less predictable without changing frequency. Settings to change the frequency and to enable 3D slime chunks have been added.
### Projectiles update
Projectiles system has been also rewritten by teknomunk with some minor improvements from Herowl, which should improve all projectiles, including all types of arrows, snowballs and other throwables, mob ranged attacks and more, making them work better than before, being more reliable. This also makes it easier for us to add more projectiles and new types of arrows in the future, as well as mods adding such things should be quite simple to make.
On a related note, a bug causing chickens not to spawn from eggs hitting other chickens has been fixed by WillConker.
### Fireworks
Building upon this system, proper firework rockets have been added by Herowl and teknomunk. You can shoot them from the ground by placing them or shoot them in any direction with a dispenser. They're using the new aforementioned Projectiles API.
For now only "empty" and generic random ones are available, but soon more varieties are coming!
### Spears and Hammers
New weapons, spears and hammers, have been added by Herowl and teknomunk.
Spears have slightly less damage than swords, but reach farther and can be thrown (they're also making use of the new Projectiles API!).
Hammers have slightly more damage than swords, are slower, but also can dig various blocks that pickaxe and shovel could also dig, even though they're not as fast as specializes tools. However, they crush some blocks: for example, digging cobblestone with it drops gravel!
### Shield improvements
Shields are now more reliable and shouldn't cause any issues when interacting with containers or blocking arrows, all thanks to fixes from Loveaabb, rudzik8 and ryvnf.
### Mapgen
Mapgen code has been severely improved by kno10, fixing bugs and improving performance. Beyond that, it is now easier to handle, which will help us finally make a larger update to the mapgen. The Rail Corridor structures should now have more types of minecarts, including chest minecarts with loot.
Also a bug that caused some loot to not appear in some structures has been fixed by WillConker.
### Plant improvements
An update to the bonemeal API has been conducted by teknomunk, based on old code by kabou. Multiple bugs have been fixed. Plants work more consistently, and some more features of the WorldEdit mod are supported now.
Cane and bamboo no longer get broken by world loading thanks to teknomunk.
Plant growth code has been refactored, optimized and cleaned up by kno10. Various issues have been fixed. Cactus damage works better, its drops are now more reliable, generation is improved and dropping at mapgen fixed. Growth rate of various plants has been reduced. Plant growth rate now depends on its surroundings, you should mix different crops (eg. in rows). Plant response to hydration is improved. Nether fungi can now use any of the schematics when grown, instead of just one variant.
### Weather
Sky color handling works better now due to rework conducted by teknomunk. Some bugs have been fixed. Lightning won't strike where there is no rain.
Mobs interacting with weather do so more predictably, namely undead burning and Rover rain damage got some bug fixes from seventeenthShulker and teknomunk.
### Chest API
Chest code got refactored by rudzik8 and its API got exposed, making it easier for mods to add chest variants. Some bugs have been fixed, including chests turning invisible, and shulker boxes can now be rotated.
### TNT collision
TNT doesn't collide with entities anymore thanks to WillConker. While it isn't a big change, it's quite important, because it makes many TNT cannons viable. Bigger designs may still not work, because TNT is still stopped by unloaded chunks.
### Water freezing
Water freezing has been ported from Mineclonia (cora's solution) by WillConker, also fixing some minor issues in it.
### New blocks
Charcoal blocks have been added by blitzdoughnuts similar to coal blocks, different in texture and material.
Grey sand blocks have been added by Herowl. For now you obtain them by crushing gravel with a hammer and they can be used in most generic sand recipes (like glass smelting), but in the future they will also appear in world generation.
### Map colors and tools
Map (from the map item) colors have been improved by kno10, who also added to the game some tools that make handling these easier.
### New Translations
* Italian by 0ldude
* Norwegian Bokmål by Bloodaxe
* Chinese simplified by ethan
### Translation updates
* German by kno10, Pixel-Peter, Laudrin and chmodsayshello
* Polish by Herowl
* Translation files updates by kno10, teknomunk, Bloodaxe and ClementMR
* Automatic translation file update tools inclusion and improvements by kno10
### Other changes
* Improved pumpkin descriptions by SmokeyDope
* Hardness and blast resistance fixes by seventeenthShulker
* XP orbs made persistent by teknomunk
* Slab placement improvements by JoseDouglas26
* Piglin brute fire immunity removed by JoseDouglas26 and WillConker
* Enchantment movement speed boost calculation improvements - by WillConker
* Kelp growth water interaction bug fixed by WillConker and cora
* Dragon regeneration slowed by WillConker
* Minor settings fixes by kno10
* Bed bounciness made more consistent by kno10
* Removed a mobspawner warning by WillConker
* Made item code more robust (prevents possible duplication bugs) by OgelGames
* Mod load order fixes by SmallJoker, teknomunk and rudzik8
* Horse riding bug fixed by THE-NERD2
* Fixed crying obsidian particles by kno10
* Stairs graphical bug fixed by rudzik8
* Snow accumulation fixes by goodspeed
* Fortune drops fixes by JoseDouglas26
* Ladder placement fixes by goodspeed
* Disabled absorption bar with damage disabled by goodspeed
* Refactored head block code and fixed Stalker head conversion by goodspeed and rudzik8
* Soul speed works with soul soil by seventeenthShulker
* Fixed structure spawns not working in some cases by kno10
* Added witch huts and some fish mobs to the rivers in Valleys mapgen by kno10
* Fixed honeycomb block interaction by teknomunk
* Fixed cauldron interaction by teknomunk
* Fixed random number usage by kno10
* Fixed a minor texture generation bug by kno10
* Fixed bug allowing infinite cactus production by rudzik8
* Fixed deepslate copper ore by kno10
* Fixed meta string clearing by rudzik8
* Removed bamboo double drop by rudzik8
* Changed bamboo cap drawtype by Herowl
* Fixed smithing table protection checks by rudzik8 and cora
* Touchscreen fixes by grorp
* Fixed experience requirements in creative mode by THE-NERD2
* Fixed elytra enchantability by THE-NERD2
* Stair placement improvements by THE-NERD2
* Fixed a bug in the gamemode API AFCMS
* Enabled craft guide for furnaces by kno10
* Negative enchantment levels are treated as invalid now by rudzik8
* Fixed hoglin drops by villager8472
* Made screwdriver available in creative menu by kno10
* Mending mends unbreaking items more by Herowl
* Potions now appear properly in the search menu in the creative mode by Herowl
* Utilize new Luanti bone APIs by kno10
* Fix trees being cut in half by cavegen by kno10
* Save world creation game version in the world by kno10
* Fixed minor definition bugs concerning lighting by kno10
* Optimized crying obsidian particles creation by kno10
* Stonecutter GUI background texture by SmokeyDope
* Documentation fixes by tacotexmex, rudzik8, teknomunk, Nicu
### Special thanks
* To kno10, for refactoring many areas of code, fixing things nobody wanted to touch and in-depth reviews and testing.
### Crash fixes
* Fixed crash related to explosions and chests by kno10
* Fixed crash related to effects that could happen with damage disabled by goodspeed
* Fixed a very rare crash related to unknown items by kno10
* Fixed unknown items related crash by teknomunk
* Fixed a potential mob-related crash by Herowl and kno10
* Fixed rare crashes related to dispensers/droppers interacting with unknown nodes by rudzik8

BIN
textures/_rus_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

BIN
textures/_rus_a_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

BIN
textures/_rus_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

BIN
textures/_rus_b_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

BIN
textures/_rus_c.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

BIN
textures/_rus_c_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

BIN
textures/_rus_ch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

BIN
textures/_rus_ch_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

BIN
textures/_rus_d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

BIN
textures/_rus_d_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

BIN
textures/_rus_e.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

BIN
textures/_rus_e_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

BIN
textures/_rus_ee.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

BIN
textures/_rus_ee_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

BIN
textures/_rus_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

BIN
textures/_rus_f_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

BIN
textures/_rus_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

BIN
textures/_rus_g_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

BIN
textures/_rus_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

BIN
textures/_rus_h_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

BIN
textures/_rus_i.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

BIN
textures/_rus_i_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

BIN
textures/_rus_j.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

BIN
textures/_rus_j_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

BIN
textures/_rus_k.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

BIN
textures/_rus_k_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

BIN
textures/_rus_l.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
textures/_rus_l_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

BIN
textures/_rus_m.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

BIN
textures/_rus_m_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

BIN
textures/_rus_mz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
textures/_rus_mz_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

BIN
textures/_rus_n.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
textures/_rus_n_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

BIN
textures/_rus_o.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

BIN
textures/_rus_o_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

BIN
textures/_rus_p.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

BIN
textures/_rus_p_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

BIN
textures/_rus_r.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

BIN
textures/_rus_r_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

BIN
textures/_rus_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

BIN
textures/_rus_s_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

BIN
textures/_rus_sh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

BIN
textures/_rus_sh_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
textures/_rus_shh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

BIN
textures/_rus_shh_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

BIN
textures/_rus_t.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

BIN
textures/_rus_t_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

BIN
textures/_rus_tz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

BIN
textures/_rus_tz_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

BIN
textures/_rus_u.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

BIN
textures/_rus_u_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

BIN
textures/_rus_v.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

BIN
textures/_rus_v_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

BIN
textures/_rus_y.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

BIN
textures/_rus_y_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

BIN
textures/_rus_ya.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

BIN
textures/_rus_ya_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

BIN
textures/_rus_yo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

BIN
textures/_rus_yo_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

BIN
textures/_rus_yu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

BIN
textures/_rus_yu_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

BIN
textures/_rus_z.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

BIN
textures/_rus_z_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

BIN
textures/_rus_zh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

BIN
textures/_rus_zh_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B