Compare commits

..

43 Commits

Author SHA1 Message Date
teknomunk
ec0929fc69 Start GUI 2024-06-28 11:53:57 +02:00
teknomunk
9298cad435 Fix typo in variable name 2024-06-28 11:53:57 +02:00
teknomunk
b77aea899c Implement showDeathMessages gamerule 2024-06-28 11:53:57 +02:00
teknomunk
ce3a7aa0da Implement respawnBlocksExplode gamerule 2024-06-28 11:53:57 +02:00
teknomunk
96eac616b0 Implement doMobLoot gamerule 2024-06-28 11:53:57 +02:00
teknomunk
e4ebd3c641 Add fireDamage game rule (fallDamage and drowningDamage don't work in mcl_damage) 2024-06-28 11:53:57 +02:00
teknomunk
97f3919c94 Add additional gamerules for damage types 2024-06-28 11:53:57 +02:00
teknomunk
53cbeb2cef Fix typo 2024-06-28 11:53:57 +02:00
teknomunk
3e3104547d Add gamerule naturalRegeneration and make mcl_health_regen_delay a tunable setting 2024-06-28 11:53:57 +02:00
teknomunk
f620e5f031 Change handling of mcl_showAdvancementMessages 2024-06-28 11:53:57 +02:00
teknomunk
36c2e1334a Nether portal delay settings 2024-06-28 11:53:57 +02:00
teknomunk
4a950aea75 Add settings file 2024-06-28 11:53:57 +02:00
teknomunk
693c68e1b0 Implement doVinesSpread 2024-06-28 11:53:57 +02:00
teknomunk
ffc11faa24 Add gamerule keepInventory and migrate existing setting value from mcl_keepInvetory 2024-06-28 11:53:57 +02:00
teknomunk
f7a7990f1c Add setting for damage_enabled 2024-06-28 11:53:57 +02:00
teknomunk
d4286ff535 Implement doDaylightCycle, add on_change hook for tunables and make sure they are not called when loaded 2024-06-28 11:53:57 +02:00
teknomunk
f0d9c5c83c Remove debug print(), add game rules maxEntityCramming, snowAccumulationHeight 2024-06-28 11:53:57 +02:00
teknomunk
25e4aa5983 Fix default value handling during set (allows bool settings to be set to false), add game rules: doMobSpawning, disableRaids, doWeatherCycle, doFireTick 2024-06-28 11:53:57 +02:00
teknomunk
d02ddae55b Change API so most parameters are in a definition table, add /gamerule chatcommand, implement gamerule announceAdvancements 2024-06-28 11:53:57 +02:00
teknomunk
c98f2e63ff Make awards use the notification delay setting 2024-06-28 11:53:57 +02:00
teknomunk
9737f97c57 Finish initial implementation of setting tuning with get/set commands 2024-06-28 11:53:57 +02:00
teknomunk
21e3af0ecf Start implementing dynamic rules/tuning 2024-06-28 11:53:57 +02:00
the-real-herowl
026ea5940c Merge pull request 'release/0.87.2' (#4457) from release/0.87.2 into master
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4457
2024-06-24 03:43:09 +02:00
the-real-herowl
be9fece0d3 Post-hotfix reset version 0.88.0-SNAPSHOT 2024-06-24 03:41:37 +02:00
the-real-herowl
27f8a008c3 Update release notes for hotfix v0.87.2 2024-06-24 03:40:15 +02:00
the-real-herowl
8bbceddbc2 Updated release credits and set version for hotfix v0.87.2 2024-06-24 03:28:19 +02:00
the-real-herowl
6e70c760d6 Fix some formspecs on mobile (#4456)
This should allow renaming items on the anvil when using mobile. This also may improve mobile craftguide experience.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4456
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-06-24 03:26:02 +02:00
the-real-herowl
53802b270d Merge pull request 'Prevent mob conversion code from crashing' (#4421) from teknomunk/MineClone2:fix-conversion-crash into master
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4421
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2024-06-24 03:07:19 +02:00
teknomunk
3928e12634 Fix two more crashes, stray space 2024-06-24 03:06:26 +02:00
teknomunk
304550d90c Fix parameter name 2024-06-24 03:06:26 +02:00
teknomunk
0a2336ad82 Handle conversion of mobs that were incorrectly converted 2024-06-24 03:06:26 +02:00
teknomunk
75a767a0ab Mob spawner conversion 2024-06-24 03:06:26 +02:00
teknomunk
7e0afd7e21 Remove debug logging 2024-06-24 03:06:26 +02:00
teknomunk
15fa925aae More fields to strip 2024-06-24 03:06:26 +02:00
teknomunk
4935f5fdda Add debug logging 2024-06-24 03:06:26 +02:00
teknomunk
41032ec999 Use correct variable name 2024-06-24 03:06:26 +02:00
teknomunk
d64ee18f75 Strip some fields from the mob's staticdata on conversion 2024-06-24 03:06:26 +02:00
teknomunk
1942384fe5 Move object remove after position check 2024-06-24 03:06:26 +02:00
teknomunk
9b50dd6565 Update to use new_object instead of obj 2024-06-24 03:06:26 +02:00
teknomunk
a88951ac6a More safety checks 2024-06-24 03:06:26 +02:00
teknomunk
bc343769ee Add guard to prevent crash when converting old mobs and the minetest fails to create the new entity 2024-06-24 03:06:26 +02:00
seventeenthShulker
8aa65f85f2 Fix extra 'Stair' in Polished Blackstone Brick nodes (#4450)
Some of the longest block names were erroneous. Farewell, Polished Blackstone Brick Stair Stairs and Polished Blackstone Brick Stair Slab.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4450
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: seventeenthShulker <c545d588-7ff2-49b9-b537-0b3f769083ad@anonaddy.me>
Co-committed-by: seventeenthShulker <c545d588-7ff2-49b9-b537-0b3f769083ad@anonaddy.me>
2024-06-23 23:40:36 +02:00
qoheniac
e27e70a91b fix wrong name for diorite stairs (#4359)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4359
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Co-authored-by: qoheniac <qoheniac@noreply.git.minetest.land>
Co-committed-by: qoheniac <qoheniac@noreply.git.minetest.land>
2024-06-23 23:39:09 +02:00
11 changed files with 91 additions and 34 deletions

@ -20,10 +20,8 @@
* epCode
* chmodsayshello
* MrRar
* FossFanatic
* SmokeyDope
* Faerraven / Michieal
* Codiac
* rudzik8
* teknomunk
@ -36,6 +34,8 @@
* NO11
* SumianVoice
* PrairieWind
* FossFanatic
* Codiac
## Contributors
* RandomLegoBrick
@ -140,6 +140,7 @@
* SOS-Games
* Bram
* qoheniac
* WillConker
## Music
* Jordach for the jukebox music compilation from Big Freaking Dig

@ -150,6 +150,11 @@ function mob_class:mob_activate(staticdata, def, dtime)
local tmp = minetest.deserialize(staticdata)
if tmp then
-- Patch incorrectly converted mobs
if tmp.base_mesh ~= minetest.registered_entities[self.name].mesh then
mcl_mobs.strip_staticdata(tmp)
end
for _,stat in pairs(tmp) do
self[_] = stat
end

@ -342,13 +342,33 @@ function mcl_mobs.register_mob(name, def)
minetest.register_entity(name, setmetatable(final_def,mcl_mobs.mob_class_meta))
end -- END mcl_mobs.register_mob function
local STRIP_FIELDS = { "mesh", "base_size", "textures", "base_mesh", "base_texture" }
function mcl_mobs.strip_staticdata(unpacked_staticdata)
-- Strip select fields from the staticdata to prevent conversion issues
for i = 1,#STRIP_FIELDS do
unpacked_staticdata[STRIP_FIELDS[i]] = nil
end
end
function mcl_mobs.register_conversion(old_name, new_name)
minetest.register_entity(old_name, {
on_activate = function(self, staticdata, dtime)
local obj = minetest.add_entity(self.object:get_pos(), new_name, staticdata)
local hook = (obj:get_luaentity() or {})._on_after_convert
if hook then hook(obj) end
self.object:remove()
local unpacked_staticdata = minetest.deserialize(staticdata)
mcl_mobs.strip_staticdata(unpacked_staticdata)
staticdata = minetest.serialize(unpacked_staticdata)
local old_object = self.object
if not old_object then return end
local pos = old_object:get_pos()
if not pos then return end
old_object:remove()
local new_object = minetest.add_entity(pos, new_name, staticdata)
if not new_object then return end
local hook = (new_object:get_luaentity() or {})._on_after_convert
if hook then hook(new_object) end
end,
_convert_to = new_name,
})
@ -572,7 +592,12 @@ function mcl_mobs.register_egg(mob, desc, background_color, overlay_color, addeg
--minetest.log("min light: " .. mob_light_lvl[1])
--minetest.log("max light: " .. mob_light_lvl[2])
mcl_mobspawners.setup_spawner(pointed_thing.under, itemstack:get_name(), mob_light_lvl[1], mob_light_lvl[2])
-- Handle egg conversion
local mob_name = itemstack:get_name()
local convert_to = (minetest.registered_entities[mob_name] or {})._convert_to
if convert_to then mob_name = convert_to end
mcl_mobspawners.setup_spawner(pointed_thing.under, mob_name, mob_light_lvl[1], mob_light_lvl[2])
if not minetest.is_creative_enabled(name) then
itemstack:take_item()
end

@ -678,6 +678,7 @@ local function make_formspec(name)
image_button[2.4,0.12;0.8,0.8;craftguide_search_icon.png;search;]
image_button[3.05,0.12;0.8,0.8;craftguide_clear_icon.png;clear;]
field_close_on_enter[filter;false]
field_enter_after_edit[filter;true]
]]
fs[#fs + 1] = fmt([[ tooltip[search;%s]

@ -22,10 +22,8 @@ return {
"epCode",
"chmodsayshello",
"MrRar",
"FossFanatic ",
"SmokeyDope",
"Faerraven / Michieal",
"Codiac",
"rudzik8",
"teknomunk",
}},
@ -38,6 +36,8 @@ return {
"NO11",
"SumianVoice",
"PrairieWind",
"FossFanatic",
"Codiac",
}},
{S("Contributors"), 0x52FF00, {
"RandomLegoBrick",
@ -142,6 +142,7 @@ return {
"SOS-Games",
"Bram",
"qoheniac",
"WillConker",
}},
{S("Music"), 0xA60014, {
"Jordach for the jukebox music compilation from Big Freaking Dig",

@ -28,6 +28,7 @@ local function get_anvil_formspec(set_name)
"field[4.125,0.75;7.25,1;name;;" .. F(set_name) .. "]",
"field_close_on_enter[name;false]",
"field_enter_after_edit[name;true]",
"set_focus[name;true]",
mcl_formspec.get_itemslot_bg_v4(1.625, 2.6, 1, 1),

@ -196,7 +196,7 @@ end
mcl_stairs.register_stair_and_slab("blackstone", "mcl_blackstone:blackstone",
{cracky=3, pickaxey=1, material_stone=1},
{"mcl_blackstone_top.png", "mcl_blackstone_top.png", "mcl_blackstone_side.png"},
S("Blackstone Stairs"),
S("Blackstone Stair"),
S("Blackstone Slab"),
mcl_sounds.node_sound_stone_defaults(), 6, 2,
S("Double Blackstone Slab"), nil)
@ -204,7 +204,7 @@ mcl_stairs.register_stair_and_slab("blackstone", "mcl_blackstone:blackstone",
mcl_stairs.register_stair_and_slab("blackstone_polished", "mcl_blackstone:blackstone_polished",
{cracky=3, pickaxey=1, material_stone=1},
{"mcl_blackstone_polished.png"},
S("Polished Blackstone Stairs"),
S("Polished Blackstone Stair"),
S("Polished Blackstone Slab"),
mcl_sounds.node_sound_stone_defaults(), 6, 2,
S("Double Polished Blackstone Slab"), nil)
@ -212,7 +212,7 @@ mcl_stairs.register_stair_and_slab("blackstone_polished", "mcl_blackstone:blacks
mcl_stairs.register_stair_and_slab("blackstone_chiseled_polished", "mcl_blackstone:blackstone_chiseled_polished",
{cracky=3, pickaxey=1, material_stone=1},
{"mcl_blackstone_chiseled_polished.png"},
S("Chiseled Polished Blackstone Stairs"),
S("Chiseled Polished Blackstone Stair"),
S("Chiseled Polished Blackstone Slab"),
mcl_sounds.node_sound_stone_defaults(), 6, 2,
S("Double Chiseled Polished Blackstone Slab"), nil)
@ -220,10 +220,10 @@ mcl_stairs.register_stair_and_slab("blackstone_chiseled_polished", "mcl_blacksto
mcl_stairs.register_stair_and_slab("blackstone_brick_polished", "mcl_blackstone:blackstone_brick_polished",
{cracky=3, pickaxey=1, material_stone=1},
{"mcl_blackstone_polished_bricks.png"},
S("Polished Blackstone Brick Stair Stairs"),
S("Polished Blackstone Brick Stair Slab"),
S("Polished Blackstone Brick Stair"),
S("Polished Blackstone Brick Slab"),
mcl_sounds.node_sound_stone_defaults(), 6, 2,
S("Double Polished Blackstone Brick Stair Slab"), nil)
S("Double Polished Blackstone Brick Slab"), nil)
--Wall
mcl_walls.register_wall(

@ -9,10 +9,10 @@ Blackstone Slab=Schwarzstein Stufe
Polished Blackstone Slab=Polierte Schwarzstein Stufe
Chiseled Polished Blackstone Slab=Gemeißelte Polierte Schwarzstein Stufe
Polished Blackstone Brick Slab=Polierte Schwarzsteinziegel Stufe
Blackstone Stairs=Schwarzstein Treppe
Polished Blackstone Stairs=Polierte Schwarzstein Treppe
Chiseled Polished Blackstone Stairs=Gemeißelte Polierte Schwarzstein Treppe
Polished Blackstone Brick Stairs=Polierte Schwarzsteinziegel Treppe
Blackstone Stair=Schwarzstein Treppe
Polished Blackstone Stair=Polierte Schwarzstein Treppe
Chiseled Polished Blackstone Stair=Gemeißelte Polierte Schwarzstein Treppe
Polished Blackstone Brick Stair=Polierte Schwarzsteinziegel Treppe
Quartz Bricks=Quartz Ziegel
Soul Torch=Seelenfakel
Soul Lantern=Seelenlaterne

@ -83,6 +83,13 @@ local function respawn_doll(pos)
local mob = meta:get_string("Mob")
local doll
if mob and mob ~= "" then
-- Handle conversion of mob spawners
local convert_to = (minetest.registered_entities[mob] or {})._convert_to
if convert_to then
mob = convert_to
meta:set_string("Mob", mob)
end
doll = find_doll(pos)
if not doll then
doll = spawn_doll(pos)
@ -128,7 +135,6 @@ function mcl_mobspawners.setup_spawner(pos, Mob, MinLight, MaxLight, MaxMobsInAr
end
set_doll_properties(doll, Mob)
-- Start spawning very soon
local t = minetest.get_node_timer(pos)
t:start(2)
@ -165,7 +171,6 @@ local function spawn_mobs(pos, elapsed)
local count = 0
local ent
local timer = minetest.get_node_timer(pos)
-- spawn mob if player detected and in range
@ -367,7 +372,6 @@ doll_def.on_activate = function(self, staticdata, dtime_s)
self.object:set_velocity({x=0, y=0, z=0})
self.object:set_acceleration({x=0, y=0, z=0})
self.object:set_armor_groups({immortal=1})
end
doll_def.on_step = function(self, dtime)

@ -77,7 +77,7 @@ mcl_stairs.register_slab("granite", "mcl_core:granite",
mcl_stairs.register_stair("diorite", "mcl_core:diorite",
{pickaxey=1, material_stone=1},
{"mcl_core_diorite.png"},
S("Granite Stairs"),
S("Diorite Stairs"),
mcl_sounds.node_sound_stone_defaults(), 0.8, 0.8)
mcl_stairs.register_slab("diorite", "mcl_core:diorite",
{pickaxey=1, material_stone=1},

@ -16,6 +16,7 @@
* SOS-Games
* Bram
* qoheniac
* WillConker
### Game rename
Based on months of collecting suggestions, analysis and vetting of possible names, community voting and discussion between developers, the rename of the game has reached its conclusion! The project has been renamed to **VoxeLibre**.
@ -165,16 +166,34 @@ One of our tools, the Python script allowing conversion of Minecraft resource pa
* XP orbs related crash by teknomunk
* Ghast fireball related crash by Araca
* Crash related to server restart while a player is dead by teknomunk
* Crashes related to the new effects API - by teknomunk and Herowl
* Crashes related to the new effects API by teknomunk and Herowl
## 0.87.1 hotfix
* Fixed crash when shooting potions from a dispenser - by teknomunk
* Fixed crash related to custom mobspawners - by teknomunk
* Fixed beacon crash - by teknomunk
* Fixed eye of ender crash - by Herowl
* Fixed Stalker texture generation - by teknomunk
* Correctly refresh enchanted tool capabilities - by teknomunk
* Fixed creative inventory misbehaving - by Herowl
* Fixed variable definition in mob spawning code - by teknomunk
* Updated documentation - by Herowl and teknomunk
* Increased stack size for snowballs and eggs - by JoseDouglas26
* Fixed crash when shooting potions from a dispenser by teknomunk
* Fixed crash related to custom mobspawners by teknomunk
* Fixed beacon crash by teknomunk
* Fixed eye of ender crash by Herowl
* Fixed Stalker texture generation by teknomunk
* Correctly refresh enchanted tool capabilities by teknomunk
* Fixed creative inventory misbehaving by Herowl
* Fixed variable definition in mob spawning code by teknomunk
* Updated documentation by Herowl and teknomunk
* Increased stack size for snowballs and eggs by JoseDouglas26
## 0.87.2 hotfix
* Zombie texture improvements by SmokeyDope
* Wrong name of diorite stairs fixed by qoheniac
* Fixed flint and steel wearing down when not placing fire by JoseDouglas26 and WillConker
* Fixed brewing stands' rotation by JoseDouglas26 and WillConker
* Fixed beacon formspec by teknomunk
* Made all hollow logs breakable properly by teknomunk
* Instructions on how to eat added to the help menu by teknomunk
* Potion conversion fixed by Herowl
* Fixed some node names by seventeenthShulker
* Fixed anvil and craftguide formspecs on mobile by Herowl
* Fixed effect loading by Herowl
* Fixed crash while fighting wither by teknomunk
* Fixed crash when bonemealing sweet berry bushes by teknomunk
* Fixed some mob conversion crashes by teknomunk
* Fixed crash related to the frost walker enchantment by WillConker
* Fixed some mob-related crashes by Herowl