diff --git a/minetestforfun_game/game.conf b/minetestforfun_game/game.conf index 8b819bb9..ac53b365 100755 --- a/minetestforfun_game/game.conf +++ b/minetestforfun_game/game.conf @@ -1 +1 @@ -name = Minetest +name = minetestforfun_game \ No newline at end of file diff --git a/minetestforfun_game/mods/boats/init.lua b/minetestforfun_game/mods/boats/init.lua index da013ab5..12126988 100644 --- a/minetestforfun_game/mods/boats/init.lua +++ b/minetestforfun_game/mods/boats/init.lua @@ -32,7 +32,7 @@ end local boat = { physical = true, - collisionbox = {-0.5, -0.4, -0.5, 0.5, 0.3, 0.5}, + collisionbox = {-0.6, -0.4, -0.6, 0.6, 0.3, 0.6}, visual = "mesh", mesh = "boat.x", textures = {"default_wood.png"}, @@ -80,20 +80,16 @@ function boat.on_punch(self, puncher, time_from_last_punch, tool_capabilities, d if not puncher or not puncher:is_player() or self.removed then return end - if self.driver and puncher == self.driver then - self.driver = nil - puncher:set_detach() - default.player_attached[puncher:get_player_name()] = false - end - if not self.driver then - self.removed = true - -- delay remove to ensure player is detached - minetest.after(0.1, function() - self.object:remove() - end) - if not minetest.setting_getbool("creative_mode") then - puncher:get_inventory():add_item("main", "boats:boat") - end + puncher:set_detach() + default.player_attached[puncher:get_player_name()] = false + + self.removed = true + -- delay remove to ensure player is detached + minetest.after(0.1, function() + self.object:remove() + end) + if not minetest.setting_getbool("creative_mode") then + puncher:get_inventory():add_item("main", "boats:boat") end end @@ -104,17 +100,19 @@ function boat.on_step(self, dtime) local yaw = self.object:getyaw() if ctrl.up then self.v = self.v + 0.1 - elseif ctrl.down then - self.v = self.v - 0.1 + end + if ctrl.down then + self.v = self.v - 0.08 end if ctrl.left then - if self.v < 0 then + if ctrl.down then self.object:setyaw(yaw - (1 + dtime) * 0.03) else self.object:setyaw(yaw + (1 + dtime) * 0.03) end - elseif ctrl.right then - if self.v < 0 then + end + if ctrl.right then + if ctrl.down then self.object:setyaw(yaw + (1 + dtime) * 0.03) else self.object:setyaw(yaw - (1 + dtime) * 0.03) @@ -123,7 +121,6 @@ function boat.on_step(self, dtime) end local velo = self.object:getvelocity() if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then - self.object:setpos(self.object:getpos()) return end local s = get_sign(self.v) @@ -147,33 +144,30 @@ function boat.on_step(self, dtime) self.v = 0 new_acce = {x = 0, y = 1, z = 0} else - new_acce = {x = 0, y = -9.8, z = 0} + new_acce = {x = 0, y = -9.8, z = 0} -- freefall in air -9.81 end new_velo = get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y) - self.object:setpos(self.object:getpos()) else p.y = p.y + 1 if is_water(p) then + new_acce = {x = 0, y = 3, z = 0} local y = self.object:getvelocity().y - if y >= 4.5 then - y = 4.5 - elseif y < 0 then - new_acce = {x = 0, y = 20, z = 0} - else - new_acce = {x = 0, y = 5, z = 0} + if y > 2 then + y = 2 + end + if y < 0 then + self.object:setacceleration({x = 0, y = 10, z = 0}) end new_velo = get_velocity(self.v, self.object:getyaw(), y) - self.object:setpos(self.object:getpos()) else new_acce = {x = 0, y = 0, z = 0} - if math.abs(self.object:getvelocity().y) < 1 then + if math.abs(self.object:getvelocity().y) <= 2 then local pos = self.object:getpos() pos.y = math.floor(pos.y) + 0.5 self.object:setpos(pos) new_velo = get_velocity(self.v, self.object:getyaw(), 0) else new_velo = get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y) - self.object:setpos(self.object:getpos()) end end end @@ -183,6 +177,7 @@ end minetest.register_entity("boats:boat", boat) + minetest.register_craftitem("boats:boat", { description = "Boat", inventory_image = "boat_inventory.png", @@ -214,4 +209,3 @@ minetest.register_craft({ {"group:wood", "group:wood", "group:wood"}, }, }) - diff --git a/minetestforfun_game/mods/default/craftitems.lua b/minetestforfun_game/mods/default/craftitems.lua index 539f6b43..fcd76240 100644 --- a/minetestforfun_game/mods/default/craftitems.lua +++ b/minetestforfun_game/mods/default/craftitems.lua @@ -2,12 +2,15 @@ minetest.register_craftitem("default:stick", { description = "Stick", + stack_max = 1000, inventory_image = "default_stick.png", - groups = {stick=1}, + wield_image = "default_stick.png^[transformR90", + groups = {stick = 1}, }) minetest.register_craftitem("default:paper", { description = "Paper", + wield_scale = {x = 1, y = 1, z = 0.25}, inventory_image = "default_paper.png", }) @@ -19,18 +22,23 @@ minetest.register_craftitem("default:book", { minetest.register_craftitem("default:coal_lump", { description = "Coal Lump", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_coal_lump.png", groups = {coal = 1} }) minetest.register_craftitem("default:iron_lump", { description = "Iron Lump", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_iron_lump.png", + groups = {ingot_lump = 1}, }) minetest.register_craftitem("default:copper_lump", { description = "Copper Lump", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_copper_lump.png", + groups = {ingot_lump = 1}, }) minetest.register_craftitem("default:mese_crystal", { @@ -40,7 +48,9 @@ minetest.register_craftitem("default:mese_crystal", { minetest.register_craftitem("default:gold_lump", { description = "Gold Lump", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_gold_lump.png", + groups = {ingot_lump = 1}, }) minetest.register_craftitem("default:diamond", { @@ -50,27 +60,37 @@ minetest.register_craftitem("default:diamond", { minetest.register_craftitem("default:clay_lump", { description = "Clay Lump", + stack_max = 200, + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_clay_lump.png", }) minetest.register_craftitem("default:steel_ingot", { description = "Steel Ingot", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_steel_ingot.png", + groups = {ingot = 1}, }) minetest.register_craftitem("default:copper_ingot", { description = "Copper Ingot", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_copper_ingot.png", + groups = {ingot = 1}, }) minetest.register_craftitem("default:bronze_ingot", { description = "Bronze Ingot", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_bronze_ingot.png", + groups = {ingot = 1}, }) minetest.register_craftitem("default:gold_ingot", { description = "Gold Ingot", - inventory_image = "default_gold_ingot.png" + wield_scale = {x = 1, y = 1, z = 2}, + inventory_image = "default_gold_ingot.png", + groups = {ingot = 1}, }) minetest.register_craftitem("default:mese_crystal_fragment", { @@ -80,9 +100,15 @@ minetest.register_craftitem("default:mese_crystal_fragment", { minetest.register_craftitem("default:clay_brick", { description = "Clay Brick", + wield_scale = {x = 1, y = 1, z = 2}, inventory_image = "default_clay_brick.png", }) +minetest.register_craftitem("default:scorched_stuff", { + description = "Scorched Stuff", + inventory_image = "default_scorched_stuff.png", +}) + minetest.register_craftitem("default:obsidian_shard", { description = "Obsidian Shard", inventory_image = "default_obsidian_shard.png", diff --git a/minetestforfun_game/mods/default/init.lua b/minetestforfun_game/mods/default/init.lua index 276af543..792b367f 100644 --- a/minetestforfun_game/mods/default/init.lua +++ b/minetestforfun_game/mods/default/init.lua @@ -5,8 +5,8 @@ WATER_ALPHA = 160 WATER_VISC = 1 -LAVA_VISC = 7 -LIGHT_MAX = 14 +LAVA_VISC = 3 -- Slower movement in lava. +LIGHT_MAX = 14 -- 15 is reserved for sunlight. -- Definitions made by this mod that other mods can use too default = {} @@ -46,3 +46,102 @@ dofile(minetest.get_modpath("default").."/mapgen.lua") dofile(minetest.get_modpath("default").."/player.lua") dofile(minetest.get_modpath("default").."/trees.lua") dofile(minetest.get_modpath("default").."/aliases.lua") + +-- Code below by Casimir. + +local function count_items() + local i = 0 + local number = 0 + for name, item in pairs(minetest.registered_items) do + if (name and name ~= "") then + number = number + 1 + end + i = i + 1 + end + minetest.log("action", "There are " .. number .. " registered nodes, items and tools.") +end + +local function player_join_sounds() + minetest.register_on_joinplayer(function() + minetest.sound_play("player_join", {gain = 0.75}) + end) +end + +local function player_leave_sounds() + minetest.register_on_leaveplayer(function() + minetest.sound_play("player_leave", {gain = 1}) + end) +end + +minetest.after(1, count_items) +minetest.after(5, player_join_sounds) +minetest.after(5, player_leave_sounds) + +hotbar_size = minetest.setting_get("hotbar_size") or 16 + +minetest.register_on_joinplayer(function(player) + player:set_physics_override({ + sneak_glitch = false, -- Climable blocks are quite fast in Carbone. + }) + player:hud_set_hotbar_itemcount(hotbar_size) +end) + +minetest.register_on_respawnplayer(function(player) + player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}) + local pos = player:getpos() + -- minetest.sound_play("player_join", {pos = pos, gain = 0.5}) +end) + +minetest.register_on_item_eat(function(hp_change, replace_with_item, itemstack, user, pointed_thing) + if user:get_hp() >= 20 then return itemstack end + local pos = user:getpos() + minetest.sound_play("health_gain", {pos = pos, gain = 0.4}) +end) + +minetest.log("action", "") -- Empty line. +minetest.log("action", "") -- Empty line. + +if minetest.setting_getbool("creative_mode") then + minetest.log("action", "Creative mode is enabled.") + else + minetest.log("action", "Creative mode is disabled.") +end + +if minetest.setting_getbool("enable_damage") then + minetest.log("action", "Damage is enabled.") + else + minetest.log("action", "Damage is disabled.") +end + +if minetest.setting_getbool("enable_pvp") then + minetest.log("action", "PvP is enabled.") + else + minetest.log("action", "PvP is disabled.") +end + +if not minetest.is_singleplayer() and minetest.setting_getbool("server_announce") then + minetest.log("action", "") -- Empty line. + minetest.log("action", "Server name: " .. minetest.setting_get("server_name") or "(none)") + minetest.log("action", "Server description: " .. minetest.setting_get("server_description") or "(none)") + minetest.log("action", "Server URL: " .. minetest.setting_get("server_address") or "(none)") + minetest.log("action", "MOTD: " .. minetest.setting_get("motd") or "(none)") + minetest.log("action", "Maximum users: " .. minetest.setting_get("max_users") or 15) +end + +minetest.log("action", "") -- Empty line. +minetest.log("action", "") -- Empty line. + +-- Reserved slot handling: + +minetest.register_on_prejoinplayer(function(name, ip) + if #minetest.get_connected_players() >= (minetest.setting_get("max_users") - 2) + and not minetest.check_player_privs(name, {server = true}) then + return "Sorry, 2 slots are reserved for administrators." + end +end) + + +if minetest.setting_getbool("log_mods") then + -- Highlight the default mod in the mod loading logs: + minetest.log("action", "Carbone: * [default] loaded.") +end diff --git a/minetestforfun_game/mods/default/player.lua b/minetestforfun_game/mods/default/player.lua index 688ef62f..017a6172 100644 --- a/minetestforfun_game/mods/default/player.lua +++ b/minetestforfun_game/mods/default/player.lua @@ -16,7 +16,7 @@ end -- Default player appearance default.player_register_model("character.x", { - animation_speed = 30, + animation_speed = 35, textures = {"character.png", }, animations = { -- Standard animations. @@ -94,15 +94,18 @@ end minetest.register_on_joinplayer(function(player) default.player_attached[player:get_player_name()] = false default.player_set_model(player, "character.x") - player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 30) + player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 35) -- set GUI - if not minetest.setting_getbool("creative_mode") then - player:set_inventory_formspec(default.gui_suvival_form) + if minetest.setting_getbool("creative_mode") then + -- creative.set_creative_formspec(player, 0, 1) + else + player:set_inventory_formspec(gui_suvival_form) end - player:hud_set_hotbar_image("gui_hotbar.png") - player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") -end) + minetest.after(0.5,function() + player:hud_set_hotbar_image("gui_hotbar.png") + player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") + end) minetest.register_on_leaveplayer(function(player) local name = player:get_player_name() @@ -124,7 +127,7 @@ minetest.register_globalstep(function(dtime) if model and not player_attached[name] then local controls = player:get_player_control() local walking = false - local animation_speed_mod = model.animation_speed or 30 + local animation_speed_mod = model.animation_speed or 35 -- Determine if the player is walking if controls.up or controls.down or controls.left or controls.right then @@ -138,21 +141,22 @@ minetest.register_globalstep(function(dtime) -- Apply animations based on what the player is doing if player:get_hp() == 0 then - player_set_animation(player, "lay") + player_set_animation(player, "lay", animation_speed_mod) + player:set_eye_offset({x = 0, y = -10, z = 0}, {x = 0 elseif walking then if player_sneak[name] ~= controls.sneak then player_anim[name] = nil player_sneak[name] = controls.sneak end - if controls.LMB then + if controls.LMB or controls.RMB then player_set_animation(player, "walk_mine", animation_speed_mod) else player_set_animation(player, "walk", animation_speed_mod) end - elseif controls.LMB then - player_set_animation(player, "mine") + elseif controls.LMB or controls.RMB then + player_set_animation(player, "mine", animation_spee else - player_set_animation(player, "stand", animation_speed_mod) + player_set_animation(player, "stand", animation_speed_mod * 0.4) end end end diff --git a/minetestforfun_game/mods/default/textures/crack_anylength.png b/minetestforfun_game/mods/default/textures/crack_anylength.png index 2788dc1d..dd3aac9a 100644 Binary files a/minetestforfun_game/mods/default/textures/crack_anylength.png and b/minetestforfun_game/mods/default/textures/crack_anylength.png differ diff --git a/minetestforfun_game/mods/default/textures/default_grass.png b/minetestforfun_game/mods/default/textures/default_grass.png index 8cd9e1fe..3a82a0eb 100644 Binary files a/minetestforfun_game/mods/default/textures/default_grass.png and b/minetestforfun_game/mods/default/textures/default_grass.png differ diff --git a/minetestforfun_game/mods/default/textures/default_grass_side.png b/minetestforfun_game/mods/default/textures/default_grass_side.png index a8a2bb3c..5f4aee59 100644 Binary files a/minetestforfun_game/mods/default/textures/default_grass_side.png and b/minetestforfun_game/mods/default/textures/default_grass_side.png differ diff --git a/minetestforfun_game/mods/default/textures/default_steel_block.png b/minetestforfun_game/mods/default/textures/default_steel_block.png index 0f7918ee..789cc5a0 100644 Binary files a/minetestforfun_game/mods/default/textures/default_steel_block.png and b/minetestforfun_game/mods/default/textures/default_steel_block.png differ diff --git a/minetestforfun_game/mods/default/textures/default_steel_ingot.png b/minetestforfun_game/mods/default/textures/default_steel_ingot.png index 4babe963..1357a714 100644 Binary files a/minetestforfun_game/mods/default/textures/default_steel_ingot.png and b/minetestforfun_game/mods/default/textures/default_steel_ingot.png differ diff --git a/minetestforfun_game/mods/default/tools.lua b/minetestforfun_game/mods/default/tools.lua index 25cf81b1..e65aec37 100644 --- a/minetestforfun_game/mods/default/tools.lua +++ b/minetestforfun_game/mods/default/tools.lua @@ -4,16 +4,16 @@ minetest.register_item(":", { type = "none", wield_image = "wieldhand.png", - wield_scale = {x=1,y=1,z=2.5}, + range = 5, tool_capabilities = { - full_punch_interval = 0.9, + full_punch_interval = 0.8, max_drop_level = 0, groupcaps = { - crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, - snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, - oddly_breakable_by_hand = {times={[1]=3.50,[2]=2.00,[3]=0.70}, uses=0} + crumbly = {times = {[2] = 2.75, [3] = 0.65}, uses = 0, maxlevel = 1}, + snappy = {times = {[3] = 0.25}, uses = 0, maxlevel = 1}, + oddly_breakable_by_hand = {times = {[1] = 3.50, [2] = 2.00, [3] = 0.65}, uses = 0} }, - damage_groups = {fleshy=1}, + damage_groups = {fleshy = 2}, } }) @@ -26,47 +26,89 @@ minetest.register_tool("default:pick_wood", { inventory_image = "default_tool_woodpick.png", tool_capabilities = { full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - cracky = {times={[3]=1.60}, uses=10, maxlevel=1}, + max_drop_level = 0, + groupcaps = { + cracky = {times = {[1] = 6.5, [2] = 2.0, [3] = 1.2}, uses = 20, maxlevel = 1}, }, - damage_groups = {fleshy=2}, + damage_groups = {fleshy = 3}, }, }) minetest.register_tool("default:pick_stone", { description = "Stone Pickaxe", inventory_image = "default_tool_stonepick.png", tool_capabilities = { - full_punch_interval = 1.3, - max_drop_level=0, - groupcaps={ - cracky = {times={[2]=2.0, [3]=1.20}, uses=20, maxlevel=1}, + full_punch_interval = 1.2, + max_drop_level = 0, + groupcaps = { + cracky = {times = {[1] = 5.5, [2] = 1.6, [3] = 0.9}, uses = 20, maxlevel = 1}, + crumbly = {times = {[1] = 2.6, [2] = 1.4, [3] = 0.44}, uses = 20, maxlevel = 1}, }, - damage_groups = {fleshy=3}, + damage_groups = {fleshy = 3}, }, }) minetest.register_tool("default:pick_steel", { description = "Steel Pickaxe", inventory_image = "default_tool_steelpick.png", tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=20, maxlevel=2}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + cracky = {times = {[1] = 4.0, [2] = 1.3, [3] = 0.85}, uses = 20, maxlevel = 2}, + crumbly = {times = {[1] = 2.4, [2] = 1.2, [3] = 0.39}, uses = 20, maxlevel = 1}, }, - damage_groups = {fleshy=4}, + damage_groups = {fleshy = 4}, }, }) minetest.register_tool("default:pick_bronze", { description = "Bronze Pickaxe", inventory_image = "default_tool_bronzepick.png", tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=30, maxlevel=2}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + cracky = {times = {[1] = 4.0, [2] = 1.3, [3] = 0.85}, uses = 30, maxlevel = 2}, + crumbly = {times = {[1] = 2.4, [2] = 1.2, [3] = 0.39}, uses = 30, maxlevel = 1}, }, - damage_groups = {fleshy=4}, + damage_groups = {fleshy = 4}, + }, +}) +minetest.register_tool("default:pick_gold", { + description = "Golden Pickaxe", + inventory_image = "default_tool_goldpick.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 3, + groupcaps = { + cracky = {times = {[1] = 2.4, [2] = 1.0, [3] = 0.65}, uses = 5, maxlevel = 3}, + crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 5, maxlevel = 2}, + }, + damage_groups = {fleshy = 5}, + }, +}) +minetest.register_tool("default:pick_diamond", { + description = "Diamond Pickaxe", + inventory_image = "default_tool_diamondpick.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 3, + groupcaps = { + cracky = {times = {[1] = 2.4, [2] = 1.0, [3] = 0.65}, uses = 25, maxlevel = 3}, + crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 25, maxlevel = 2}, + }, + damage_groups = {fleshy = 5}, + }, +}) +minetest.register_tool("default:pick_nyan", { + description = "Nyan Pickaxe", + inventory_image = "default_tool_nyanpick.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 3, + groupcaps = { + cracky = {times = {[1] = 2.4, [2] = 1.0, [3] = 0.65}, uses = 75, maxlevel = 3}, + crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 75, maxlevel = 2}, + }, + damage_groups = {fleshy = 5}, }, }) minetest.register_tool("default:pick_mese", { @@ -74,23 +116,12 @@ minetest.register_tool("default:pick_mese", { inventory_image = "default_tool_mesepick.png", tool_capabilities = { full_punch_interval = 0.9, - max_drop_level=3, - groupcaps={ - cracky = {times={[1]=2.4, [2]=1.2, [3]=0.60}, uses=20, maxlevel=3}, + max_drop_level = 3, + groupcaps = { + cracky = {times = {[1] = 1.8, [2] = 0.75, [3] = 0.45}, uses = 15, maxlevel = 3}, + crumbly = {times = {[1] = 1.65, [2] = 0.6, [3] = 0.32}, uses = 15, maxlevel = 3}, }, - damage_groups = {fleshy=5}, - }, -}) -minetest.register_tool("default:pick_diamond", { - description = "Diamond Pickaxe", - inventory_image = "default_tool_diamondpick.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level=3, - groupcaps={ - cracky = {times={[1]=2.0, [2]=1.0, [3]=0.50}, uses=30, maxlevel=3}, - }, - damage_groups = {fleshy=5}, + damage_groups = {fleshy = 5}, }, }) @@ -104,11 +135,11 @@ minetest.register_tool("default:shovel_wood", { wield_image = "default_tool_woodshovel.png^[transformR90", tool_capabilities = { full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - crumbly = {times={[1]=3.00, [2]=1.60, [3]=0.60}, uses=10, maxlevel=1}, + max_drop_level = 0, + groupcaps = { + crumbly = {times = {[1] = 2.6, [2] = 1.4, [3] = 0.44}, uses = 20, maxlevel = 1}, }, - damage_groups = {fleshy=2}, + damage_groups = {fleshy = 2}, }, }) minetest.register_tool("default:shovel_stone", { @@ -116,12 +147,12 @@ minetest.register_tool("default:shovel_stone", { inventory_image = "default_tool_stoneshovel.png", wield_image = "default_tool_stoneshovel.png^[transformR90", tool_capabilities = { - full_punch_interval = 1.4, - max_drop_level=0, - groupcaps={ - crumbly = {times={[1]=1.80, [2]=1.20, [3]=0.50}, uses=20, maxlevel=1}, + full_punch_interval = 1.2, + max_drop_level = 0, + groupcaps = { + crumbly = {times = {[1] = 2.4, [2] = 1.2, [3] = 0.39}, uses = 20, maxlevel = 1}, }, - damage_groups = {fleshy=2}, + damage_groups = {fleshy = 3}, }, }) minetest.register_tool("default:shovel_steel", { @@ -129,12 +160,12 @@ minetest.register_tool("default:shovel_steel", { inventory_image = "default_tool_steelshovel.png", wield_image = "default_tool_steelshovel.png^[transformR90", tool_capabilities = { - full_punch_interval = 1.1, - max_drop_level=1, - groupcaps={ - crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=30, maxlevel=2}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 30, maxlevel = 2}, }, - damage_groups = {fleshy=3}, + damage_groups = {fleshy = 3}, }, }) minetest.register_tool("default:shovel_bronze", { @@ -142,25 +173,25 @@ minetest.register_tool("default:shovel_bronze", { inventory_image = "default_tool_bronzeshovel.png", wield_image = "default_tool_bronzeshovel.png^[transformR90", tool_capabilities = { - full_punch_interval = 1.1, - max_drop_level=1, - groupcaps={ - crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=40, maxlevel=2}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 40, maxlevel = 2}, }, - damage_groups = {fleshy=3}, + damage_groups = {fleshy = 3}, }, }) -minetest.register_tool("default:shovel_mese", { - description = "Mese Shovel", - inventory_image = "default_tool_meseshovel.png", - wield_image = "default_tool_meseshovel.png^[transformR90", +minetest.register_tool("default:shovel_gold", { + description = "Golden Shovel", + inventory_image = "default_tool_goldshovel.png", + wield_image = "default_tool_goldshovel.png^[transformR90", tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=3, - groupcaps={ - crumbly = {times={[1]=1.20, [2]=0.60, [3]=0.30}, uses=20, maxlevel=3}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + crumbly = {times = {[1] = 1.65, [2] = 0.6, [3] = 0.32}, uses = 5, maxlevel = 3}, }, - damage_groups = {fleshy=4}, + damage_groups = {fleshy = 4}, }, }) minetest.register_tool("default:shovel_diamond", { @@ -168,12 +199,38 @@ minetest.register_tool("default:shovel_diamond", { inventory_image = "default_tool_diamondshovel.png", wield_image = "default_tool_diamondshovel.png^[transformR90", tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - crumbly = {times={[1]=1.10, [2]=0.50, [3]=0.30}, uses=30, maxlevel=3}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + crumbly = {times = {[1] = 1.65, [2] = 0.6, [3] = 0.32}, uses = 25, maxlevel = 3}, }, - damage_groups = {fleshy=4}, + damage_groups = {fleshy = 4}, + }, +}) +minetest.register_tool("default:shovel_nyan", { + description = "Nyan Shovel", + inventory_image = "default_tool_nyanshovel.png", + wield_image = "default_tool_nyanshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + crumbly = {times = {[1] = 1.65, [2] = 0.6, [3] = 0.32}, uses = 75, maxlevel = 3}, + }, + damage_groups = {fleshy = 4}, + }, +}) +minetest.register_tool("default:shovel_mese", { + description = "Mese Shovel", + inventory_image = "default_tool_meseshovel.png", + wield_image = "default_tool_meseshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level = 3, + groupcaps = { + crumbly = {times = {[1] = 1.25, [2] = 0.45, [3] = 0.26}, uses = 15, maxlevel = 3}, + }, + damage_groups = {fleshy = 4}, }, }) @@ -185,12 +242,13 @@ minetest.register_tool("default:axe_wood", { description = "Wooden Axe", inventory_image = "default_tool_woodaxe.png", tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=0, - groupcaps={ - choppy = {times={[2]=3.00, [3]=2.00}, uses=10, maxlevel=1}, + full_punch_interval = 1.2, + max_drop_level = 0, + groupcaps = { + choppy = {times = {[2] = 2.0, [3] = 1.3}, uses = 20, maxlevel = 1}, + snappy = {times = {[3] = 0.2}, uses = 0, maxlevel = 1}, }, - damage_groups = {fleshy=2}, + damage_groups = {fleshy = 3}, }, }) minetest.register_tool("default:axe_stone", { @@ -198,35 +256,77 @@ minetest.register_tool("default:axe_stone", { inventory_image = "default_tool_stoneaxe.png", tool_capabilities = { full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - choppy={times={[1]=3.00, [2]=2.00, [3]=1.50}, uses=20, maxlevel=1}, + max_drop_level = 0, + groupcaps = { + choppy = {times = {[1] = 3.0, [2] = 1.6, [3] = 1.1}, uses = 20, maxlevel = 1}, + snappy = {times = {[3] = 0.175}, uses = 0, maxlevel = 1}, }, - damage_groups = {fleshy=3}, + damage_groups = {fleshy = 4}, }, }) minetest.register_tool("default:axe_steel", { description = "Steel Axe", inventory_image = "default_tool_steelaxe.png", tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=20, maxlevel=2}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 2.5, [2] = 1.3, [3] = 0.9}, uses = 20, maxlevel = 2}, + snappy = {times = {[3] = 0.15}, uses = 0, maxlevel = 1}, }, - damage_groups = {fleshy=4}, + damage_groups = {fleshy = 5}, }, }) minetest.register_tool("default:axe_bronze", { description = "Bronze Axe", inventory_image = "default_tool_bronzeaxe.png", tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=30, maxlevel=2}, + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 2.5, [2] = 1.3, [3] = 0.9}, uses = 30, maxlevel = 2}, + snappy = {times = {[3] = 0.15}, uses = 0, maxlevel = 1}, }, - damage_groups = {fleshy=4}, + damage_groups = {fleshy = 5}, + }, +}) +minetest.register_tool("default:axe_gold", { + description = "Golden Axe", + inventory_image = "default_tool_goldaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 2.2, [2] = 1.0, [3] = 0.55}, uses = 5, maxlevel = 3}, + snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, + }, + damage_groups = {fleshy = 6}, + }, +}) +minetest.register_tool("default:axe_diamond", { + description = "Diamond Axe", + inventory_image = "default_tool_diamondaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 2.2, [2] = 1.0, [3] = 0.55}, uses = 25, maxlevel = 3}, + snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, + }, + damage_groups = {fleshy = 6}, + }, +}) +minetest.register_tool("default:axe_nyan", { + description = "Nyan Axe", + inventory_image = "default_tool_nyanaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 2.2, [2] = 1.0, [3] = 0.55}, uses = 75, maxlevel = 3}, + snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, + }, + damage_groups = {fleshy = 6}, }, }) minetest.register_tool("default:axe_mese", { @@ -234,23 +334,12 @@ minetest.register_tool("default:axe_mese", { inventory_image = "default_tool_meseaxe.png", tool_capabilities = { full_punch_interval = 0.9, - max_drop_level=1, - groupcaps={ - choppy={times={[1]=2.20, [2]=1.00, [3]=0.60}, uses=20, maxlevel=3}, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 1.5, [2] = 0.75, [3] = 0.4}, uses = 15, maxlevel = 3}, + snappy = {times = {[3] = 0.1}, uses = 0, maxlevel = 1}, }, - damage_groups = {fleshy=6}, - }, -}) -minetest.register_tool("default:axe_diamond", { - description = "Diamond Axe", - inventory_image = "default_tool_diamondaxe.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level=1, - groupcaps={ - choppy={times={[1]=2.10, [2]=0.90, [3]=0.50}, uses=30, maxlevel=2}, - }, - damage_groups = {fleshy=7}, + damage_groups = {fleshy = 6}, }, }) @@ -262,71 +351,95 @@ minetest.register_tool("default:sword_wood", { description = "Wooden Sword", inventory_image = "default_tool_woodsword.png", tool_capabilities = { - full_punch_interval = 1, - max_drop_level=0, - groupcaps={ - snappy={times={[2]=1.6, [3]=0.40}, uses=10, maxlevel=1}, + full_punch_interval = 0.9, + max_drop_level = 0, + groupcaps = { + snappy = {times = {[2] = 1.4, [3] = 0.2}, uses = 20, maxlevel = 1}, }, - damage_groups = {fleshy=2}, + damage_groups = {fleshy = 3}, } }) minetest.register_tool("default:sword_stone", { description = "Stone Sword", inventory_image = "default_tool_stonesword.png", tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - snappy={times={[2]=1.4, [3]=0.40}, uses=20, maxlevel=1}, + full_punch_interval = 0.9, + max_drop_level = 0, + groupcaps = { + snappy = {times = {[2] = 1.2, [3] = 0.175}, uses = 20, maxlevel = 1}, }, - damage_groups = {fleshy=4}, + damage_groups = {fleshy = 4}, } }) minetest.register_tool("default:sword_steel", { description = "Steel Sword", inventory_image = "default_tool_steelsword.png", tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level=1, - groupcaps={ - snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=30, maxlevel=2}, + full_punch_interval = 0.9, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 2.2, [2] = 1.2, [3] = 0.15}, uses = 30, maxlevel = 2}, }, - damage_groups = {fleshy=6}, + damage_groups = {fleshy = 5}, } }) minetest.register_tool("default:sword_bronze", { description = "Bronze Sword", inventory_image = "default_tool_bronzesword.png", tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level=1, - groupcaps={ - snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=40, maxlevel=2}, + full_punch_interval = 0.9, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 2.2, [2] = 1.2, [3] = 0.15}, uses = 40, maxlevel = 2}, }, - damage_groups = {fleshy=6}, + damage_groups = {fleshy = 5}, } }) -minetest.register_tool("default:sword_mese", { - description = "Mese Sword", - inventory_image = "default_tool_mesesword.png", +minetest.register_tool("default:sword_gold", { + description = "Golden Sword", + inventory_image = "default_tool_goldsword.png", tool_capabilities = { - full_punch_interval = 0.7, - max_drop_level=1, - groupcaps={ - snappy={times={[1]=2.0, [2]=1.00, [3]=0.35}, uses=30, maxlevel=3}, + full_punch_interval = 0.9, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 5, maxlevel = 3}, }, - damage_groups = {fleshy=7}, + damage_groups = {fleshy = 6}, } }) minetest.register_tool("default:sword_diamond", { description = "Diamond Sword", inventory_image = "default_tool_diamondsword.png", tool_capabilities = { - full_punch_interval = 0.7, - max_drop_level=1, - groupcaps={ - snappy={times={[1]=1.90, [2]=0.90, [3]=0.30}, uses=40, maxlevel=3}, + full_punch_interval = 0.9, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 25, maxlevel = 3}, }, - damage_groups = {fleshy=8}, + damage_groups = {fleshy = 6}, + } +}) +minetest.register_tool("default:sword_nyan", { + description = "Nyan Sword", + inventory_image = "default_tool_nyansword.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 75, maxlevel = 3}, + }, + damage_groups = {fleshy = 6}, + } +}) +minetest.register_tool("default:sword_mese", { + description = "Mese Sword", + inventory_image = "default_tool_mesesword.png", + tool_capabilities = { + full_punch_interval = 0.675, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 1.5, [2] = 0.7, [3] = 0.1}, uses = 15, maxlevel = 3}, + }, + damage_groups = {fleshy = 6}, } })