forked from nalc/awards
		
	Initial Commit
This commit is contained in:
		
							
								
								
									
										22
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| # Auto detect text files and perform LF normalization | ||||
| * text=auto | ||||
|  | ||||
| # Custom for Visual Studio | ||||
| *.cs     diff=csharp | ||||
| *.sln    merge=union | ||||
| *.csproj merge=union | ||||
| *.vbproj merge=union | ||||
| *.fsproj merge=union | ||||
| *.dbproj merge=union | ||||
|  | ||||
| # Standard to msysgit | ||||
| *.doc	 diff=astextplain | ||||
| *.DOC	 diff=astextplain | ||||
| *.docx diff=astextplain | ||||
| *.DOCX diff=astextplain | ||||
| *.dot  diff=astextplain | ||||
| *.DOT  diff=astextplain | ||||
| *.pdf  diff=astextplain | ||||
| *.PDF	 diff=astextplain | ||||
| *.rtf	 diff=astextplain | ||||
| *.RTF	 diff=astextplain | ||||
							
								
								
									
										215
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										215
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,215 @@ | ||||
| ################# | ||||
| ## Eclipse | ||||
| ################# | ||||
|  | ||||
| *.pydevproject | ||||
| .project | ||||
| .metadata | ||||
| bin/ | ||||
| tmp/ | ||||
| *.tmp | ||||
| *.bak | ||||
| *.swp | ||||
| *~.nib | ||||
| local.properties | ||||
| .classpath | ||||
| .settings/ | ||||
| .loadpath | ||||
|  | ||||
| # External tool builders | ||||
| .externalToolBuilders/ | ||||
|  | ||||
| # Locally stored "Eclipse launch configurations" | ||||
| *.launch | ||||
|  | ||||
| # CDT-specific | ||||
| .cproject | ||||
|  | ||||
| # PDT-specific | ||||
| .buildpath | ||||
|  | ||||
|  | ||||
| ################# | ||||
| ## Visual Studio | ||||
| ################# | ||||
|  | ||||
| ## Ignore Visual Studio temporary files, build results, and | ||||
| ## files generated by popular Visual Studio add-ons. | ||||
|  | ||||
| # User-specific files | ||||
| *.suo | ||||
| *.user | ||||
| *.sln.docstates | ||||
|  | ||||
| # Build results | ||||
|  | ||||
| [Dd]ebug/ | ||||
| [Rr]elease/ | ||||
| x64/ | ||||
| build/ | ||||
| [Bb]in/ | ||||
| [Oo]bj/ | ||||
|  | ||||
| # MSTest test Results | ||||
| [Tt]est[Rr]esult*/ | ||||
| [Bb]uild[Ll]og.* | ||||
|  | ||||
| *_i.c | ||||
| *_p.c | ||||
| *.ilk | ||||
| *.meta | ||||
| *.obj | ||||
| *.pch | ||||
| *.pdb | ||||
| *.pgc | ||||
| *.pgd | ||||
| *.rsp | ||||
| *.sbr | ||||
| *.tlb | ||||
| *.tli | ||||
| *.tlh | ||||
| *.tmp | ||||
| *.tmp_proj | ||||
| *.log | ||||
| *.vspscc | ||||
| *.vssscc | ||||
| .builds | ||||
| *.pidb | ||||
| *.log | ||||
| *.scc | ||||
|  | ||||
| # Visual C++ cache files | ||||
| ipch/ | ||||
| *.aps | ||||
| *.ncb | ||||
| *.opensdf | ||||
| *.sdf | ||||
| *.cachefile | ||||
|  | ||||
| # Visual Studio profiler | ||||
| *.psess | ||||
| *.vsp | ||||
| *.vspx | ||||
|  | ||||
| # Guidance Automation Toolkit | ||||
| *.gpState | ||||
|  | ||||
| # ReSharper is a .NET coding add-in | ||||
| _ReSharper*/ | ||||
| *.[Rr]e[Ss]harper | ||||
|  | ||||
| # TeamCity is a build add-in | ||||
| _TeamCity* | ||||
|  | ||||
| # DotCover is a Code Coverage Tool | ||||
| *.dotCover | ||||
|  | ||||
| # NCrunch | ||||
| *.ncrunch* | ||||
| .*crunch*.local.xml | ||||
|  | ||||
| # Installshield output folder | ||||
| [Ee]xpress/ | ||||
|  | ||||
| # DocProject is a documentation generator add-in | ||||
| DocProject/buildhelp/ | ||||
| DocProject/Help/*.HxT | ||||
| DocProject/Help/*.HxC | ||||
| DocProject/Help/*.hhc | ||||
| DocProject/Help/*.hhk | ||||
| DocProject/Help/*.hhp | ||||
| DocProject/Help/Html2 | ||||
| DocProject/Help/html | ||||
|  | ||||
| # Click-Once directory | ||||
| publish/ | ||||
|  | ||||
| # Publish Web Output | ||||
| *.Publish.xml | ||||
| *.pubxml | ||||
|  | ||||
| # NuGet Packages Directory | ||||
| ## TODO: If you have NuGet Package Restore enabled, uncomment the next line | ||||
| #packages/ | ||||
|  | ||||
| # Windows Azure Build Output | ||||
| csx | ||||
| *.build.csdef | ||||
|  | ||||
| # Windows Store app package directory | ||||
| AppPackages/ | ||||
|  | ||||
| # Others | ||||
| sql/ | ||||
| *.Cache | ||||
| ClientBin/ | ||||
| [Ss]tyle[Cc]op.* | ||||
| ~$* | ||||
| *~ | ||||
| *.dbmdl | ||||
| *.[Pp]ublish.xml | ||||
| *.pfx | ||||
| *.publishsettings | ||||
|  | ||||
| # RIA/Silverlight projects | ||||
| Generated_Code/ | ||||
|  | ||||
| # Backup & report files from converting an old project file to a newer | ||||
| # Visual Studio version. Backup files are not needed, because we have git ;-) | ||||
| _UpgradeReport_Files/ | ||||
| Backup*/ | ||||
| UpgradeLog*.XML | ||||
| UpgradeLog*.htm | ||||
|  | ||||
| # SQL Server files | ||||
| App_Data/*.mdf | ||||
| App_Data/*.ldf | ||||
|  | ||||
| ############# | ||||
| ## Windows detritus | ||||
| ############# | ||||
|  | ||||
| # Windows image file caches | ||||
| Thumbs.db | ||||
| ehthumbs.db | ||||
|  | ||||
| # Folder config file | ||||
| Desktop.ini | ||||
|  | ||||
| # Recycle Bin used on file shares | ||||
| $RECYCLE.BIN/ | ||||
|  | ||||
| # Mac crap | ||||
| .DS_Store | ||||
|  | ||||
|  | ||||
| ############# | ||||
| ## Python | ||||
| ############# | ||||
|  | ||||
| *.py[co] | ||||
|  | ||||
| # Packages | ||||
| *.egg | ||||
| *.egg-info | ||||
| dist/ | ||||
| build/ | ||||
| eggs/ | ||||
| parts/ | ||||
| var/ | ||||
| sdist/ | ||||
| develop-eggs/ | ||||
| .installed.cfg | ||||
|  | ||||
| # Installer logs | ||||
| pip-log.txt | ||||
|  | ||||
| # Unit test / coverage reports | ||||
| .coverage | ||||
| .tox | ||||
|  | ||||
| #Translations | ||||
| *.mo | ||||
|  | ||||
| #Mr Developer | ||||
| .mr.developer.cfg | ||||
							
								
								
									
										44
									
								
								init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| --	AWARDS | ||||
| --	   by Rubenwardy, CC-BY-SA | ||||
| ------------------------------------------------------- | ||||
| -- this is the api definition file for the awards mod | ||||
| ------------------------------------------------------- | ||||
|  | ||||
| -- The global award namespace | ||||
| awards={} | ||||
| player_data={} | ||||
|  | ||||
| -- A table of award definitions | ||||
| awards.def={} | ||||
|  | ||||
| -- Load files | ||||
| dofile(minetest.get_modpath("awards").."/triggers.lua") | ||||
|  | ||||
|  | ||||
| -- API Functions | ||||
| function awards.register_achievement(name,data_table) | ||||
| 	data_table["name"] = name | ||||
| 	table.insert(awards.def,data_table); | ||||
| end | ||||
|  | ||||
| function awards.register_onDig(data) | ||||
| 	table.insert(awards.onDig,data); | ||||
| end | ||||
|  | ||||
| function awards:getNodeCount(nodeName) | ||||
| 	return self.count[nodeName] | ||||
| end | ||||
|  | ||||
|  | ||||
| -- Example Achievements | ||||
| awards.register_achievement("award_mesefind",{ | ||||
| 	title = "First Mese Find", | ||||
| 	description = "Found some Mese!", | ||||
| }) | ||||
|  | ||||
| awards.register_onDig({ | ||||
| 	award="", | ||||
| 	func=function(player) | ||||
|  | ||||
| 	end | ||||
| }) | ||||
							
								
								
									
										35
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| Awards | ||||
| ------ | ||||
|  | ||||
| by Andrew "Rubenwardy" Ward, CC-BY-SA. | ||||
|  | ||||
| This mod adds achievements to Minetest. | ||||
|  | ||||
|  | ||||
| Code Reference | ||||
| -------------- | ||||
|  | ||||
| The API | ||||
| ======= | ||||
| * awards.register_achievement(name,data_table) | ||||
| 	* name | ||||
| 	* desciption | ||||
| 	* sound [optional] | ||||
| 	* image [optional] | ||||
| 	* func [optional] - see below | ||||
| * awards.register_onDig(data_table) | ||||
| 	* award | ||||
| 	* func | ||||
| 		* return true if the medal should be rewarded | ||||
|  | ||||
|  | ||||
| Player Data | ||||
| =========== | ||||
|  | ||||
| A list of data referenced/hashed by the player's name. | ||||
|  | ||||
| * name [string] | ||||
| * getNodeCount('node_name') [function] | ||||
| * count [table] | ||||
| 	* modname [table] | ||||
| 		*itemname [int] | ||||
							
								
								
									
										53
									
								
								triggers.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								triggers.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| --	AWARDS | ||||
| --	   by Rubenwardy, CC-BY-SA | ||||
| ------------------------------------------------------- | ||||
| -- this is the trigger handler file for the awards mod | ||||
| ------------------------------------------------------- | ||||
|  | ||||
| -- Function for Triggers | ||||
| awards.onDig={} | ||||
| awards.onTick={} | ||||
|  | ||||
| -- Player functions | ||||
|  | ||||
| -- Trigger Handles | ||||
| minetest.register_on_dignode(function(pos, oldnode, digger) | ||||
| 	local nodedug = string.split(oldnode.name, ":") | ||||
|  | ||||
| 	local mod=nodedug[0] | ||||
| 	local item=nodedug[1] | ||||
|  | ||||
| 	local player = digger:get_player_name() | ||||
|  | ||||
| 	print("Awards [Event] - "..player.." has dug a node") | ||||
|  | ||||
| 	if (player~=nil and nodedug~=nil and mod~=nil and item~=nil) then | ||||
| 		if not player_data[player] then | ||||
|         		player_data[player]={} | ||||
| 			player_data[player]['count']={} | ||||
| 			player_data[player]['count']['default']={} | ||||
| 			player_data[player]['count']['default']['dirt']=0 | ||||
| 			player_data[player]['name']=player | ||||
| 	        end | ||||
|  | ||||
| 		if not player_data[player]['count'][mod] then | ||||
|         		player_data[player]['count'][mod]={} | ||||
| 	        end | ||||
|  | ||||
| 	        if not player_data[player]['count'][mod][item] then | ||||
|         		player_data[player]['count'][mod][item]=0 | ||||
| 	        end | ||||
|  | ||||
| 		player_data[player]['count'][mod][item]=player_data[player]['count'][mod][item]+1 | ||||
| 	else | ||||
| 		print(player.."'s dig event has been skipped") | ||||
| 	end | ||||
| end) | ||||
|  | ||||
| minetest.register_on_newplayer(function(player) | ||||
| 	player_data[player:get_player_name()]={} | ||||
| 	player_data[player:get_player_name()]['count']={} | ||||
| 	player_data[player:get_player_name()]['count']['default']={} | ||||
| 	player_data[player:get_player_name()]['count']['default']['dirt']=0 | ||||
| 	player_data[player:get_player_name()]['name']=player:get_player_name() | ||||
| end) | ||||
		Reference in New Issue
	
	Block a user