Go to file
Jacob Gustafson 4aa962749f combined tool creation functions, fixed zircon texture path
and normalized the fudged values for now (still not using accurate
values, but at least works better and applies to uses value for all
tools)
2017-02-12 01:12:10 -05:00
etc initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
textures initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
.gitattributes Birthstones mod for Minetest 2012-11-20 20:01:57 -07:00
.gitignore Birthstones mod for Minetest 2012-11-20 20:01:57 -07:00
Hardness Calculator.xlsx initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
LICENSE.txt initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
README.txt initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
aliases.lua initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
crafting.lua initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
craftitems.lua combined tool creation functions, fixed zircon texture path 2017-02-12 01:12:10 -05:00
depends.txt Birthstones mod for Minetest 2012-11-20 20:01:57 -07:00
expertmm_authored_texture_list.txt initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
hardness - extrapolated.csv initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
init.lua initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
nodes.lua initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
oregen.lua initial changes in expertmm fork 2017-02-12 00:02:53 -05:00
tools.lua combined tool creation functions, fixed zircon texture path 2017-02-12 01:12:10 -05:00

README.txt

# Minetest Game mod: birthstones
(Based on birthstones Minetest mod by Doc22)
(See "Authors..." sections below for credits)

## Primary differences from original
### Main reasons for fork:
* add more tools
* make changes to code to make use of modern Minetest (such as ore drop string)
### Notable issues found in original (see items marked with '!' in "Changes" section for others):
(hopefully these changes get corrected there)
* birthstones were wrong month (see "birthstones list.csv" in etc folder for corrections, though month names are removed in fork)
* now stone_with_opal is generated now (was impossible to get by mining before, apparently)
* crafting block back to 9 gemstones is now possible
* found some code bugs (see exclamation points under "Changes" below)
### Other major differences from original
Some major changes were done to make the mod easier to maintain:
* changed to minetest_game's naming scheme for filenames and node/tool names (aliases added for backward compatibility)
* componentized into separate lua files for each category of operations
### Things that will be kept the same:
* 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". 

## Changes in expertmm fork:
'!' is for bugs in 2012 version that are fixed (as opposed to features that were changed/added) in this fork
* (2017-02-11) Add crafting recipe to convert block back into 9 gems
* (2017-02-11) Add Swords & Shovels
* (2017-02-11) Componentize into separate lua files for each category of operations
* !(2017-02-11) Make opal possible to get: added missing register_on_generated for changing some stone to opal (see oregen.lua)
* !(2017-02-11) Change drop for stone_with_topaz from stone_with_topaz to topaz (apparently this didn't cause an issue since craft method had been used)
* !(2017-02-11) Change drop of ores (to match modern style from default in minetest_game from minetest 0.4.15-git 2017-01), where * below is name, from:
	drop = 'craft "birthstones:*" 1',
	to
	drop = "birthstones:*",
* !(2017-02-11) Block needs better pick to be mined: Changed groups from:
	groups = {cracky = 3}
	to
	groups = {cracky = 1, level = 3}
* !(2017-02-11) Ore needs better pick to be mined: changed groups.cracky of all from 3 to 1
* (2017-02-11) Changed "* Ore" to "Stone with *" (because why copy other people when you can make sense instead)
* !(2017-02-11) Preliminary step in fixing one-chop axes: changed register_tool time2 and time3 from:
	[1]=time1-2.0, [2]=2.0-time2, [3]=2.0-time3}
	to
	times={[1]=time1/2.0, [2]=time2/2.0, [3]=time3/2.0}
* !(2017-02-10) Removed month from display names to avoid breaking immersion (draws too much attention to the items having a "label")
	if re-added, months would have to be corrected anyway as follows (in the original mod, alphabetical order instead of actual birthstone month determined month):
	see etc/birthstones list.csv
* !(2017-02-10) Fixed issue where topaz ore was registered twice (didn't seem to cause problems)
* !(2017-02-10) Capitalized stone name when used within tool display name
* (2017-02-10) Naming changed to match minetest texture&variable naming scheme (see changes below, where ^* is capitalized mineral name and * is uncapitalized)
	(aliases added only for backward compatibility--see aliases.lua--doing aliases can be commented in init.lua)
	Files:
		^* TO birthstones_* (ITEM)
		^*_overlay TO birthstones_mineral_* (ORE OVERLAY)
		^*_block TO birthstones_*_block
		*_axe to birthstones_tool_*axe
		*_pick to birthstones_tool_*pick
		^*_block to birthstones_*_block
	Variables:
		birthstones:*ore TO birthstones:stone_with_*
		"birthstones:".. name .. "_pick" TO "birthstones:pick_"..name
		"birthstones:".. name .. "_axe" TO "birthstones:axe_"..name

## Known Issues
* No shields & armor from 3d_armor (will be provided as separate mod)
* Make variables based on real hardness values (but allow all birthstones to break the same types of blocks, for playability):
	#of uses, dig times, and fleshy damage group value now all based on real-life hardness values
	(see xlsx spreadsheet for details and sources and extrapolation formulas)
	Formulas were determined using Excel:
		* Diamond theoretical Brinell explanation: Excel says the curve on 18carat.co.uk, if a power curve, is Brinell = 2.9592*(ans^2.2856) where ans is Moh value
		* Other extrapolated Brinell values (rounded to nearest whole number) explanation: Excel says power function for predicting from density is Brinell = 9.0954*(ans^2.9757) where ans is metric density value
		* Extrapolated Moh values explanation: Excel says power curve from 18carat.co.uk materials is: Moh = 0.6514*(ans^0.4269) where ans is Brinell value
		(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)
	Minerals of note not in birthstones (for reference only) with density values from website above:
	  MORE but with hardness values available from 18carat.co.uk link above:
	  Name,Density,Moh,Brinell
	  Apatite,3.16-3.23,5,137
	  Calcite,2.69-2.71,3,53
		  
## Minetest 2017 API notes (see http://wiki.minetest.net/Groups and https://github.com/minetest/minetest/blob/142e2d3b74ad886eed83b0fc9d6cfea100dae10a/doc/lua_api.txt#L736 )
### groupcaps (in tool_capabilities dict in register_tool 2nd param dict): a dictionary of groupcap dictionaries such as:
	* choppy: chops wood
	* snappy: leaves and other thin materials -- possible with sword, but wears sword out quickly
	* fleshy: damage mobs/players
	* crumbly: shovels etc
	* cracky: picks etc
	(and more unrelated to this mod)
### register_node:
	http://dev.minetest.net/minetest.register_node
	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):
* 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)