Compare commits

..

22 Commits

Author SHA1 Message Date
teknomunk
9d13ea0eff Start GUI 2024-06-21 19:28:02 -05:00
teknomunk
1749d0a011 Fix typo in variable name 2024-06-21 19:27:30 -05:00
teknomunk
cbc0d6d581 Implement showDeathMessages gamerule 2024-06-20 21:04:19 -05:00
teknomunk
7db07612ac Implement respawnBlocksExplode gamerule 2024-06-18 19:35:03 -05:00
teknomunk
8f84ef293b Implement doMobLoot gamerule 2024-06-18 19:25:13 -05:00
teknomunk
7b2a3c5dc7 Add fireDamage game rule (fallDamage and drowningDamage don't work in mcl_damage) 2024-06-19 02:17:07 +02:00
teknomunk
ff12b81a5e Add additional gamerules for damage types 2024-06-19 02:17:07 +02:00
teknomunk
01901f374e Fix typo 2024-06-19 02:17:07 +02:00
teknomunk
b765542775 Add gamerule naturalRegeneration and make mcl_health_regen_delay a tunable setting 2024-06-19 02:17:07 +02:00
teknomunk
f521c1bbcf Change handling of mcl_showAdvancementMessages 2024-06-19 02:17:07 +02:00
teknomunk
0878eea6c3 Nether portal delay settings 2024-06-19 02:17:07 +02:00
teknomunk
b9184b2dfe Add settings file 2024-06-19 02:17:07 +02:00
teknomunk
4eb6e86a32 Implement doVinesSpread 2024-06-19 02:17:07 +02:00
teknomunk
1df5d83f76 Add gamerule keepInventory and migrate existing setting value from mcl_keepInvetory 2024-06-19 02:17:07 +02:00
teknomunk
7793cb3cfe Add setting for damage_enabled 2024-06-19 02:17:07 +02:00
teknomunk
b96140020b Implement doDaylightCycle, add on_change hook for tunables and make sure they are not called when loaded 2024-06-19 02:17:07 +02:00
teknomunk
246d8931fd Remove debug print(), add game rules maxEntityCramming, snowAccumulationHeight 2024-06-19 02:17:07 +02:00
teknomunk
b452c828cf Fix default value handling during set (allows bool settings to be set to false), add game rules: doMobSpawning, disableRaids, doWeatherCycle, doFireTick 2024-06-19 02:17:07 +02:00
teknomunk
9c3b0aaf8e Change API so most parameters are in a definition table, add /gamerule chatcommand, implement gamerule announceAdvancements 2024-06-19 02:17:07 +02:00
teknomunk
7e2472af46 Make awards use the notification delay setting 2024-06-19 02:17:07 +02:00
teknomunk
b587f318c7 Finish initial implementation of setting tuning with get/set commands 2024-06-19 02:17:07 +02:00
teknomunk
23d3ab931d Start implementing dynamic rules/tuning 2024-06-19 02:17:07 +02:00
11 changed files with 34 additions and 91 deletions

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

@ -150,11 +150,6 @@ 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,33 +342,13 @@ 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 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
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()
end,
_convert_to = new_name,
})
@ -592,12 +572,7 @@ 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])
-- 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])
mcl_mobspawners.setup_spawner(pointed_thing.under, itemstack:get_name(), mob_light_lvl[1], mob_light_lvl[2])
if not minetest.is_creative_enabled(name) then
itemstack:take_item()
end

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

@ -28,7 +28,6 @@ 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 Stair"),
S("Blackstone Stairs"),
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 Stair"),
S("Polished Blackstone Stairs"),
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 Stair"),
S("Chiseled Polished Blackstone Stairs"),
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"),
S("Polished Blackstone Brick Slab"),
S("Polished Blackstone Brick Stair Stairs"),
S("Polished Blackstone Brick Stair Slab"),
mcl_sounds.node_sound_stone_defaults(), 6, 2,
S("Double Polished Blackstone Brick Slab"), nil)
S("Double Polished Blackstone Brick Stair 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 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
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
Quartz Bricks=Quartz Ziegel
Soul Torch=Seelenfakel
Soul Lantern=Seelenlaterne

@ -83,13 +83,6 @@ 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)
@ -135,6 +128,7 @@ 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)
@ -171,6 +165,7 @@ 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
@ -372,6 +367,7 @@ 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("Diorite Stairs"),
S("Granite 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,7 +16,6 @@
* 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**.
@ -166,34 +165,16 @@ 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
## 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
* 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