diff --git a/LICENSE.txt b/LICENSE.txt index ee8aac1..8d1a877 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,9 +1,13 @@ -License of source code (unless otherwise specified--see README.txt) -------------------------------------------------------------------- +License of source code +---------------------- +(rereleased with MIT License) + +Copyright 2017 expertmm (github.com/expertmm) +* all code under "Changes" in README by expertmm +* based on WTFPL code (2012) by Doc22 -Copyright 2017 expertmm Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -13,7 +17,15 @@ Licenses of media (textures) unless otherwise specified (see README file): -------------------------------------------------------------------------- Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2015-2016 expertmm +Copyright (C) 2015-2016 expertmm (github.com/expertmm): +* based on textures from minetest_game at https://github.com/minetest/minetest_game/tree/master/mods/default: source work is included on layers in Gimp XCF project files in etc folder: + * Opal texture CC BY-SA 3.0 by expertmm: based on CC BY-SA 3.0 photo by Dpulitzer "Multicolor rough crystal opal from Coober Pedy, South Australia" https://en.wikipedia.org/wiki/Opal#/media/File:Coober_Pedy_Opal_2.jpg + * Swords CC BY-SA 3.0 by expertmm: based on default_tool_steelsword.png by BlockMen (CC BY-SA 3.0 Unported) + * Shovels CC BY-SA 3.0 by expertmm: based on default_tool_steelshovel.png by celeron55, Perttu Ahola (CC BY-SA 3.0 ) + * Hoes CC BY-SA 3.0 by expertmm: based on farming_tool_hoe.png bu various: Copyright (C) 2012-2016 PilzAdam, Copyright (C) 2014-2016 BlockMen, Copyright (C) 2015-2016 MasterGollum, Copyright (C) 2015-2016 Gambit + +Everything else (2012) by Doc22: +* Textures for axes, picks, mineral overlays, items (x.png where x is name), and blocks (originally WTFPL as specified at https://forum.minetest.net/viewtopic.php?id=3663 , rereleased as CC BY-SA 3.0) You are free to: Share — copy and redistribute the material in any medium or format. diff --git a/README.md b/README.md index b184d96..8b6f394 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Minetest Game mod: birthstones -(Based on birthstones Minetest mod by Doc22) -(See "Authors..." sections below for credits) +(Based on birthstones Minetest mod by Doc22; textures based on CC-BY-SA work by various authors-- +see LICENSE for full credits) ## Primary differences from original ### Main reasons for fork: @@ -22,6 +22,7 @@ Some major changes were done to make the mod easier to maintain: ## Changes: '!' is for bugs in 2012 version that are fixed (as opposed to features that were changed/added) in this fork +* (2017-02-12) Add farming hoes * (2017-02-11) Add recipe to create default:diamond from dye:blue + birthstones:diamond for playability (for when other mods like technic need diamonds for things) * (2017-02-11) Add crafting recipe to convert block back into 9 gems * (2017-02-11) Add Swords & Shovels @@ -68,7 +69,6 @@ Some major changes were done to make the mod easier to maintain: * (2017-02-10) expertmm fork starting today ## Known Issues -* Add hoes made from birthstones * Improve block textures * Make a trm for treasurer (separate mod) * Make variables based on real hardness values (but allow all birthstones to break the same types of blocks, for playability): @@ -80,6 +80,7 @@ Some major changes were done to make the mod easier to maintain: (to use Speedcrunch to get values not listed, enter the number without any equation, then paste the formulas above exactly to use that "answer" as a variable--see spreadsheet's "Hardness - Extrapolated" sheet for spreadsheet version of formulas) ### Things that will be kept the same: +* You must manually delete the etc folder (source material) from your mods/birthtones folder to reduce download times of the mod when using a server * birthstones:diamond will still be present for now (as opposed to becoming an alias for default:diamond), since the birthstones diamond texture looks cool. The display names for all of the items will say "White Diamond". (planned: recipe to make it into regular diamond) * No shields & armor (planned as separate mod: birthstones_3d_armor) * No arrows (planned as separate mod: birthstones_throwing) @@ -129,27 +130,3 @@ http://dev.minetest.net/Groups * groups.cracky: like other dig types, the value is normally 1 to 3, and 1 requires the best pick to mine. * groups.level: prevents being mined by lower level stuff - -## Authors and License - -### Authors of source code - -Changed listed above under "Changes in expertmm fork": -expertmm (github.com/expertmm) MIT License - -Original code: -Doc22 (originally WTFPL) - - -### Authors of media (textures) -(see LICENSE.txt) - -Textures from original (2012) version (1.2-git): -* Textures for axes, picks, mineral overlays, items (x.png where x is name), and blocks: by Doc22 (originally WTFPL as specified at https://forum.minetest.net/viewtopic.php?id=3663 , rereleased as CC BY-SA 3.0) - -Textures for new tools (2016): -see "expertmm_authored_texture_list" in etc folder -* Textures based on textures from minetest_game at https://github.com/minetest/minetest_game/tree/master/mods/default: source work is included on layers in Gimp XCF project files in etc folder -* Swords CC BY-SA 3.0: based on default_tool_steelsword.png by BlockMen (CC BY-SA 3.0) -* Shovels CC BY-SA 3.0: based on default_tool_steelshovel.png by celeron55, Perttu Ahola (CC BY-SA 3.0) - diff --git a/crafting.lua b/crafting.lua index 3735d3b..7671429 100644 --- a/crafting.lua +++ b/crafting.lua @@ -7,19 +7,19 @@ minetest.register_craft({ local function registerblockrecipe(name, blockname) -minetest.register_craft({ - output = blockname, - recipe = {{name, name, name}, - {name, name, name}, - {name, name, name} + minetest.register_craft({ + output = blockname, + recipe = {{name, name, name}, + {name, name, name}, + {name, name, name} + } + }) + minetest.register_craft({ + output = name..' 9', + recipe = { + {blockname}, } -}) -minetest.register_craft({ - output = name..' 9', - recipe = { - {blockname}, - } -}) + }) end registerblockrecipe('birthstones:alexandrite', 'birthstones:alexandriteblock') diff --git a/depends.txt b/depends.txt index 8401bd9..a464e54 100644 --- a/depends.txt +++ b/depends.txt @@ -1,2 +1,3 @@ default -dye \ No newline at end of file +dye +farming? \ No newline at end of file diff --git a/etc/Hardness Calculator.ods b/etc/Hardness Calculator.ods new file mode 100644 index 0000000..f06708e Binary files /dev/null and b/etc/Hardness Calculator.ods differ diff --git a/etc/birthstones hoes.xcf b/etc/birthstones hoes.xcf new file mode 100644 index 0000000..29eacbf Binary files /dev/null and b/etc/birthstones hoes.xcf differ diff --git a/etc/birthstones_shovels.xcf b/etc/birthstones shovels.xcf similarity index 100% rename from etc/birthstones_shovels.xcf rename to etc/birthstones shovels.xcf diff --git a/etc/opal.png b/etc/opal.png new file mode 100644 index 0000000..53f3c95 Binary files /dev/null and b/etc/opal.png differ diff --git a/textures/birthstones_tool_alexandritehoe.png b/textures/birthstones_tool_alexandritehoe.png new file mode 100644 index 0000000..cc406a8 Binary files /dev/null and b/textures/birthstones_tool_alexandritehoe.png differ diff --git a/textures/birthstones_tool_amethysthoe.png b/textures/birthstones_tool_amethysthoe.png new file mode 100644 index 0000000..adbfe4b Binary files /dev/null and b/textures/birthstones_tool_amethysthoe.png differ diff --git a/textures/birthstones_tool_aquamarinehoe.png b/textures/birthstones_tool_aquamarinehoe.png new file mode 100644 index 0000000..218a90a Binary files /dev/null and b/textures/birthstones_tool_aquamarinehoe.png differ diff --git a/textures/birthstones_tool_diamondhoe.png b/textures/birthstones_tool_diamondhoe.png new file mode 100644 index 0000000..f9d956e Binary files /dev/null and b/textures/birthstones_tool_diamondhoe.png differ diff --git a/textures/birthstones_tool_emeraldhoe.png b/textures/birthstones_tool_emeraldhoe.png new file mode 100644 index 0000000..d14e144 Binary files /dev/null and b/textures/birthstones_tool_emeraldhoe.png differ diff --git a/textures/birthstones_tool_garnethoe.png b/textures/birthstones_tool_garnethoe.png new file mode 100644 index 0000000..a4616f6 Binary files /dev/null and b/textures/birthstones_tool_garnethoe.png differ diff --git a/textures/birthstones_tool_opalhoe.png b/textures/birthstones_tool_opalhoe.png new file mode 100644 index 0000000..16c67a0 Binary files /dev/null and b/textures/birthstones_tool_opalhoe.png differ diff --git a/textures/birthstones_tool_peridothoe.png b/textures/birthstones_tool_peridothoe.png new file mode 100644 index 0000000..9f1c908 Binary files /dev/null and b/textures/birthstones_tool_peridothoe.png differ diff --git a/textures/birthstones_tool_rubyhoe.png b/textures/birthstones_tool_rubyhoe.png new file mode 100644 index 0000000..bbc641c Binary files /dev/null and b/textures/birthstones_tool_rubyhoe.png differ diff --git a/textures/birthstones_tool_sapphirehoe.png b/textures/birthstones_tool_sapphirehoe.png new file mode 100644 index 0000000..61e49fa Binary files /dev/null and b/textures/birthstones_tool_sapphirehoe.png differ diff --git a/textures/birthstones_tool_topazhoe.png b/textures/birthstones_tool_topazhoe.png new file mode 100644 index 0000000..c4b77d9 Binary files /dev/null and b/textures/birthstones_tool_topazhoe.png differ diff --git a/textures/birthstones_tool_zirconhoe.png b/textures/birthstones_tool_zirconhoe.png new file mode 100644 index 0000000..ff8e58a Binary files /dev/null and b/textures/birthstones_tool_zirconhoe.png differ diff --git a/tools.lua b/tools.lua index 4b600c0..bef4dc3 100644 --- a/tools.lua +++ b/tools.lua @@ -1,88 +1,95 @@ -- START OF FUNCTIONS -- (START OF INIT IS FURTHER DOWN) -local function create_tools_for_material(name, display_name, uses_vs_env, time1, time2, time3, maxlev) -minetest.register_tool("birthstones:pick_" .. string.lower(name), { - description = display_name .. " Pickaxe", - inventory_image = "birthstones_tool_" .. string.lower(name) .. "pick.png", - tool_capabilities = { - max_drop_level=0, - groupcaps={ - cracky={times={[1]=time1, [2]=time2, [3]=time3}, uses=uses_vs_env, maxlevel=maxlev} - } - }, -}) -minetest.register_craft({ - output = "birthstones:pick_" .. string.lower(name), - recipe = { - {'birthstones:' .. string.lower(name), 'birthstones:' .. string.lower(name), 'birthstones:' .. string.lower(name)}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''} - } -}) -minetest.register_tool("birthstones:axe_" .. string.lower(name), { - description = display_name .. " Axe", - inventory_image = "birthstones_tool_" .. string.lower(name) .. "axe.png", - tool_capabilities = { - max_drop_level=1, - groupcaps={ - choppy={times={[1]=time1/2.0, [2]=time2/2.0, [3]=time3/2.0}, uses=uses_vs_env, maxlevel=maxlev}, - fleshy={times={[2]=time2, [3]=time3}, uses=uses_vs_env/3*4, maxlevel=maxlev} - } - }, -}) -minetest.register_craft({ - output = "birthstones:axe_" .. string.lower(name), - recipe = { - {'birthstones:' .. string.lower(name), 'birthstones:' .. string.lower(name)}, - {'birthstones:' .. string.lower(name), 'default:stick'}, - {'', 'default:stick'} - } -}) -minetest.register_tool("birthstones:shovel_" .. string.lower(name), { - description = display_name .. " Shovel", - inventory_image = "birthstones_tool_" .. string.lower(name) .. "shovel.png", - wield_image = "birthstones_tool_" .. string.lower(name) .. "shovel.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=uses_vs_env, maxlevel=3}, +local function create_tools_for_material(material, display_name, uses_vs_env, time1, time2, time3, maxlev) + minetest.register_tool("birthstones:pick_" .. string.lower(material), { + description = display_name .. " Pickaxe", + inventory_image = "birthstones_tool_" .. string.lower(material) .. "pick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[1]=time1, [2]=time2, [3]=time3}, uses=uses_vs_env, maxlevel=maxlev} + } }, - damage_groups = {fleshy=4}, - }, - sound = {breaks = "default_tool_breaks"}, -}) -minetest.register_craft({ - output = "birthstones:shovel_" .. string.lower(name), - recipe = { - {'', 'birthstones:' .. string.lower(name)}, - {'', 'default:stick'}, - {'', 'default:stick'} - } -}) -minetest.register_tool("birthstones:sword_" .. string.lower(name), { - description = display_name .. " Sword", - inventory_image = "birthstones_tool_" .. string.lower(name) .. "sword.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=uses_vs_env/3*4, maxlevel=3}, + }) + minetest.register_craft({ + output = "birthstones:pick_" .. string.lower(material), + recipe = { + {'birthstones:' .. string.lower(material), 'birthstones:' .. string.lower(material), 'birthstones:' .. string.lower(material)}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''} + } + }) + minetest.register_tool("birthstones:axe_" .. string.lower(material), { + description = display_name .. " Axe", + inventory_image = "birthstones_tool_" .. string.lower(material) .. "axe.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + choppy={times={[1]=time1/2.0, [2]=time2/2.0, [3]=time3/2.0}, uses=uses_vs_env, maxlevel=maxlev}, + fleshy={times={[2]=time2, [3]=time3}, uses=uses_vs_env/3*4, maxlevel=maxlev} + } }, - damage_groups = {fleshy=8}, - }, - sound = {breaks = "default_tool_breaks"}, -}) -minetest.register_craft({ - output = "birthstones:sword_" .. string.lower(name), - recipe = { - {'', 'birthstones:' .. string.lower(name)}, - {'', 'birthstones:' .. string.lower(name)}, - {'', 'default:stick'} - } -}) - + }) + minetest.register_craft({ + output = "birthstones:axe_" .. string.lower(material), + recipe = { + {'birthstones:' .. string.lower(material), 'birthstones:' .. string.lower(material)}, + {'birthstones:' .. string.lower(material), 'default:stick'}, + {'', 'default:stick'} + } + }) + minetest.register_tool("birthstones:shovel_" .. string.lower(material), { + description = display_name .. " Shovel", + inventory_image = "birthstones_tool_" .. string.lower(material) .. "shovel.png", + wield_image = "birthstones_tool_" .. string.lower(material) .. "shovel.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=uses_vs_env, maxlevel=3}, + }, + damage_groups = {fleshy=4}, + }, + sound = {breaks = "default_tool_breaks"}, + }) + minetest.register_craft({ + output = "birthstones:shovel_" .. string.lower(material), + recipe = { + {'', 'birthstones:' .. string.lower(material)}, + {'', 'default:stick'}, + {'', 'default:stick'} + } + }) + minetest.register_tool("birthstones:sword_" .. string.lower(material), { + description = display_name .. " Sword", + inventory_image = "birthstones_tool_" .. string.lower(material) .. "sword.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=uses_vs_env/3*4, maxlevel=3}, + }, + damage_groups = {fleshy=8}, + }, + sound = {breaks = "default_tool_breaks"}, + }) + minetest.register_craft({ + output = "birthstones:sword_" .. string.lower(material), + recipe = { + {'', 'birthstones:' .. string.lower(material)}, + {'', 'birthstones:' .. string.lower(material)}, + {'', 'default:stick'} + } + }) + if minetest.get_modpath("farming") then + farming.register_hoe(":farming:hoe_" .. material, { + description = display_name .. " Hoe", + inventory_image = "birthstones_tool_" .. material .. "hoe.png", + max_uses = uses_vs_env*3, + material = "birthstones:" .. material + }) + end end -- END OF FUNCTIONS @@ -95,17 +102,17 @@ end -- default:stone: -- sword uses=20 -- pick uses=20 --- name, display_name, uses_vs_env, time1, time2, time3, maxlev +-- material, display_name, uses_vs_env, time1, time2, time3, maxlev --uses_vs_env: normal use (bonus is added for fleshy target) -create_tools_for_material("Alexandrite", "Alexandrite", 17, 3.2, 1.40, 0.90, 1) -create_tools_for_material("Amethyst", "Amethyst", 17, 3.2, 1.40, 0.90, 1) -create_tools_for_material("Aquamarine", "Aquamarine", 15, 3.2, 1.40, 0.90, 1) -create_tools_for_material("Diamond", "White Diamond", 30, 4.5, 1.8, 1.3, 3) -create_tools_for_material("Emerald", "Emerald", 27, 4.2, 1.6, 1.2, 2) -create_tools_for_material("Garnet", "Garnet", 22, 4.0, 1.5, 1.0, 1) -create_tools_for_material("Opal", "Opal", 19, 3.5, 1.6, 1.5, 2) -create_tools_for_material("Peridot", "Peridot", 24, 4.0, 1.5, 1.0, 1) -create_tools_for_material("Ruby", "Ruby", 27, 4.2, 1.6, 1.2, 2) -create_tools_for_material("Sapphire", "Sapphire", 27, 4.2, 1.6, 1.2, 1) -create_tools_for_material("Topaz", "Topaz", 25, 4.1, 1.6, 1.05, 1) -create_tools_for_material("Zircon", "Zircon", 30, 4.1, 1.6, 1.05, 1) +create_tools_for_material("alexandrite", "Alexandrite", 17, 3.2, 1.40, 0.90, 1) +create_tools_for_material("amethyst", "Amethyst", 17, 3.2, 1.40, 0.90, 1) +create_tools_for_material("aquamarine", "Aquamarine", 15, 3.2, 1.40, 0.90, 1) +create_tools_for_material("diamond", "White Diamond", 30, 4.5, 1.8, 1.3, 3) +create_tools_for_material("emerald", "Emerald", 27, 4.2, 1.6, 1.2, 2) +create_tools_for_material("garnet", "Garnet", 22, 4.0, 1.5, 1.0, 1) +create_tools_for_material("opal", "Opal", 19, 3.5, 1.6, 1.5, 2) +create_tools_for_material("peridot", "Peridot", 24, 4.0, 1.5, 1.0, 1) +create_tools_for_material("ruby", "Ruby", 27, 4.2, 1.6, 1.2, 2) +create_tools_for_material("sapphire", "Sapphire", 27, 4.2, 1.6, 1.2, 1) +create_tools_for_material("topaz", "Topaz", 25, 4.1, 1.6, 1.05, 1) +create_tools_for_material("zircon", "Zircon", 30, 4.1, 1.6, 1.05, 1)