added farming hoes and clarified wording

master
Jacob Gustafson 2017-02-12 12:24:05 -05:00
parent 5a8905e2ac
commit 73677dd1e7
21 changed files with 134 additions and 137 deletions

View File

@ -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 <celeron55@gmail.com> (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.

View File

@ -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 <celeron55@gmail.com> (CC BY-SA 3.0)

View File

@ -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')

View File

@ -1,2 +1,3 @@
default
dye
dye
farming?

BIN
etc/Hardness Calculator.ods Normal file

Binary file not shown.

BIN
etc/birthstones hoes.xcf Normal file

Binary file not shown.

BIN
etc/opal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

193
tools.lua
View File

@ -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)