diff --git a/LICENSE.txt b/LICENSE.txt index b021ef8..feb5ba0 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,7 +1,7 @@ GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -885,6 +885,10 @@ GNU Lesser General Public License v2.1 or later - everness_mese_tree_sapling.png - everness_mese_tree_top.png - everness_mese_wood.png +- everness_hammer_mesh.png +- everness_hammer_sharp_mesh.png +- everness_hammer_sharp_item.png +- everness_hammer_item.png **CC-BY-SA-4.0, Pixel Perfection by XSSheep**, https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated @@ -1321,6 +1325,12 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/ - everness_creaky_door_open.2.ogg - everness_creaky_door_close.ogg +**CC-BY-SA-3.0, celeron55, Perttu Ahola** + +- everness_cool_lava.1.ogg +- everness_cool_lava.2.ogg +- everness_cool_lava.3.ogg + ### Models **CC-BY-SA-4.0, by SaKeL** @@ -1335,6 +1345,7 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/ - everness_lumecorn.obj - everness_skull_with_candle.obj - everness_venus_trap.obj +- everness_hammer_pick.obj **CC-BY-SA-3.0, by sofar** @@ -1354,6 +1365,7 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/ - everness_mesh_bush.blend - everness_skull_with_candle.blend - everness_venus_trap.blend +- everness_hammer_pick.blend ### Schematics diff --git a/api.lua b/api.lua index 9888fd9..a486cd2 100644 --- a/api.lua +++ b/api.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -1105,6 +1105,42 @@ local function destroy(drops, npos, cid, c_air, can_dig, owner) end end +-- Draw wear bar texture overlay +function Everness.draw_wear_bar(itemstack, wear) + local itemstack_meta = itemstack:get_meta() + local px_width = 14 + local px_one = 65535 / px_width + local px_color = px_width - math.floor(wear / px_one) + + local inventory_overlay = '[combine:16x16' + + for i = 1, px_width do + if i > px_color then + inventory_overlay = inventory_overlay .. ':' .. i .. ',14=[combine\\:1x1\\^[noalpha\\^[colorize\\:#000000\\:255' + else + local color + + if px_color < px_width / 4 then + -- below 25% + color = '#FF0000' + elseif px_color < (px_width / 4) * 2 then + -- below 50% + color = '#FFA500' + elseif px_color < (px_width / 4) * 3 then + -- below 75% + color = '#FFFF00' + else + -- above 75% + color = '#00FF00' + end + + inventory_overlay = inventory_overlay .. ':' .. i .. ',14=[combine\\:1x1\\^[noalpha\\^[colorize\\:' .. color .. '\\:255' + end + end + + itemstack_meta:set_string('inventory_overlay', inventory_overlay) +end + function Everness.hammer_after_dig_node(pos, node, metadata, digger, can_dig) if not digger then return @@ -1112,7 +1148,7 @@ function Everness.hammer_after_dig_node(pos, node, metadata, digger, can_dig) local wielditem = digger:get_wielded_item() - if wielditem:get_name() ~= 'everness:hammer' then + if not (wielditem:get_name() == 'everness:hammer' or wielditem:get_name() == 'everness:hammer_sharp') then return end @@ -1145,37 +1181,7 @@ function Everness.hammer_after_dig_node(pos, node, metadata, digger, can_dig) wielditem_meta:set_int('everness_wear', new_wear) -- Draw wear bar texture overlay - local px_width = 14 - local px_one = 65535 / px_width - local px_color = px_width - math.floor(new_wear / px_one) - - local inventory_overlay = '[combine:16x16' - - for i = 1, px_width do - if i > px_color then - inventory_overlay = inventory_overlay .. ':' .. i .. ',14=[combine\\:1x1\\^[noalpha\\^[colorize\\:#000000\\:255' - else - local color - - if px_color < px_width / 4 then - -- below 25% - color = '#FF0000' - elseif px_color < (px_width / 4) * 2 then - -- below 50% - color = '#FFA500' - elseif px_color < (px_width / 4) * 3 then - -- below 75% - color = '#FFFF00' - else - -- above 75% - color = '#00FF00' - end - - inventory_overlay = inventory_overlay .. ':' .. i .. ',14=[combine\\:1x1\\^[noalpha\\^[colorize\\:' .. color .. '\\:255' - end - end - - wielditem_meta:set_string('inventory_overlay', inventory_overlay) + Everness.draw_wear_bar(wielditem, new_wear) if wielditem_wear > 65535 then -- Break tool @@ -1185,7 +1191,9 @@ function Everness.hammer_after_dig_node(pos, node, metadata, digger, can_dig) }, true) digger:set_wielded_item(ItemStack('')) - elseif wielditem:get_name() == 'everness:hammer' then + elseif wielditem:get_name() == 'everness:hammer' + or wielditem:get_name() == 'everness:hammer_sharp' + then -- Save wear digger:set_wielded_item(wielditem) end @@ -1199,7 +1207,16 @@ function Everness.hammer_after_dig_node(pos, node, metadata, digger, can_dig) for x = -radius, radius do local r = vector.length(vector.new(x, y, z)) - if (radius * radius) / (r * r) >= (pr:next(30, 60) / 100) then + if wielditem:get_name() == 'everness:hammer' then + if (radius * radius) / (r * r) >= (pr:next(30, 60) / 100) then + local cid = data[vi] + local p = vector.new(pos.x + x, pos.y + y, pos.z + z) + + if cid ~= c_air and cid ~= c_ignore then + data[vi] = destroy(drops, p, cid, c_air, can_dig, p_name) + end + end + else local cid = data[vi] local p = vector.new(pos.x + x, pos.y + y, pos.z + z) @@ -1288,3 +1305,71 @@ function Everness.hammer_after_dig_node(pos, node, metadata, digger, can_dig) }) end end + +-- Function triggered for each qualifying node. +-- `dtime_s` is the in-game time (in seconds) elapsed since the block +-- was last active +function Everness.cool_lava(pos, node, dtime_s, prev_cool_lava_action) + if node.name == 'default:lava_source' or node.name == 'mcl_core:lava_source' then + if math.random(1, 5) == 1 then + local obi_nodes = { + { name = 'everness:blue_crying_obsidian', color = '#2978A6'}, + { name = 'everness:blue_weeping_obsidian', color = '#25B8FF'}, + { name = 'everness:weeping_obsidian', color = '#C90FFF'}, + } + local rand_node = obi_nodes[math.random(1, #obi_nodes)] + + minetest.set_node(pos, { + name = rand_node.name + }) + + minetest.sound_play('everness_cool_lava', + { + pos = pos, + max_hear_distance = 16, + gain = 0.2 + }, + true + ) + + if minetest.has_feature({ dynamic_add_media_table = true, particlespawner_tweenable = true }) then + -- new syntax, after v5.6.0 + minetest.add_particlespawner({ + amount = 80, + time = 1, + size = { + min = 0.5, + max = 1, + }, + exptime = 1, + pos = pos, + glow = 7, + attract = { + kind = 'point', + strength = 0.5, + origin = pos, + die_on_contact = true + }, + radius = 3, + texture = { + name = 'everness_particle.png^[colorize:' .. rand_node.color .. ':255', + alpha_tween = { + 0, 1, + style = 'fwd', + reps = 1 + }, + scale_tween = { + 0.25, 1, + style = 'fwd', + reps = 1 + } + } + }) + end + else + prev_cool_lava_action(pos, node, dtime_s) + end + else + prev_cool_lava_action(pos, node, dtime_s) + end +end diff --git a/bamboo.lua b/bamboo.lua index 08d8e2f..d3edfb9 100644 --- a/bamboo.lua +++ b/bamboo.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/crafting.lua b/crafting.lua index 6dfd11f..de5d8dd 100644 --- a/crafting.lua +++ b/crafting.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -712,6 +712,15 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'everness:hammer_sharp', + recipe = { + { 'everness:pyriteblock_forged', 'everness:pyriteblock_forged', 'everness:pyriteblock_forged' }, + { 'everness:pyriteblock_forged', 'everness:hammer', 'everness:pyriteblock_forged' }, + { '', 'everness:hammer', '' } + } +}) + -- -- Fuels -- diff --git a/craftitems.lua b/craftitems.lua index 98bcc2d..d83c1b4 100644 --- a/craftitems.lua +++ b/craftitems.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/doors.lua b/doors.lua index cd501b7..ee7edfa 100644 --- a/doors.lua +++ b/doors.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/env_sounds.lua b/env_sounds.lua index 83164a5..d9337fd 100644 --- a/env_sounds.lua +++ b/env_sounds.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/fences.lua b/fences.lua index 6378747..94bfb00 100644 --- a/fences.lua +++ b/fences.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/functions.lua b/functions.lua index baa3557..f26b355 100644 --- a/functions.lua +++ b/functions.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -794,3 +794,72 @@ minetest.register_abm({ minetest.add_particlespawner(particlespawner_def) end }) + +-- Override lava cooling to include some variations of obsidian +minetest.register_on_mods_loaded(function() + for _, abm in pairs(minetest.registered_abms) do + if abm.label == 'Lava cooling' and abm.action ~= nil then + local prev_cool_lava_action = abm.action + + abm.action = function(pos, node, dtime_s) + Everness.cool_lava(pos, node, dtime_s, prev_cool_lava_action) + end + end + end +end) + +-- Calculates `everness:hammer_sharp` wear when crafting +minetest.register_craft_predict(function(itemstack, player, old_craft_grid, craft_inv) + if itemstack and itemstack:get_name() == 'everness:hammer_sharp' then + local stack_meta = itemstack:get_meta() + local hammers = 0 + local wear_total = 0 + + for k, stack in pairs(old_craft_grid) do + if stack:get_name() == 'everness:hammer' then + local meta = stack:get_meta() + wear_total = wear_total + meta:get_int('everness_wear') + hammers = hammers + 1 + end + end + + local average_wear = wear_total / hammers + + stack_meta:set_int('everness_wear', math.ceil(average_wear)) + + -- Draw wear bar texture overlay + if average_wear > 0 then + Everness.draw_wear_bar(itemstack, average_wear) + end + + return itemstack + end +end) + +-- Calculates `everness:hammer_sharp` wear when crafting +minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + if itemstack and itemstack:get_name() == 'everness:hammer_sharp' then + local stack_meta = itemstack:get_meta() + local hammers = 0 + local wear_total = 0 + + for k, stack in pairs(old_craft_grid) do + if stack:get_name() == 'everness:hammer' then + local meta = stack:get_meta() + wear_total = wear_total + meta:get_int('everness_wear') + hammers = hammers + 1 + end + end + + local average_wear = wear_total / hammers + + stack_meta:set_int('everness_wear', math.ceil(average_wear)) + + -- Draw wear bar texture overlay + if average_wear > 0 then + Everness.draw_wear_bar(itemstack, average_wear) + end + + return itemstack + end +end) diff --git a/init.lua b/init.lua index 16b7ea1..b32681f 100644 --- a/init.lua +++ b/init.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/loot_chests.lua b/loot_chests.lua index f1bb8e1..3b69e04 100644 --- a/loot_chests.lua +++ b/loot_chests.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen.lua b/mapgen.lua index 95d9257..d670cc7 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_after.lua b/mapgen_after.lua index 1e96008..af99e94 100644 --- a/mapgen_after.lua +++ b/mapgen_after.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_bamboo_forest.lua b/mapgen_bamboo_forest.lua index 0fe26ff..24e7155 100644 --- a/mapgen_bamboo_forest.lua +++ b/mapgen_bamboo_forest.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_bamboo_forest_under.lua b/mapgen_bamboo_forest_under.lua index 935875f..2a53184 100644 --- a/mapgen_bamboo_forest_under.lua +++ b/mapgen_bamboo_forest_under.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_baobab_savanna.lua b/mapgen_baobab_savanna.lua index adbf033..37c80c5 100644 --- a/mapgen_baobab_savanna.lua +++ b/mapgen_baobab_savanna.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_coral_forest.lua b/mapgen_coral_forest.lua index 91ce396..90f1c20 100644 --- a/mapgen_coral_forest.lua +++ b/mapgen_coral_forest.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_coral_forest_deep_ocean.lua b/mapgen_coral_forest_deep_ocean.lua index d95f281..b040131 100644 --- a/mapgen_coral_forest_deep_ocean.lua +++ b/mapgen_coral_forest_deep_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_coral_forest_dunes.lua b/mapgen_coral_forest_dunes.lua index 06dd199..add7161 100644 --- a/mapgen_coral_forest_dunes.lua +++ b/mapgen_coral_forest_dunes.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_coral_forest_ocean.lua b/mapgen_coral_forest_ocean.lua index 88b0dc8..d95e669 100644 --- a/mapgen_coral_forest_ocean.lua +++ b/mapgen_coral_forest_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_coral_forest_under.lua b/mapgen_coral_forest_under.lua index 0c3e284..3d818dd 100644 --- a/mapgen_coral_forest_under.lua +++ b/mapgen_coral_forest_under.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_crystal_forest.lua b/mapgen_crystal_forest.lua index 1b11a0e..93dd061 100644 --- a/mapgen_crystal_forest.lua +++ b/mapgen_crystal_forest.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_crystal_forest_deep_ocean.lua b/mapgen_crystal_forest_deep_ocean.lua index 0d60369..8138fc8 100644 --- a/mapgen_crystal_forest_deep_ocean.lua +++ b/mapgen_crystal_forest_deep_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_crystal_forest_dunes.lua b/mapgen_crystal_forest_dunes.lua index 7f67801..6fb0101 100644 --- a/mapgen_crystal_forest_dunes.lua +++ b/mapgen_crystal_forest_dunes.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_crystal_forest_ocean.lua b/mapgen_crystal_forest_ocean.lua index 1867eae..a7b02ec 100644 --- a/mapgen_crystal_forest_ocean.lua +++ b/mapgen_crystal_forest_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_crystal_forest_shore.lua b/mapgen_crystal_forest_shore.lua index 811a50d..1fe1f1f 100644 --- a/mapgen_crystal_forest_shore.lua +++ b/mapgen_crystal_forest_shore.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_crystal_forest_under.lua b/mapgen_crystal_forest_under.lua index 6e00889..9a361b6 100644 --- a/mapgen_crystal_forest_under.lua +++ b/mapgen_crystal_forest_under.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_cursed_lands.lua b/mapgen_cursed_lands.lua index 4d5a0fa..aec0ca9 100644 --- a/mapgen_cursed_lands.lua +++ b/mapgen_cursed_lands.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_cursed_lands_deep_ocean.lua b/mapgen_cursed_lands_deep_ocean.lua index 858e8d6..128f94e 100644 --- a/mapgen_cursed_lands_deep_ocean.lua +++ b/mapgen_cursed_lands_deep_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_cursed_lands_dunes.lua b/mapgen_cursed_lands_dunes.lua index f1dd5b2..e48a9e7 100644 --- a/mapgen_cursed_lands_dunes.lua +++ b/mapgen_cursed_lands_dunes.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_cursed_lands_ocean.lua b/mapgen_cursed_lands_ocean.lua index fc9f03a..9a875fe 100644 --- a/mapgen_cursed_lands_ocean.lua +++ b/mapgen_cursed_lands_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_cursed_lands_swamp.lua b/mapgen_cursed_lands_swamp.lua index bb2dff5..59c637c 100644 --- a/mapgen_cursed_lands_swamp.lua +++ b/mapgen_cursed_lands_swamp.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_cursed_lands_under.lua b/mapgen_cursed_lands_under.lua index e453efe..ea6c490 100644 --- a/mapgen_cursed_lands_under.lua +++ b/mapgen_cursed_lands_under.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_forsaken_desert.lua b/mapgen_forsaken_desert.lua index 19055fa..1f854da 100644 --- a/mapgen_forsaken_desert.lua +++ b/mapgen_forsaken_desert.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_forsaken_desert_ocean.lua b/mapgen_forsaken_desert_ocean.lua index d8ddc68..dff383c 100644 --- a/mapgen_forsaken_desert_ocean.lua +++ b/mapgen_forsaken_desert_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_forsaken_desert_under.lua b/mapgen_forsaken_desert_under.lua index 51262f5..6dbf737 100644 --- a/mapgen_forsaken_desert_under.lua +++ b/mapgen_forsaken_desert_under.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_forsaken_tundra.lua b/mapgen_forsaken_tundra.lua index 7d8c6db..0bdca69 100644 --- a/mapgen_forsaken_tundra.lua +++ b/mapgen_forsaken_tundra.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_forsaken_tundra_beach.lua b/mapgen_forsaken_tundra_beach.lua index 9a91e8b..f2b67e1 100644 --- a/mapgen_forsaken_tundra_beach.lua +++ b/mapgen_forsaken_tundra_beach.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_forsaken_tundra_ocean.lua b/mapgen_forsaken_tundra_ocean.lua index e45ad86..5dce6ab 100644 --- a/mapgen_forsaken_tundra_ocean.lua +++ b/mapgen_forsaken_tundra_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_forsaken_tundra_under.lua b/mapgen_forsaken_tundra_under.lua index d675811..7de428e 100644 --- a/mapgen_forsaken_tundra_under.lua +++ b/mapgen_forsaken_tundra_under.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_frosted_icesheet.lua b/mapgen_frosted_icesheet.lua index 9cd8904..bca798d 100644 --- a/mapgen_frosted_icesheet.lua +++ b/mapgen_frosted_icesheet.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_frosted_icesheet_ocean.lua b/mapgen_frosted_icesheet_ocean.lua index 7271b7f..8ef1682 100644 --- a/mapgen_frosted_icesheet_ocean.lua +++ b/mapgen_frosted_icesheet_ocean.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mapgen_frosted_icesheet_under.lua b/mapgen_frosted_icesheet_under.lua index bfd253d..f39364f 100644 --- a/mapgen_frosted_icesheet_under.lua +++ b/mapgen_frosted_icesheet_under.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mod_support_mcl.lua b/mod_support_mcl.lua index 2bc6fc3..12b42ff 100644 --- a/mod_support_mcl.lua +++ b/mod_support_mcl.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mod_support_mcl_aliases.lua b/mod_support_mcl_aliases.lua index 8b42579..ce5f432 100644 --- a/mod_support_mcl_aliases.lua +++ b/mod_support_mcl_aliases.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mod_support_rp_aliases.lua b/mod_support_rp_aliases.lua index 76dc3c7..4a124b4 100644 --- a/mod_support_rp_aliases.lua +++ b/mod_support_rp_aliases.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mod_support_x_farming.lua b/mod_support_x_farming.lua index a0d88ac..aa26ad7 100644 --- a/mod_support_x_farming.lua +++ b/mod_support_x_farming.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mod_support_x_obsidianmese.lua b/mod_support_x_obsidianmese.lua index 4e1af67..7679929 100644 --- a/mod_support_x_obsidianmese.lua +++ b/mod_support_x_obsidianmese.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/mod_support_x_tumbleweed.lua b/mod_support_x_tumbleweed.lua index 39bccc5..62df3a5 100644 --- a/mod_support_x_tumbleweed.lua +++ b/mod_support_x_tumbleweed.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/nodes_farming.lua b/nodes_farming.lua index 418ddc8..68f716c 100644 --- a/nodes_farming.lua +++ b/nodes_farming.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/panes.lua b/panes.lua index 6d45ee1..9b8f151 100644 --- a/panes.lua +++ b/panes.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/scripts/deploy.js b/scripts/deploy.js index f1ffcd7..a8249d1 100644 --- a/scripts/deploy.js +++ b/scripts/deploy.js @@ -1,6 +1,6 @@ /** * Deploy code to CDB - * Copyright (C) 2023 SaKeL + * Copyright (C) 2024 SaKeL * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/sneak_pickup.lua b/sneak_pickup.lua index af8b86d..2127aa6 100644 --- a/sneak_pickup.lua +++ b/sneak_pickup.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/sounds/everness_cool_lava.1.ogg b/sounds/everness_cool_lava.1.ogg new file mode 100644 index 0000000..42506dd Binary files /dev/null and b/sounds/everness_cool_lava.1.ogg differ diff --git a/sounds/everness_cool_lava.2.ogg b/sounds/everness_cool_lava.2.ogg new file mode 100644 index 0000000..2747ab8 Binary files /dev/null and b/sounds/everness_cool_lava.2.ogg differ diff --git a/sounds/everness_cool_lava.3.ogg b/sounds/everness_cool_lava.3.ogg new file mode 100644 index 0000000..8baeac3 Binary files /dev/null and b/sounds/everness_cool_lava.3.ogg differ diff --git a/stairs.lua b/stairs.lua index 0cc17f4..4a50234 100644 --- a/stairs.lua +++ b/stairs.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/textures/everness_hammer_item.png b/textures/everness_hammer_item.png index 031997c..1f47262 100644 Binary files a/textures/everness_hammer_item.png and b/textures/everness_hammer_item.png differ diff --git a/textures/everness_hammer_mesh.png b/textures/everness_hammer_mesh.png index 183a803..74736eb 100644 Binary files a/textures/everness_hammer_mesh.png and b/textures/everness_hammer_mesh.png differ diff --git a/textures/everness_hammer_sharp_item.png b/textures/everness_hammer_sharp_item.png new file mode 100644 index 0000000..1fecdba Binary files /dev/null and b/textures/everness_hammer_sharp_item.png differ diff --git a/textures/everness_hammer_sharp_mesh.png b/textures/everness_hammer_sharp_mesh.png new file mode 100644 index 0000000..e36ef13 Binary files /dev/null and b/textures/everness_hammer_sharp_mesh.png differ diff --git a/tools.lua b/tools.lua index e3093d1..4987303 100644 --- a/tools.lua +++ b/tools.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -218,6 +218,7 @@ minetest.register_tool('everness:shell_of_underwater_breathing', { -- minetest.register_on_mods_loaded(function() + -- Hammer functionality and populating `cid_data` for lated VoxelManipulation for name, def in pairs(minetest.registered_nodes) do if def.walkable and def.pointable and def.diggable then local prev_after_dig = def.after_dig_node @@ -302,3 +303,61 @@ minetest.register_node('everness:hammer', { end end }) + +minetest.register_node('everness:hammer_sharp', { + description = S('Sharp') .. ' ' .. S('Hammer'), + mod_origin = 'evermess', + inventory_image = 'everness_hammer_sharp_item.png', + use_texture_alpha = 'clip', + drawtype = 'mesh', + mesh = 'everness_hammer_pick.obj', + tiles = { 'everness_hammer_sharp_mesh.png' }, + wield_scale = { x = 2, y = 2, z = 2 }, + node_placement_prediction = '', + range = 4.0, + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level = 3, + groupcaps = { + cracky = { times = { [1] = 2.0, [2] = 1.0, [3] = 0.50 }, uses = 30, maxlevel = 3 }, + }, + damage_groups = { fleshy = 5 }, + -- MCL + punch_attack_uses = 781, + }, + stack_max = 1, + sound = { breaks = 'everness_tool_breaks' }, + -- MCL + _mcl_toollike_wield = true, + groups = { + -- MCL + tool = 1, + dig_speed_class = 5 + }, + -- MCL + _mcl_diggroups = { + pickaxey = { speed = 8, level = 5, uses = 1562 } + }, + on_place = function(itemstack, placer, pointed_thing) + -- disable placing (returns `nil`) + if pointed_thing.type == 'node' then + local pos = minetest.get_pointed_thing_position(pointed_thing) + + if not pos or not placer then + return + end + + local pointed_node = minetest.get_node(pos) + local pointed_node_def = minetest.registered_nodes[pointed_node.name] + + if not pointed_node then + return + end + + -- check if we have to use default on_place first + if pointed_node_def.on_rightclick then + return pointed_node_def.on_rightclick(pos, pointed_node, placer, itemstack, pointed_thing) + end + end + end +}) diff --git a/trees.lua b/trees.lua index c08b48f..9b4a271 100644 --- a/trees.lua +++ b/trees.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/vines.lua b/vines.lua index 1a7f002..573c534 100644 --- a/vines.lua +++ b/vines.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/walls.lua b/walls.lua index 5b37a40..aba5824 100644 --- a/walls.lua +++ b/walls.lua @@ -1,6 +1,6 @@ --[[ Everness. Never ending discovery in Everness mapgen. - Copyright (C) 2023 SaKeL + Copyright (C) 2024 SaKeL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public