summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRubenwardy <anjayward@gmail.com>2013-02-22 17:53:42 +0000
committerRubenwardy <anjayward@gmail.com>2013-02-22 17:53:42 +0000
commitbc2b7902ed5f2a192303277f242b3cca065b0623 (patch)
tree699bd6d80f9f76f1acc941a3bfc2c6b7495d42c9
Initial Commit
-rw-r--r--.gitattributes22
-rw-r--r--.gitignore215
-rw-r--r--init.lua44
-rw-r--r--readme.md35
-rw-r--r--triggers.lua53
5 files changed, 369 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..412eeda
--- /dev/null
+++ b/.gitattributes
@@ -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
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b9d6bd9
--- /dev/null
+++ b/.gitignore
@@ -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
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..f88c74b
--- /dev/null
+++ b/init.lua
@@ -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
+}) \ No newline at end of file
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..965281f
--- /dev/null
+++ b/readme.md
@@ -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] \ No newline at end of file
diff --git a/triggers.lua b/triggers.lua
new file mode 100644
index 0000000..2c9492a
--- /dev/null
+++ b/triggers.lua
@@ -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) \ No newline at end of file