diff --git a/.CMakeCache.txt.swp b/.CMakeCache.txt.swp new file mode 100644 index 0000000..9c50316 Binary files /dev/null and b/.CMakeCache.txt.swp differ diff --git a/.cmake_install.cmake.swp b/.cmake_install.cmake.swp new file mode 100644 index 0000000..5e16888 Binary files /dev/null and b/.cmake_install.cmake.swp differ diff --git a/CPackConfig.cmake b/CPackConfig.cmake index 9b9d8ea..0b3aed0 100644 --- a/CPackConfig.cmake +++ b/CPackConfig.cmake @@ -23,10 +23,10 @@ SET(CPACK_BINARY_TBZ2 "") SET(CPACK_BINARY_TGZ "") SET(CPACK_BINARY_TZ "") SET(CPACK_BINARY_ZIP "") -SET(CPACK_BUNDLE_ICON "") +SET(CPACK_BUNDLE_ICON "/Users/security/mtclient/misc/mac/minetest-icon.icns") SET(CPACK_BUNDLE_NAME "minetest") -SET(CPACK_BUNDLE_PLIST "") -SET(CPACK_BUNDLE_STARTUP_COMMAND "Contents/MacOS/minetest") +SET(CPACK_BUNDLE_PLIST "/Users/security/mtclient/misc/mac/Info.plist") +SET(CPACK_BUNDLE_STARTUP_COMMAND "/Users/security/mtclient/misc/mac/minetest-mac.sh") SET(CPACK_CMAKE_GENERATOR "Xcode") SET(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") SET(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") @@ -45,7 +45,7 @@ SET(CPACK_PACKAGE_DEFAULT_LOCATION "/") SET(CPACK_PACKAGE_DESCRIPTION_FILE "/opt/local/share/cmake-2.8/Templates/CPack.GenericDescription.txt") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "An InfiniMiner/Minecraft inspired game") SET(CPACK_PACKAGE_FILE_NAME "minetest-0.4.8-dev-osx") -SET(CPACK_PACKAGE_ICON "") +SET(CPACK_PACKAGE_ICON "/Users/security/mtclient/misc/mac/minetest-icon.icns") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "minetest 0.4.8-dev") SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "minetest 0.4.8-dev") SET(CPACK_PACKAGE_NAME "minetest") diff --git a/CPackSourceConfig.cmake b/CPackSourceConfig.cmake index 27bb16b..92cfa88 100644 --- a/CPackSourceConfig.cmake +++ b/CPackSourceConfig.cmake @@ -23,10 +23,10 @@ SET(CPACK_BINARY_TBZ2 "") SET(CPACK_BINARY_TGZ "") SET(CPACK_BINARY_TZ "") SET(CPACK_BINARY_ZIP "") -SET(CPACK_BUNDLE_ICON "") +SET(CPACK_BUNDLE_ICON "/Users/security/mtclient/misc/mac/minetest-icon.icns") SET(CPACK_BUNDLE_NAME "minetest") -SET(CPACK_BUNDLE_PLIST "") -SET(CPACK_BUNDLE_STARTUP_COMMAND "Contents/MacOS/minetest") +SET(CPACK_BUNDLE_PLIST "/Users/security/mtclient/misc/mac/Info.plist") +SET(CPACK_BUNDLE_STARTUP_COMMAND "/Users/security/mtclient/misc/mac/minetest-mac.sh") SET(CPACK_CMAKE_GENERATOR "Xcode") SET(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") SET(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") @@ -47,7 +47,7 @@ SET(CPACK_PACKAGE_DEFAULT_LOCATION "/") SET(CPACK_PACKAGE_DESCRIPTION_FILE "/opt/local/share/cmake-2.8/Templates/CPack.GenericDescription.txt") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "An InfiniMiner/Minecraft inspired game") SET(CPACK_PACKAGE_FILE_NAME "minetest-0.4.8-dev-Source") -SET(CPACK_PACKAGE_ICON "") +SET(CPACK_PACKAGE_ICON "/Users/security/mtclient/misc/mac/minetest-icon.icns") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "minetest 0.4.8-dev") SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "minetest 0.4.8-dev") SET(CPACK_PACKAGE_NAME "minetest") diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx.dmg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx.dmg new file mode 100644 index 0000000..dff7c18 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx.dmg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/.VolumeIcon.icns b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/.VolumeIcon.icns new file mode 100644 index 0000000..14731c2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/.VolumeIcon.icns differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/Applications b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/Applications new file mode 120000 index 0000000..bd2d47f --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/Applications @@ -0,0 +1 @@ +/Applications \ No newline at end of file diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Info.plist b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Info.plist new file mode 100644 index 0000000..2256227 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Info.plist @@ -0,0 +1,34 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + minetest + CFBundleIconFile + minetest.icns + CFBundleIdentifier + celeron55.minetest + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + minetest + CFBundlePackageType + APPL + CFBundleShortVersionString + GIT_VERSION + CFBundleSignature + ???? + CFBundleVersion + GIT_VERSION + LSApplicationCategoryType + public.app-category.games + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/MacOS/minetest b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/MacOS/minetest new file mode 100755 index 0000000..8540182 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/MacOS/minetest @@ -0,0 +1,4 @@ +#!/bin/bash +tmp="`pwd`/$0" +bundle=`dirname "$tmp"` +exec "$bundle/../Resources/bin/minetest" diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetest b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetest index 85951c0..ef0dbd3 100755 Binary files a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetest and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetest differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetestserver b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetestserver index 8d9af09..ab705af 100755 Binary files a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetestserver and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/minetestserver differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/auth.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/auth.lua new file mode 100644 index 0000000..b6cca60 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/auth.lua @@ -0,0 +1,188 @@ +-- Minetest: builtin/auth.lua + +-- +-- Authentication handler +-- + +function minetest.string_to_privs(str, delim) + assert(type(str) == "string") + delim = delim or ',' + privs = {} + for _, priv in pairs(string.split(str, delim)) do + privs[priv:trim()] = true + end + return privs +end + +function minetest.privs_to_string(privs, delim) + assert(type(privs) == "table") + delim = delim or ',' + list = {} + for priv, bool in pairs(privs) do + if bool then + table.insert(list, priv) + end + end + return table.concat(list, delim) +end + +assert(minetest.string_to_privs("a,b").b == true) +assert(minetest.privs_to_string({a=true,b=true}) == "a,b") + +minetest.auth_file_path = minetest.get_worldpath().."/auth.txt" +minetest.auth_table = {} + +local function read_auth_file() + local newtable = {} + local file, errmsg = io.open(minetest.auth_file_path, 'rb') + if not file then + minetest.log("info", minetest.auth_file_path.." could not be opened for reading ("..errmsg.."); assuming new world") + return + end + for line in file:lines() do + if line ~= "" then + local name, password, privilegestring = string.match(line, "([^:]*):([^:]*):([^:]*)") + if not name or not password or not privilegestring then + error("Invalid line in auth.txt: "..dump(line)) + end + local privileges = minetest.string_to_privs(privilegestring) + newtable[name] = {password=password, privileges=privileges} + end + end + io.close(file) + minetest.auth_table = newtable + minetest.notify_authentication_modified() +end + +local function save_auth_file() + local newtable = {} + -- Check table for validness before attempting to save + for name, stuff in pairs(minetest.auth_table) do + assert(type(name) == "string") + assert(name ~= "") + assert(type(stuff) == "table") + assert(type(stuff.password) == "string") + assert(type(stuff.privileges) == "table") + end + local file, errmsg = io.open(minetest.auth_file_path, 'w+b') + if not file then + error(minetest.auth_file_path.." could not be opened for writing: "..errmsg) + end + for name, stuff in pairs(minetest.auth_table) do + local privstring = minetest.privs_to_string(stuff.privileges) + file:write(name..":"..stuff.password..":"..privstring..'\n') + end + io.close(file) +end + +read_auth_file() + +minetest.builtin_auth_handler = { + get_auth = function(name) + assert(type(name) == "string") + -- Figure out what password to use for a new player (singleplayer + -- always has an empty password, otherwise use default, which is + -- usually empty too) + local new_password_hash = "" + -- If not in authentication table, return nil + if not minetest.auth_table[name] then + return nil + end + -- Figure out what privileges the player should have. + -- Take a copy of the privilege table + local privileges = {} + for priv, _ in pairs(minetest.auth_table[name].privileges) do + privileges[priv] = true + end + -- If singleplayer, give all privileges except those marked as give_to_singleplayer = false + if minetest.is_singleplayer() then + for priv, def in pairs(minetest.registered_privileges) do + if def.give_to_singleplayer then + privileges[priv] = true + end + end + -- For the admin, give everything + elseif name == minetest.setting_get("name") then + for priv, def in pairs(minetest.registered_privileges) do + privileges[priv] = true + end + end + -- All done + return { + password = minetest.auth_table[name].password, + privileges = privileges, + } + end, + create_auth = function(name, password) + assert(type(name) == "string") + assert(type(password) == "string") + minetest.log('info', "Built-in authentication handler adding player '"..name.."'") + minetest.auth_table[name] = { + password = password, + privileges = minetest.string_to_privs(minetest.setting_get("default_privs")), + } + save_auth_file() + end, + set_password = function(name, password) + assert(type(name) == "string") + assert(type(password) == "string") + if not minetest.auth_table[name] then + minetest.builtin_auth_handler.create_auth(name, password) + else + minetest.log('info', "Built-in authentication handler setting password of player '"..name.."'") + minetest.auth_table[name].password = password + save_auth_file() + end + return true + end, + set_privileges = function(name, privileges) + assert(type(name) == "string") + assert(type(privileges) == "table") + if not minetest.auth_table[name] then + minetest.builtin_auth_handler.create_auth(name, minetest.get_password_hash(name, minetest.setting_get("default_password"))) + end + minetest.auth_table[name].privileges = privileges + minetest.notify_authentication_modified(name) + save_auth_file() + end, + reload = function() + read_auth_file() + return true + end, +} + +function minetest.register_authentication_handler(handler) + if minetest.registered_auth_handler then + error("Add-on authentication handler already registered by "..minetest.registered_auth_handler_modname) + end + minetest.registered_auth_handler = handler + minetest.registered_auth_handler_modname = minetest.get_current_modname() +end + +function minetest.get_auth_handler() + if minetest.registered_auth_handler then + return minetest.registered_auth_handler + end + return minetest.builtin_auth_handler +end + +function minetest.set_player_password(name, password) + if minetest.get_auth_handler().set_password then + minetest.get_auth_handler().set_password(name, password) + end +end + +function minetest.set_player_privs(name, privs) + if minetest.get_auth_handler().set_privileges then + minetest.get_auth_handler().set_privileges(name, privs) + end +end + +function minetest.auth_reload() + if minetest.get_auth_handler().reload then + return minetest.get_auth_handler().reload() + end + return false +end + + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/builtin.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/builtin.lua new file mode 100644 index 0000000..99242f3 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/builtin.lua @@ -0,0 +1,36 @@ +-- +-- This file contains built-in stuff in Minetest implemented in Lua. +-- +-- It is always loaded and executed after registration of the C API, +-- before loading and running any mods. +-- + +-- Initialize some very basic things +print = minetest.debug +math.randomseed(os.time()) +os.setlocale("C", "numeric") + +local errorfct = error +error = function(text) + print(debug.traceback("")) + errorfct(text) +end + +-- Load other files +local modpath = minetest.get_modpath("__builtin") +dofile(modpath.."/serialize.lua") +dofile(modpath.."/misc_helpers.lua") +dofile(modpath.."/item.lua") +dofile(modpath.."/misc_register.lua") +dofile(modpath.."/item_entity.lua") +dofile(modpath.."/deprecated.lua") +dofile(modpath.."/misc.lua") +dofile(modpath.."/privileges.lua") +dofile(modpath.."/auth.lua") +dofile(modpath.."/chatcommands.lua") +dofile(modpath.."/static_spawn.lua") +dofile(modpath.."/detached_inventory.lua") +dofile(modpath.."/falling.lua") +dofile(modpath.."/features.lua") +dofile(modpath.."/voxelarea.lua") +dofile(modpath.."/vector.lua") diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/chatcommands.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/chatcommands.lua new file mode 100644 index 0000000..831d3a7 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/chatcommands.lua @@ -0,0 +1,693 @@ +-- Minetest: builtin/chatcommands.lua + +-- +-- Chat command handler +-- + +minetest.chatcommands = {} +function minetest.register_chatcommand(cmd, def) + def = def or {} + def.params = def.params or "" + def.description = def.description or "" + def.privs = def.privs or {} + minetest.chatcommands[cmd] = def +end + +minetest.register_on_chat_message(function(name, message) + local cmd, param = string.match(message, "^/([^ ]+) *(.*)") + if not param then + param = "" + end + local cmd_def = minetest.chatcommands[cmd] + if cmd_def then + local has_privs, missing_privs = minetest.check_player_privs(name, cmd_def.privs) + if has_privs then + cmd_def.func(name, param) + else + minetest.chat_send_player(name, "You don't have permission to run this command (missing privileges: "..table.concat(missing_privs, ", ")..")") + end + return true -- handled chat message + end + return false +end) + +-- +-- Chat commands +-- +minetest.register_chatcommand("me", { + params = "", + description = "chat action (eg. /me orders a pizza)", + privs = {shout=true}, + func = function(name, param) + minetest.chat_send_all("* " .. name .. " " .. param) + end, +}) + +minetest.register_chatcommand("help", { + privs = {}, + params = "(nothing)/all/privs/", + description = "Get help for commands or list privileges", + func = function(name, param) + local format_help_line = function(cmd, def) + local msg = "/"..cmd + if def.params and def.params ~= "" then msg = msg .. " " .. def.params end + if def.description and def.description ~= "" then msg = msg .. ": " .. def.description end + return msg + end + if param == "" then + local msg = "" + cmds = {} + for cmd, def in pairs(minetest.chatcommands) do + if minetest.check_player_privs(name, def.privs) then + table.insert(cmds, cmd) + end + end + minetest.chat_send_player(name, "Available commands: "..table.concat(cmds, " ")) + minetest.chat_send_player(name, "Use '/help ' to get more information, or '/help all' to list everything.") + elseif param == "all" then + minetest.chat_send_player(name, "Available commands:") + for cmd, def in pairs(minetest.chatcommands) do + if minetest.check_player_privs(name, def.privs) then + minetest.chat_send_player(name, format_help_line(cmd, def)) + end + end + elseif param == "privs" then + minetest.chat_send_player(name, "Available privileges:") + for priv, def in pairs(minetest.registered_privileges) do + minetest.chat_send_player(name, priv..": "..def.description) + end + else + local cmd = param + def = minetest.chatcommands[cmd] + if not def then + minetest.chat_send_player(name, "Command not available: "..cmd) + else + minetest.chat_send_player(name, format_help_line(cmd, def)) + end + end + end, +}) +minetest.register_chatcommand("privs", { + params = "", + description = "print out privileges of player", + func = function(name, param) + if param == "" then + param = name + else + --[[if not minetest.check_player_privs(name, {privs=true}) then + minetest.chat_send_player(name, "Privileges of "..param.." are hidden from you.") + return + end]] + end + minetest.chat_send_player(name, "Privileges of "..param..": "..minetest.privs_to_string(minetest.get_player_privs(param), ' ')) + end, +}) +minetest.register_chatcommand("grant", { + params = " |all", + description = "Give privilege to player", + privs = {}, + func = function(name, param) + if not minetest.check_player_privs(name, {privs=true}) and + not minetest.check_player_privs(name, {basic_privs=true}) then + minetest.chat_send_player(name, "Your privileges are insufficient.") + return + end + local grantname, grantprivstr = string.match(param, "([^ ]+) (.+)") + if not grantname or not grantprivstr then + minetest.chat_send_player(name, "Invalid parameters (see /help grant)") + return + elseif not minetest.auth_table[grantname] then + minetest.chat_send_player(name, "Player "..grantname.." does not exist.") + return + end + local grantprivs = minetest.string_to_privs(grantprivstr) + if grantprivstr == "all" then + grantprivs = minetest.registered_privileges + end + local privs = minetest.get_player_privs(grantname) + local privs_known = true + for priv, _ in pairs(grantprivs) do + if priv ~= "interact" and priv ~= "shout" and priv ~= "interact_extra" and not minetest.check_player_privs(name, {privs=true}) then + minetest.chat_send_player(name, "Your privileges are insufficient.") + return + end + if not minetest.registered_privileges[priv] then + minetest.chat_send_player(name, "Unknown privilege: "..priv) + privs_known = false + end + privs[priv] = true + end + if not privs_known then + return + end + minetest.set_player_privs(grantname, privs) + minetest.log(name..' granted ('..minetest.privs_to_string(grantprivs, ', ')..') privileges to '..grantname) + minetest.chat_send_player(name, "Privileges of "..grantname..": "..minetest.privs_to_string(minetest.get_player_privs(grantname), ' ')) + if grantname ~= name then + minetest.chat_send_player(grantname, name.." granted you privileges: "..minetest.privs_to_string(grantprivs, ' ')) + end + end, +}) +minetest.register_chatcommand("revoke", { + params = " |all", + description = "Remove privilege from player", + privs = {}, + func = function(name, param) + if not minetest.check_player_privs(name, {privs=true}) and + not minetest.check_player_privs(name, {basic_privs=true}) then + minetest.chat_send_player(name, "Your privileges are insufficient.") + return + end + local revokename, revokeprivstr = string.match(param, "([^ ]+) (.+)") + if not revokename or not revokeprivstr then + minetest.chat_send_player(name, "Invalid parameters (see /help revoke)") + return + elseif not minetest.auth_table[revokename] then + minetest.chat_send_player(name, "Player "..revokename.." does not exist.") + return + end + local revokeprivs = minetest.string_to_privs(revokeprivstr) + local privs = minetest.get_player_privs(revokename) + for priv, _ in pairs(revokeprivs) do + if priv ~= "interact" and priv ~= "shout" and priv ~= "interact_extra" and not minetest.check_player_privs(name, {privs=true}) then + minetest.chat_send_player(name, "Your privileges are insufficient.") + return + end + end + if revokeprivstr == "all" then + privs = {} + else + for priv, _ in pairs(revokeprivs) do + privs[priv] = nil + end + end + minetest.set_player_privs(revokename, privs) + minetest.log(name..' revoked ('..minetest.privs_to_string(revokeprivs, ', ')..') privileges from '..revokename) + minetest.chat_send_player(name, "Privileges of "..revokename..": "..minetest.privs_to_string(minetest.get_player_privs(revokename), ' ')) + if revokename ~= name then + minetest.chat_send_player(revokename, name.." revoked privileges from you: "..minetest.privs_to_string(revokeprivs, ' ')) + end + end, +}) +minetest.register_chatcommand("setpassword", { + params = " ", + description = "set given password", + privs = {password=true}, + func = function(name, param) + local toname, raw_password = string.match(param, "^([^ ]+) +(.+)$") + if not toname then + toname = string.match(param, "^([^ ]+) *$") + raw_password = nil + end + if not toname then + minetest.chat_send_player(name, "Name field required") + return + end + local actstr = "?" + if not raw_password then + minetest.set_player_password(toname, "") + actstr = "cleared" + else + minetest.set_player_password(toname, minetest.get_password_hash(toname, raw_password)) + actstr = "set" + end + minetest.chat_send_player(name, "Password of player \""..toname.."\" "..actstr) + if toname ~= name then + minetest.chat_send_player(toname, "Your password was "..actstr.." by "..name) + end + end, +}) +minetest.register_chatcommand("clearpassword", { + params = "", + description = "set empty password", + privs = {password=true}, + func = function(name, param) + toname = param + if toname == "" then + minetest.chat_send_player(name, "Name field required") + return + end + minetest.set_player_password(toname, '') + minetest.chat_send_player(name, "Password of player \""..toname.."\" cleared") + end, +}) + +minetest.register_chatcommand("auth_reload", { + params = "", + description = "reload authentication data", + privs = {server=true}, + func = function(name, param) + local done = minetest.auth_reload() + if done then + minetest.chat_send_player(name, "Done.") + else + minetest.chat_send_player(name, "Failed.") + end + end, +}) + +minetest.register_chatcommand("teleport", { + params = ",, | | ,, | ", + description = "teleport to given position", + privs = {teleport=true}, + func = function(name, param) + -- Returns (pos, true) if found, otherwise (pos, false) + local function find_free_position_near(pos) + local tries = { + {x=1,y=0,z=0}, + {x=-1,y=0,z=0}, + {x=0,y=0,z=1}, + {x=0,y=0,z=-1}, + } + for _, d in ipairs(tries) do + local p = {x = pos.x+d.x, y = pos.y+d.y, z = pos.z+d.z} + local n = minetest.get_node(p) + if not minetest.registered_nodes[n.name].walkable then + return p, true + end + end + return pos, false + end + + local teleportee = nil + local p = {} + p.x, p.y, p.z = string.match(param, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$") + p.x = tonumber(p.x) + p.y = tonumber(p.y) + p.z = tonumber(p.z) + teleportee = minetest.get_player_by_name(name) + if teleportee and p.x and p.y and p.z then + minetest.chat_send_player(name, "Teleporting to ("..p.x..", "..p.y..", "..p.z..")") + teleportee:setpos(p) + return + end + + local teleportee = nil + local p = nil + local target_name = nil + target_name = string.match(param, "^([^ ]+)$") + teleportee = minetest.get_player_by_name(name) + if target_name then + local target = minetest.get_player_by_name(target_name) + if target then + p = target:getpos() + end + end + if teleportee and p then + p = find_free_position_near(p) + minetest.chat_send_player(name, "Teleporting to "..target_name.." at ("..p.x..", "..p.y..", "..p.z..")") + teleportee:setpos(p) + return + end + + if minetest.check_player_privs(name, {bring=true}) then + local teleportee = nil + local p = {} + local teleportee_name = nil + teleportee_name, p.x, p.y, p.z = string.match(param, "^([^ ]+) +([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$") + p.x = tonumber(p.x) + p.y = tonumber(p.y) + p.z = tonumber(p.z) + if teleportee_name then + teleportee = minetest.get_player_by_name(teleportee_name) + end + if teleportee and p.x and p.y and p.z then + minetest.chat_send_player(name, "Teleporting "..teleportee_name.." to ("..p.x..", "..p.y..", "..p.z..")") + teleportee:setpos(p) + return + end + + local teleportee = nil + local p = nil + local teleportee_name = nil + local target_name = nil + teleportee_name, target_name = string.match(param, "^([^ ]+) +([^ ]+)$") + if teleportee_name then + teleportee = minetest.get_player_by_name(teleportee_name) + end + if target_name then + local target = minetest.get_player_by_name(target_name) + if target then + p = target:getpos() + end + end + if teleportee and p then + p = find_free_position_near(p) + minetest.chat_send_player(name, "Teleporting "..teleportee_name.." to "..target_name.." at ("..p.x..", "..p.y..", "..p.z..")") + teleportee:setpos(p) + return + end + end + + minetest.chat_send_player(name, "Invalid parameters (\""..param.."\") or player not found (see /help teleport)") + return + end, +}) + +minetest.register_chatcommand("set", { + params = "[-n] | ", + description = "set or read server configuration setting", + privs = {server=true}, + func = function(name, param) + local arg, setname, setvalue = string.match(param, "(-[n]) ([^ ]+) (.+)") + if arg and arg == "-n" and setname and setvalue then + minetest.setting_set(setname, setvalue) + minetest.chat_send_player(name, setname.." = "..setvalue) + return + end + local setname, setvalue = string.match(param, "([^ ]+) (.+)") + if setname and setvalue then + if not minetest.setting_get(setname) then + minetest.chat_send_player(name, "Failed. Use '/set -n ' to create a new setting.") + return + end + minetest.setting_set(setname, setvalue) + minetest.chat_send_player(name, setname.." = "..setvalue) + return + end + local setname = string.match(param, "([^ ]+)") + if setname then + local setvalue = minetest.setting_get(setname) + if not setvalue then + setvalue = "" + end + minetest.chat_send_player(name, setname.." = "..setvalue) + return + end + minetest.chat_send_player(name, "Invalid parameters (see /help set)") + end, +}) + +minetest.register_chatcommand("mods", { + params = "", + description = "lists mods installed on the server", + privs = {}, + func = function(name, param) + local response = "" + local modnames = minetest.get_modnames() + for i, mod in ipairs(modnames) do + response = response .. mod + -- Add space if not at the end + if i ~= #modnames then + response = response .. " " + end + end + minetest.chat_send_player(name, response) + end, +}) + +local function handle_give_command(cmd, giver, receiver, stackstring) + minetest.log("action", giver.." invoked "..cmd..', stackstring="' + ..stackstring..'"') + minetest.log(cmd..' invoked, stackstring="'..stackstring..'"') + local itemstack = ItemStack(stackstring) + if itemstack:is_empty() then + minetest.chat_send_player(giver, 'error: cannot give an empty item') + return + elseif not itemstack:is_known() then + minetest.chat_send_player(giver, 'error: cannot give an unknown item') + return + end + local receiverref = minetest.get_player_by_name(receiver) + if receiverref == nil then + minetest.chat_send_player(giver, receiver..' is not a known player') + return + end + local leftover = receiverref:get_inventory():add_item("main", itemstack) + if leftover:is_empty() then + partiality = "" + elseif leftover:get_count() == itemstack:get_count() then + partiality = "could not be " + else + partiality = "partially " + end + -- The actual item stack string may be different from what the "giver" + -- entered (e.g. big numbers are always interpreted as 2^16-1). + stackstring = itemstack:to_string() + if giver == receiver then + minetest.chat_send_player(giver, '"'..stackstring + ..'" '..partiality..'added to inventory.'); + else + minetest.chat_send_player(giver, '"'..stackstring + ..'" '..partiality..'added to '..receiver..'\'s inventory.'); + minetest.chat_send_player(receiver, '"'..stackstring + ..'" '..partiality..'added to inventory.'); + end +end + +minetest.register_chatcommand("give", { + params = " ", + description = "give item to player", + privs = {give=true}, + func = function(name, param) + local toname, itemstring = string.match(param, "^([^ ]+) +(.+)$") + if not toname or not itemstring then + minetest.chat_send_player(name, "name and itemstring required") + return + end + handle_give_command("/give", name, toname, itemstring) + end, +}) +minetest.register_chatcommand("giveme", { + params = "", + description = "give item to yourself", + privs = {give=true}, + func = function(name, param) + local itemstring = string.match(param, "(.+)$") + if not itemstring then + minetest.chat_send_player(name, "itemstring required") + return + end + handle_give_command("/giveme", name, name, itemstring) + end, +}) +minetest.register_chatcommand("spawnentity", { + params = "", + description = "spawn entity at your position", + privs = {give=true, interact=true}, + func = function(name, param) + local entityname = string.match(param, "(.+)$") + if not entityname then + minetest.chat_send_player(name, "entityname required") + return + end + minetest.log("action", '/spawnentity invoked, entityname="'..entityname..'"') + local player = minetest.get_player_by_name(name) + if player == nil then + minetest.log("error", "Unable to spawn entity, player is nil") + return true -- Handled chat message + end + local p = player:getpos() + p.y = p.y + 1 + minetest.add_entity(p, entityname) + minetest.chat_send_player(name, '"'..entityname + ..'" spawned.'); + end, +}) +minetest.register_chatcommand("pulverize", { + params = "", + description = "delete item in hand", + privs = {}, + func = function(name, param) + local player = minetest.get_player_by_name(name) + if player == nil then + minetest.log("error", "Unable to pulverize, player is nil") + return true -- Handled chat message + end + if player:get_wielded_item():is_empty() then + minetest.chat_send_player(name, 'Unable to pulverize, no item in hand.') + else + player:set_wielded_item(nil) + minetest.chat_send_player(name, 'An item was pulverized.') + end + end, +}) + +-- Key = player name +minetest.rollback_punch_callbacks = {} + +minetest.register_on_punchnode(function(pos, node, puncher) + local name = puncher:get_player_name() + if minetest.rollback_punch_callbacks[name] then + minetest.rollback_punch_callbacks[name](pos, node, puncher) + minetest.rollback_punch_callbacks[name] = nil + end +end) + +minetest.register_chatcommand("rollback_check", { + params = "[] []", + description = "check who has last touched a node or near it, ".. + "max. ago (default range=0, seconds=86400=24h)", + privs = {rollback=true}, + func = function(name, param) + local range, seconds = string.match(param, "(%d+) *(%d*)") + range = tonumber(range) or 0 + seconds = tonumber(seconds) or 86400 + minetest.chat_send_player(name, "Punch a node (limits set: range=".. + dump(range).." seconds="..dump(seconds).."s)") + minetest.rollback_punch_callbacks[name] = function(pos, node, puncher) + local name = puncher:get_player_name() + minetest.chat_send_player(name, "Checking...") + local actor, act_p, act_seconds = + minetest.rollback_get_last_node_actor(pos, range, seconds) + if actor == "" then + minetest.chat_send_player(name, "Nobody has touched the ".. + "specified location in "..dump(seconds).." seconds") + return + end + local nodedesc = "this node" + if act_p.x ~= pos.x or act_p.y ~= pos.y or act_p.z ~= pos.z then + nodedesc = minetest.pos_to_string(act_p) + end + local nodename = minetest.get_node(act_p).name + minetest.chat_send_player(name, "Last actor on "..nodedesc.. + " was "..actor..", "..dump(act_seconds).. + "s ago (node is now "..nodename..")") + end + end, +}) + +minetest.register_chatcommand("rollback", { + params = " [] | : []", + description = "revert actions of a player; default for is 60", + privs = {rollback=true}, + func = function(name, param) + local target_name, seconds = string.match(param, ":([^ ]+) *(%d*)") + if not target_name then + local player_name = nil; + player_name, seconds = string.match(param, "([^ ]+) *(%d*)") + if not player_name then + minetest.chat_send_player(name, "Invalid parameters. See /help rollback and /help rollback_check") + return + end + target_name = "player:"..player_name + end + seconds = tonumber(seconds) or 60 + minetest.chat_send_player(name, "Reverting actions of ".. + dump(target_name).." since "..dump(seconds).." seconds.") + local success, log = minetest.rollback_revert_actions_by( + target_name, seconds) + if #log > 10 then + minetest.chat_send_player(name, "(log is too long to show)") + else + for _,line in ipairs(log) do + minetest.chat_send_player(name, line) + end + end + if success then + minetest.chat_send_player(name, "Reverting actions succeeded.") + else + minetest.chat_send_player(name, "Reverting actions FAILED.") + end + end, +}) + +minetest.register_chatcommand("status", { + params = "", + description = "print server status line", + privs = {}, + func = function(name, param) + minetest.chat_send_player(name, minetest.get_server_status()) + end, +}) + +minetest.register_chatcommand("time", { + params = "<0...24000>", + description = "set time of day", + privs = {settime=true}, + func = function(name, param) + if param == "" then + minetest.chat_send_player(name, "Missing parameter") + return + end + local newtime = tonumber(param) + if newtime == nil then + minetest.chat_send_player(name, "Invalid time") + else + minetest.set_timeofday((newtime % 24000) / 24000) + minetest.chat_send_player(name, "Time of day changed.") + minetest.log("action", name .. " sets time " .. newtime) + end + end, +}) + +minetest.register_chatcommand("shutdown", { + params = "", + description = "shutdown server", + privs = {server=true}, + func = function(name, param) + minetest.log("action", name .. " shuts down server") + minetest.request_shutdown() + minetest.chat_send_all("*** Server shutting down (operator request).") + end, +}) + +minetest.register_chatcommand("ban", { + params = "", + description = "ban IP of player", + privs = {ban=true}, + func = function(name, param) + if param == "" then + minetest.chat_send_player(name, "Ban list: " .. minetest.get_ban_list()) + return + end + if not minetest.get_player_by_name(param) then + minetest.chat_send_player(name, "No such player") + return + end + if not minetest.ban_player(param) then + minetest.chat_send_player(name, "Failed to ban player") + else + local desc = minetest.get_ban_description(param) + minetest.chat_send_player(name, "Banned " .. desc .. ".") + minetest.log("action", name .. " bans " .. desc .. ".") + end + end, +}) + +minetest.register_chatcommand("unban", { + params = "", + description = "remove IP ban", + privs = {ban=true}, + func = function(name, param) + if not minetest.unban_player_or_ip(param) then + minetest.chat_send_player(name, "Failed to unban player/IP") + else + minetest.chat_send_player(name, "Unbanned " .. param) + minetest.log("action", name .. " unbans " .. param) + end + end, +}) + +minetest.register_chatcommand("clearobjects", { + params = "", + description = "clear all objects in world", + privs = {server=true}, + func = function(name, param) + minetest.log("action", name .. " clears all objects") + minetest.chat_send_all("Clearing all objects. This may take long. You may experience a timeout. (by " .. name .. ")") + minetest.clear_objects() + minetest.log("action", "object clearing done") + minetest.chat_send_all("*** Cleared all objects.") + end, +}) + +minetest.register_chatcommand("msg", { + params = " ", + description = "Send a private message", + privs = {shout=true}, + func = function(name, param) + local found, _, sendto, message = param:find("^([^%s]+)%s(.+)$") + if found then + if minetest.get_player_by_name(sendto) then + minetest.log("action", "PM from "..name.." to "..sendto..": "..message) + minetest.chat_send_player(sendto, "PM from "..name..": "..message, false) + minetest.chat_send_player(name, "Message sent") + else + minetest.chat_send_player(name, "The player "..sendto.." is not online") + end + else + minetest.chat_send_player(name, "Invalid usage, see /help msg") + end + end, +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/deprecated.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/deprecated.lua new file mode 100644 index 0000000..333f64c --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/deprecated.lua @@ -0,0 +1,48 @@ +-- Minetest: builtin/deprecated.lua + +-- +-- Default material types +-- +function digprop_err() + minetest.log("info", debug.traceback()) + minetest.log("info", "WARNING: The minetest.digprop_* functions are obsolete and need to be replaced by item groups.") +end + +minetest.digprop_constanttime = digprop_err +minetest.digprop_stonelike = digprop_err +minetest.digprop_dirtlike = digprop_err +minetest.digprop_gravellike = digprop_err +minetest.digprop_woodlike = digprop_err +minetest.digprop_leaveslike = digprop_err +minetest.digprop_glasslike = digprop_err + +minetest.node_metadata_inventory_move_allow_all = function() + minetest.log("info", "WARNING: minetest.node_metadata_inventory_move_allow_all is obsolete and does nothing.") +end + +minetest.add_to_creative_inventory = function(itemstring) + minetest.log('info', "WARNING: minetest.add_to_creative_inventory: This function is deprecated and does nothing.") +end + +-- +-- EnvRef +-- +minetest.env = {} +local envref_deprecation_message_printed = false +setmetatable(minetest.env, { + __index = function(table, key) + if not envref_deprecation_message_printed then + minetest.log("info", "WARNING: minetest.env:[...] is deprecated and should be replaced with minetest.[...]") + envref_deprecation_message_printed = true + end + local func = minetest[key] + if type(func) == "function" then + rawset(table, key, function(self, ...) + return func(...) + end) + else + rawset(table, key, nil) + end + return rawget(table, key) + end +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/detached_inventory.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/detached_inventory.lua new file mode 100644 index 0000000..3757f13 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/detached_inventory.lua @@ -0,0 +1,19 @@ +-- Minetest: builtin/detached_inventory.lua + +minetest.detached_inventories = {} + +function minetest.create_detached_inventory(name, callbacks) + local stuff = {} + stuff.name = name + if callbacks then + stuff.allow_move = callbacks.allow_move + stuff.allow_put = callbacks.allow_put + stuff.allow_take = callbacks.allow_take + stuff.on_move = callbacks.on_move + stuff.on_put = callbacks.on_put + stuff.on_take = callbacks.on_take + end + minetest.detached_inventories[name] = stuff + return minetest.create_detached_inventory_raw(name) +end + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/falling.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/falling.lua new file mode 100644 index 0000000..c8f3bc5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/falling.lua @@ -0,0 +1,217 @@ +-- Minetest: builtin/item.lua + +-- +-- Falling stuff +-- + +minetest.register_entity("__builtin:falling_node", { + initial_properties = { + physical = true, + collide_with_objects = false, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "wielditem", + textures = {}, + visual_size = {x=0.667, y=0.667}, + }, + + node = {}, + + set_node = function(self, node) + self.node = node + local stack = ItemStack(node.name) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + local item_texture = nil + local item_type = "" + if minetest.registered_items[itemname] then + item_texture = minetest.registered_items[itemname].inventory_image + item_type = minetest.registered_items[itemname].type + end + prop = { + is_visible = true, + textures = {node.name}, + } + self.object:set_properties(prop) + end, + + get_staticdata = function(self) + return self.node.name + end, + + on_activate = function(self, staticdata) + self.object:set_armor_groups({immortal=1}) + --self.object:setacceleration({x=0, y=-10, z=0}) + self:set_node({name=staticdata}) + end, + + on_step = function(self, dtime) + -- Set gravity + self.object:setacceleration({x=0, y=-10, z=0}) + -- Turn to actual sand when collides to ground or just move + local pos = self.object:getpos() + local bcp = {x=pos.x, y=pos.y-0.7, z=pos.z} -- Position of bottom center point + local bcn = minetest.get_node(bcp) + local bcd = minetest.registered_nodes[bcn.name] + -- Note: walkable is in the node definition, not in item groups + if not bcd or + (bcd.walkable or + (minetest.get_node_group(self.node.name, "float") ~= 0 and + bcd.liquidtype ~= "none")) then + if bcd and bcd.leveled and + bcn.name == self.node.name then + local addlevel = self.node.level + if addlevel == nil or addlevel <= 0 then + addlevel = bcd.leveled + end + if minetest.add_node_level(bcp, addlevel) == 0 then + self.object:remove() + return + end + elseif bcd and bcd.buildable_to and + (minetest.get_node_group(self.node.name, "float") == 0 or + bcd.liquidtype == "none") then + minetest.remove_node(bcp) + return + end + local np = {x=bcp.x, y=bcp.y+1, z=bcp.z} + -- Check what's here + local n2 = minetest.get_node(np) + -- If it's not air or liquid, remove node and replace it with + -- it's drops + if n2.name ~= "air" and (not minetest.registered_nodes[n2.name] or + minetest.registered_nodes[n2.name].liquidtype == "none") then + local drops = minetest.get_node_drops(n2.name, "") + minetest.remove_node(np) + -- Add dropped items + local _, dropped_item + for _, dropped_item in ipairs(drops) do + minetest.add_item(np, dropped_item) + end + -- Run script hook + local _, callback + for _, callback in ipairs(minetest.registered_on_dignodes) do + callback(np, n2, nil) + end + end + -- Create node and remove entity + minetest.add_node(np, self.node) + self.object:remove() + nodeupdate(np) + else + -- Do nothing + end + end +}) + +function spawn_falling_node(p, node) + obj = minetest.add_entity(p, "__builtin:falling_node") + obj:get_luaentity():set_node(node) +end + +function drop_attached_node(p) + local nn = minetest.get_node(p).name + minetest.remove_node(p) + for _,item in ipairs(minetest.get_node_drops(nn, "")) do + local pos = { + x = p.x + math.random()/2 - 0.25, + y = p.y + math.random()/2 - 0.25, + z = p.z + math.random()/2 - 0.25, + } + minetest.add_item(pos, item) + end +end + +function check_attached_node(p, n) + local def = minetest.registered_nodes[n.name] + local d = {x=0, y=0, z=0} + if def.paramtype2 == "wallmounted" then + if n.param2 == 0 then + d.y = 1 + elseif n.param2 == 1 then + d.y = -1 + elseif n.param2 == 2 then + d.x = 1 + elseif n.param2 == 3 then + d.x = -1 + elseif n.param2 == 4 then + d.z = 1 + elseif n.param2 == 5 then + d.z = -1 + end + else + d.y = -1 + end + local p2 = {x=p.x+d.x, y=p.y+d.y, z=p.z+d.z} + local nn = minetest.get_node(p2).name + local def2 = minetest.registered_nodes[nn] + if def2 and not def2.walkable then + return false + end + return true +end + +-- +-- Some common functions +-- + +function nodeupdate_single(p, delay) + n = minetest.get_node(p) + if minetest.get_node_group(n.name, "falling_node") ~= 0 then + p_bottom = {x=p.x, y=p.y-1, z=p.z} + n_bottom = minetest.get_node(p_bottom) + -- Note: walkable is in the node definition, not in item groups + if minetest.registered_nodes[n_bottom.name] and + (minetest.get_node_group(n.name, "float") == 0 or minetest.registered_nodes[n_bottom.name].liquidtype == "none") and + (n.name ~= n_bottom.name or (minetest.registered_nodes[n_bottom.name].leveled and minetest.env:get_node_level(p_bottom) < minetest.env:get_node_max_level(p_bottom))) and + (not minetest.registered_nodes[n_bottom.name].walkable or + minetest.registered_nodes[n_bottom.name].buildable_to) then + if delay then + minetest.after(0.1, nodeupdate_single, {x=p.x, y=p.y, z=p.z}, false) + else + n.level = minetest.env:get_node_level(p) + minetest.remove_node(p) + spawn_falling_node(p, n) + nodeupdate(p) + end + end + end + + if minetest.get_node_group(n.name, "attached_node") ~= 0 then + if not check_attached_node(p, n) then + drop_attached_node(p) + nodeupdate(p) + end + end +end + +function nodeupdate(p, delay) + -- Round p to prevent falling entities to get stuck + p.x = math.floor(p.x+0.5) + p.y = math.floor(p.y+0.5) + p.z = math.floor(p.z+0.5) + + for x = -1,1 do + for y = -1,1 do + for z = -1,1 do + nodeupdate_single({x=p.x+x, y=p.y+y, z=p.z+z}, delay or not (x==0 and y==0 and z==0)) + end + end + end +end + +-- +-- Global callbacks +-- + +function on_placenode(p, node) + nodeupdate(p) +end +minetest.register_on_placenode(on_placenode) + +function on_dignode(p, node) + nodeupdate(p) +end +minetest.register_on_dignode(on_dignode) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/features.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/features.lua new file mode 100644 index 0000000..f3de3ba --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/features.lua @@ -0,0 +1,29 @@ +-- Minetest: builtin/features.lua + +minetest.features = { + glasslike_framed = true, + nodebox_as_selectionbox = true, + chat_send_player_param3 = true, + get_all_craft_recipes_works = true, + use_texture_alpha = true, + no_legacy_abms = true, +} + +function minetest.has_feature(arg) + if type(arg) == "table" then + missing_features = {} + result = true + for ft, _ in pairs(arg) do + if not minetest.features[ftr] then + missing_features[ftr] = true + result = false + end + end + return result, missing_features + elseif type(arg) == "string" then + if not minetest.features[arg] then + return false, {[arg]=true} + end + return true, {} + end +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/filterlist.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/filterlist.lua new file mode 100644 index 0000000..1c2ceb0 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/filterlist.lua @@ -0,0 +1,287 @@ +--Minetest +--Copyright (C) 2013 sapier +-- +--This program is free software; you can redistribute it and/or modify +--it under the terms of the GNU Lesser General Public License as published by +--the Free Software Foundation; either version 2.1 of the License, or +--(at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU Lesser General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public License along +--with this program; if not, write to the Free Software Foundation, Inc., +--51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-------------------------------------------------------------------------------- +-- Generic implementation of a filter/sortable list -- +-------------------------------------------------------------------------------- +filterlist = {} + +-------------------------------------------------------------------------------- +function filterlist.refresh(this) + this.m_raw_list = this.m_raw_list_fct(this.m_fetch_param) + filterlist.process(this) +end + +-------------------------------------------------------------------------------- +function filterlist.create(raw_fct,compare_fct,uid_match_fct,filter_fct,fetch_param) + + assert((raw_fct ~= nil) and (type(raw_fct) == "function")) + assert((compare_fct ~= nil) and (type(compare_fct) == "function")) + + local this = {} + + this.m_raw_list_fct = raw_fct + this.m_compare_fct = compare_fct + this.m_filter_fct = filter_fct + this.m_uid_match_fct = uid_match_fct + + this.m_filtercriteria = nil + this.m_fetch_param = fetch_param + + this.m_sortmode = "none" + this.m_sort_list = {} + + this.m_processed_list = nil + this.m_raw_list = this.m_raw_list_fct(this.m_fetch_param) + + filterlist.process(this) + + return this +end + +-------------------------------------------------------------------------------- +function filterlist.add_sort_mechanism(this,name,fct) + this.m_sort_list[name] = fct +end + +-------------------------------------------------------------------------------- +function filterlist.set_filtercriteria(this,criteria) + if criteria == this.m_filtercriteria and + type(criteria) ~= "table" then + return + end + this.m_filtercriteria = criteria + filterlist.process(this) +end + +-------------------------------------------------------------------------------- +function filterlist.get_filtercriteria(this) + return this.m_filtercriteria +end + +-------------------------------------------------------------------------------- +--supported sort mode "alphabetic|none" +function filterlist.set_sortmode(this,mode) + if (mode == this.m_sortmode) then + return + end + this.m_sortmode = mode + filterlist.process(this) +end + +-------------------------------------------------------------------------------- +function filterlist.get_list(this) + return this.m_processed_list +end + +-------------------------------------------------------------------------------- +function filterlist.get_raw_list(this) + return this.m_raw_list +end + +-------------------------------------------------------------------------------- +function filterlist.get_raw_element(this,idx) + if type(idx) ~= "number" then + idx = tonumber(idx) + end + + if idx ~= nil and idx > 0 and idx < #this.m_raw_list then + return this.m_raw_list[idx] + end + + return nil +end + +-------------------------------------------------------------------------------- +function filterlist.get_raw_index(this,listindex) + assert(this.m_processed_list ~= nil) + + if listindex ~= nil and listindex > 0 and + listindex <= #this.m_processed_list then + local entry = this.m_processed_list[listindex] + + for i,v in ipairs(this.m_raw_list) do + + if this.m_compare_fct(v,entry) then + return i + end + end + end + + return 0 +end + +-------------------------------------------------------------------------------- +function filterlist.get_current_index(this,listindex) + assert(this.m_processed_list ~= nil) + + if listindex ~= nil and listindex > 0 and + listindex <= #this.m_raw_list then + local entry = this.m_raw_list[listindex] + + for i,v in ipairs(this.m_processed_list) do + + if this.m_compare_fct(v,entry) then + return i + end + end + end + + return 0 +end + +-------------------------------------------------------------------------------- +function filterlist.process(this) + assert(this.m_raw_list ~= nil) + + if this.m_sortmode == "none" and + this.m_filtercriteria == nil then + this.m_processed_list = this.m_raw_list + return + end + + this.m_processed_list = {} + + for k,v in pairs(this.m_raw_list) do + if this.m_filtercriteria == nil or + this.m_filter_fct(v,this.m_filtercriteria) then + table.insert(this.m_processed_list,v) + end + end + + if this.m_sortmode == "none" then + return + end + + if this.m_sort_list[this.m_sortmode] ~= nil and + type(this.m_sort_list[this.m_sortmode]) == "function" then + + this.m_sort_list[this.m_sortmode](this) + end +end + +-------------------------------------------------------------------------------- +function filterlist.size(this) + if this.m_processed_list == nil then + return 0 + end + + return #this.m_processed_list +end + +-------------------------------------------------------------------------------- +function filterlist.uid_exists_raw(this,uid) + for i,v in ipairs(this.m_raw_list) do + if this.m_uid_match_fct(v,uid) then + return true + end + end + return false +end + +-------------------------------------------------------------------------------- +function filterlist.raw_index_by_uid(this, uid) + local elementcount = 0 + local elementidx = 0 + for i,v in ipairs(this.m_raw_list) do + if this.m_uid_match_fct(v,uid) then + elementcount = elementcount +1 + elementidx = i + end + end + + + -- If there are more elements than one with same name uid can't decide which + -- one is meant. This shouldn't be possible but just for sure. + if elementcount > 1 then + elementidx=0 + end + + return elementidx +end + +-------------------------------------------------------------------------------- +-- COMMON helper functions -- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +function compare_worlds(world1,world2) + + if world1.path ~= world2.path then + return false + end + + if world1.name ~= world2.name then + return false + end + + if world1.gameid ~= world2.gameid then + return false + end + + return true +end + +-------------------------------------------------------------------------------- +function sort_worlds_alphabetic(this) + + table.sort(this.m_processed_list, function(a, b) + --fixes issue #857 (crash due to sorting nil in worldlist) + if a == nil or b == nil then + if a == nil and b ~= nil then return false end + if b == nil and a ~= nil then return true end + return false + end + if a.name:lower() == b.name:lower() then + return a.name < b.name + end + return a.name:lower() < b.name:lower() + end) +end + +-------------------------------------------------------------------------------- +function sort_mod_list(this) + + table.sort(this.m_processed_list, function(a, b) + -- Show game mods at bottom + if a.typ ~= b.typ then + return b.typ == "game_mod" + end + -- If in same or no modpack, sort by name + if a.modpack == b.modpack then + if a.name:lower() == b.name:lower() then + return a.name < b.name + end + return a.name:lower() < b.name:lower() + -- Else compare name to modpack name + else + -- Always show modpack pseudo-mod on top of modpack mod list + if a.name == b.modpack then + return true + elseif b.name == a.modpack then + return false + end + + local name_a = a.modpack or a.name + local name_b = b.modpack or b.name + if name_a:lower() == name_b:lower() then + return name_a < name_b + end + return name_a:lower() < name_b:lower() + end + end) +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/gamemgr.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/gamemgr.lua new file mode 100644 index 0000000..7a5e979 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/gamemgr.lua @@ -0,0 +1,322 @@ +--Minetest +--Copyright (C) 2013 sapier +-- +--This program is free software; you can redistribute it and/or modify +--it under the terms of the GNU Lesser General Public License as published by +--the Free Software Foundation; either version 2.1 of the License, or +--(at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU Lesser General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public License along +--with this program; if not, write to the Free Software Foundation, Inc., +--51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +gamemgr = {} + +-------------------------------------------------------------------------------- +function gamemgr.dialog_new_game() + local retval = + "label[2,2;" .. fgettext("Game Name") .. "]".. + "field[4.5,2.4;6,0.5;te_game_name;;]" .. + "button[5,4.2;2.6,0.5;new_game_confirm;" .. fgettext("Create") .. "]" .. + "button[7.5,4.2;2.8,0.5;new_game_cancel;" .. fgettext("Cancel") .. "]" + + return retval +end + +-------------------------------------------------------------------------------- +function gamemgr.handle_games_buttons(fields) + if fields["gamelist"] ~= nil then + local event = explode_textlist_event(fields["gamelist"]) + gamemgr.selected_game = event.index + end + + if fields["btn_game_mgr_edit_game"] ~= nil then + return { + is_dialog = true, + show_buttons = false, + current_tab = "dialog_edit_game" + } + end + + if fields["btn_game_mgr_new_game"] ~= nil then + return { + is_dialog = true, + show_buttons = false, + current_tab = "dialog_new_game" + } + end + + return nil +end + +-------------------------------------------------------------------------------- +function gamemgr.handle_new_game_buttons(fields) + + if fields["new_game_confirm"] and + fields["te_game_name"] ~= nil and + fields["te_game_name"] ~= "" then + local gamepath = engine.get_gamepath() + + if gamepath ~= nil and + gamepath ~= "" then + local gamefolder = cleanup_path(fields["te_game_name"]) + + --TODO check for already existing first + engine.create_dir(gamepath .. DIR_DELIM .. gamefolder) + engine.create_dir(gamepath .. DIR_DELIM .. gamefolder .. DIR_DELIM .. "mods") + engine.create_dir(gamepath .. DIR_DELIM .. gamefolder .. DIR_DELIM .. "menu") + + local gameconf = + io.open(gamepath .. DIR_DELIM .. gamefolder .. DIR_DELIM .. "game.conf","w") + + if gameconf then + gameconf:write("name = " .. fields["te_game_name"]) + gameconf:close() + end + end + end + + return { + is_dialog = false, + show_buttons = true, + current_tab = engine.setting_get("main_menu_tab") + } +end + +-------------------------------------------------------------------------------- +function gamemgr.handle_edit_game_buttons(fields) + local current_game = gamemgr.get_game(gamemgr.selected_game) + + if fields["btn_close_edit_game"] ~= nil or + current_game == nil then + return { + is_dialog = false, + show_buttons = true, + current_tab = engine.setting_get("main_menu_tab") + } + end + + if fields["btn_remove_mod_from_game"] ~= nil then + gamemgr.delete_mod(current_game,engine.get_textlist_index("mods_current")) + end + + if fields["btn_add_mod_to_game"] ~= nil then + local modindex = engine.get_textlist_index("mods_available") + + local mod = modmgr.get_global_mod(modindex) + if mod ~= nil then + + local sourcepath = mod.path + + if not gamemgr.add_mod(current_game,sourcepath) then + gamedata.errormessage = + fgettext("Gamemgr: Unable to copy mod \"$1\" to game \"$2\"", mod.name, current_game.id) + end + end + end + + return nil +end + +-------------------------------------------------------------------------------- +function gamemgr.add_mod(gamespec,sourcepath) + if gamespec.gamemods_path ~= nil and + gamespec.gamemods_path ~= "" then + + local modname = get_last_folder(sourcepath) + + return engine.copy_dir(sourcepath,gamespec.gamemods_path .. DIR_DELIM .. modname); + end + + return false +end + +-------------------------------------------------------------------------------- +function gamemgr.delete_mod(gamespec,modindex) + if gamespec.gamemods_path ~= nil and + gamespec.gamemods_path ~= "" then + local game_mods = {} + get_mods(gamespec.gamemods_path,game_mods) + + if modindex > 0 and + #game_mods >= modindex then + + if game_mods[modindex].path:sub(0,gamespec.gamemods_path:len()) + == gamespec.gamemods_path then + engine.delete_dir(game_mods[modindex].path) + end + end + end +end + +-------------------------------------------------------------------------------- +function gamemgr.find_by_gameid(gameid) + for i=1,#gamemgr.games,1 do + if gamemgr.games[i].id == gameid then + return gamemgr.games[i], i + end + end + return nil, nil +end + +-------------------------------------------------------------------------------- +function gamemgr.get_game_mods(gamespec, retval) + if gamespec ~= nil and + gamespec.gamemods_path ~= nil and + gamespec.gamemods_path ~= "" then + get_mods(gamespec.gamemods_path, retval) + end +end + +-------------------------------------------------------------------------------- +function gamemgr.get_game_modlist(gamespec) + local retval = "" + local game_mods = {} + gamemgr.get_game_mods(gamespec, game_mods) + for i=1,#game_mods,1 do + if retval ~= "" then + retval = retval.."," + end + retval = retval .. game_mods[i].name + end + return retval +end + +-------------------------------------------------------------------------------- +function gamemgr.gettab(name) + local retval = "" + + if name == "dialog_edit_game" then + retval = retval .. gamemgr.dialog_edit_game() + end + + if name == "dialog_new_game" then + retval = retval .. gamemgr.dialog_new_game() + end + + if name == "game_mgr" then + retval = retval .. gamemgr.tab() + end + + return retval +end + +-------------------------------------------------------------------------------- +function gamemgr.tab() + if gamemgr.selected_game == nil then + gamemgr.selected_game = 1 + end + + local retval = + "vertlabel[0,-0.25;" .. fgettext("GAMES") .. "]" .. + "label[1,-0.25;" .. fgettext("Games") .. ":]" .. + "textlist[1,0.25;4.5,4.4;gamelist;" .. + gamemgr.gamelist() .. + ";" .. gamemgr.selected_game .. "]" + + local current_game = gamemgr.get_game(gamemgr.selected_game) + + if current_game ~= nil then + if current_game.menuicon_path ~= nil and + current_game.menuicon_path ~= "" then + retval = retval .. + "image[5.8,-0.25;2,2;" .. + engine.formspec_escape(current_game.menuicon_path) .. "]" + end + + retval = retval .. + "field[8,-0.25;6,2;;" .. current_game.name .. ";]".. + "label[6,1.4;" .. fgettext("Mods:") .."]" .. + "button[9.7,1.5;2,0.2;btn_game_mgr_edit_game;" .. fgettext("edit game") .. "]" .. + "textlist[6,2;5.5,3.3;game_mgr_modlist;" + .. gamemgr.get_game_modlist(current_game) ..";0]" .. + "button[1,4.75;3.2,0.5;btn_game_mgr_new_game;" .. fgettext("new game") .. "]" + end + return retval +end + +-------------------------------------------------------------------------------- +function gamemgr.dialog_edit_game() + local current_game = gamemgr.get_game(gamemgr.selected_game) + if current_game ~= nil then + local retval = + "vertlabel[0,-0.25;" .. fgettext("EDIT GAME") .."]" .. + "label[0,-0.25;" .. current_game.name .. "]" .. + "button[11.55,-0.2;0.75,0.5;btn_close_edit_game;x]" + + if current_game.menuicon_path ~= nil and + current_game.menuicon_path ~= "" then + retval = retval .. + "image[5.25,0;2,2;" .. + engine.formspec_escape(current_game.menuicon_path) .. "]" + end + + retval = retval .. + "textlist[0.5,0.5;4.5,4.3;mods_current;" + .. gamemgr.get_game_modlist(current_game) ..";0]" + + + retval = retval .. + "textlist[7,0.5;4.5,4.3;mods_available;" + .. modmgr.render_modlist() .. ";0]" + + retval = retval .. + "button[0.55,4.95;4.7,0.5;btn_remove_mod_from_game;" .. fgettext("Remove selected mod") .."]" + + retval = retval .. + "button[7.05,4.95;4.7,0.5;btn_add_mod_to_game;" .. fgettext("<<-- Add mod") .."]" + + return retval + end +end + +-------------------------------------------------------------------------------- +function gamemgr.handle_buttons(tab,fields) + local retval = nil + + if tab == "dialog_edit_game" then + retval = gamemgr.handle_edit_game_buttons(fields) + end + + if tab == "dialog_new_game" then + retval = gamemgr.handle_new_game_buttons(fields) + end + + if tab == "game_mgr" then + retval = gamemgr.handle_games_buttons(fields) + end + + return retval +end + +-------------------------------------------------------------------------------- +function gamemgr.get_game(index) + if index > 0 and index <= #gamemgr.games then + return gamemgr.games[index] + end + + return nil +end + +-------------------------------------------------------------------------------- +function gamemgr.update_gamelist() + gamemgr.games = engine.get_games() +end + +-------------------------------------------------------------------------------- +function gamemgr.gamelist() + local retval = "" + if #gamemgr.games > 0 then + retval = retval .. gamemgr.games[1].id + + for i=2,#gamemgr.games,1 do + retval = retval .. "," .. gamemgr.games[i].name + end + end + return retval +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/item.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/item.lua new file mode 100644 index 0000000..b3ab9bc --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/item.lua @@ -0,0 +1,576 @@ +-- Minetest: builtin/item.lua + +-- +-- Item definition helpers +-- + +function minetest.inventorycube(img1, img2, img3) + img2 = img2 or img1 + img3 = img3 or img1 + return "[inventorycube" + .. "{" .. img1:gsub("%^", "&") + .. "{" .. img2:gsub("%^", "&") + .. "{" .. img3:gsub("%^", "&") +end + +function minetest.get_pointed_thing_position(pointed_thing, above) + if pointed_thing.type == "node" then + if above then + -- The position where a node would be placed + return pointed_thing.above + else + -- The position where a node would be dug + return pointed_thing.under + end + elseif pointed_thing.type == "object" then + obj = pointed_thing.ref + if obj ~= nil then + return obj:getpos() + else + return nil + end + else + return nil + end +end + +function minetest.dir_to_facedir(dir, is6d) + --account for y if requested + if is6d and math.abs(dir.y) > math.abs(dir.x) and math.abs(dir.y) > math.abs(dir.z) then + + --from above + if dir.y < 0 then + if math.abs(dir.x) > math.abs(dir.z) then + if dir.x < 0 then + return 19 + else + return 13 + end + else + if dir.z < 0 then + return 10 + else + return 4 + end + end + + --from below + else + if math.abs(dir.x) > math.abs(dir.z) then + if dir.x < 0 then + return 15 + else + return 17 + end + else + if dir.z < 0 then + return 6 + else + return 8 + end + end + end + + --otherwise, place horizontally + elseif math.abs(dir.x) > math.abs(dir.z) then + if dir.x < 0 then + return 3 + else + return 1 + end + else + if dir.z < 0 then + return 2 + else + return 0 + end + end +end + +function minetest.facedir_to_dir(facedir) + --a table of possible dirs + return ({{x=0, y=0, z=1}, + {x=1, y=0, z=0}, + {x=0, y=0, z=-1}, + {x=-1, y=0, z=0}, + {x=0, y=-1, z=0}, + {x=0, y=1, z=0}}) + + --indexed into by a table of correlating facedirs + [({[0]=1, 2, 3, 4, + 5, 4, 6, 2, + 6, 2, 5, 4, + 1, 5, 3, 6, + 1, 6, 3, 5, + 1, 4, 3, 2}) + + --indexed into by the facedir in question + [facedir]] +end + +function minetest.dir_to_wallmounted(dir) + if math.abs(dir.y) > math.max(math.abs(dir.x), math.abs(dir.z)) then + if dir.y < 0 then + return 1 + else + return 0 + end + elseif math.abs(dir.x) > math.abs(dir.z) then + if dir.x < 0 then + return 3 + else + return 2 + end + else + if dir.z < 0 then + return 5 + else + return 4 + end + end +end + +function minetest.get_node_drops(nodename, toolname) + local drop = ItemStack({name=nodename}):get_definition().drop + if drop == nil then + -- default drop + return {nodename} + elseif type(drop) == "string" then + -- itemstring drop + return {drop} + elseif drop.items == nil then + -- drop = {} to disable default drop + return {} + end + + -- Extended drop table + local got_items = {} + local got_count = 0 + local _, item, tool + for _, item in ipairs(drop.items) do + local good_rarity = true + local good_tool = true + if item.rarity ~= nil then + good_rarity = item.rarity < 1 or math.random(item.rarity) == 1 + end + if item.tools ~= nil then + good_tool = false + for _, tool in ipairs(item.tools) do + if tool:sub(1, 1) == '~' then + good_tool = toolname:find(tool:sub(2)) ~= nil + else + good_tool = toolname == tool + end + if good_tool then + break + end + end + end + if good_rarity and good_tool then + got_count = got_count + 1 + for _, add_item in ipairs(item.items) do + got_items[#got_items+1] = add_item + end + if drop.max_items ~= nil and got_count == drop.max_items then + break + end + end + end + return got_items +end + +function minetest.item_place_node(itemstack, placer, pointed_thing, param2) + local item = itemstack:peek_item() + local def = itemstack:get_definition() + if def.type ~= "node" or pointed_thing.type ~= "node" then + return itemstack, false + end + + local under = pointed_thing.under + local oldnode_under = minetest.get_node_or_nil(under) + local above = pointed_thing.above + local oldnode_above = minetest.get_node_or_nil(above) + + if not oldnode_under or not oldnode_above then + minetest.log("info", placer:get_player_name() .. " tried to place" + .. " node in unloaded position " .. minetest.pos_to_string(above)) + return itemstack, false + end + + local olddef_under = ItemStack({name=oldnode_under.name}):get_definition() + olddef_under = olddef_under or minetest.nodedef_default + local olddef_above = ItemStack({name=oldnode_above.name}):get_definition() + olddef_above = olddef_above or minetest.nodedef_default + + if not olddef_above.buildable_to and not olddef_under.buildable_to then + minetest.log("info", placer:get_player_name() .. " tried to place" + .. " node in invalid position " .. minetest.pos_to_string(above) + .. ", replacing " .. oldnode_above.name) + return itemstack, false + end + + -- Place above pointed node + local place_to = {x = above.x, y = above.y, z = above.z} + + -- If node under is buildable_to, place into it instead (eg. snow) + if olddef_under.buildable_to then + minetest.log("info", "node under is buildable to") + place_to = {x = under.x, y = under.y, z = under.z} + end + + if minetest.is_protected(place_to, placer:get_player_name()) then + minetest.log("action", placer:get_player_name() + .. " tried to place " .. def.name + .. " at protected position " + .. minetest.pos_to_string(place_to)) + minetest.record_protection_violation(place_to, placer:get_player_name()) + return itemstack + end + + minetest.log("action", placer:get_player_name() .. " places node " + .. def.name .. " at " .. minetest.pos_to_string(place_to)) + + local oldnode = minetest.get_node(place_to) + local newnode = {name = def.name, param1 = 0, param2 = param2} + + -- Calculate direction for wall mounted stuff like torches and signs + if def.paramtype2 == 'wallmounted' and not param2 then + local dir = { + x = under.x - above.x, + y = under.y - above.y, + z = under.z - above.z + } + newnode.param2 = minetest.dir_to_wallmounted(dir) + -- Calculate the direction for furnaces and chests and stuff + elseif def.paramtype2 == 'facedir' and not param2 then + local placer_pos = placer:getpos() + if placer_pos then + local dir = { + x = above.x - placer_pos.x, + y = above.y - placer_pos.y, + z = above.z - placer_pos.z + } + newnode.param2 = minetest.dir_to_facedir(dir) + minetest.log("action", "facedir: " .. newnode.param2) + end + end + + -- Check if the node is attached and if it can be placed there + if minetest.get_item_group(def.name, "attached_node") ~= 0 and + not check_attached_node(place_to, newnode) then + minetest.log("action", "attached node " .. def.name .. + " can not be placed at " .. minetest.pos_to_string(place_to)) + return itemstack, false + end + + -- Add node and update + minetest.add_node(place_to, newnode) + + local take_item = true + + -- Run callback + if def.after_place_node then + -- Copy place_to because callback can modify it + local place_to_copy = {x=place_to.x, y=place_to.y, z=place_to.z} + if def.after_place_node(place_to_copy, placer, itemstack) then + take_item = false + end + end + + -- Run script hook + local _, callback + for _, callback in ipairs(minetest.registered_on_placenodes) do + -- Copy pos and node because callback can modify them + local place_to_copy = {x=place_to.x, y=place_to.y, z=place_to.z} + local newnode_copy = {name=newnode.name, param1=newnode.param1, param2=newnode.param2} + local oldnode_copy = {name=oldnode.name, param1=oldnode.param1, param2=oldnode.param2} + if callback(place_to_copy, newnode_copy, placer, oldnode_copy, itemstack) then + take_item = false + end + end + + if take_item then + itemstack:take_item() + end + return itemstack, true +end + +function minetest.item_place_object(itemstack, placer, pointed_thing) + local pos = minetest.get_pointed_thing_position(pointed_thing, true) + if pos ~= nil then + local item = itemstack:take_item() + minetest.add_item(pos, item) + end + return itemstack +end + +function minetest.item_place(itemstack, placer, pointed_thing, param2) + -- Call on_rightclick if the pointed node defines it + if pointed_thing.type == "node" and placer and + not placer:get_player_control().sneak then + local n = minetest.get_node(pointed_thing.under) + local nn = n.name + if minetest.registered_nodes[nn] and minetest.registered_nodes[nn].on_rightclick then + return minetest.registered_nodes[nn].on_rightclick(pointed_thing.under, n, placer, itemstack) or itemstack, false + end + end + + if itemstack:get_definition().type == "node" then + return minetest.item_place_node(itemstack, placer, pointed_thing, param2) + end + return itemstack +end + +function minetest.item_drop(itemstack, dropper, pos) + if dropper.get_player_name then + local v = dropper:get_look_dir() + local p = {x=pos.x+v.x, y=pos.y+1.5+v.y, z=pos.z+v.z} + local obj = minetest.add_item(p, itemstack) + if obj then + v.x = v.x*2 + v.y = v.y*2 + 1 + v.z = v.z*2 + obj:setvelocity(v) + end + else + minetest.add_item(pos, itemstack) + end + return ItemStack("") +end + +function minetest.item_eat(hp_change, replace_with_item) + return function(itemstack, user, pointed_thing) -- closure + if itemstack:take_item() ~= nil then + user:set_hp(user:get_hp() + hp_change) + itemstack:add_item(replace_with_item) -- note: replace_with_item is optional + end + return itemstack + end +end + +function minetest.node_punch(pos, node, puncher) + -- Run script hook + local _, callback + for _, callback in ipairs(minetest.registered_on_punchnodes) do + -- Copy pos and node because callback can modify them + local pos_copy = {x=pos.x, y=pos.y, z=pos.z} + local node_copy = {name=node.name, param1=node.param1, param2=node.param2} + callback(pos_copy, node_copy, puncher) + end +end + +function minetest.handle_node_drops(pos, drops, digger) + -- Add dropped items to object's inventory + if digger:get_inventory() then + local _, dropped_item + for _, dropped_item in ipairs(drops) do + local left = digger:get_inventory():add_item("main", dropped_item) + if not left:is_empty() then + local p = { + x = pos.x + math.random()/2-0.25, + y = pos.y + math.random()/2-0.25, + z = pos.z + math.random()/2-0.25, + } + minetest.add_item(p, left) + end + end + end +end + +function minetest.node_dig(pos, node, digger) + local def = ItemStack({name=node.name}):get_definition() + if not def.diggable or (def.can_dig and not def.can_dig(pos,digger)) then + minetest.log("info", digger:get_player_name() .. " tried to dig " + .. node.name .. " which is not diggable " + .. minetest.pos_to_string(pos)) + return + end + + if minetest.is_protected(pos, digger:get_player_name()) then + minetest.log("action", digger:get_player_name() + .. " tried to dig " .. node.name + .. " at protected position " + .. minetest.pos_to_string(pos)) + minetest.record_protection_violation(pos, digger:get_player_name()) + return + end + + minetest.log('action', digger:get_player_name() .. " digs " + .. node.name .. " at " .. minetest.pos_to_string(pos)) + + local wielded = digger:get_wielded_item() + local drops = minetest.get_node_drops(node.name, wielded:get_name()) + + local wdef = wielded:get_definition() + local tp = wielded:get_tool_capabilities() + local dp = minetest.get_dig_params(def.groups, tp) + if wdef and wdef.after_use then + wielded = wdef.after_use(wielded, digger, node, dp) or wielded + else + -- Wear out tool + if not minetest.setting_getbool("creative_mode") then + wielded:add_wear(dp.wear) + end + end + digger:set_wielded_item(wielded) + + -- Handle drops + minetest.handle_node_drops(pos, drops, digger) + + local oldmetadata = nil + if def.after_dig_node then + oldmetadata = minetest.get_meta(pos):to_table() + end + + -- Remove node and update + minetest.remove_node(pos) + + -- Run callback + if def.after_dig_node then + -- Copy pos and node because callback can modify them + local pos_copy = {x=pos.x, y=pos.y, z=pos.z} + local node_copy = {name=node.name, param1=node.param1, param2=node.param2} + def.after_dig_node(pos_copy, node_copy, oldmetadata, digger) + end + + -- Run script hook + local _, callback + for _, callback in ipairs(minetest.registered_on_dignodes) do + -- Copy pos and node because callback can modify them + local pos_copy = {x=pos.x, y=pos.y, z=pos.z} + local node_copy = {name=node.name, param1=node.param1, param2=node.param2} + callback(pos_copy, node_copy, digger) + end +end + +-- This is used to allow mods to redefine minetest.item_place and so on +-- NOTE: This is not the preferred way. Preferred way is to provide enough +-- callbacks to not require redefining global functions. -celeron55 +local function redef_wrapper(table, name) + return function(...) + return table[name](...) + end +end + +-- +-- Item definition defaults +-- + +minetest.nodedef_default = { + -- Item properties + type="node", + -- name intentionally not defined here + description = "", + groups = {}, + inventory_image = "", + wield_image = "", + wield_scale = {x=1,y=1,z=1}, + stack_max = 99, + usable = false, + liquids_pointable = false, + tool_capabilities = nil, + node_placement_prediction = nil, + + -- Interaction callbacks + on_place = redef_wrapper(minetest, 'item_place'), -- minetest.item_place + on_drop = redef_wrapper(minetest, 'item_drop'), -- minetest.item_drop + on_use = nil, + can_dig = nil, + + on_punch = redef_wrapper(minetest, 'node_punch'), -- minetest.node_punch + on_rightclick = nil, + on_dig = redef_wrapper(minetest, 'node_dig'), -- minetest.node_dig + + on_receive_fields = nil, + + on_metadata_inventory_move = minetest.node_metadata_inventory_move_allow_all, + on_metadata_inventory_offer = minetest.node_metadata_inventory_offer_allow_all, + on_metadata_inventory_take = minetest.node_metadata_inventory_take_allow_all, + + -- Node properties + drawtype = "normal", + visual_scale = 1.0, + -- Don't define these because otherwise the old tile_images and + -- special_materials wouldn't be read + --tiles ={""}, + --special_tiles = { + -- {name="", backface_culling=true}, + -- {name="", backface_culling=true}, + --}, + alpha = 255, + post_effect_color = {a=0, r=0, g=0, b=0}, + paramtype = "none", + paramtype2 = "none", + is_ground_content = false, + sunlight_propagates = false, + walkable = true, + pointable = true, + diggable = true, + climbable = false, + buildable_to = false, + liquidtype = "none", + liquid_alternative_flowing = "", + liquid_alternative_source = "", + liquid_viscosity = 0, + drowning = 0, + light_source = 0, + damage_per_second = 0, + selection_box = {type="regular"}, + legacy_facedir_simple = false, + legacy_wallmounted = false, +} + +minetest.craftitemdef_default = { + type="craft", + -- name intentionally not defined here + description = "", + groups = {}, + inventory_image = "", + wield_image = "", + wield_scale = {x=1,y=1,z=1}, + stack_max = 99, + liquids_pointable = false, + tool_capabilities = nil, + + -- Interaction callbacks + on_place = redef_wrapper(minetest, 'item_place'), -- minetest.item_place + on_drop = redef_wrapper(minetest, 'item_drop'), -- minetest.item_drop + on_use = nil, +} + +minetest.tooldef_default = { + type="tool", + -- name intentionally not defined here + description = "", + groups = {}, + inventory_image = "", + wield_image = "", + wield_scale = {x=1,y=1,z=1}, + stack_max = 1, + liquids_pointable = false, + tool_capabilities = nil, + + -- Interaction callbacks + on_place = redef_wrapper(minetest, 'item_place'), -- minetest.item_place + on_drop = redef_wrapper(minetest, 'item_drop'), -- minetest.item_drop + on_use = nil, +} + +minetest.noneitemdef_default = { -- This is used for the hand and unknown items + type="none", + -- name intentionally not defined here + description = "", + groups = {}, + inventory_image = "", + wield_image = "", + wield_scale = {x=1,y=1,z=1}, + stack_max = 99, + liquids_pointable = false, + tool_capabilities = nil, + + -- Interaction callbacks + on_place = redef_wrapper(minetest, 'item_place'), + on_drop = nil, + on_use = nil, +} + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/item_entity.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/item_entity.lua new file mode 100644 index 0000000..95affe3 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/item_entity.lua @@ -0,0 +1,122 @@ +-- Minetest: builtin/item_entity.lua + +function minetest.spawn_item(pos, item) + -- Take item in any format + local stack = ItemStack(item) + local obj = minetest.add_entity(pos, "__builtin:item") + obj:get_luaentity():set_item(stack:to_string()) + return obj +end + +minetest.register_entity("__builtin:item", { + initial_properties = { + hp_max = 1, + physical = true, + collide_with_objects = false, + collisionbox = {-0.17,-0.17,-0.17, 0.17,0.17,0.17}, + visual = "sprite", + visual_size = {x=0.5, y=0.5}, + textures = {""}, + spritediv = {x=1, y=1}, + initial_sprite_basepos = {x=0, y=0}, + is_visible = false, + }, + + itemstring = '', + physical_state = true, + + set_item = function(self, itemstring) + self.itemstring = itemstring + local stack = ItemStack(itemstring) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + local item_texture = nil + local item_type = "" + if minetest.registered_items[itemname] then + item_texture = minetest.registered_items[itemname].inventory_image + item_type = minetest.registered_items[itemname].type + end + prop = { + is_visible = true, + visual = "sprite", + textures = {"unknown_item.png"} + } + if item_texture and item_texture ~= "" then + prop.visual = "sprite" + prop.textures = {item_texture} + prop.visual_size = {x=0.50, y=0.50} + else + prop.visual = "wielditem" + prop.textures = {itemname} + prop.visual_size = {x=0.20, y=0.20} + prop.automatic_rotate = math.pi * 0.25 + end + self.object:set_properties(prop) + end, + + get_staticdata = function(self) + --return self.itemstring + return minetest.serialize({ + itemstring = self.itemstring, + always_collect = self.always_collect, + }) + end, + + on_activate = function(self, staticdata) + if string.sub(staticdata, 1, string.len("return")) == "return" then + local data = minetest.deserialize(staticdata) + if data and type(data) == "table" then + self.itemstring = data.itemstring + self.always_collect = data.always_collect + end + else + self.itemstring = staticdata + end + self.object:set_armor_groups({immortal=1}) + self.object:setvelocity({x=0, y=2, z=0}) + self.object:setacceleration({x=0, y=-10, z=0}) + self:set_item(self.itemstring) + end, + + on_step = function(self, dtime) + local p = self.object:getpos() + p.y = p.y - 0.3 + local nn = minetest.get_node(p).name + -- If node is not registered or node is walkably solid and resting on nodebox + local v = self.object:getvelocity() + if not minetest.registered_nodes[nn] or minetest.registered_nodes[nn].walkable and v.y == 0 then + if self.physical_state then + self.object:setvelocity({x=0,y=0,z=0}) + self.object:setacceleration({x=0, y=0, z=0}) + self.physical_state = false + self.object:set_properties({ + physical = false + }) + end + else + if not self.physical_state then + self.object:setvelocity({x=0,y=0,z=0}) + self.object:setacceleration({x=0, y=-10, z=0}) + self.physical_state = true + self.object:set_properties({ + physical = true + }) + end + end + end, + + on_punch = function(self, hitter) + if self.itemstring ~= '' then + local left = hitter:get_inventory():add_item("main", self.itemstring) + if not left:is_empty() then + self.itemstring = left:to_string() + return + end + end + self.object:remove() + end, +}) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mainmenu.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mainmenu.lua new file mode 100644 index 0000000..c09b9cb --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mainmenu.lua @@ -0,0 +1,1227 @@ +print = engine.debug +math.randomseed(os.time()) +os.setlocale("C", "numeric") + +local errorfct = error +error = function(text) + print(debug.traceback("")) + errorfct(text) +end + +local scriptpath = engine.get_scriptdir() + +mt_color_grey = "#AAAAAA" +mt_color_blue = "#0000DD" +mt_color_green = "#00DD00" +mt_color_dark_green = "#003300" + +--for all other colors ask sfan5 to complete his worK! + +dofile(scriptpath .. DIR_DELIM .. "misc_helpers.lua") +dofile(scriptpath .. DIR_DELIM .. "filterlist.lua") +dofile(scriptpath .. DIR_DELIM .. "modmgr.lua") +dofile(scriptpath .. DIR_DELIM .. "modstore.lua") +dofile(scriptpath .. DIR_DELIM .. "gamemgr.lua") +dofile(scriptpath .. DIR_DELIM .. "mm_textures.lua") +dofile(scriptpath .. DIR_DELIM .. "mm_menubar.lua") + +menu = {} +local tabbuilder = {} +local worldlist = nil + +-------------------------------------------------------------------------------- +local function filter_texture_pack_list(list) + retval = {"None"} + for _,i in ipairs(list) do + if i~="base" then + table.insert(retval, i) + end + end + return retval +end + +-------------------------------------------------------------------------------- +function menu.render_favorite(spec,render_details) + local text = "" + + if spec.name ~= nil then + text = text .. engine.formspec_escape(spec.name:trim()) + +-- if spec.description ~= nil and +-- engine.formspec_escape(spec.description):trim() ~= "" then +-- text = text .. " (" .. engine.formspec_escape(spec.description) .. ")" +-- end + else + if spec.address ~= nil then + text = text .. spec.address:trim() + + if spec.port ~= nil then + text = text .. ":" .. spec.port + end + end + end + + if not render_details then + return text + end + + local details = "" + if spec.password == true then + details = details .. "*" + else + details = details .. "_" + end + + if spec.creative then + details = details .. "C" + else + details = details .. "_" + end + + if spec.damage then + details = details .. "D" + else + details = details .. "_" + end + + if spec.pvp then + details = details .. "P" + else + details = details .. "_" + end + details = details .. " " + + local playercount = "" + + if spec.clients ~= nil and + spec.clients_max ~= nil then + playercount = string.format("%03d",spec.clients) .. "/" .. + string.format("%03d",spec.clients_max) .. " " + end + + return playercount .. engine.formspec_escape(details) .. text +end + +-------------------------------------------------------------------------------- +os.tempfolder = function() + local filetocheck = os.tmpname() + os.remove(filetocheck) + + local randname = "MTTempModFolder_" .. math.random(0,10000) + if DIR_DELIM == "\\" then + local tempfolder = os.getenv("TEMP") + return tempfolder .. filetocheck + else + local backstring = filetocheck:reverse() + return filetocheck:sub(0,filetocheck:len()-backstring:find(DIR_DELIM)+1) ..randname + end + +end + +-------------------------------------------------------------------------------- +function init_globals() + --init gamedata + gamedata.worldindex = 0 + + worldlist = filterlist.create( + engine.get_worlds, + compare_worlds, + function(element,uid) + if element.name == uid then + return true + end + return false + end, --unique id compare fct + function(element,gameid) + if element.gameid == gameid then + return true + end + return false + end --filter fct + ) + + filterlist.add_sort_mechanism(worldlist,"alphabetic",sort_worlds_alphabetic) + filterlist.set_sortmode(worldlist,"alphabetic") +end + +-------------------------------------------------------------------------------- +function update_menu() + + local formspec + + -- handle errors + if gamedata.errormessage ~= nil then + formspec = "size[12,5.2]" .. + "field[1,2;10,2;;ERROR: " .. + gamedata.errormessage .. + ";]".. + "button[4.5,4.2;3,0.5;btn_error_confirm;" .. fgettext("Ok") .. "]" + else + formspec = tabbuilder.gettab() + end + + engine.update_formspec(formspec) +end + +-------------------------------------------------------------------------------- +function menu.render_world_list() + local retval = "" + + local current_worldlist = filterlist.get_list(worldlist) + + for i,v in ipairs(current_worldlist) do + if retval ~= "" then + retval = retval .."," + end + + retval = retval .. engine.formspec_escape(v.name) .. + " \\[" .. engine.formspec_escape(v.gameid) .. "\\]" + end + + return retval +end + +-------------------------------------------------------------------------------- +function menu.render_texture_pack_list(list) + local retval = "" + + for i,v in ipairs(list) do + if retval ~= "" then + retval = retval .."," + end + + retval = retval .. v + end + + return retval +end + +-------------------------------------------------------------------------------- +function menu.init() + --init menu data + gamemgr.update_gamelist() + + menu.last_game = tonumber(engine.setting_get("main_menu_last_game_idx")) + + if type(menu.last_game) ~= "number" then + menu.last_game = 1 + end + + if engine.setting_getbool("public_serverlist") then + menu.favorites = engine.get_favorites("online") + else + menu.favorites = engine.get_favorites("local") + end + + menu.defaulttexturedir = engine.get_texturepath() .. DIR_DELIM .. "base" .. + DIR_DELIM .. "pack" .. DIR_DELIM +end + +-------------------------------------------------------------------------------- +function menu.lastgame() + if menu.last_game > 0 and menu.last_game <= #gamemgr.games then + return gamemgr.games[menu.last_game] + end + + if #gamemgr.games >= 1 then + menu.last_game = 1 + return gamemgr.games[menu.last_game] + end + + --error case!! + return nil +end + +-------------------------------------------------------------------------------- +function menu.update_last_game() + + local current_world = filterlist.get_raw_element(worldlist, + engine.setting_get("mainmenu_last_selected_world") + ) + + if current_world == nil then + return + end + + local gamespec, i = gamemgr.find_by_gameid(current_world.gameid) + if i ~= nil then + menu.last_game = i + engine.setting_set("main_menu_last_game_idx",menu.last_game) + end +end + +-------------------------------------------------------------------------------- +function menu.handle_key_up_down(fields,textlist,settingname) + + if fields["key_up"] then + local oldidx = engine.get_textlist_index(textlist) + + if oldidx > 1 then + local newidx = oldidx -1 + engine.setting_set(settingname, + filterlist.get_raw_index(worldlist,newidx)) + end + end + + if fields["key_down"] then + local oldidx = engine.get_textlist_index(textlist) + + if oldidx < filterlist.size(worldlist) then + local newidx = oldidx + 1 + engine.setting_set(settingname, + filterlist.get_raw_index(worldlist,newidx)) + end + end +end + +-------------------------------------------------------------------------------- +function tabbuilder.dialog_create_world() + local mapgens = {"v6", "v7", "indev", "singlenode", "math"} + + local current_seed = engine.setting_get("fixed_map_seed") or "" + local current_mg = engine.setting_get("mg_name") + + local mglist = "" + local selindex = 1 + local i = 1 + for k,v in pairs(mapgens) do + if current_mg == v then + selindex = i + end + i = i + 1 + mglist = mglist .. v .. "," + end + mglist = mglist:sub(1, -2) + + local retval = + "label[2,0;" .. fgettext("World name") .. "]".. + "field[4.5,0.4;6,0.5;te_world_name;;]" .. + + "label[2,1;" .. fgettext("Seed") .. "]".. + "field[4.5,1.4;6,0.5;te_seed;;".. current_seed .. "]" .. + + "label[2,2;" .. fgettext("Mapgen") .. "]".. + "dropdown[4.2,2;6.3;dd_mapgen;" .. mglist .. ";" .. selindex .. "]" .. + + "label[2,3;" .. fgettext("Game") .. "]".. + "textlist[4.2,3;5.8,2.3;games;" .. gamemgr.gamelist() .. + ";" .. menu.last_game .. ";true]" .. + + "button[5,5.5;2.6,0.5;world_create_confirm;" .. fgettext("Create") .. "]" .. + "button[7.5,5.5;2.8,0.5;world_create_cancel;" .. fgettext("Cancel") .. "]" + + return retval +end + +-------------------------------------------------------------------------------- +function tabbuilder.dialog_delete_world() + return "label[2,2;" .. + fgettext("Delete World \"$1\"?", filterlist.get_raw_list(worldlist)[menu.world_to_del].name) .. "]".. + "button[3.5,4.2;2.6,0.5;world_delete_confirm;" .. fgettext("Yes").. "]" .. + "button[6,4.2;2.8,0.5;world_delete_cancel;" .. fgettext("No") .. "]" +end + +-------------------------------------------------------------------------------- + +function tabbuilder.gettab() + local tsize = tabbuilder.tabsizes[tabbuilder.current_tab] or {width=12, height=5.2} + local retval = "size[" .. tsize.width .. "," .. tsize.height .. "]" + + if tabbuilder.show_buttons then + retval = retval .. tabbuilder.tab_header() + end + + local buildfunc = tabbuilder.tabfuncs[tabbuilder.current_tab] + if buildfunc ~= nil then + retval = retval .. buildfunc() + end + + retval = retval .. modmgr.gettab(tabbuilder.current_tab) + retval = retval .. gamemgr.gettab(tabbuilder.current_tab) + retval = retval .. modstore.gettab(tabbuilder.current_tab) + + return retval +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_create_world_buttons(fields) + + if fields["world_create_confirm"] or + fields["key_enter"] then + + local worldname = fields["te_world_name"] + local gameindex = engine.get_textlist_index("games") + + if gameindex > 0 and + worldname ~= "" then + + local message = nil + + if not filterlist.uid_exists_raw(worldlist,worldname) then + engine.setting_set("mg_name",fields["dd_mapgen"]) + message = engine.create_world(worldname,gameindex) + else + message = fgettext("A world named \"$1\" already exists", worldname) + end + + engine.setting_set("fixed_map_seed", fields["te_seed"]) + + if message ~= nil then + gamedata.errormessage = message + else + menu.last_game = gameindex + engine.setting_set("main_menu_last_game_idx",gameindex) + + filterlist.refresh(worldlist) + engine.setting_set("mainmenu_last_selected_world", + filterlist.raw_index_by_uid(worldlist,worldname)) + end + else + gamedata.errormessage = + fgettext("No worldname given or no game selected") + end + end + + if fields["games"] then + tabbuilder.skipformupdate = true + return + end + + --close dialog + tabbuilder.is_dialog = false + tabbuilder.show_buttons = true + tabbuilder.current_tab = engine.setting_get("main_menu_tab") +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_delete_world_buttons(fields) + + if fields["world_delete_confirm"] then + if menu.world_to_del > 0 and + menu.world_to_del <= #filterlist.get_raw_list(worldlist) then + engine.delete_world(menu.world_to_del) + menu.world_to_del = 0 + filterlist.refresh(worldlist) + end + end + + tabbuilder.is_dialog = false + tabbuilder.show_buttons = true + tabbuilder.current_tab = engine.setting_get("main_menu_tab") +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_multiplayer_buttons(fields) + + if fields["te_name"] ~= nil then + gamedata.playername = fields["te_name"] + engine.setting_set("name", fields["te_name"]) + end + + if fields["favourites"] ~= nil then + local event = explode_textlist_event(fields["favourites"]) + if event.typ == "DCL" then + gamedata.address = menu.favorites[event.index].address + gamedata.port = menu.favorites[event.index].port + gamedata.playername = fields["te_name"] + if fields["te_pwd"] ~= nil then + gamedata.password = fields["te_pwd"] + end + gamedata.selected_world = 0 + + if menu.favorites ~= nil then + gamedata.servername = menu.favorites[event.index].name + gamedata.serverdescription = menu.favorites[event.index].description + end + + if gamedata.address ~= nil and + gamedata.port ~= nil then + + engine.start() + end + end + + if event.typ == "CHG" then + local address = menu.favorites[event.index].address + local port = menu.favorites[event.index].port + + if address ~= nil and + port ~= nil then + engine.setting_set("address",address) + engine.setting_set("port",port) + end + + menu.fav_selected = event.index + end + return + end + + if fields["key_up"] ~= nil or + fields["key_down"] ~= nil then + + local fav_idx = engine.get_textlist_index("favourites") + + if fields["key_up"] ~= nil and fav_idx > 1 then + fav_idx = fav_idx -1 + else if fields["key_down"] and fav_idx < #menu.favorites then + fav_idx = fav_idx +1 + end end + + local address = menu.favorites[fav_idx].address + local port = menu.favorites[fav_idx].port + + if address ~= nil and + port ~= nil then + engine.setting_set("address",address) + engine.setting_set("port",port) + end + + menu.fav_selected = fav_idx + return + end + + if fields["cb_public_serverlist"] ~= nil then + engine.setting_set("public_serverlist", fields["cb_public_serverlist"]) + + if engine.setting_getbool("public_serverlist") then + menu.favorites = engine.get_favorites("online") + else + menu.favorites = engine.get_favorites("local") + end + menu.fav_selected = nil + return + end + + if fields["btn_delete_favorite"] ~= nil then + local current_favourite = engine.get_textlist_index("favourites") + engine.delete_favorite(current_favourite) + menu.favorites = engine.get_favorites() + menu.fav_selected = nil + + engine.setting_set("address","") + engine.setting_get("port","") + + return + end + + if fields["btn_mp_connect"] ~= nil or + fields["key_enter"] then + + gamedata.playername = fields["te_name"] + gamedata.password = fields["te_pwd"] + gamedata.address = fields["te_address"] + gamedata.port = fields["te_port"] + + local fav_idx = engine.get_textlist_index("favourites") + + if fav_idx > 0 and fav_idx <= #menu.favorites and + menu.favorites[fav_idx].address == fields["te_address"] and + menu.favorites[fav_idx].port == fields["te_port"] then + + gamedata.servername = menu.favorites[fav_idx].name + gamedata.serverdescription = menu.favorites[fav_idx].description + else + gamedata.servername = "" + gamedata.serverdescription = "" + end + + gamedata.selected_world = 0 + + engine.start() + return + end +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_server_buttons(fields) + + local world_doubleclick = false + + if fields["srv_worlds"] ~= nil then + local event = explode_textlist_event(fields["srv_worlds"]) + + if event.typ == "DCL" then + world_doubleclick = true + end + if event.typ == "CHG" then + engine.setting_set("mainmenu_last_selected_world", + filterlist.get_raw_index(worldlist,engine.get_textlist_index("srv_worlds"))) + end + end + + menu.handle_key_up_down(fields,"srv_worlds","mainmenu_last_selected_world") + + if fields["cb_creative_mode"] then + engine.setting_set("creative_mode", fields["cb_creative_mode"]) + end + + if fields["cb_enable_damage"] then + engine.setting_set("enable_damage", fields["cb_enable_damage"]) + end + + if fields["cb_server_announce"] then + engine.setting_set("server_announce", fields["cb_server_announce"]) + end + + if fields["start_server"] ~= nil or + world_doubleclick or + fields["key_enter"] then + local selected = engine.get_textlist_index("srv_worlds") + if selected > 0 then + gamedata.playername = fields["te_playername"] + gamedata.password = fields["te_passwd"] + gamedata.port = fields["te_serverport"] + gamedata.address = "" + gamedata.selected_world = filterlist.get_raw_index(worldlist,selected) + + menu.update_last_game(gamedata.selected_world) + engine.start() + end + end + + if fields["world_create"] ~= nil then + tabbuilder.current_tab = "dialog_create_world" + tabbuilder.is_dialog = true + tabbuilder.show_buttons = false + end + + if fields["world_delete"] ~= nil then + local selected = engine.get_textlist_index("srv_worlds") + if selected > 0 and + selected <= filterlist.size(worldlist) then + local world = filterlist.get_list(worldlist)[selected] + if world ~= nil and + world.name ~= nil and + world.name ~= "" then + menu.world_to_del = filterlist.get_raw_index(worldlist,selected) + tabbuilder.current_tab = "dialog_delete_world" + tabbuilder.is_dialog = true + tabbuilder.show_buttons = false + else + menu.world_to_del = 0 + end + end + end + + if fields["world_configure"] ~= nil then + selected = engine.get_textlist_index("srv_worlds") + if selected > 0 then + modmgr.world_config_selected_world = filterlist.get_raw_index(worldlist,selected) + if modmgr.init_worldconfig() then + tabbuilder.current_tab = "dialog_configure_world" + tabbuilder.is_dialog = true + tabbuilder.show_buttons = false + end + end + end +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_settings_buttons(fields) + if fields["cb_fancy_trees"] then + engine.setting_set("new_style_leaves", fields["cb_fancy_trees"]) + end + if fields["cb_smooth_lighting"] then + engine.setting_set("smooth_lighting", fields["cb_smooth_lighting"]) + end + if fields["cb_3d_clouds"] then + engine.setting_set("enable_3d_clouds", fields["cb_3d_clouds"]) + end + if fields["cb_opaque_water"] then + engine.setting_set("opaque_water", fields["cb_opaque_water"]) + end + + if fields["cb_mipmapping"] then + engine.setting_set("mip_map", fields["cb_mipmapping"]) + end + if fields["cb_anisotrophic"] then + engine.setting_set("anisotropic_filter", fields["cb_anisotrophic"]) + end + if fields["cb_bilinear"] then + engine.setting_set("bilinear_filter", fields["cb_bilinear"]) + end + if fields["cb_trilinear"] then + engine.setting_set("trilinear_filter", fields["cb_trilinear"]) + end + + if fields["cb_shaders"] then + if (engine.setting_get("video_driver") == "direct3d8" or engine.setting_get("video_driver") == "direct3d9") then + engine.setting_set("enable_shaders", "false") + gamedata.errormessage = fgettext("To enable shaders the OpenGL driver needs to be used.") + else + engine.setting_set("enable_shaders", fields["cb_shaders"]) + end + end + if fields["cb_pre_ivis"] then + engine.setting_set("preload_item_visuals", fields["cb_pre_ivis"]) + end + if fields["cb_particles"] then + engine.setting_set("enable_particles", fields["cb_particles"]) + end + if fields["cb_finite_liquid"] then + engine.setting_set("liquid_finite", fields["cb_finite_liquid"]) + end + + if fields["btn_change_keys"] ~= nil then + engine.show_keys_menu() + end +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_singleplayer_buttons(fields) + + local world_doubleclick = false + + if fields["sp_worlds"] ~= nil then + local event = explode_textlist_event(fields["sp_worlds"]) + + if event.typ == "DCL" then + world_doubleclick = true + end + + if event.typ == "CHG" then + engine.setting_set("mainmenu_last_selected_world", + filterlist.get_raw_index(worldlist,engine.get_textlist_index("sp_worlds"))) + end + end + + menu.handle_key_up_down(fields,"sp_worlds","mainmenu_last_selected_world") + + if fields["cb_creative_mode"] then + engine.setting_set("creative_mode", fields["cb_creative_mode"]) + end + + if fields["cb_enable_damage"] then + engine.setting_set("enable_damage", fields["cb_enable_damage"]) + end + + if fields["play"] ~= nil or + world_doubleclick or + fields["key_enter"] then + local selected = engine.get_textlist_index("sp_worlds") + if selected > 0 then + gamedata.selected_world = filterlist.get_raw_index(worldlist,selected) + gamedata.singleplayer = true + + menu.update_last_game(gamedata.selected_world) + + engine.start() + end + end + + if fields["world_create"] ~= nil then + tabbuilder.current_tab = "dialog_create_world" + tabbuilder.is_dialog = true + tabbuilder.show_buttons = false + end + + if fields["world_delete"] ~= nil then + local selected = engine.get_textlist_index("sp_worlds") + if selected > 0 and + selected <= filterlist.size(worldlist) then + local world = filterlist.get_list(worldlist)[selected] + if world ~= nil and + world.name ~= nil and + world.name ~= "" then + menu.world_to_del = filterlist.get_raw_index(worldlist,selected) + tabbuilder.current_tab = "dialog_delete_world" + tabbuilder.is_dialog = true + tabbuilder.show_buttons = false + else + menu.world_to_del = 0 + end + end + end + + if fields["world_configure"] ~= nil then + selected = engine.get_textlist_index("sp_worlds") + if selected > 0 then + modmgr.world_config_selected_world = filterlist.get_raw_index(worldlist,selected) + if modmgr.init_worldconfig() then + tabbuilder.current_tab = "dialog_configure_world" + tabbuilder.is_dialog = true + tabbuilder.show_buttons = false + end + end + end +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_texture_pack_buttons(fields) + if fields["TPs"] ~= nil then + local event = explode_textlist_event(fields["TPs"]) + if event.typ == "CHG" or event.typ=="DCL" then + local index = engine.get_textlist_index("TPs") + engine.setting_set("mainmenu_last_selected_TP", + index) + local list = filter_texture_pack_list(engine.get_dirlist(engine.get_texturepath(), true)) + local current_index = engine.get_textlist_index("TPs") + if #list >= current_index then + local new_path = engine.get_texturepath()..DIR_DELIM..list[current_index] + if list[current_index] == "None" then new_path = "" end + + engine.setting_set("texture_path", new_path) + end + end + end +end + +-------------------------------------------------------------------------------- +function tabbuilder.tab_header() + + if tabbuilder.last_tab_index == nil then + tabbuilder.last_tab_index = 1 + end + + local toadd = "" + + for i=1,#tabbuilder.current_buttons,1 do + + if toadd ~= "" then + toadd = toadd .. "," + end + + toadd = toadd .. tabbuilder.current_buttons[i].caption + end + return "tabheader[-0.3,-0.99;main_tab;" .. toadd ..";" .. tabbuilder.last_tab_index .. ";true;false]" +end + +-------------------------------------------------------------------------------- +function tabbuilder.handle_tab_buttons(fields) + + if fields["main_tab"] then + local index = tonumber(fields["main_tab"]) + tabbuilder.last_tab_index = index + tabbuilder.current_tab = tabbuilder.current_buttons[index].name + + engine.setting_set("main_menu_tab",tabbuilder.current_tab) + end + + --handle tab changes + if tabbuilder.current_tab ~= tabbuilder.old_tab then + if tabbuilder.current_tab ~= "singleplayer" and not tabbuilder.is_dialog then + menu.update_gametype(true) + end + end + + if tabbuilder.current_tab == "singleplayer" then + menu.update_gametype() + end + + tabbuilder.old_tab = tabbuilder.current_tab +end + +-------------------------------------------------------------------------------- +function tabbuilder.tab_multiplayer() + + local retval = + "vertlabel[0,-0.25;".. fgettext("CLIENT") .. "]" .. + "label[1,-0.25;".. fgettext("Favorites:") .. "]".. + "label[1,4.25;".. fgettext("Address/Port") .. "]".. + "label[9,2.75;".. fgettext("Name/Password") .. "]" .. + "field[1.25,5.25;5.5,0.5;te_address;;" ..engine.setting_get("address") .."]" .. + "field[6.75,5.25;2.25,0.5;te_port;;" ..engine.setting_get("port") .."]" .. + "checkbox[1,3.6;cb_public_serverlist;".. fgettext("Public Serverlist") .. ";" .. + dump(engine.setting_getbool("public_serverlist")) .. "]" + + if not engine.setting_getbool("public_serverlist") then + retval = retval .. + "button[6.45,3.95;2.25,0.5;btn_delete_favorite;".. fgettext("Delete") .. "]" + end + + retval = retval .. + "button[9,4.95;2.5,0.5;btn_mp_connect;".. fgettext("Connect") .. "]" .. + "field[9.3,3.75;2.5,0.5;te_name;;" ..engine.setting_get("name") .."]" .. + "pwdfield[9.3,4.5;2.5,0.5;te_pwd;]" .. + "textarea[9.3,0.25;2.5,2.75;;" + if menu.fav_selected ~= nil and + menu.favorites[menu.fav_selected].description ~= nil then + retval = retval .. + engine.formspec_escape(menu.favorites[menu.fav_selected].description,true) + end + + retval = retval .. + ";]" .. + "textlist[1,0.35;7.5,3.35;favourites;" + + local render_details = engine.setting_getbool("public_serverlist") + + if #menu.favorites > 0 then + retval = retval .. menu.render_favorite(menu.favorites[1],render_details) + + for i=2,#menu.favorites,1 do + retval = retval .. "," .. menu.render_favorite(menu.favorites[i],render_details) + end + end + + if menu.fav_selected ~= nil then + retval = retval .. ";" .. menu.fav_selected .. "]" + else + retval = retval .. ";0]" + end + + return retval +end + +-------------------------------------------------------------------------------- +function tabbuilder.tab_server() + + local index = filterlist.get_current_index(worldlist, + tonumber(engine.setting_get("mainmenu_last_selected_world")) + ) + + local retval = + "button[4,4.15;2.6,0.5;world_delete;".. fgettext("Delete") .. "]" .. + "button[6.5,4.15;2.8,0.5;world_create;".. fgettext("New") .. "]" .. + "button[9.2,4.15;2.55,0.5;world_configure;".. fgettext("Configure") .. "]" .. + "button[8.5,4.9;3.25,0.5;start_server;".. fgettext("Start Game") .. "]" .. + "label[4,-0.25;".. fgettext("Select World:") .. "]".. + "vertlabel[0,-0.25;".. fgettext("START SERVER") .. "]" .. + "checkbox[0.5,0.25;cb_creative_mode;".. fgettext("Creative Mode") .. ";" .. + dump(engine.setting_getbool("creative_mode")) .. "]".. + "checkbox[0.5,0.7;cb_enable_damage;".. fgettext("Enable Damage") .. ";" .. + dump(engine.setting_getbool("enable_damage")) .. "]".. + "checkbox[0.5,1.15;cb_server_announce;".. fgettext("Public") .. ";" .. + dump(engine.setting_getbool("server_announce")) .. "]".. + "field[0.8,3.2;3,0.5;te_playername;".. fgettext("Name") .. ";" .. + engine.setting_get("name") .. "]" .. + "pwdfield[0.8,4.2;3,0.5;te_passwd;".. fgettext("Password") .. "]" .. + "field[0.8,5.2;3,0.5;te_serverport;".. fgettext("Server Port") .. ";30000]" .. + "textlist[4,0.25;7.5,3.7;srv_worlds;" .. + menu.render_world_list() .. + ";" .. index .. "]" + + return retval +end + +-------------------------------------------------------------------------------- +function tabbuilder.tab_settings() + return "vertlabel[0,0;" .. fgettext("SETTINGS") .. "]" .. + "checkbox[1,0.75;cb_fancy_trees;".. fgettext("Fancy trees") .. ";" + .. dump(engine.setting_getbool("new_style_leaves")) .. "]".. + "checkbox[1,1.25;cb_smooth_lighting;".. fgettext("Smooth Lighting") + .. ";".. dump(engine.setting_getbool("smooth_lighting")) .. "]".. + "checkbox[1,1.75;cb_3d_clouds;".. fgettext("3D Clouds") .. ";" + .. dump(engine.setting_getbool("enable_3d_clouds")) .. "]".. + "checkbox[1,2.25;cb_opaque_water;".. fgettext("Opaque Water") .. ";" + .. dump(engine.setting_getbool("opaque_water")) .. "]".. + + "checkbox[4,0.75;cb_mipmapping;".. fgettext("Mip-Mapping") .. ";" + .. dump(engine.setting_getbool("mip_map")) .. "]".. + "checkbox[4,1.25;cb_anisotrophic;".. fgettext("Anisotropic Filtering") .. ";" + .. dump(engine.setting_getbool("anisotropic_filter")) .. "]".. + "checkbox[4,1.75;cb_bilinear;".. fgettext("Bi-Linear Filtering") .. ";" + .. dump(engine.setting_getbool("bilinear_filter")) .. "]".. + "checkbox[4,2.25;cb_trilinear;".. fgettext("Tri-Linear Filtering") .. ";" + .. dump(engine.setting_getbool("trilinear_filter")) .. "]".. + + "checkbox[7.5,0.75;cb_shaders;".. fgettext("Shaders") .. ";" + .. dump(engine.setting_getbool("enable_shaders")) .. "]".. + "checkbox[7.5,1.25;cb_pre_ivis;".. fgettext("Preload item visuals") .. ";" + .. dump(engine.setting_getbool("preload_item_visuals")) .. "]".. + "checkbox[7.5,1.75;cb_particles;".. fgettext("Enable Particles") .. ";" + .. dump(engine.setting_getbool("enable_particles")) .. "]".. + "checkbox[7.5,2.25;cb_finite_liquid;".. fgettext("Finite Liquid") .. ";" + .. dump(engine.setting_getbool("liquid_finite")) .. "]".. + + "button[1,4.25;2.25,0.5;btn_change_keys;".. fgettext("Change keys") .. "]" +end + +-------------------------------------------------------------------------------- +function tabbuilder.tab_singleplayer() + + local index = filterlist.get_current_index(worldlist, + tonumber(engine.setting_get("mainmenu_last_selected_world")) + ) + + return "button[4,4.15;2.6,0.5;world_delete;".. fgettext("Delete") .. "]" .. + "button[6.5,4.15;2.8,0.5;world_create;".. fgettext("New") .. "]" .. + "button[9.2,4.15;2.55,0.5;world_configure;".. fgettext("Configure") .. "]" .. + "button[8.5,4.95;3.25,0.5;play;".. fgettext("Play") .. "]" .. + "label[4,-0.25;".. fgettext("Select World:") .. "]".. + "vertlabel[0,-0.25;".. fgettext("SINGLE PLAYER") .. "]" .. + "checkbox[0.5,0.25;cb_creative_mode;".. fgettext("Creative Mode") .. ";" .. + dump(engine.setting_getbool("creative_mode")) .. "]".. + "checkbox[0.5,0.7;cb_enable_damage;".. fgettext("Enable Damage") .. ";" .. + dump(engine.setting_getbool("enable_damage")) .. "]".. + "textlist[4,0.25;7.5,3.7;sp_worlds;" .. + menu.render_world_list() .. + ";" .. index .. "]" .. + menubar.formspec +end + +-------------------------------------------------------------------------------- +function tabbuilder.tab_texture_packs() + local retval = "label[4,-0.25;".. fgettext("Select texture pack:") .. "]".. + "vertlabel[0,-0.25;".. fgettext("TEXTURE PACKS") .. "]" .. + "textlist[4,0.25;7.5,5.0;TPs;" + + local current_texture_path = engine.setting_get("texture_path") + local list = filter_texture_pack_list(engine.get_dirlist(engine.get_texturepath(), true)) + local index = tonumber(engine.setting_get("mainmenu_last_selected_TP")) + + if index == nil then index = 1 end + + if current_texture_path == "" then + retval = retval .. + menu.render_texture_pack_list(list) .. + ";" .. index .. "]" + return retval + end + + local infofile = current_texture_path ..DIR_DELIM.."info.txt" + local infotext = "" + local f = io.open(infofile, "r") + if f==nil then + infotext = fgettext("No information available") + else + infotext = f:read("*all") + f:close() + end + + local screenfile = current_texture_path..DIR_DELIM.."screenshot.png" + local no_screenshot = nil + if not file_exists(screenfile) then + screenfile = nil + no_screenshot = engine.get_texturepath()..DIR_DELIM.. + "base"..DIR_DELIM.."pack"..DIR_DELIM.."no_screenshot.png" + end + + return retval .. + menu.render_texture_pack_list(list) .. + ";" .. index .. "]" .. + "image[0.65,0.25;4.0,3.7;"..engine.formspec_escape(screenfile or no_screenshot).."]".. + "textarea[1.0,3.25;3.7,1.5;;"..engine.formspec_escape(infotext or "")..";]" +end + +-------------------------------------------------------------------------------- +function tabbuilder.tab_credits() + local logofile = menu.defaulttexturedir .. "logo.png" + return "vertlabel[0,-0.5;CREDITS]" .. + "label[0.5,3;Minetest " .. engine.get_version() .. "]" .. + "label[0.5,3.3;http://minetest.net]" .. + "image[0.5,1;" .. engine.formspec_escape(logofile) .. "]" .. + "textlist[3.5,-0.25;8.5,5.8;list_credits;" .. + "#FFFF00" .. fgettext("Core Developers") .."," .. + "Perttu Ahola (celeron55) ,".. + "Ryan Kwolek (kwolekr) ,".. + "PilzAdam ," .. + "Ilya Zhuravlev (xyz) ,".. + "Lisa Milne (darkrose) ,".. + "Maciej Kasatkin (RealBadAngel) ,".. + "proller ,".. + "sfan5 ,".. + "kahrl ,".. + "sapier,".. + "ShadowNinja ,".. + "Nathanael Courant (Nore/Novatux) ,".. + "BlockMen,".. + ",".. + "#FFFF00" .. fgettext("Active Contributors") .. "," .. + "Vanessa Ezekowitz (VanessaE) ,".. + "Jurgen Doser (doserj) ,".. + "Jeija ,".. + "MirceaKitsune ,".. + "dannydark ,".. + "0gb.us <0gb.us@0gb.us>,".. + "," .. + "#FFFF00" .. fgettext("Previous Contributors") .. "," .. + "Guiseppe Bilotta (Oblomov) ,".. + "Jonathan Neuschafer ,".. + "Nils Dagsson Moskopp (erlehmann) ,".. + "Constantin Wenger (SpeedProg) ,".. + "matttpt ,".. + "JacobF ,".. + ";0;true]" +end + +-------------------------------------------------------------------------------- +function tabbuilder.init() + tabbuilder.tabfuncs = { + singleplayer = tabbuilder.tab_singleplayer, + multiplayer = tabbuilder.tab_multiplayer, + server = tabbuilder.tab_server, + settings = tabbuilder.tab_settings, + texture_packs = tabbuilder.tab_texture_packs, + credits = tabbuilder.tab_credits, + dialog_create_world = tabbuilder.dialog_create_world, + dialog_delete_world = tabbuilder.dialog_delete_world + } + + tabbuilder.tabsizes = { + dialog_create_world = {width=12, height=7}, + dialog_delete_world = {width=12, height=5.2} + } + + tabbuilder.current_tab = engine.setting_get("main_menu_tab") + + if tabbuilder.current_tab == nil or + tabbuilder.current_tab == "" then + tabbuilder.current_tab = "singleplayer" + engine.setting_set("main_menu_tab",tabbuilder.current_tab) + end + + --initialize tab buttons + tabbuilder.last_tab = nil + tabbuilder.show_buttons = true + + tabbuilder.current_buttons = {} + table.insert(tabbuilder.current_buttons,{name="singleplayer", caption=fgettext("Singleplayer")}) + table.insert(tabbuilder.current_buttons,{name="multiplayer", caption=fgettext("Client")}) + table.insert(tabbuilder.current_buttons,{name="server", caption=fgettext("Server")}) + table.insert(tabbuilder.current_buttons,{name="settings", caption=fgettext("Settings")}) + table.insert(tabbuilder.current_buttons,{name="texture_packs", caption=fgettext("Texture Packs")}) + + if engine.setting_getbool("main_menu_game_mgr") then + table.insert(tabbuilder.current_buttons,{name="game_mgr", caption=fgettext("Games")}) + end + + if engine.setting_getbool("main_menu_mod_mgr") then + table.insert(tabbuilder.current_buttons,{name="mod_mgr", caption=fgettext("Mods")}) + end + table.insert(tabbuilder.current_buttons,{name="credits", caption=fgettext("Credits")}) + + + for i=1,#tabbuilder.current_buttons,1 do + if tabbuilder.current_buttons[i].name == tabbuilder.current_tab then + tabbuilder.last_tab_index = i + end + end + + if tabbuilder.current_tab ~= "singleplayer" then + menu.update_gametype(true) + else + menu.update_gametype() + end +end + +-------------------------------------------------------------------------------- +function tabbuilder.checkretval(retval) + + if retval ~= nil then + if retval.current_tab ~= nil then + tabbuilder.current_tab = retval.current_tab + end + + if retval.is_dialog ~= nil then + tabbuilder.is_dialog = retval.is_dialog + end + + if retval.show_buttons ~= nil then + tabbuilder.show_buttons = retval.show_buttons + end + + if retval.skipformupdate ~= nil then + tabbuilder.skipformupdate = retval.skipformupdate + end + end +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- initialize callbacks +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +engine.button_handler = function(fields) + --print("Buttonhandler: tab: " .. tabbuilder.current_tab .. " fields: " .. dump(fields)) + + if fields["btn_error_confirm"] then + gamedata.errormessage = nil + end + + local retval = modmgr.handle_buttons(tabbuilder.current_tab,fields) + tabbuilder.checkretval(retval) + + retval = gamemgr.handle_buttons(tabbuilder.current_tab,fields) + tabbuilder.checkretval(retval) + + retval = modstore.handle_buttons(tabbuilder.current_tab,fields) + tabbuilder.checkretval(retval) + + if tabbuilder.current_tab == "dialog_create_world" then + tabbuilder.handle_create_world_buttons(fields) + end + + if tabbuilder.current_tab == "dialog_delete_world" then + tabbuilder.handle_delete_world_buttons(fields) + end + + if tabbuilder.current_tab == "singleplayer" then + tabbuilder.handle_singleplayer_buttons(fields) + end + + if tabbuilder.current_tab == "texture_packs" then + tabbuilder.handle_texture_pack_buttons(fields) + end + + if tabbuilder.current_tab == "multiplayer" then + tabbuilder.handle_multiplayer_buttons(fields) + end + + if tabbuilder.current_tab == "settings" then + tabbuilder.handle_settings_buttons(fields) + end + + if tabbuilder.current_tab == "server" then + tabbuilder.handle_server_buttons(fields) + end + + --tab buttons + tabbuilder.handle_tab_buttons(fields) + + --menubar buttons + menubar.handle_buttons(fields) + + if not tabbuilder.skipformupdate then + --update menu + update_menu() + else + tabbuilder.skipformupdate = false + end +end + +-------------------------------------------------------------------------------- +engine.event_handler = function(event) + if event == "MenuQuit" then + if tabbuilder.is_dialog then + tabbuilder.is_dialog = false + tabbuilder.show_buttons = true + tabbuilder.current_tab = engine.setting_get("main_menu_tab") + menu.update_gametype() + update_menu() + else + engine.close() + end + end +end + +-------------------------------------------------------------------------------- +function menu.update_gametype(reset) + local game = menu.lastgame() + + if reset or game == nil then + mm_texture.reset() + engine.set_topleft_text("") + filterlist.set_filtercriteria(worldlist,nil) + else + mm_texture.update(tabbuilder.current_tab,game) + engine.set_topleft_text(game.name) + filterlist.set_filtercriteria(worldlist,game.id) + end +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- menu startup +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +init_globals() +mm_texture.init() +menu.init() +tabbuilder.init() +menubar.refresh() +modstore.init() + +engine.sound_play("main_menu", true) + +update_menu() diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc.lua new file mode 100644 index 0000000..fd80aac --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc.lua @@ -0,0 +1,121 @@ +-- Minetest: builtin/misc.lua + +-- +-- Misc. API functions +-- + +minetest.timers_to_add = {} +minetest.timers = {} +minetest.register_globalstep(function(dtime) + for _, timer in ipairs(minetest.timers_to_add) do + table.insert(minetest.timers, timer) + end + minetest.timers_to_add = {} + for index, timer in ipairs(minetest.timers) do + timer.time = timer.time - dtime + if timer.time <= 0 then + timer.func(unpack(timer.args or {})) + table.remove(minetest.timers,index) + end + end +end) + +function minetest.after(time, func, ...) + table.insert(minetest.timers_to_add, {time=time, func=func, args={...}}) +end + +function minetest.check_player_privs(name, privs) + local player_privs = minetest.get_player_privs(name) + local missing_privileges = {} + for priv, val in pairs(privs) do + if val then + if not player_privs[priv] then + table.insert(missing_privileges, priv) + end + end + end + if #missing_privileges > 0 then + return false, missing_privileges + end + return true, "" +end + +local player_list = {} + +minetest.register_on_joinplayer(function(player) + player_list[player:get_player_name()] = player +end) + +minetest.register_on_leaveplayer(function(player) + player_list[player:get_player_name()] = nil +end) + +function minetest.get_connected_players() + local temp_table = {} + for index, value in pairs(player_list) do + if value:is_player_connected() then + table.insert(temp_table, value) + end + end + return temp_table +end + +function minetest.hash_node_position(pos) + return (pos.z+32768)*65536*65536 + (pos.y+32768)*65536 + pos.x+32768 +end + +function minetest.get_item_group(name, group) + if not minetest.registered_items[name] or not + minetest.registered_items[name].groups[group] then + return 0 + end + return minetest.registered_items[name].groups[group] +end + +function minetest.get_node_group(name, group) + return minetest.get_item_group(name, group) +end + +function minetest.string_to_pos(value) + local p = {} + p.x, p.y, p.z = string.match(value, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$") + if p.x and p.y and p.z then + p.x = tonumber(p.x) + p.y = tonumber(p.y) + p.z = tonumber(p.z) + return p + end + local p = {} + p.x, p.y, p.z = string.match(value, "^%( *([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+) *%)$") + if p.x and p.y and p.z then + p.x = tonumber(p.x) + p.y = tonumber(p.y) + p.z = tonumber(p.z) + return p + end + return nil +end + +assert(minetest.string_to_pos("10.0, 5, -2").x == 10) +assert(minetest.string_to_pos("( 10.0, 5, -2)").z == -2) +assert(minetest.string_to_pos("asd, 5, -2)") == nil) + +function minetest.setting_get_pos(name) + local value = minetest.setting_get(name) + if not value then + return nil + end + return minetest.string_to_pos(value) +end + +-- To be overriden by protection mods +function minetest.is_protected(pos, name) + return false +end + +function minetest.record_protection_violation(pos, name) + for _, func in pairs(minetest.registered_on_protection_violation) do + func(pos, name) + end +end + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc_helpers.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc_helpers.lua new file mode 100644 index 0000000..55c5798 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc_helpers.lua @@ -0,0 +1,403 @@ +-- Minetest: builtin/misc_helpers.lua + +-------------------------------------------------------------------------------- +function basic_dump2(o) + if type(o) == "number" then + return tostring(o) + elseif type(o) == "string" then + return string.format("%q", o) + elseif type(o) == "boolean" then + return tostring(o) + elseif type(o) == "function" then + return "" + elseif type(o) == "userdata" then + return "" + elseif type(o) == "nil" then + return "nil" + else + error("cannot dump a " .. type(o)) + return nil + end +end + +-------------------------------------------------------------------------------- +function dump2(o, name, dumped) + name = name or "_" + dumped = dumped or {} + io.write(name, " = ") + if type(o) == "number" or type(o) == "string" or type(o) == "boolean" + or type(o) == "function" or type(o) == "nil" + or type(o) == "userdata" then + io.write(basic_dump2(o), "\n") + elseif type(o) == "table" then + if dumped[o] then + io.write(dumped[o], "\n") + else + dumped[o] = name + io.write("{}\n") -- new table + for k,v in pairs(o) do + local fieldname = string.format("%s[%s]", name, basic_dump2(k)) + dump2(v, fieldname, dumped) + end + end + else + error("cannot dump a " .. type(o)) + return nil + end +end + +-------------------------------------------------------------------------------- +function dump(o, dumped) + dumped = dumped or {} + if type(o) == "number" then + return tostring(o) + elseif type(o) == "string" then + return string.format("%q", o) + elseif type(o) == "table" then + if dumped[o] then + return "" + end + dumped[o] = true + local t = {} + for k,v in pairs(o) do + t[#t+1] = "[" .. dump(k, dumped) .. "] = " .. dump(v, dumped) + end + return "{" .. table.concat(t, ", ") .. "}" + elseif type(o) == "boolean" then + return tostring(o) + elseif type(o) == "function" then + return "" + elseif type(o) == "userdata" then + return "" + elseif type(o) == "nil" then + return "nil" + else + error("cannot dump a " .. type(o)) + return nil + end +end + +-------------------------------------------------------------------------------- +function string:split(sep) + local sep, fields = sep or ",", {} + local pattern = string.format("([^%s]+)", sep) + self:gsub(pattern, function(c) fields[#fields+1] = c end) + return fields +end + +-------------------------------------------------------------------------------- +function file_exists(filename) + local f = io.open(filename, "r") + if f==nil then + return false + else + f:close() + return true + end +end + +-------------------------------------------------------------------------------- +function string:trim() + return (self:gsub("^%s*(.-)%s*$", "%1")) +end + +assert(string.trim("\n \t\tfoo bar\t ") == "foo bar") + +-------------------------------------------------------------------------------- +function math.hypot(x, y) + local t + x = math.abs(x) + y = math.abs(y) + t = math.min(x, y) + x = math.max(x, y) + if x == 0 then return 0 end + t = t / x + return x * math.sqrt(1 + t * t) +end + +-------------------------------------------------------------------------------- +function explode_textlist_event(text) + + local retval = {} + retval.typ = "INV" + + local parts = text:split(":") + + if #parts == 2 then + retval.typ = parts[1]:trim() + retval.index= tonumber(parts[2]:trim()) + + if type(retval.index) ~= "number" then + retval.typ = "INV" + end + end + + return retval +end + +-------------------------------------------------------------------------------- +function get_last_folder(text,count) + local parts = text:split(DIR_DELIM) + + if count == nil then + return parts[#parts] + end + + local retval = "" + for i=1,count,1 do + retval = retval .. parts[#parts - (count-i)] .. DIR_DELIM + end + + return retval +end + +-------------------------------------------------------------------------------- +function cleanup_path(temppath) + + local parts = temppath:split("-") + temppath = "" + for i=1,#parts,1 do + if temppath ~= "" then + temppath = temppath .. "_" + end + temppath = temppath .. parts[i] + end + + parts = temppath:split(".") + temppath = "" + for i=1,#parts,1 do + if temppath ~= "" then + temppath = temppath .. "_" + end + temppath = temppath .. parts[i] + end + + parts = temppath:split("'") + temppath = "" + for i=1,#parts,1 do + if temppath ~= "" then + temppath = temppath .. "" + end + temppath = temppath .. parts[i] + end + + parts = temppath:split(" ") + temppath = "" + for i=1,#parts,1 do + if temppath ~= "" then + temppath = temppath + end + temppath = temppath .. parts[i] + end + + return temppath +end + +local tbl = engine or minetest +function tbl.formspec_escape(text) + if text ~= nil then + text = string.gsub(text,"\\","\\\\") + text = string.gsub(text,"%]","\\]") + text = string.gsub(text,"%[","\\[") + text = string.gsub(text,";","\\;") + text = string.gsub(text,",","\\,") + end + return text +end + + +function tbl.splittext(text,charlimit) + local retval = {} + + local current_idx = 1 + + local start,stop = string.find(text," ",current_idx) + local nl_start,nl_stop = string.find(text,"\n",current_idx) + local gotnewline = false + if nl_start ~= nil and (start == nil or nl_start < start) then + start = nl_start + stop = nl_stop + gotnewline = true + end + local last_line = "" + while start ~= nil do + if string.len(last_line) + (stop-start) > charlimit then + table.insert(retval,last_line) + last_line = "" + end + + if last_line ~= "" then + last_line = last_line .. " " + end + + last_line = last_line .. string.sub(text,current_idx,stop -1) + + if gotnewline then + table.insert(retval,last_line) + last_line = "" + gotnewline = false + end + current_idx = stop+1 + + start,stop = string.find(text," ",current_idx) + nl_start,nl_stop = string.find(text,"\n",current_idx) + + if nl_start ~= nil and (start == nil or nl_start < start) then + start = nl_start + stop = nl_stop + gotnewline = true + end + end + + --add last part of text + if string.len(last_line) + (string.len(text) - current_idx) > charlimit then + table.insert(retval,last_line) + table.insert(retval,string.sub(text,current_idx)) + else + last_line = last_line .. " " .. string.sub(text,current_idx) + table.insert(retval,last_line) + end + + return retval +end + +-------------------------------------------------------------------------------- + +if minetest then + local dirs1 = { 9, 18, 7, 12 } + local dirs2 = { 20, 23, 22, 21 } + + function minetest.rotate_and_place(itemstack, placer, pointed_thing, infinitestacks, orient_flags) + orient_flags = orient_flags or {} + + local node = minetest.get_node(pointed_thing.under) + if not minetest.registered_nodes[node.name] + or not minetest.registered_nodes[node.name].on_rightclick then + + local above = pointed_thing.above + local under = pointed_thing.under + local pitch = placer:get_look_pitch() + local pname = minetest.get_node(under).name + local node = minetest.get_node(above) + local fdir = minetest.dir_to_facedir(placer:get_look_dir()) + local wield_name = itemstack:get_name() + local reg_node = minetest.registered_nodes[pname] + + if not reg_node or not reg_node.on_rightclick then + + local iswall = (above.x ~= under.x) or (above.z ~= under.z) + local isceiling = (above.x == under.x) and (above.z == under.z) + and (pitch > 0) + local pos1 = above + + if reg_node and reg_node.buildable_to then + pos1 = under + iswall = false + end + + reg_node = minetest.registered_nodes[minetest.get_node(pos1).name] + if not reg_node or not reg_node.buildable_to then + return + end + + if orient_flags.force_floor then + iswall = false + isceiling = false + elseif orient_flags.force_ceiling then + iswall = false + isceiling = true + elseif orient_flags.force_wall then + iswall = true + isceiling = false + elseif orient_flags.invert_wall then + iswall = not iswall + end + + if iswall then + minetest.add_node(pos1, {name = wield_name, param2 = dirs1[fdir+1] }) + elseif isceiling then + if orient_flags.force_facedir then + minetest.add_node(pos1, {name = wield_name, param2 = 20 }) + else + minetest.add_node(pos1, {name = wield_name, param2 = dirs2[fdir+1] }) + end + else -- place right side up + if orient_flags.force_facedir then + minetest.add_node(pos1, {name = wield_name, param2 = 0 }) + else + minetest.add_node(pos1, {name = wield_name, param2 = fdir }) + end + end + + if not infinitestacks then + itemstack:take_item() + return itemstack + end + end + else + minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) + end + end + + +-------------------------------------------------------------------------------- +--Wrapper for rotate_and_place() to check for sneak and assume Creative mode +--implies infinite stacks when performing a 6d rotation. +-------------------------------------------------------------------------------- + + + minetest.rotate_node = function(itemstack, placer, pointed_thing) + minetest.rotate_and_place(itemstack, placer, pointed_thing, + minetest.setting_getbool("creative_mode"), + {invert_wall = placer:get_player_control().sneak}) + return itemstack + end +end + +-------------------------------------------------------------------------------- +-- mainmenu only functions +-------------------------------------------------------------------------------- +if engine ~= nil then + engine.get_game = function(index) + local games = game.get_games() + + if index > 0 and index <= #games then + return games[index] + end + + return nil + end + + function fgettext(text, ...) + text = engine.gettext(text) + local arg = {n=select('#', ...), ...} + if arg.n >= 1 then + -- Insert positional parameters ($1, $2, ...) + result = '' + pos = 1 + while pos <= text:len() do + newpos = text:find('[$]', pos) + if newpos == nil then + result = result .. text:sub(pos) + pos = text:len() + 1 + else + paramindex = tonumber(text:sub(newpos+1, newpos+1)) + result = result .. text:sub(pos, newpos-1) .. tostring(arg[paramindex]) + pos = newpos + 2 + end + end + text = result + end + return engine.formspec_escape(text) + end +end +-------------------------------------------------------------------------------- +-- core only fct +-------------------------------------------------------------------------------- +if minetest ~= nil then + -------------------------------------------------------------------------------- + function minetest.pos_to_string(pos) + return "(" .. pos.x .. "," .. pos.y .. "," .. pos.z .. ")" + end +end + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc_register.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc_register.lua new file mode 100644 index 0000000..bb2c62a --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/misc_register.lua @@ -0,0 +1,348 @@ +-- Minetest: builtin/misc_register.lua + +-- +-- Make raw registration functions inaccessible to anyone except this file +-- + +local register_item_raw = minetest.register_item_raw +minetest.register_item_raw = nil + +local register_alias_raw = minetest.register_alias_raw +minetest.register_item_raw = nil + +-- +-- Item / entity / ABM registration functions +-- + +minetest.registered_abms = {} +minetest.registered_entities = {} +minetest.registered_items = {} +minetest.registered_nodes = {} +minetest.registered_craftitems = {} +minetest.registered_tools = {} +minetest.registered_aliases = {} + +-- For tables that are indexed by item name: +-- If table[X] does not exist, default to table[minetest.registered_aliases[X]] +local function set_alias_metatable(table) + setmetatable(table, { + __index = function(name) + return rawget(table, minetest.registered_aliases[name]) + end + }) +end +set_alias_metatable(minetest.registered_items) +set_alias_metatable(minetest.registered_nodes) +set_alias_metatable(minetest.registered_craftitems) +set_alias_metatable(minetest.registered_tools) + +-- These item names may not be used because they would interfere +-- with legacy itemstrings +local forbidden_item_names = { + MaterialItem = true, + MaterialItem2 = true, + MaterialItem3 = true, + NodeItem = true, + node = true, + CraftItem = true, + craft = true, + MBOItem = true, + ToolItem = true, + tool = true, +} + +local function check_modname_prefix(name) + if name:sub(1,1) == ":" then + -- Escape the modname prefix enforcement mechanism + return name:sub(2) + else + -- Modname prefix enforcement + local expected_prefix = minetest.get_current_modname() .. ":" + if name:sub(1, #expected_prefix) ~= expected_prefix then + error("Name " .. name .. " does not follow naming conventions: " .. + "\"modname:\" or \":\" prefix required") + end + local subname = name:sub(#expected_prefix+1) + if subname:find("[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]") then + error("Name " .. name .. " does not follow naming conventions: " .. + "contains unallowed characters") + end + return name + end +end + +function minetest.register_abm(spec) + -- Add to minetest.registered_abms + minetest.registered_abms[#minetest.registered_abms+1] = spec +end + +function minetest.register_entity(name, prototype) + -- Check name + if name == nil then + error("Unable to register entity: Name is nil") + end + name = check_modname_prefix(tostring(name)) + + prototype.name = name + prototype.__index = prototype -- so that it can be used as a metatable + + -- Add to minetest.registered_entities + minetest.registered_entities[name] = prototype +end + +function minetest.register_item(name, itemdef) + -- Check name + if name == nil then + error("Unable to register item: Name is nil") + end + name = check_modname_prefix(tostring(name)) + if forbidden_item_names[name] then + error("Unable to register item: Name is forbidden: " .. name) + end + itemdef.name = name + + -- Apply defaults and add to registered_* table + if itemdef.type == "node" then + -- Use the nodebox as selection box if it's not set manually + if itemdef.drawtype == "nodebox" and not itemdef.selection_box then + itemdef.selection_box = itemdef.node_box + end + setmetatable(itemdef, {__index = minetest.nodedef_default}) + minetest.registered_nodes[itemdef.name] = itemdef + elseif itemdef.type == "craft" then + setmetatable(itemdef, {__index = minetest.craftitemdef_default}) + minetest.registered_craftitems[itemdef.name] = itemdef + elseif itemdef.type == "tool" then + setmetatable(itemdef, {__index = minetest.tooldef_default}) + minetest.registered_tools[itemdef.name] = itemdef + elseif itemdef.type == "none" then + setmetatable(itemdef, {__index = minetest.noneitemdef_default}) + else + error("Unable to register item: Type is invalid: " .. dump(itemdef)) + end + + -- Flowing liquid uses param2 + if itemdef.type == "node" and itemdef.liquidtype == "flowing" then + itemdef.paramtype2 = "flowingliquid" + end + + -- BEGIN Legacy stuff + if itemdef.cookresult_itemstring ~= nil and itemdef.cookresult_itemstring ~= "" then + minetest.register_craft({ + type="cooking", + output=itemdef.cookresult_itemstring, + recipe=itemdef.name, + cooktime=itemdef.furnace_cooktime + }) + end + if itemdef.furnace_burntime ~= nil and itemdef.furnace_burntime >= 0 then + minetest.register_craft({ + type="fuel", + recipe=itemdef.name, + burntime=itemdef.furnace_burntime + }) + end + -- END Legacy stuff + + -- Disable all further modifications + getmetatable(itemdef).__newindex = {} + + --minetest.log("Registering item: " .. itemdef.name) + minetest.registered_items[itemdef.name] = itemdef + minetest.registered_aliases[itemdef.name] = nil + register_item_raw(itemdef) +end + +function minetest.register_node(name, nodedef) + nodedef.type = "node" + minetest.register_item(name, nodedef) +end + +function minetest.register_craftitem(name, craftitemdef) + craftitemdef.type = "craft" + + -- BEGIN Legacy stuff + if craftitemdef.inventory_image == nil and craftitemdef.image ~= nil then + craftitemdef.inventory_image = craftitemdef.image + end + -- END Legacy stuff + + minetest.register_item(name, craftitemdef) +end + +function minetest.register_tool(name, tooldef) + tooldef.type = "tool" + tooldef.stack_max = 1 + + -- BEGIN Legacy stuff + if tooldef.inventory_image == nil and tooldef.image ~= nil then + tooldef.inventory_image = tooldef.image + end + if tooldef.tool_capabilities == nil and + (tooldef.full_punch_interval ~= nil or + tooldef.basetime ~= nil or + tooldef.dt_weight ~= nil or + tooldef.dt_crackiness ~= nil or + tooldef.dt_crumbliness ~= nil or + tooldef.dt_cuttability ~= nil or + tooldef.basedurability ~= nil or + tooldef.dd_weight ~= nil or + tooldef.dd_crackiness ~= nil or + tooldef.dd_crumbliness ~= nil or + tooldef.dd_cuttability ~= nil) then + tooldef.tool_capabilities = { + full_punch_interval = tooldef.full_punch_interval, + basetime = tooldef.basetime, + dt_weight = tooldef.dt_weight, + dt_crackiness = tooldef.dt_crackiness, + dt_crumbliness = tooldef.dt_crumbliness, + dt_cuttability = tooldef.dt_cuttability, + basedurability = tooldef.basedurability, + dd_weight = tooldef.dd_weight, + dd_crackiness = tooldef.dd_crackiness, + dd_crumbliness = tooldef.dd_crumbliness, + dd_cuttability = tooldef.dd_cuttability, + } + end + -- END Legacy stuff + + minetest.register_item(name, tooldef) +end + +function minetest.register_alias(name, convert_to) + if forbidden_item_names[name] then + error("Unable to register alias: Name is forbidden: " .. name) + end + if minetest.registered_items[name] ~= nil then + minetest.log("WARNING: Not registering alias, item with same name" .. + " is already defined: " .. name .. " -> " .. convert_to) + else + --minetest.log("Registering alias: " .. name .. " -> " .. convert_to) + minetest.registered_aliases[name] = convert_to + register_alias_raw(name, convert_to) + end +end + +local register_biome_raw = minetest.register_biome +minetest.registered_biomes = {} +function minetest.register_biome(biome) + minetest.registered_biomes[biome.name] = biome + register_biome_raw(biome) +end + +function minetest.on_craft(itemstack, player, old_craft_list, craft_inv) + for _, func in ipairs(minetest.registered_on_crafts) do + itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack + end + return itemstack +end + +function minetest.craft_predict(itemstack, player, old_craft_list, craft_inv) + for _, func in ipairs(minetest.registered_craft_predicts) do + itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack + end + return itemstack +end + +-- Alias the forbidden item names to "" so they can't be +-- created via itemstrings (e.g. /give) +local name +for name in pairs(forbidden_item_names) do + minetest.registered_aliases[name] = "" + register_alias_raw(name, "") +end + + +-- Deprecated: +-- Aliases for minetest.register_alias (how ironic...) +--minetest.alias_node = minetest.register_alias +--minetest.alias_tool = minetest.register_alias +--minetest.alias_craftitem = minetest.register_alias + +-- +-- Built-in node definitions. Also defined in C. +-- + +minetest.register_item(":unknown", { + type = "none", + description = "Unknown Item", + inventory_image = "unknown_item.png", + on_place = minetest.item_place, + on_drop = minetest.item_drop, + groups = {not_in_creative_inventory=1}, + diggable = true, +}) + +minetest.register_node(":air", { + description = "Air (you hacker you!)", + inventory_image = "unknown_node.png", + wield_image = "unknown_node.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + air_equivalent = true, + drop = "", + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_node(":ignore", { + description = "Ignore (you hacker you!)", + inventory_image = "unknown_node.png", + wield_image = "unknown_node.png", + drawtype = "airlike", + paramtype = "none", + sunlight_propagates = false, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, -- A way to remove accidentally placed ignores + air_equivalent = true, + drop = "", + groups = {not_in_creative_inventory=1}, +}) + +-- The hand (bare definition) +minetest.register_item(":", { + type = "none", + groups = {not_in_creative_inventory=1}, +}) + +-- +-- Callback registration +-- + +local function make_registration() + local t = {} + local registerfunc = function(func) table.insert(t, func) end + return t, registerfunc +end + +local function make_registration_reverse() + local t = {} + local registerfunc = function(func) table.insert(t, 1, func) end + return t, registerfunc +end + +minetest.registered_on_chat_messages, minetest.register_on_chat_message = make_registration() +minetest.registered_globalsteps, minetest.register_globalstep = make_registration() +minetest.registered_on_mapgen_inits, minetest.register_on_mapgen_init = make_registration() +minetest.registered_on_shutdown, minetest.register_on_shutdown = make_registration() +minetest.registered_on_punchnodes, minetest.register_on_punchnode = make_registration() +minetest.registered_on_placenodes, minetest.register_on_placenode = make_registration() +minetest.registered_on_dignodes, minetest.register_on_dignode = make_registration() +minetest.registered_on_generateds, minetest.register_on_generated = make_registration() +minetest.registered_on_newplayers, minetest.register_on_newplayer = make_registration() +minetest.registered_on_dieplayers, minetest.register_on_dieplayer = make_registration() +minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = make_registration() +minetest.registered_on_joinplayers, minetest.register_on_joinplayer = make_registration() +minetest.registered_on_leaveplayers, minetest.register_on_leaveplayer = make_registration() +minetest.registered_on_player_receive_fields, minetest.register_on_player_receive_fields = make_registration_reverse() +minetest.registered_on_cheats, minetest.register_on_cheat = make_registration() +minetest.registered_on_crafts, minetest.register_on_craft = make_registration() +minetest.registered_craft_predicts, minetest.register_craft_predict = make_registration() +minetest.registered_on_protection_violation, minetest.register_on_protection_violation = make_registration() + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mm_menubar.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mm_menubar.lua new file mode 100644 index 0000000..2e4d5f8 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mm_menubar.lua @@ -0,0 +1,80 @@ +--Minetest +--Copyright (C) 2013 sapier +-- +--This program is free software; you can redistribute it and/or modify +--it under the terms of the GNU Lesser General Public License as published by +--the Free Software Foundation; either version 2.1 of the License, or +--(at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU Lesser General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public License along +--with this program; if not, write to the Free Software Foundation, Inc., +--51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +menubar = {} + +-------------------------------------------------------------------------------- +function menubar.handle_buttons(fields) + for i=1,#menubar.buttons,1 do + if fields[menubar.buttons[i].btn_name] ~= nil then + menu.last_game = menubar.buttons[i].index + engine.setting_set("main_menu_last_game_idx",menu.last_game) + menu.update_gametype() + end + end +end + +-------------------------------------------------------------------------------- +function menubar.refresh() + + menubar.formspec = "box[-0.3,5.625;12.4,1.2;#000000]" .. + "box[-0.3,5.6;12.4,0.05;#FFFFFF]" + menubar.buttons = {} + + local button_base = -0.08 + + local maxbuttons = #gamemgr.games + + if maxbuttons > 11 then + maxbuttons = 11 + end + + for i=1,maxbuttons,1 do + + local btn_name = "menubar_btn_" .. gamemgr.games[i].id + local buttonpos = button_base + (i-1) * 1.1 + if gamemgr.games[i].menuicon_path ~= nil and + gamemgr.games[i].menuicon_path ~= "" then + + menubar.formspec = menubar.formspec .. + "image_button[" .. buttonpos .. ",5.72;1.165,1.175;" .. + engine.formspec_escape(gamemgr.games[i].menuicon_path) .. ";" .. + btn_name .. ";;true;false]" + else + + local part1 = gamemgr.games[i].id:sub(1,5) + local part2 = gamemgr.games[i].id:sub(6,10) + local part3 = gamemgr.games[i].id:sub(11) + + local text = part1 .. "\n" .. part2 + if part3 ~= nil and + part3 ~= "" then + text = text .. "\n" .. part3 + end + menubar.formspec = menubar.formspec .. + "image_button[" .. buttonpos .. ",5.72;1.165,1.175;;" ..btn_name .. + ";" .. text .. ";true;true]" + end + + local toadd = { + btn_name = btn_name, + index = i, + } + + table.insert(menubar.buttons,toadd) + end +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mm_textures.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mm_textures.lua new file mode 100644 index 0000000..998fc21 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/mm_textures.lua @@ -0,0 +1,146 @@ +--Minetest +--Copyright (C) 2013 sapier +-- +--This program is free software; you can redistribute it and/or modify +--it under the terms of the GNU Lesser General Public License as published by +--the Free Software Foundation; either version 2.1 of the License, or +--(at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU Lesser General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public License along +--with this program; if not, write to the Free Software Foundation, Inc., +--51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +mm_texture = {} + +-------------------------------------------------------------------------------- +function mm_texture.init() + mm_texture.defaulttexturedir = engine.get_texturepath() .. DIR_DELIM .. "base" .. + DIR_DELIM .. "pack" .. DIR_DELIM + mm_texture.basetexturedir = mm_texture.defaulttexturedir + + mm_texture.texturepack = engine.setting_get("texture_path") + + mm_texture.gameid = nil +end + +-------------------------------------------------------------------------------- +function mm_texture.update(tab,gamedetails) + if tab ~= "singleplayer" then + mm_texture.reset() + return + end + + if gamedetails == nil then + return + end + + mm_texture.update_game(gamedetails) +end + +-------------------------------------------------------------------------------- +function mm_texture.reset() + mm_texture.gameid = nil + local have_bg = false + local have_overlay = mm_texture.set_generic("overlay") + + if not have_overlay then + have_bg = mm_texture.set_generic("background") + end + + mm_texture.clear("header") + mm_texture.clear("footer") + engine.set_clouds(false) + + mm_texture.set_generic("footer") + mm_texture.set_generic("header") + + if not have_bg and + engine.setting_getbool("enable_clouds") then + engine.set_clouds(true) + end +end + +-------------------------------------------------------------------------------- +function mm_texture.update_game(gamedetails) + if mm_texture.gameid == gamedetails.id then + return + end + + local have_bg = false + local have_overlay = mm_texture.set_game("overlay",gamedetails) + + if not have_overlay then + have_bg = mm_texture.set_game("background",gamedetails) + end + + mm_texture.clear("header") + mm_texture.clear("footer") + engine.set_clouds(false) + + if not have_bg and + engine.setting_getbool("enable_clouds") then + engine.set_clouds(true) + end + + mm_texture.set_game("footer",gamedetails) + mm_texture.set_game("header",gamedetails) + + mm_texture.gameid = gamedetails.id +end + +-------------------------------------------------------------------------------- +function mm_texture.clear(identifier) + engine.set_background(identifier,"") +end + +-------------------------------------------------------------------------------- +function mm_texture.set_generic(identifier) + --try texture pack first + if mm_texture.texturepack ~= nil then + local path = mm_texture.texturepack .. DIR_DELIM .."menu_" .. + identifier .. ".png" + if engine.set_background(identifier,path) then + return true + end + end + + if mm_texture.defaulttexturedir ~= nil then + local path = mm_texture.defaulttexturedir .. DIR_DELIM .."menu_" .. + identifier .. ".png" + if engine.set_background(identifier,path) then + return true + end + end + + return false +end + +-------------------------------------------------------------------------------- +function mm_texture.set_game(identifier,gamedetails) + + if gamedetails == nil then + return false + end + + if mm_texture.texturepack ~= nil then + local path = mm_texture.texturepack .. DIR_DELIM .. + gamedetails.id .. "_menu_" .. identifier .. ".png" + if engine.set_background(identifier,path) then + return true + end + end + + local path = gamedetails.path .. DIR_DELIM .."menu" .. + DIR_DELIM .. identifier .. ".png" + if engine.set_background(identifier,path) then + return true + end + + return false +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/modmgr.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/modmgr.lua new file mode 100644 index 0000000..1f19ac6 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/modmgr.lua @@ -0,0 +1,1128 @@ +--Minetest +--Copyright (C) 2013 sapier +-- +--This program is free software; you can redistribute it and/or modify +--it under the terms of the GNU Lesser General Public License as published by +--the Free Software Foundation; either version 2.1 of the License, or +--(at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU Lesser General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public License along +--with this program; if not, write to the Free Software Foundation, Inc., +--51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-------------------------------------------------------------------------------- +function get_mods(path,retval,modpack) + + local mods = engine.get_dirlist(path,true) + for i=1,#mods,1 do + local toadd = {} + local modpackfile = nil + + toadd.name = mods[i] + toadd.path = path .. DIR_DELIM .. mods[i] .. DIR_DELIM + if modpack ~= nil and + modpack ~= "" then + toadd.modpack = modpack + else + local filename = path .. DIR_DELIM .. mods[i] .. DIR_DELIM .. "modpack.txt" + local error = nil + modpackfile,error = io.open(filename,"r") + end + + if modpackfile ~= nil then + modpackfile:close() + toadd.is_modpack = true + table.insert(retval,toadd) + get_mods(path .. DIR_DELIM .. mods[i],retval,mods[i]) + else + table.insert(retval,toadd) + end + end +end + +--modmanager implementation +modmgr = {} + +-------------------------------------------------------------------------------- +function modmgr.extract(modfile) + if modfile.type == "zip" then + local tempfolder = os.tempfolder() + + if tempfolder ~= nil and + tempfodler ~= "" then + engine.create_dir(tempfolder) + engine.extract_zip(modfile.name,tempfolder) + return tempfolder + end + end +end + +------------------------------------------------------------------------------- +function modmgr.getbasefolder(temppath) + + if temppath == nil then + return { + type = "invalid", + path = "" + } + end + + local testfile = io.open(temppath .. DIR_DELIM .. "init.lua","r") + if testfile ~= nil then + testfile:close() + return { + type="mod", + path=temppath + } + end + + testfile = io.open(temppath .. DIR_DELIM .. "modpack.txt","r") + if testfile ~= nil then + testfile:close() + return { + type="modpack", + path=temppath + } + end + + local subdirs = engine.get_dirlist(temppath,true) + + --only single mod or modpack allowed + if #subdirs ~= 1 then + return { + type = "invalid", + path = "" + } + end + + testfile = + io.open(temppath .. DIR_DELIM .. subdirs[1] ..DIR_DELIM .."init.lua","r") + if testfile ~= nil then + testfile:close() + return { + type="mod", + path= temppath .. DIR_DELIM .. subdirs[1] + } + end + + testfile = + io.open(temppath .. DIR_DELIM .. subdirs[1] ..DIR_DELIM .."modpack.txt","r") + if testfile ~= nil then + testfile:close() + return { + type="modpack", + path=temppath .. DIR_DELIM .. subdirs[1] + } + end + + return { + type = "invalid", + path = "" + } +end + +-------------------------------------------------------------------------------- +function modmgr.isValidModname(modpath) + if modpath:find("-") ~= nil then + return false + end + + return true +end + +-------------------------------------------------------------------------------- +function modmgr.parse_register_line(line) + local pos1 = line:find("\"") + local pos2 = nil + if pos1 ~= nil then + pos2 = line:find("\"",pos1+1) + end + + if pos1 ~= nil and pos2 ~= nil then + local item = line:sub(pos1+1,pos2-1) + + if item ~= nil and + item ~= "" then + local pos3 = item:find(":") + + if pos3 ~= nil then + local retval = item:sub(1,pos3-1) + if retval ~= nil and + retval ~= "" then + return retval + end + end + end + end + return nil +end + +-------------------------------------------------------------------------------- +function modmgr.parse_dofile_line(modpath,line) + local pos1 = line:find("\"") + local pos2 = nil + if pos1 ~= nil then + pos2 = line:find("\"",pos1+1) + end + + if pos1 ~= nil and pos2 ~= nil then + local filename = line:sub(pos1+1,pos2-1) + + if filename ~= nil and + filename ~= "" and + filename:find(".lua") then + return modmgr.identify_modname(modpath,filename) + end + end + return nil +end + +-------------------------------------------------------------------------------- +function modmgr.identify_modname(modpath,filename) + local testfile = io.open(modpath .. DIR_DELIM .. filename,"r") + if testfile ~= nil then + local line = testfile:read() + + while line~= nil do + local modname = nil + + if line:find("minetest.register_tool") then + modname = modmgr.parse_register_line(line) + end + + if line:find("minetest.register_craftitem") then + modname = modmgr.parse_register_line(line) + end + + + if line:find("minetest.register_node") then + modname = modmgr.parse_register_line(line) + end + + if line:find("dofile") then + modname = modmgr.parse_dofile_line(modpath,line) + end + + if modname ~= nil then + testfile:close() + return modname + end + + line = testfile:read() + end + testfile:close() + end + + return nil +end + +-------------------------------------------------------------------------------- +function modmgr.tab() + + if modmgr.global_mods == nil then + modmgr.refresh_globals() + end + + if modmgr.selected_mod == nil then + modmgr.selected_mod = 1 + end + + local retval = + "vertlabel[0,-0.25;".. fgettext("MODS") .. "]" .. + "label[0.8,-0.25;".. fgettext("Installed Mods:") .. "]" .. + "textlist[0.75,0.25;4.5,4;modlist;" .. + modmgr.render_modlist(modmgr.global_mods) .. + ";" .. modmgr.selected_mod .. "]" + + retval = retval .. + "label[0.8,4.2;" .. fgettext("Add mod:") .. "]" .. +-- TODO Disabled due to upcoming release 0.4.8 and irrlicht messing up localization +-- "button[0.75,4.85;1.8,0.5;btn_mod_mgr_install_local;".. fgettext("Local install") .. "]" .. + "button[2.45,4.85;3.05,0.5;btn_mod_mgr_download;".. fgettext("Online mod repository") .. "]" + + local selected_mod = nil + + if filterlist.size(modmgr.global_mods) >= modmgr.selected_mod then + selected_mod = filterlist.get_list(modmgr.global_mods)[modmgr.selected_mod] + end + + if selected_mod ~= nil then + local modscreenshot = nil + + --check for screenshot beeing available + local screenshotfilename = selected_mod.path .. DIR_DELIM .. "screenshot.png" + local error = nil + screenshotfile,error = io.open(screenshotfilename,"r") + if error == nil then + screenshotfile:close() + modscreenshot = screenshotfilename + end + + if modscreenshot == nil then + modscreenshot = modstore.basetexturedir .. "no_screenshot.png" + end + + retval = retval + .. "image[5.5,0;3,2;" .. engine.formspec_escape(modscreenshot) .. "]" + .. "label[8.25,0.6;" .. selected_mod.name .. "]" + + local descriptionlines = nil + error = nil + local descriptionfilename = selected_mod.path .. "description.txt" + descriptionfile,error = io.open(descriptionfilename,"r") + if error == nil then + descriptiontext = descriptionfile:read("*all") + + descriptionlines = engine.splittext(descriptiontext,42) + descriptionfile:close() + else + descriptionlines = {} + table.insert(descriptionlines,fgettext("No mod description available")) + end + + retval = retval .. + "label[5.5,1.7;".. fgettext("Mod information:") .. "]" .. + "textlist[5.5,2.2;6.2,2.4;description;" + + for i=1,#descriptionlines,1 do + retval = retval .. engine.formspec_escape(descriptionlines[i]) .. "," + end + + + if selected_mod.is_modpack then + retval = retval .. ";0]" .. + "button[10,4.85;2,0.5;btn_mod_mgr_rename_modpack;" .. + fgettext("Rename") .. "]" + retval = retval .. "button[5.5,4.85;4.5,0.5;btn_mod_mgr_delete_mod;" + .. fgettext("Uninstall selected modpack") .. "]" + else + --show dependencies + + retval = retval .. ",Depends:," + + toadd = modmgr.get_dependencies(selected_mod.path) + + retval = retval .. toadd .. ";0]" + + retval = retval .. "button[5.5,4.85;4.5,0.5;btn_mod_mgr_delete_mod;" + .. fgettext("Uninstall selected mod") .. "]" + end + end + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.dialog_rename_modpack() + + local mod = filterlist.get_list(modmgr.global_mods)[modmgr.selected_mod] + + local retval = + "label[1.75,1;".. fgettext("Rename Modpack:") .. "]".. + "field[4.5,1.4;6,0.5;te_modpack_name;;" .. + mod.name .. + "]" .. + "button[5,4.2;2.6,0.5;dlg_rename_modpack_confirm;".. + fgettext("Accept") .. "]" .. + "button[7.5,4.2;2.8,0.5;dlg_rename_modpack_cancel;".. + fgettext("Cancel") .. "]" + + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.precheck() + + if modmgr.world_config_selected_world == nil then + modmgr.world_config_selected_world = 1 + end + + if modmgr.world_config_selected_mod == nil then + modmgr.world_config_selected_mod = 1 + end + + if modmgr.hide_gamemods == nil then + modmgr.hide_gamemods = true + end + + if modmgr.hide_modpackcontents == nil then + modmgr.hide_modpackcontents = true + end +end + +-------------------------------------------------------------------------------- +function modmgr.render_modlist(render_list) + local retval = "" + + if render_list == nil then + if modmgr.global_mods == nil then + modmgr.refresh_globals() + end + render_list = modmgr.global_mods + end + + local list = filterlist.get_list(render_list) + local last_modpack = nil + + for i,v in ipairs(list) do + if retval ~= "" then + retval = retval .."," + end + + local color = "" + + if v.is_modpack then + local rawlist = filterlist.get_raw_list(render_list) + + local all_enabled = true + for j=1,#rawlist,1 do + if rawlist[j].modpack == list[i].name and + rawlist[j].enabled ~= true then + all_enabled = false + break + end + end + + if all_enabled == false then + color = mt_color_grey + else + color = mt_color_dark_green + end + end + + if v.typ == "game_mod" then + color = mt_color_blue + else + if v.enabled then + color = mt_color_green + end + end + + retval = retval .. color + if v.modpack ~= nil then + retval = retval .. " " + end + retval = retval .. v.name + end + + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.dialog_configure_world() + modmgr.precheck() + + local worldspec = engine.get_worlds()[modmgr.world_config_selected_world] + local mod = filterlist.get_list(modmgr.modlist)[modmgr.world_config_selected_mod] + + local retval = + "size[11,6.5]" .. + "label[0.5,-0.25;" .. fgettext("World:") .. "]" .. + "label[1.75,-0.25;" .. worldspec.name .. "]" + + if modmgr.hide_gamemods then + retval = retval .. "checkbox[0,5.75;cb_hide_gamemods;" .. fgettext("Hide Game") .. ";true]" + else + retval = retval .. "checkbox[0,5.75;cb_hide_gamemods;" .. fgettext("Hide Game") .. ";false]" + end + + if modmgr.hide_modpackcontents then + retval = retval .. "checkbox[2,5.75;cb_hide_mpcontent;" .. fgettext("Hide mp content") .. ";true]" + else + retval = retval .. "checkbox[2,5.75;cb_hide_mpcontent;" .. fgettext("Hide mp content") .. ";false]" + end + + if mod == nil then + mod = {name=""} + end + retval = retval .. + "label[0,0.45;" .. fgettext("Mod:") .. "]" .. + "label[0.75,0.45;" .. mod.name .. "]" .. + "label[0,1;" .. fgettext("Depends:") .. "]" .. + "textlist[0,1.5;5,4.25;world_config_depends;" .. + modmgr.get_dependencies(mod.path) .. ";0]" .. + "button[9.25,6.35;2,0.5;btn_config_world_save;" .. fgettext("Save") .. "]" .. + "button[7.4,6.35;2,0.5;btn_config_world_cancel;" .. fgettext("Cancel") .. "]" + + if mod ~= nil and mod.name ~= "" and mod.typ ~= "game_mod" then + if mod.is_modpack then + local rawlist = filterlist.get_raw_list(modmgr.modlist) + + local all_enabled = true + for j=1,#rawlist,1 do + if rawlist[j].modpack == mod.name and + rawlist[j].enabled ~= true then + all_enabled = false + break + end + end + + if all_enabled == false then + retval = retval .. "button[5.5,-0.125;2,0.5;btn_mp_enable;" .. fgettext("Enable MP") .. "]" + else + retval = retval .. "button[5.5,-0.125;2,0.5;btn_mp_disable;" .. fgettext("Disable MP") .. "]" + end + else + if mod.enabled then + retval = retval .. "checkbox[5.5,-0.375;cb_mod_enable;" .. fgettext("enabled") .. ";true]" + else + retval = retval .. "checkbox[5.5,-0.375;cb_mod_enable;" .. fgettext("enabled") .. ";false]" + end + end + end + + retval = retval .. + "button[8.5,-0.125;2.5,0.5;btn_all_mods;" .. fgettext("Enable all") .. "]" .. + "textlist[5.5,0.5;5.5,5.75;world_config_modlist;" + + retval = retval .. modmgr.render_modlist(modmgr.modlist) + + retval = retval .. ";" .. modmgr.world_config_selected_mod .."]" + + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.handle_buttons(tab,fields) + + local retval = nil + + if tab == "mod_mgr" then + retval = modmgr.handle_modmgr_buttons(fields) + end + + if tab == "dialog_rename_modpack" then + retval = modmgr.handle_rename_modpack_buttons(fields) + end + + if tab == "dialog_delete_mod" then + retval = modmgr.handle_delete_mod_buttons(fields) + end + + if tab == "dialog_configure_world" then + retval = modmgr.handle_configure_world_buttons(fields) + end + + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.get_dependencies(modfolder) + local toadd = "" + if modfolder ~= nil then + local filename = modfolder .. + DIR_DELIM .. "depends.txt" + + local dependencyfile = io.open(filename,"r") + + if dependencyfile then + local dependency = dependencyfile:read("*l") + while dependency do + if toadd ~= "" then + toadd = toadd .. "," + end + toadd = toadd .. dependency + dependency = dependencyfile:read() + end + dependencyfile:close() + end + end + + return toadd +end + + +-------------------------------------------------------------------------------- +function modmgr.get_worldconfig(worldpath) + local filename = worldpath .. + DIR_DELIM .. "world.mt" + + local worldfile = Settings(filename) + + local worldconfig = {} + worldconfig.global_mods = {} + worldconfig.game_mods = {} + + for key,value in pairs(worldfile:to_table()) do + if key == "gameid" then + worldconfig.id = value + else + worldconfig.global_mods[key] = engine.is_yes(value) + end + end + + --read gamemods + local gamespec = gamemgr.find_by_gameid(worldconfig.id) + gamemgr.get_game_mods(gamespec, worldconfig.game_mods) + + return worldconfig +end +-------------------------------------------------------------------------------- +function modmgr.handle_modmgr_buttons(fields) + local retval = { + tab = nil, + is_dialog = nil, + show_buttons = nil, + } + + if fields["modlist"] ~= nil then + local event = explode_textlist_event(fields["modlist"]) + modmgr.selected_mod = event.index + end + + if fields["btn_mod_mgr_install_local"] ~= nil then + engine.show_file_open_dialog("mod_mgt_open_dlg",fgettext("Select Mod File:")) + end + + if fields["btn_mod_mgr_download"] ~= nil then + modstore.update_modlist() + retval.current_tab = "dialog_modstore_unsorted" + retval.is_dialog = true + retval.show_buttons = false + return retval + end + + if fields["btn_mod_mgr_rename_modpack"] ~= nil then + retval.current_tab = "dialog_rename_modpack" + retval.is_dialog = true + retval.show_buttons = false + return retval + end + + if fields["btn_mod_mgr_delete_mod"] ~= nil then + retval.current_tab = "dialog_delete_mod" + retval.is_dialog = true + retval.show_buttons = false + return retval + end + + if fields["mod_mgt_open_dlg_accepted"] ~= nil and + fields["mod_mgt_open_dlg_accepted"] ~= "" then + modmgr.installmod(fields["mod_mgt_open_dlg_accepted"],nil) + end + + return nil; +end + +-------------------------------------------------------------------------------- +function modmgr.installmod(modfilename,basename) + local modfile = modmgr.identify_filetype(modfilename) + local modpath = modmgr.extract(modfile) + + if modpath == nil then + gamedata.errormessage = fgettext("Install Mod: file: \"$1\"", modfile.name) .. + fgettext("\nInstall Mod: unsupported filetype \"$1\"", modfile.type) + return + end + + + local basefolder = modmgr.getbasefolder(modpath) + + if basefolder.type == "modpack" then + local clean_path = nil + + if basename ~= nil then + clean_path = "mp_" .. basename + end + + if clean_path == nil then + clean_path = get_last_folder(cleanup_path(basefolder.path)) + end + + if clean_path ~= nil then + local targetpath = engine.get_modpath() .. DIR_DELIM .. clean_path + if not engine.copy_dir(basefolder.path,targetpath) then + gamedata.errormessage = fgettext("Failed to install $1 to $2", basename, targetpath) + end + else + gamedata.errormessage = fgettext("Install Mod: unable to find suitable foldername for modpack $1", modfilename) + end + end + + if basefolder.type == "mod" then + local targetfolder = basename + + if targetfolder == nil then + targetfolder = modmgr.identify_modname(basefolder.path,"init.lua") + end + + --if heuristic failed try to use current foldername + if targetfolder == nil then + targetfolder = get_last_folder(basefolder.path) + end + + if targetfolder ~= nil and modmgr.isValidModname(targetfolder) then + local targetpath = engine.get_modpath() .. DIR_DELIM .. targetfolder + engine.copy_dir(basefolder.path,targetpath) + else + gamedata.errormessage = fgettext("Install Mod: unable to find real modname for: $1", modfilename) + end + end + + engine.delete_dir(modpath) + + modmgr.refresh_globals() + +end + +-------------------------------------------------------------------------------- +function modmgr.handle_rename_modpack_buttons(fields) + + if fields["dlg_rename_modpack_confirm"] ~= nil then + local mod = filterlist.get_list(modmgr.global_mods)[modmgr.selected_mod] + local oldpath = engine.get_modpath() .. DIR_DELIM .. mod.name + local targetpath = engine.get_modpath() .. DIR_DELIM .. fields["te_modpack_name"] + engine.copy_dir(oldpath,targetpath,false) + modmgr.refresh_globals() + modmgr.selected_mod = filterlist.get_current_index(modmgr.global_mods, + filterlist.raw_index_by_uid(modmgr.global_mods, fields["te_modpack_name"])) + end + + return { + is_dialog = false, + show_buttons = true, + current_tab = engine.setting_get("main_menu_tab") + } +end +-------------------------------------------------------------------------------- +function modmgr.handle_configure_world_buttons(fields) + if fields["world_config_modlist"] ~= nil then + local event = explode_textlist_event(fields["world_config_modlist"]) + modmgr.world_config_selected_mod = event.index + + if event.typ == "DCL" then + modmgr.world_config_enable_mod(nil) + end + end + + if fields["key_enter"] ~= nil then + modmgr.world_config_enable_mod(nil) + end + + if fields["cb_mod_enable"] ~= nil then + local toset = engine.is_yes(fields["cb_mod_enable"]) + modmgr.world_config_enable_mod(toset) + end + + if fields["btn_mp_enable"] ~= nil or + fields["btn_mp_disable"] then + local toset = (fields["btn_mp_enable"] ~= nil) + modmgr.world_config_enable_mod(toset) + end + + if fields["cb_hide_gamemods"] ~= nil then + local current = filterlist.get_filtercriteria(modmgr.modlist) + + if current == nil then + current = {} + end + + if engine.is_yes(fields["cb_hide_gamemods"]) then + current.hide_game = true + modmgr.hide_gamemods = true + else + current.hide_game = false + modmgr.hide_gamemods = false + end + + filterlist.set_filtercriteria(modmgr.modlist,current) + end + + if fields["cb_hide_mpcontent"] ~= nil then + local current = filterlist.get_filtercriteria(modmgr.modlist) + + if current == nil then + current = {} + end + + if engine.is_yes(fields["cb_hide_mpcontent"]) then + current.hide_modpackcontents = true + modmgr.hide_modpackcontents = true + else + current.hide_modpackcontents = false + modmgr.hide_modpackcontents = false + end + + filterlist.set_filtercriteria(modmgr.modlist,current) + end + + if fields["btn_config_world_save"] then + local worldspec = engine.get_worlds()[modmgr.world_config_selected_world] + + local filename = worldspec.path .. + DIR_DELIM .. "world.mt" + + local worldfile = Settings(filename) + local mods = worldfile:to_table() + + local rawlist = filterlist.get_raw_list(modmgr.modlist) + + local i,mod + for i,mod in ipairs(rawlist) do + if not mod.is_modpack and + mod.typ ~= "game_mod" then + if mod.enabled then + worldfile:set("load_mod_"..mod.name, "true") + else + worldfile:set("load_mod_"..mod.name, "false") + end + mods["load_mod_"..mod.name] = nil + end + end + + -- Remove mods that are not present anymore + for key,value in pairs(mods) do + if key:sub(1,9) == "load_mod_" then + worldfile:remove(key) + end + end + + if not worldfile:write() then + engine.log("error", "Failed to write world config file") + end + + modmgr.modlist = nil + modmgr.worldconfig = nil + + return { + is_dialog = false, + show_buttons = true, + current_tab = engine.setting_get("main_menu_tab") + } + end + + if fields["btn_config_world_cancel"] then + + modmgr.worldconfig = nil + + return { + is_dialog = false, + show_buttons = true, + current_tab = engine.setting_get("main_menu_tab") + } + end + + if fields["btn_all_mods"] then + local list = filterlist.get_raw_list(modmgr.modlist) + + for i=1,#list,1 do + if list[i].typ ~= "game_mod" and + not list[i].is_modpack then + list[i].enabled = true + end + end + end + + + + return nil +end +-------------------------------------------------------------------------------- +function modmgr.world_config_enable_mod(toset) + local mod = filterlist.get_list(modmgr.modlist) + [engine.get_textlist_index("world_config_modlist")] + + if mod.typ == "game_mod" then + -- game mods can't be enabled or disabled + elseif not mod.is_modpack then + if toset == nil then + mod.enabled = not mod.enabled + else + mod.enabled = toset + end + else + local list = filterlist.get_raw_list(modmgr.modlist) + for i=1,#list,1 do + if list[i].modpack == mod.name then + if toset == nil then + toset = not list[i].enabled + end + list[i].enabled = toset + end + end + end +end +-------------------------------------------------------------------------------- +function modmgr.handle_delete_mod_buttons(fields) + local mod = filterlist.get_list(modmgr.global_mods)[modmgr.selected_mod] + + if fields["dlg_delete_mod_confirm"] ~= nil then + + if mod.path ~= nil and + mod.path ~= "" and + mod.path ~= engine.get_modpath() then + if not engine.delete_dir(mod.path) then + gamedata.errormessage = fgettext("Modmgr: failed to delete \"$1\"", mod.path) + end + modmgr.refresh_globals() + else + gamedata.errormessage = fgettext("Modmgr: invalid modpath \"$1\"", mod.path) + end + end + + return { + is_dialog = false, + show_buttons = true, + current_tab = engine.setting_get("main_menu_tab") + } +end + +-------------------------------------------------------------------------------- +function modmgr.dialog_delete_mod() + + local mod = filterlist.get_list(modmgr.global_mods)[modmgr.selected_mod] + + local retval = + "field[1.75,1;10,3;;" .. fgettext("Are you sure you want to delete \"$1\"?", mod.name) .. ";]".. + "button[4,4.2;1,0.5;dlg_delete_mod_confirm;" .. fgettext("Yes") .. "]" .. + "button[6.5,4.2;3,0.5;dlg_delete_mod_cancel;" .. fgettext("No of course not!") .. "]" + + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.preparemodlist(data) + local retval = {} + + local global_mods = {} + local game_mods = {} + + --read global mods + local modpath = engine.get_modpath() + + if modpath ~= nil and + modpath ~= "" then + get_mods(modpath,global_mods) + end + + for i=1,#global_mods,1 do + global_mods[i].typ = "global_mod" + table.insert(retval,global_mods[i]) + end + + --read game mods + local gamespec = gamemgr.find_by_gameid(data.gameid) + gamemgr.get_game_mods(gamespec, game_mods) + + for i=1,#game_mods,1 do + game_mods[i].typ = "game_mod" + table.insert(retval,game_mods[i]) + end + + if data.worldpath == nil then + return retval + end + + --read world mod configuration + local filename = data.worldpath .. + DIR_DELIM .. "world.mt" + + local worldfile = Settings(filename) + + for key,value in pairs(worldfile:to_table()) do + if key:sub(1, 9) == "load_mod_" then + key = key:sub(10) + local element = nil + for i=1,#retval,1 do + if retval[i].name == key then + element = retval[i] + break + end + end + if element ~= nil then + element.enabled = engine.is_yes(value) + else + engine.log("info", "Mod: " .. key .. " " .. dump(value) .. " but not found") + end + end + end + + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.init_worldconfig() + modmgr.precheck() + local worldspec = engine.get_worlds()[modmgr.world_config_selected_world] + + if worldspec ~= nil then + --read worldconfig + modmgr.worldconfig = modmgr.get_worldconfig(worldspec.path) + + if modmgr.worldconfig.id == nil or + modmgr.worldconfig.id == "" then + modmgr.worldconfig = nil + return false + end + + modmgr.modlist = filterlist.create( + modmgr.preparemodlist, --refresh + modmgr.comparemod, --compare + function(element,uid) --uid match + if element.name == uid then + return true + end + end, + function(element,criteria) + if criteria.hide_game and + element.typ == "game_mod" then + return false + end + + if criteria.hide_modpackcontents and + element.modpack ~= nil then + return false + end + return true + end, --filter + { worldpath= worldspec.path, + gameid = worldspec.gameid } + ) + + filterlist.set_filtercriteria(modmgr.modlist, { + hide_game=modmgr.hide_gamemods, + hide_modpackcontents= modmgr.hide_modpackcontents + }) + filterlist.add_sort_mechanism(modmgr.modlist, "alphabetic", sort_mod_list) + filterlist.set_sortmode(modmgr.modlist, "alphabetic") + + return true + end + + return false +end + +-------------------------------------------------------------------------------- +function modmgr.comparemod(elem1,elem2) + if elem1 == nil or elem2 == nil then + return false + end + if elem1.name ~= elem2.name then + return false + end + if elem1.is_modpack ~= elem2.is_modpack then + return false + end + if elem1.typ ~= elem2.typ then + return false + end + if elem1.modpack ~= elem2.modpack then + return false + end + + if elem1.path ~= elem2.path then + return false + end + + return true +end + +-------------------------------------------------------------------------------- +function modmgr.gettab(name) + local retval = "" + + if name == "mod_mgr" then + retval = retval .. modmgr.tab() + end + + if name == "dialog_rename_modpack" then + retval = retval .. modmgr.dialog_rename_modpack() + end + + if name == "dialog_delete_mod" then + retval = retval .. modmgr.dialog_delete_mod() + end + + if name == "dialog_configure_world" then + retval = retval .. modmgr.dialog_configure_world() + end + + return retval +end + +-------------------------------------------------------------------------------- +function modmgr.mod_exists(basename) + + if modmgr.global_mods == nil then + modmgr.refresh_globals() + end + + if filterlist.raw_index_by_uid(modmgr.global_mods,basename) > 0 then + return true + end + + return false +end + +-------------------------------------------------------------------------------- +function modmgr.get_global_mod(idx) + + if modmgr.global_mods == nil then + return nil + end + + if idx < 1 or idx > filterlist.size(modmgr.global_mods) then + return nil + end + + return filterlist.get_list(modmgr.global_mods)[idx] +end + +-------------------------------------------------------------------------------- +function modmgr.refresh_globals() + modmgr.global_mods = filterlist.create( + modmgr.preparemodlist, --refresh + modmgr.comparemod, --compare + function(element,uid) --uid match + if element.name == uid then + return true + end + end, + nil, --filter + {} + ) + filterlist.add_sort_mechanism(modmgr.global_mods, "alphabetic", sort_mod_list) + filterlist.set_sortmode(modmgr.global_mods, "alphabetic") +end + +-------------------------------------------------------------------------------- +function modmgr.identify_filetype(name) + + if name:sub(-3):lower() == "zip" then + return { + name = name, + type = "zip" + } + end + + if name:sub(-6):lower() == "tar.gz" or + name:sub(-3):lower() == "tgz"then + return { + name = name, + type = "tgz" + } + end + + if name:sub(-6):lower() == "tar.bz2" then + return { + name = name, + type = "tbz" + } + end + + if name:sub(-2):lower() == "7z" then + return { + name = name, + type = "7z" + } + end + + return { + name = name, + type = "ukn" + } +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/modstore.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/modstore.lua new file mode 100644 index 0000000..b364ce6 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/modstore.lua @@ -0,0 +1,274 @@ +--Minetest +--Copyright (C) 2013 sapier +-- +--This program is free software; you can redistribute it and/or modify +--it under the terms of the GNU Lesser General Public License as published by +--the Free Software Foundation; either version 2.1 of the License, or +--(at your option) any later version. +-- +--This program is distributed in the hope that it will be useful, +--but WITHOUT ANY WARRANTY; without even the implied warranty of +--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--GNU Lesser General Public License for more details. +-- +--You should have received a copy of the GNU Lesser General Public License along +--with this program; if not, write to the Free Software Foundation, Inc., +--51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-------------------------------------------------------------------------------- + +--modstore implementation +modstore = {} + +-------------------------------------------------------------------------------- +function modstore.init() + modstore.tabnames = {} + + table.insert(modstore.tabnames,"dialog_modstore_unsorted") + table.insert(modstore.tabnames,"dialog_modstore_search") + + modstore.modsperpage = 5 + + modstore.basetexturedir = engine.get_texturepath() .. DIR_DELIM .. "base" .. + DIR_DELIM .. "pack" .. DIR_DELIM + + modstore.current_list = nil + + modstore.details_cache = {} +end +-------------------------------------------------------------------------------- +function modstore.nametoindex(name) + + for i=1,#modstore.tabnames,1 do + if modstore.tabnames[i] == name then + return i + end + end + + return 1 +end + +-------------------------------------------------------------------------------- +function modstore.gettab(tabname) + local retval = "" + + local is_modstore_tab = false + + if tabname == "dialog_modstore_unsorted" then + retval = modstore.getmodlist(modstore.modlist_unsorted) + is_modstore_tab = true + end + + if tabname == "dialog_modstore_search" then + + + is_modstore_tab = true + end + + if is_modstore_tab then + return modstore.tabheader(tabname) .. retval + end + + if tabname == "modstore_mod_installed" then + return "size[6,2]label[0.25,0.25;Mod: " .. modstore.lastmodtitle .. + " installed successfully]" .. + "button[2.5,1.5;1,0.5;btn_confirm_mod_successfull;ok]" + end + + return "" +end + +-------------------------------------------------------------------------------- +function modstore.tabheader(tabname) + local retval = "size[12,9.25]" + retval = retval .. "tabheader[-0.3,-0.99;modstore_tab;" .. + "Unsorted,Search;" .. + modstore.nametoindex(tabname) .. ";true;false]" + + return retval +end + +-------------------------------------------------------------------------------- +function modstore.handle_buttons(current_tab,fields) + + modstore.lastmodtitle = "" + + if fields["modstore_tab"] then + local index = tonumber(fields["modstore_tab"]) + + if index > 0 and + index <= #modstore.tabnames then + return { + current_tab = modstore.tabnames[index], + is_dialog = true, + show_buttons = false + } + end + + modstore.modlist_page = 0 + end + + if fields["btn_modstore_page_up"] then + if modstore.current_list ~= nil and modstore.current_list.page > 0 then + modstore.current_list.page = modstore.current_list.page - 1 + end + end + + if fields["btn_modstore_page_down"] then + if modstore.current_list ~= nil and + modstore.current_list.page #list.data) then + endmod = #list.data + end + + for i=(list.page * modstore.modsperpage) +1, endmod, 1 do + --getmoddetails + local details = modstore.get_details(list.data[i].id) + + if details ~= nil then + local screenshot_ypos = (i-1 - (list.page * modstore.modsperpage))*1.9 +0.2 + + retval = retval .. "box[0," .. screenshot_ypos .. ";11.4,1.75;#FFFFFF]" + + --screenshot + if details.screenshot_url ~= nil and + details.screenshot_url ~= "" then + if list.data[i].texturename == nil then + local fullurl = engine.setting_get("modstore_download_url") .. + details.screenshot_url + local filename = os.tempfolder() + + if engine.download_file(fullurl,filename) then + list.data[i].texturename = filename + end + end + end + + if list.data[i].texturename == nil then + list.data[i].texturename = modstore.basetexturedir .. "no_screenshot.png" + end + + retval = retval .. "image[0,".. screenshot_ypos .. ";3,2;" .. + engine.formspec_escape(list.data[i].texturename) .. "]" + + --title + author + retval = retval .."label[2.75," .. screenshot_ypos .. ";" .. + engine.formspec_escape(details.title) .. " (" .. details.author .. ")]" + + --description + local descriptiony = screenshot_ypos + 0.5 + retval = retval .. "textarea[3," .. descriptiony .. ";6.5,1.55;;" .. + engine.formspec_escape(details.description) .. ";]" + --rating + local ratingy = screenshot_ypos + 0.6 + retval = retval .."label[10.1," .. ratingy .. ";" .. + fgettext("Rating") .. ": " .. details.rating .."]" + + --install button + local buttony = screenshot_ypos + 1.2 + local buttonnumber = (i - (list.page * modstore.modsperpage)) + retval = retval .."button[9.6," .. buttony .. ";2,0.5;btn_install_mod_" .. buttonnumber .. ";" + + if modmgr.mod_exists(details.basename) then + retval = retval .. fgettext("re-Install") .."]" + else + retval = retval .. fgettext("Install") .."]" + end + end + end + + modstore.current_list = list + + return retval +end + +-------------------------------------------------------------------------------- +function modstore.get_details(modid) + + if modstore.details_cache[modid] ~= nil then + return modstore.details_cache[modid] + end + + local retval = engine.get_modstore_details(tostring(modid)) + modstore.details_cache[modid] = retval + return retval +end + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/privileges.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/privileges.lua new file mode 100644 index 0000000..8dd06b2 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/privileges.lua @@ -0,0 +1,52 @@ +-- Minetest: builtin/privileges.lua + +-- +-- Privileges +-- + +minetest.registered_privileges = {} + +function minetest.register_privilege(name, param) + local function fill_defaults(def) + if def.give_to_singleplayer == nil then + def.give_to_singleplayer = true + end + if def.description == nil then + def.description = "(no description)" + end + end + local def = {} + if type(param) == "table" then + def = param + else + def = {description = param} + end + fill_defaults(def) + minetest.registered_privileges[name] = def +end + +minetest.register_privilege("interact", "Can interact with things and modify the world") +minetest.register_privilege("teleport", "Can use /teleport command") +minetest.register_privilege("bring", "Can teleport other players") +minetest.register_privilege("settime", "Can use /time") +minetest.register_privilege("privs", "Can modify privileges") +minetest.register_privilege("basic_privs", "Can modify 'shout' and 'interact' privileges") +minetest.register_privilege("server", "Can do server maintenance stuff") +minetest.register_privilege("shout", "Can speak in chat") +minetest.register_privilege("ban", "Can ban and unban players") +minetest.register_privilege("give", "Can use /give and /giveme") +minetest.register_privilege("password", "Can use /setpassword and /clearpassword") +minetest.register_privilege("fly", { + description = "Can fly using the free_move mode", + give_to_singleplayer = false, +}) +minetest.register_privilege("fast", { + description = "Can walk fast using the fast_move mode", + give_to_singleplayer = false, +}) +minetest.register_privilege("noclip", { + description = "Can fly through walls", + give_to_singleplayer = false, +}) +minetest.register_privilege("rollback", "Can use the rollback functionality") + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/serialize.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/serialize.lua new file mode 100644 index 0000000..165cc67 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/serialize.lua @@ -0,0 +1,207 @@ +-- Minetest: builtin/serialize.lua + +-- https://github.com/fab13n/metalua/blob/no-dll/src/lib/serialize.lua +-- Copyright (c) 2006-2997 Fabien Fleutot +-- License: MIT +-------------------------------------------------------------------------------- +-- Serialize an object into a source code string. This string, when passed as +-- an argument to deserialize(), returns an object structurally identical +-- to the original one. The following are currently supported: +-- * strings, numbers, booleans, nil +-- * tables thereof. Tables can have shared part, but can't be recursive yet. +-- Caveat: metatables and environments aren't saved. +-------------------------------------------------------------------------------- + +local no_identity = { number=1, boolean=1, string=1, ['nil']=1 } + +function minetest.serialize(x) + + local gensym_max = 0 -- index of the gensym() symbol generator + local seen_once = { } -- element->true set of elements seen exactly once in the table + local multiple = { } -- element->varname set of elements seen more than once + local nested = { } -- transient, set of elements currently being traversed + local nest_points = { } + local nest_patches = { } + + local function gensym() + gensym_max = gensym_max + 1 ; return gensym_max + end + + ----------------------------------------------------------------------------- + -- nest_points are places where a table appears within itself, directly or not. + -- for instance, all of these chunks create nest points in table x: + -- "x = { }; x[x] = 1", "x = { }; x[1] = x", "x = { }; x[1] = { y = { x } }". + -- To handle those, two tables are created by mark_nest_point: + -- * nest_points [parent] associates all keys and values in table parent which + -- create a nest_point with boolean `true' + -- * nest_patches contain a list of { parent, key, value } tuples creating + -- a nest point. They're all dumped after all the other table operations + -- have been performed. + -- + -- mark_nest_point (p, k, v) fills tables nest_points and nest_patches with + -- informations required to remember that key/value (k,v) create a nest point + -- in table parent. It also marks `parent' as occuring multiple times, since + -- several references to it will be required in order to patch the nest + -- points. + ----------------------------------------------------------------------------- + local function mark_nest_point (parent, k, v) + local nk, nv = nested[k], nested[v] + assert (not nk or seen_once[k] or multiple[k]) + assert (not nv or seen_once[v] or multiple[v]) + local mode = (nk and nv and "kv") or (nk and "k") or ("v") + local parent_np = nest_points [parent] + local pair = { k, v } + if not parent_np then parent_np = { }; nest_points [parent] = parent_np end + parent_np [k], parent_np [v] = nk, nv + table.insert (nest_patches, { parent, k, v }) + seen_once [parent], multiple [parent] = nil, true + end + + ----------------------------------------------------------------------------- + -- First pass, list the tables and functions which appear more than once in x + ----------------------------------------------------------------------------- + local function mark_multiple_occurences (x) + if no_identity [type(x)] then return end + if seen_once [x] then seen_once [x], multiple [x] = nil, true + elseif multiple [x] then -- pass + else seen_once [x] = true end + + if type (x) == 'table' then + nested [x] = true + for k, v in pairs (x) do + if nested[k] or nested[v] then mark_nest_point (x, k, v) else + mark_multiple_occurences (k) + mark_multiple_occurences (v) + end + end + nested [x] = nil + end + end + + local dumped = { } -- multiply occuring values already dumped in localdefs + local localdefs = { } -- already dumped local definitions as source code lines + + -- mutually recursive functions: + local dump_val, dump_or_ref_val + + -------------------------------------------------------------------- + -- if x occurs multiple times, dump the local var rather than the + -- value. If it's the first time it's dumped, also dump the content + -- in localdefs. + -------------------------------------------------------------------- + function dump_or_ref_val (x) + if nested[x] then return 'false' end -- placeholder for recursive reference + if not multiple[x] then return dump_val (x) end + local var = dumped [x] + if var then return "_[" .. var .. "]" end -- already referenced + local val = dump_val(x) -- first occurence, create and register reference + var = gensym() + table.insert(localdefs, "_["..var.."]="..val) + dumped [x] = var + return "_[" .. var .. "]" + end + + ----------------------------------------------------------------------------- + -- Second pass, dump the object; subparts occuring multiple times are dumped + -- in local variables which can be referenced multiple times; + -- care is taken to dump locla vars in asensible order. + ----------------------------------------------------------------------------- + function dump_val(x) + local t = type(x) + if x==nil then return 'nil' + elseif t=="number" then return tostring(x) + elseif t=="string" then return string.format("%q", x) + elseif t=="boolean" then return x and "true" or "false" + elseif t=="table" then + local acc = { } + local idx_dumped = { } + local np = nest_points [x] + for i, v in ipairs(x) do + if np and np[v] then + table.insert (acc, 'false') -- placeholder + else + table.insert (acc, dump_or_ref_val(v)) + end + idx_dumped[i] = true + end + for k, v in pairs(x) do + if np and (np[k] or np[v]) then + --check_multiple(k); check_multiple(v) -- force dumps in localdefs + elseif not idx_dumped[k] then + table.insert (acc, "[" .. dump_or_ref_val(k) .. "] = " .. dump_or_ref_val(v)) + end + end + return "{ "..table.concat(acc,", ").." }" + else + error ("Can't serialize data of type "..t) + end + end + + local function dump_nest_patches() + for _, entry in ipairs(nest_patches) do + local p, k, v = unpack (entry) + assert (multiple[p]) + local set = dump_or_ref_val (p) .. "[" .. dump_or_ref_val (k) .. "] = " .. + dump_or_ref_val (v) .. " -- rec " + table.insert (localdefs, set) + end + end + + mark_multiple_occurences (x) + local toplevel = dump_or_ref_val (x) + dump_nest_patches() + + if next (localdefs) then + return "local _={ }\n" .. + table.concat (localdefs, "\n") .. + "\nreturn " .. toplevel + else + return "return " .. toplevel + end +end + +-- Deserialization. +-- http://stackoverflow.com/questions/5958818/loading-serialized-data-into-a-table +-- + +local function stringtotable(sdata) + if sdata:byte(1) == 27 then return nil, "binary bytecode prohibited" end + local f, message = assert(loadstring(sdata)) + if not f then return nil, message end + setfenv(f, table) + return f() +end + +function minetest.deserialize(sdata) + local table = {} + local okay,results = pcall(stringtotable, sdata) + if okay then + return results + end + minetest.log('error', 'minetest.deserialize(): '.. results) + return nil +end + +-- Run some unit tests +local function unit_test() + function unitTest(name, success) + if not success then + error(name .. ': failed') + end + end + + unittest_input = {cat={sound="nyan", speed=400}, dog={sound="woof"}} + unittest_output = minetest.deserialize(minetest.serialize(unittest_input)) + + unitTest("test 1a", unittest_input.cat.sound == unittest_output.cat.sound) + unitTest("test 1b", unittest_input.cat.speed == unittest_output.cat.speed) + unitTest("test 1c", unittest_input.dog.sound == unittest_output.dog.sound) + + unittest_input = {escapechars="\n\r\t\v\\\"\'", noneuropean="θשׁ٩∂"} + unittest_output = minetest.deserialize(minetest.serialize(unittest_input)) + unitTest("test 3a", unittest_input.escapechars == unittest_output.escapechars) + unitTest("test 3b", unittest_input.noneuropean == unittest_output.noneuropean) +end +unit_test() -- Run it +unit_test = nil -- Hide it + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/static_spawn.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/static_spawn.lua new file mode 100644 index 0000000..e8c107d --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/static_spawn.lua @@ -0,0 +1,33 @@ +-- Minetest: builtin/static_spawn.lua + +local function warn_invalid_static_spawnpoint() + if minetest.setting_get("static_spawnpoint") and + not minetest.setting_get_pos("static_spawnpoint") then + minetest.log('error', "The static_spawnpoint setting is invalid: \"".. + minetest.setting_get("static_spawnpoint").."\"") + end +end + +warn_invalid_static_spawnpoint() + +local function put_player_in_spawn(obj) + warn_invalid_static_spawnpoint() + local static_spawnpoint = minetest.setting_get_pos("static_spawnpoint") + if not static_spawnpoint then + return false + end + minetest.log('action', "Moving "..obj:get_player_name().. + " to static spawnpoint at ".. + minetest.pos_to_string(static_spawnpoint)) + obj:setpos(static_spawnpoint) + return true +end + +minetest.register_on_newplayer(function(obj) + put_player_in_spawn(obj) +end) + +minetest.register_on_respawnplayer(function(obj) + return put_player_in_spawn(obj) +end) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/vector.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/vector.lua new file mode 100644 index 0000000..77944b6 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/vector.lua @@ -0,0 +1,146 @@ + +vector = {} + +local function assert_vector(v) + assert(type(v) == "table" and v.x and v.y and v.z, "Invalid vector") +end + +function vector.new(a, b, c) + if type(a) == "table" then + assert(a.x and a.y and a.z, "Invalid vector passed to vector.new()") + return {x=a.x, y=a.y, z=a.z} + elseif a then + assert(b and c, "Invalid arguments for vector.new()") + return {x=a, y=b, z=c} + end + return {x=0, y=0, z=0} +end + +function vector.equals(a, b) + assert_vector(a) + assert_vector(b) + return a.x == b.x and + a.y == b.y and + a.z == b.z +end + +function vector.length(v) + assert_vector(v) + return math.hypot(v.x, math.hypot(v.y, v.z)) +end + +function vector.normalize(v) + assert_vector(v) + local len = vector.length(v) + if len == 0 then + return {x=0, y=0, z=0} + else + return vector.divide(v, len) + end +end + +function vector.round(v) + assert_vector(v) + return { + x = math.floor(v.x + 0.5), + y = math.floor(v.y + 0.5), + z = math.floor(v.z + 0.5) + } +end + +function vector.distance(a, b) + assert_vector(a) + assert_vector(b) + local x = a.x - b.x + local y = a.y - b.y + local z = a.z - b.z + return math.hypot(x, math.hypot(y, z)) +end + +function vector.direction(pos1, pos2) + assert_vector(pos1) + assert_vector(pos2) + local x_raw = pos2.x - pos1.x + local y_raw = pos2.y - pos1.y + local z_raw = pos2.z - pos1.z + local x_abs = math.abs(x_raw) + local y_abs = math.abs(y_raw) + local z_abs = math.abs(z_raw) + if x_abs >= y_abs and + x_abs >= z_abs then + y_raw = y_raw * (1 / x_abs) + z_raw = z_raw * (1 / x_abs) + x_raw = x_raw / x_abs + end + if y_abs >= x_abs and + y_abs >= z_abs then + x_raw = x_raw * (1 / y_abs) + z_raw = z_raw * (1 / y_abs) + y_raw = y_raw / y_abs + end + if z_abs >= y_abs and + z_abs >= x_abs then + x_raw = x_raw * (1 / z_abs) + y_raw = y_raw * (1 / z_abs) + z_raw = z_raw / z_abs + end + return {x=x_raw, y=y_raw, z=z_raw} +end + + +function vector.add(a, b) + assert_vector(a) + if type(b) == "table" then + assert_vector(b) + return {x = a.x + b.x, + y = a.y + b.y, + z = a.z + b.z} + else + return {x = a.x + b, + y = a.y + b, + z = a.z + b} + end +end + +function vector.subtract(a, b) + assert_vector(a) + if type(b) == "table" then + assert_vector(b) + return {x = a.x - b.x, + y = a.y - b.y, + z = a.z - b.z} + else + return {x = a.x - b, + y = a.y - b, + z = a.z - b} + end +end + +function vector.multiply(a, b) + assert_vector(a) + if type(b) == "table" then + assert_vector(b) + return {x = a.x * b.x, + y = a.y * b.y, + z = a.z * b.z} + else + return {x = a.x * b, + y = a.y * b, + z = a.z * b} + end +end + +function vector.divide(a, b) + assert_vector(a) + if type(b) == "table" then + assert_vector(b) + return {x = a.x / b.x, + y = a.y / b.y, + z = a.z / b.z} + else + return {x = a.x / b, + y = a.y / b, + z = a.z / b} + end +end + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/voxelarea.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/voxelarea.lua new file mode 100644 index 0000000..93bbf73 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/builtin/voxelarea.lua @@ -0,0 +1,103 @@ +VoxelArea = { + MinEdge = {x=1, y=1, z=1}, + MaxEdge = {x=0, y=0, z=0}, + ystride = 0, + zstride = 0, +} + +function VoxelArea:new(o) + o = o or {} + setmetatable(o, self) + self.__index = self + + local e = o:getExtent() + o.ystride = e.x + o.zstride = e.x * e.y + + return o +end + +function VoxelArea:getExtent() + return { + x = self.MaxEdge.x - self.MinEdge.x + 1, + y = self.MaxEdge.y - self.MinEdge.y + 1, + z = self.MaxEdge.z - self.MinEdge.z + 1, + } +end + +function VoxelArea:getVolume() + local e = self:getExtent() + return e.x * e.y * e.z +end + +function VoxelArea:index(x, y, z) + local i = (z - self.MinEdge.z) * self.zstride + + (y - self.MinEdge.y) * self.ystride + + (x - self.MinEdge.x) + 1 + return math.floor(i) +end + +function VoxelArea:indexp(p) + local i = (p.z - self.MinEdge.z) * self.zstride + + (p.y - self.MinEdge.y) * self.ystride + + (p.x - self.MinEdge.x) + 1 + return math.floor(i) +end + +function VoxelArea:position(i) + local p = {} + + i = i - 1 + + p.z = math.floor(i / self.zstride) + self.MinEdge.z + i = i % self.zstride + + p.y = math.floor(i / self.ystride) + self.MinEdge.y + i = i % self.ystride + + p.x = math.floor(i) + self.MinEdge.x + + return p +end + +function VoxelArea:contains(x, y, z) + return (x >= self.MinEdge.x) and (x <= self.MaxEdge.x) and + (y >= self.MinEdge.y) and (y <= self.MaxEdge.y) and + (z >= self.MinEdge.z) and (z <= self.MaxEdge.z) +end + +function VoxelArea:containsp(p) + return (p.x >= self.MinEdge.x) and (p.x <= self.MaxEdge.x) and + (p.y >= self.MinEdge.y) and (p.y <= self.MaxEdge.y) and + (p.z >= self.MinEdge.z) and (p.z <= self.MaxEdge.z) +end + +function VoxelArea:containsi(i) + return (i >= 1) and (i <= self:getVolume()) +end + +function VoxelArea:iter(minx, miny, minz, maxx, maxy, maxz) + local i = self:index(minx, miny, minz) - 1 + local last = self:index(maxx, maxy, maxz) + local ystride = self.ystride + local zstride = self.zstride + local yoff = (last+1) % ystride + local zoff = (last+1) % zstride + local ystridediff = (i - last) % ystride + local zstridediff = (i - last) % zstride + return function() + i = i + 1 + if i % zstride == zoff then + i = i + zstridediff + elseif i % ystride == yoff then + i = i + ystridediff + end + if i <= last then + return i + end + end +end + +function VoxelArea:iterp(minp, maxp) + return self:iter(minp.x, minp.y, minp.z, maxp.x, maxp.y, maxp.z) +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/README.txt new file mode 100644 index 0000000..8da87be --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/README.txt @@ -0,0 +1,53 @@ +The main game for the Minetest game engine [minetest_game] +========================================================== + +To build the wholeness of the Minetest project, insert this repository as + /games/minetest_game +in the Minetest Engine. + +The Minetest Engine can be found in: + https://github.com/minetest/minetest/ + +Compatibility +-------------- +The minetest_game github master HEAD is generally compatible with the github +master HEAD of minetest. + +Additionally, when the minetest engine is tagged to be a certain version (eg. +0.4.dev-20120326), minetest_game is tagged with the version too. + +When stable releases are made, minetest_game is packaged and made available in + http://minetest.net/download.php +and in case the repository has grown too much, it may be reset. In that sense, +this is not a "real" git repository. (Package maintainers please note!) + +License of source code +---------------------- +Copyright (C) 2010-2012 celeron55, Perttu Ahola +See README.txt in each mod directory for information about other authors. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +License of media (textures and sounds) +-------------------------------------- +Copyright (C) 2010-2012 celeron55, Perttu Ahola +See README.txt in each mod directory for information about other authors. + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +License of menu/header.png +Copyright (C) 2013 BlockMen CC BY-3.0 + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/game.conf b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/game.conf new file mode 100644 index 0000000..8b819bb --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/game.conf @@ -0,0 +1 @@ +name = Minetest diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/menu/header.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/menu/header.png new file mode 100644 index 0000000..c22192d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/menu/header.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/menu/icon.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/menu/icon.png new file mode 100644 index 0000000..2671118 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/menu/icon.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/README.txt new file mode 100644 index 0000000..b0ebed8 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/README.txt @@ -0,0 +1,17 @@ +Minetest 0.4 mod: bones +======================= + +License of source code: +----------------------- +Copyright (C) 2012 PilzAdam + +WTFPL + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +---------------------- +Bad_Command_ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/init.lua new file mode 100644 index 0000000..72849c4 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/init.lua @@ -0,0 +1,131 @@ +-- Minetest 0.4 mod: bones +-- See README.txt for licensing and other information. + +local function is_owner(pos, name) + local owner = minetest.get_meta(pos):get_string("owner") + if owner == "" or owner == name then + return true + end + return false +end + +minetest.register_node("bones:bones", { + description = "Bones", + tiles = { + "bones_top.png", + "bones_bottom.png", + "bones_side.png", + "bones_side.png", + "bones_rear.png", + "bones_front.png" + }, + paramtype2 = "facedir", + groups = {dig_immediate=2}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_gravel_footstep", gain=0.5}, + dug = {name="default_gravel_footstep", gain=1.0}, + }), + + can_dig = function(pos, player) + local inv = minetest.get_meta(pos):get_inventory() + return is_owner(pos, player:get_player_name()) and inv:is_empty("main") + end, + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + if is_owner(pos, player:get_player_name()) then + return count + end + return 0 + end, + + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + return 0 + end, + + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if is_owner(pos, player:get_player_name()) then + return stack:get_count() + end + return 0 + end, + + on_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if meta:get_string("owner") ~= "" and meta:get_inventory():is_empty("main") then + meta:set_string("infotext", meta:get_string("owner").."'s old bones") + meta:set_string("formspec", "") + meta:set_string("owner", "") + end + end, + + on_timer = function(pos, elapsed) + local meta = minetest.get_meta(pos) + local time = meta:get_int("time")+elapsed + local publish = 1200 + if tonumber(minetest.setting_get("share_bones_time")) then + publish = tonumber(minetest.setting_get("share_bones_time")) + end + if publish == 0 then + return + end + if time >= publish then + meta:set_string("infotext", meta:get_string("owner").."'s old bones") + meta:set_string("owner", "") + else + return true + end + end, +}) + +minetest.register_on_dieplayer(function(player) + if minetest.setting_getbool("creative_mode") then + return + end + + local pos = player:getpos() + pos.x = math.floor(pos.x+0.5) + pos.y = math.floor(pos.y+0.5) + pos.z = math.floor(pos.z+0.5) + local param2 = minetest.dir_to_facedir(player:get_look_dir()) + + local nn = minetest.get_node(pos).name + if minetest.registered_nodes[nn].can_dig and + not minetest.registered_nodes[nn].can_dig(pos, player) then + local player_inv = player:get_inventory() + + for i=1,player_inv:get_size("main") do + player_inv:set_stack("main", i, nil) + end + for i=1,player_inv:get_size("craft") do + player_inv:set_stack("craft", i, nil) + end + return + end + + minetest.dig_node(pos) + minetest.add_node(pos, {name="bones:bones", param2=param2}) + + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local player_inv = player:get_inventory() + inv:set_size("main", 8*4) + + local empty_list = inv:get_list("main") + inv:set_list("main", player_inv:get_list("main")) + player_inv:set_list("main", empty_list) + + for i=1,player_inv:get_size("craft") do + inv:add_item("main", player_inv:get_stack("craft", i)) + player_inv:set_stack("craft", i, nil) + end + + meta:set_string("formspec", "size[8,9;]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", player:get_player_name().."'s fresh bones") + meta:set_string("owner", player:get_player_name()) + meta:set_int("time", 0) + + local timer = minetest.get_node_timer(pos) + timer:start(10) +end) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_bottom.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_bottom.png new file mode 100644 index 0000000..899ae3b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_bottom.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_front.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_front.png new file mode 100644 index 0000000..3261290 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_front.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_rear.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_rear.png new file mode 100644 index 0000000..bf66d5f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_rear.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_side.png new file mode 100644 index 0000000..88fdfdd Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_top.png new file mode 100644 index 0000000..08b156d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bones/textures/bones_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/README.txt new file mode 100644 index 0000000..7dad641 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/README.txt @@ -0,0 +1,26 @@ +Minetest 0.4 mod: bucket +========================= + +License of source code: +----------------------- +Copyright (C) 2011-2012 Kahrl +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/init.lua new file mode 100644 index 0000000..c3f20b3 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/init.lua @@ -0,0 +1,144 @@ +-- Minetest 0.4 mod: bucket +-- See README.txt for licensing and other information. + +local LIQUID_MAX = 8 --The number of water levels when liquid_finite is enabled + +minetest.register_alias("bucket", "bucket:bucket_empty") +minetest.register_alias("bucket_water", "bucket:bucket_water") +minetest.register_alias("bucket_lava", "bucket:bucket_lava") + +minetest.register_craft({ + output = 'bucket:bucket_empty 1', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'', 'default:steel_ingot', ''}, + } +}) + +bucket = {} +bucket.liquids = {} + +-- Register a new liquid +-- source = name of the source node +-- flowing = name of the flowing node +-- itemname = name of the new bucket item (or nil if liquid is not takeable) +-- inventory_image = texture of the new bucket item (ignored if itemname == nil) +-- This function can be called from any mod (that depends on bucket). +function bucket.register_liquid(source, flowing, itemname, inventory_image, name) + bucket.liquids[source] = { + source = source, + flowing = flowing, + itemname = itemname, + } + bucket.liquids[flowing] = bucket.liquids[source] + + if itemname ~= nil then + minetest.register_craftitem(itemname, { + description = name, + inventory_image = inventory_image, + stack_max = 1, + liquids_pointable = true, + groups = {not_in_creative_inventory=1}, + on_place = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + + -- Call on_rightclick if the pointed node defines it + if user and not user:get_player_control().sneak then + local n = minetest.get_node(pointed_thing.under) + local nn = n.name + if minetest.registered_nodes[nn] and minetest.registered_nodes[nn].on_rightclick then + return minetest.registered_nodes[nn].on_rightclick(pointed_thing.under, n, user, itemstack) or itemstack + end + end + + local place_liquid = function(pos, node, source, flowing, fullness) + if math.floor(fullness/128) == 1 or (not minetest.setting_getbool("liquid_finite")) then + minetest.add_node(pos, {name=source, param2=fullness}) + return + elseif node.name == flowing then + fullness = fullness + node.param2 + elseif node.name == source then + fullness = LIQUID_MAX + end + + if fullness >= LIQUID_MAX then + minetest.add_node(pos, {name=source, param2=LIQUID_MAX}) + else + minetest.add_node(pos, {name=flowing, param2=fullness}) + end + end + + -- Check if pointing to a buildable node + local node = minetest.get_node(pointed_thing.under) + local fullness = tonumber(itemstack:get_metadata()) + if not fullness then fullness = LIQUID_MAX end + + if minetest.registered_nodes[node.name].buildable_to then + -- buildable; replace the node + place_liquid(pointed_thing.under, node, source, flowing, fullness) + else + -- not buildable to; place the liquid above + -- check if the node above can be replaced + local node = minetest.get_node(pointed_thing.above) + if minetest.registered_nodes[node.name].buildable_to then + place_liquid(pointed_thing.above, node, source, flowing, fullness) + else + -- do not remove the bucket with the liquid + return + end + end + return {name="bucket:bucket_empty"} + end + }) + end +end + +minetest.register_craftitem("bucket:bucket_empty", { + description = "Empty Bucket", + inventory_image = "bucket.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid source + node = minetest.get_node(pointed_thing.under) + liquiddef = bucket.liquids[node.name] + if liquiddef ~= nil and liquiddef.itemname ~= nil and (node.name == liquiddef.source or + (node.name == liquiddef.flowing and minetest.setting_getbool("liquid_finite"))) then + + minetest.add_node(pointed_thing.under, {name="air"}) + + if node.name == liquiddef.source then node.param2 = LIQUID_MAX end + return ItemStack({name = liquiddef.itemname, metadata = tostring(node.param2)}) + end + end, +}) + +bucket.register_liquid( + "default:water_source", + "default:water_flowing", + "bucket:bucket_water", + "bucket_water.png", + "Water Bucket" +) + +bucket.register_liquid( + "default:lava_source", + "default:lava_flowing", + "bucket:bucket_lava", + "bucket_lava.png", + "Lava Bucket" +) + +minetest.register_craft({ + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 60, + replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket.png new file mode 100644 index 0000000..7c7441c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket_lava.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket_lava.png new file mode 100644 index 0000000..7dbf61a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket_lava.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket_water.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket_water.png new file mode 100644 index 0000000..0039df4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/bucket/textures/bucket_water.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/README.txt new file mode 100644 index 0000000..7d49b98 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/README.txt @@ -0,0 +1,22 @@ +Minetest 0.4 mod: creative +========================== + +Implements creative mode. + +Switch on by using the "creative_mode" setting. + +Registered items that +- have a description, and +- do not have the group not_in_creative_inventory +are added to the creative inventory. + +License of source code and media files: +--------------------------------------- +Copyright (C) 2012 Perttu Ahola (celeron55) + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/init.lua new file mode 100644 index 0000000..fa26348 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/creative/init.lua @@ -0,0 +1,165 @@ +-- minetest/creative/init.lua + +creative_inventory = {} +creative_inventory.creative_inventory_size = 0 + +-- Create detached creative inventory after loading all mods +minetest.after(0, function() + local inv = minetest.create_detached_inventory("creative", { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + if minetest.setting_getbool("creative_mode") then + return count + else + return 0 + end + end, + allow_put = function(inv, listname, index, stack, player) + return 0 + end, + allow_take = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return -1 + else + return 0 + end + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + end, + on_put = function(inv, listname, index, stack, player) + end, + on_take = function(inv, listname, index, stack, player) + --print(player:get_player_name().." takes item from creative inventory; listname="..dump(listname)..", index="..dump(index)..", stack="..dump(stack)) + if stack then + minetest.log("action", player:get_player_name().." takes "..dump(stack:get_name()).." from creative inventory") + --print("stack:get_name()="..dump(stack:get_name())..", stack:get_count()="..dump(stack:get_count())) + end + end, + }) + local creative_list = {} + for name,def in pairs(minetest.registered_items) do + if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) + and def.description and def.description ~= "" then + table.insert(creative_list, name) + end + end + table.sort(creative_list) + inv:set_size("main", #creative_list) + for _,itemstring in ipairs(creative_list) do + inv:add_item("main", ItemStack(itemstring)) + end + creative_inventory.creative_inventory_size = #creative_list + --print("creative inventory size: "..dump(creative_inventory.creative_inventory_size)) +end) + +-- Create the trash field +local trash = minetest.create_detached_inventory("creative_trash", { + -- Allow the stack to be placed and remove it in on_put() + -- This allows the creative inventory to restore the stack + allow_put = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return stack:get_count() + else + return 0 + end + end, + on_put = function(inv, listname, index, stack, player) + inv:set_stack(listname, index, "") + end, +}) +trash:set_size("main", 1) + + +creative_inventory.set_creative_formspec = function(player, start_i, pagenum) + pagenum = math.floor(pagenum) + local pagemax = math.floor((creative_inventory.creative_inventory_size-1) / (6*4) + 1) + player:set_inventory_formspec("size[13,7.5]".. + --"image[6,0.6;1,2;player.png]".. + "list[current_player;main;5,3.5;8,4;]".. + "list[current_player;craft;8,0;3,3;]".. + "list[current_player;craftpreview;12,1;1,1;]".. + "list[detached:creative;main;0.3,0.5;4,6;"..tostring(start_i).."]".. + "label[2.0,6.55;"..tostring(pagenum).."/"..tostring(pagemax).."]".. + "button[0.3,6.5;1.6,1;creative_prev;<<]".. + "button[2.7,6.5;1.6,1;creative_next;>>]".. + "label[5,1.5;Trash:]".. + "list[detached:creative_trash;main;5,2;1,1;]") +end +minetest.register_on_joinplayer(function(player) + -- If in creative mode, modify player's inventory forms + if not minetest.setting_getbool("creative_mode") then + return + end + creative_inventory.set_creative_formspec(player, 0, 1) +end) +minetest.register_on_player_receive_fields(function(player, formname, fields) + if not minetest.setting_getbool("creative_mode") then + return + end + -- Figure out current page from formspec + local current_page = 0 + local formspec = player:get_inventory_formspec() + local start_i = string.match(formspec, "list%[detached:creative;main;[%d.]+,[%d.]+;[%d.]+,[%d.]+;(%d+)%]") + start_i = tonumber(start_i) or 0 + + if fields.creative_prev then + start_i = start_i - 4*6 + end + if fields.creative_next then + start_i = start_i + 4*6 + end + + if start_i < 0 then + start_i = start_i + 4*6 + end + if start_i >= creative_inventory.creative_inventory_size then + start_i = start_i - 4*6 + end + + if start_i < 0 or start_i >= creative_inventory.creative_inventory_size then + start_i = 0 + end + + creative_inventory.set_creative_formspec(player, start_i, start_i / (6*4) + 1) +end) + +if minetest.setting_getbool("creative_mode") then + local digtime = 0.5 + minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x=1,y=1,z=2.5}, + range = 10, + tool_capabilities = { + full_punch_interval = 0.5, + max_drop_level = 3, + groupcaps = { + crumbly = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, + cracky = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, + snappy = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, + choppy = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, + oddly_breakable_by_hand = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, + }, + damage_groups = {fleshy = 10}, + } + }) + + minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) + return true + end) + + function minetest.handle_node_drops(pos, drops, digger) + if not digger or not digger:is_player() then + return + end + local inv = digger:get_inventory() + if inv then + for _,item in ipairs(drops) do + item = ItemStack(item):get_name() + if not inv:contains_item("main", item) then + inv:add_item("main", item) + end + end + end + end + +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/README.txt new file mode 100644 index 0000000..496bc58 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/README.txt @@ -0,0 +1,181 @@ +Minetest 0.4 mod: default +========================== + +License of source code: +----------------------- +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + +Cisoun's WTFPL texture pack: + default_chest_front.png + default_chest_lock.png + default_chest_side.png + default_chest_top.png + default_stone_brick.png + default_dirt.png + default_grass.png + default_grass_side.png + default_jungletree.png + default_jungletree_top.png + default_lava.png + default_leaves.png + default_sapling.png + default_sign_wall.png + default_stone.png + default_tool_mesepick.png + default_tool_steelpick.png + default_tool_steelshovel.png + default_tool_stonepick.png + default_tool_stoneshovel.png + default_tool_woodpick.png + default_tool_woodshovel.png + default_tree.png + default_tree_top.png + default_water.png + +Originating from G4JC's Almost MC Texture Pack: + default_wood.png + default_torch.png + default_torch_on_ceiling.png + default_torch_on_floor.png + default_cobble.png + +VanessaE's animated torches (WTFPL): + default_torch_animated.png + default_torch_on_ceiling_animated.png + default_torch_on_floor_animated.png + default_torch_on_floor.png + +RealBadAngel's animated water (WTFPL): + default_water_source_animated.png + default_water_flowing_animated.png + +VanessaE (WTFPL): + default_nc_back.png + default_nc_front.png + default_nc_rb.png + default_nc_side.png + default_grass_*.png + default_desert_sand.png + default_desert_stone.png + default_desert_stone_brick.png + default_sand.png + default_sandstone_brick.png + +Calinou (CC BY-SA): + default_brick.png + default_clay_brick.png + default_papyrus.png + default_tool_steelsword.png + default_bronze_ingot.png + default_copper_ingot.png + default_copper_lump.png + default_mineral_copper.png + +MirceaKitsune (WTFPL): + character.x + +Jordach (CC BY-SA 3.0): + character.png + +PilzAdam (WTFPL): + default_jungleleaves.png + default_junglesapling.png + default_junglewood.png + default_obsidian_glass.png + default_obsidian_shard.png + default_mossycobble.png + default_gold_ingot.png + default_gold_lump.png + default_mineral_gold.png + default_diamond.png + default_tool_diamondpick.png + default_tool_diamondsword.png + default_tool_diamondshovel.png + default_tool_diamondaxe.png + default_tool_meseaxe.png + default_tool_meseshovel.png + default_tool_mesesword.png + default_tool_bronzeaxe.png + default_tool_bronzepick.png + default_tool_bronzeshovel.png + default_tool_bronzesword.png + default_snowball.png + +jojoa1997 (WTFPL): + default_obsidian.png + +InfinityProject (WTFPL): + default_mineral_diamond.png + +Splizard (CC BY-SA 3.0): + default_snow.png + default_snow_side.png + default_ice.png + +Zeg9 (CC BY-SA 3.0): + default_coal_block.png + default_steel_block.png + default_copper_block.png + default_bronze_block.png + default_gold_block.png + default_diamond_block.png + +kaeza (WTFPL): + bubble.png + +Glass breaking sounds (CC BY 3.0): + 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ + 2: http://www.freesound.org/people/Tomlija/sounds/97669/ + 3: http://www.freesound.org/people/lsprice/sounds/88808/ + +Mito551 (sounds) (CC BY-SA): + default_dig_choppy.ogg + default_dig_cracky.ogg + default_dig_crumbly.1.ogg + default_dig_crumbly.2.ogg + default_dig_dig_immediate.ogg + default_dig_oddly_breakable_by_hand.ogg + default_dug_node.1.ogg + default_dug_node.2.ogg + default_grass_footstep.1.ogg + default_grass_footstep.2.ogg + default_grass_footstep.3.ogg + default_gravel_footstep.1.ogg + default_gravel_footstep.2.ogg + default_gravel_footstep.3.ogg + default_gravel_footstep.4.ogg + default_grass_footstep.1.ogg + default_place_node.1.ogg + default_place_node.2.ogg + default_place_node.3.ogg + default_place_node_hard.1.ogg + default_place_node_hard.2.ogg + default_snow_footstep.1.ogg + default_snow_footstep.2.ogg + default_hard_footstep.1.ogg + default_hard_footstep.2.ogg + default_hard_footstep.3.ogg + default_sand_footstep.1.ogg + default_sand_footstep.2.ogg + default_wood_footstep.1.ogg + default_wood_footstep.2.ogg + default_dirt_footstep.1.ogg + default_dirt_footstep.2.ogg + default_glass_footstep.ogg diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/crafting.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/crafting.lua new file mode 100644 index 0000000..c4f353a --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/crafting.lua @@ -0,0 +1,742 @@ +-- mods/default/crafting.lua + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'default:tree'}, + } +}) + +minetest.register_craft({ + output = 'default:junglewood 4', + recipe = { + {'default:jungletree'}, + } +}) + +minetest.register_craft({ + output = 'default:stick 4', + recipe = { + {'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:fence_wood 2', + recipe = { + {'group:stick', 'group:stick', 'group:stick'}, + {'group:stick', 'group:stick', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:torch 4', + recipe = { + {'default:coal_lump'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:pick_wood', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_stone', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_bronze', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_diamond', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_wood', + recipe = { + {'group:wood'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_stone', + recipe = { + {'group:stone'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_steel', + recipe = { + {'default:steel_ingot'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_bronze', + recipe = { + {'default:bronze_ingot'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_mese', + recipe = { + {'default:mese_crystal'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_diamond', + recipe = { + {'default:diamond'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_wood', + recipe = { + {'group:wood', 'group:wood'}, + {'group:wood', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_stone', + recipe = { + {'group:stone', 'group:stone'}, + {'group:stone', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_bronze', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_diamond', + recipe = { + {'default:diamond', 'default:diamond'}, + {'default:diamond', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_wood', + recipe = { + {'group:wood'}, + {'group:wood'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_stone', + recipe = { + {'group:stone'}, + {'group:stone'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_steel', + recipe = { + {'default:steel_ingot'}, + {'default:steel_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_bronze', + recipe = { + {'default:bronze_ingot'}, + {'default:bronze_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_mese', + recipe = { + {'default:mese_crystal'}, + {'default:mese_crystal'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_diamond', + recipe = { + {'default:diamond'}, + {'default:diamond'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:rail 15', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'default:steel_ingot', 'group:stick', 'default:steel_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:chest', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', '', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:chest_locked', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'default:steel_ingot', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:furnace', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'group:stone', '', 'group:stone'}, + {'group:stone', 'group:stone', 'group:stone'}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:bronze_ingot", + recipe = {"default:steel_ingot", "default:copper_ingot"}, +}) + +minetest.register_craft({ + output = 'default:coalblock', + recipe = { + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:coal_lump 9', + recipe = { + {'default:coalblock'}, + } +}) + +minetest.register_craft({ + output = 'default:steelblock', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:steel_ingot 9', + recipe = { + {'default:steelblock'}, + } +}) + +minetest.register_craft({ + output = 'default:copperblock', + recipe = { + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:copper_ingot 9', + recipe = { + {'default:copperblock'}, + } +}) + +minetest.register_craft({ + output = 'default:bronzeblock', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:bronze_ingot 9', + recipe = { + {'default:bronzeblock'}, + } +}) + +minetest.register_craft({ + output = 'default:goldblock', + recipe = { + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:gold_ingot 9', + recipe = { + {'default:goldblock'}, + } +}) + +minetest.register_craft({ + output = 'default:diamondblock', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + } +}) + +minetest.register_craft({ + output = 'default:diamond 9', + recipe = { + {'default:diamondblock'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstone', + recipe = { + {'group:sand', 'group:sand'}, + {'group:sand', 'group:sand'}, + } +}) + +minetest.register_craft({ + output = 'default:sand 4', + recipe = { + {'default:sandstone'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstonebrick', + recipe = { + {'default:sandstone', 'default:sandstone'}, + {'default:sandstone', 'default:sandstone'}, + } +}) + +minetest.register_craft({ + output = 'default:clay', + recipe = { + {'default:clay_lump', 'default:clay_lump'}, + {'default:clay_lump', 'default:clay_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:brick', + recipe = { + {'default:clay_brick', 'default:clay_brick'}, + {'default:clay_brick', 'default:clay_brick'}, + } +}) + +minetest.register_craft({ + output = 'default:clay_brick 4', + recipe = { + {'default:brick'}, + } +}) + +minetest.register_craft({ + output = 'default:paper', + recipe = { + {'default:papyrus', 'default:papyrus', 'default:papyrus'}, + } +}) + +minetest.register_craft({ + output = 'default:book', + recipe = { + {'default:paper'}, + {'default:paper'}, + {'default:paper'}, + } +}) + +minetest.register_craft({ + output = 'default:bookshelf', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'default:book', 'default:book', 'default:book'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:ladder', + recipe = { + {'group:stick', '', 'group:stick'}, + {'group:stick', 'group:stick', 'group:stick'}, + {'group:stick', '', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = 'default:mese_crystal 9', + recipe = { + {'default:mese'}, + } +}) + +minetest.register_craft({ + output = 'default:mese_crystal_fragment 9', + recipe = { + {'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = 'default:obsidian_shard 9', + recipe = { + {'default:obsidian'} + } +}) + +minetest.register_craft({ + output = 'default:obsidian', + recipe = { + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + } +}) + +minetest.register_craft({ + output = 'default:stonebrick', + recipe = { + {'default:stone', 'default:stone'}, + {'default:stone', 'default:stone'}, + } +}) + +minetest.register_craft({ + output = 'default:desert_stonebrick', + recipe = { + {'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'default:desert_stone'}, + } +}) + +minetest.register_craft({ + output = 'default:snowblock', + recipe = { + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + } +}) + +minetest.register_craft({ + output = 'default:snow 9', + recipe = { + {'default:snowblock'}, + } +}) + +-- +-- Crafting (tool repair) +-- +minetest.register_craft({ + type = "toolrepair", + additional_wear = -0.02, +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:glass", + recipe = "group:sand", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:obsidian_glass", + recipe = "default:obsidian_shard", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:copper_ingot", + recipe = "default:copper_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "default:gold_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +-- +-- Fuels +-- + +minetest.register_craft({ + type = "fuel", + recipe = "group:tree", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglegrass", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:leaves", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:cactus", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:papyrus", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:bookshelf", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_wood", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:ladder", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:lava_source", + burntime = 60, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:torch", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sign_wall", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest_locked", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat_rainbow", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sapling", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:apple", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coal_lump", + burntime = 40, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coalblock", + burntime = 370, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglesapling", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:grass_1", + burntime = 2, +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/craftitems.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/craftitems.lua new file mode 100644 index 0000000..2d3652e --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/craftitems.lua @@ -0,0 +1,92 @@ +-- mods/default/craftitems.lua + +minetest.register_craftitem("default:stick", { + description = "Stick", + inventory_image = "default_stick.png", + groups = {stick=1}, +}) + +minetest.register_craftitem("default:paper", { + description = "Paper", + inventory_image = "default_paper.png", +}) + +minetest.register_craftitem("default:book", { + description = "Book", + inventory_image = "default_book.png", +}) + +minetest.register_craftitem("default:coal_lump", { + description = "Coal Lump", + inventory_image = "default_coal_lump.png", +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Iron Lump", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:copper_lump", { + description = "Copper Lump", + inventory_image = "default_copper_lump.png", +}) + +minetest.register_craftitem("default:mese_crystal", { + description = "Mese Crystal", + inventory_image = "default_mese_crystal.png", +}) + +minetest.register_craftitem("default:gold_lump", { + description = "Gold Lump", + inventory_image = "default_gold_lump.png", +}) + +minetest.register_craftitem("default:diamond", { + description = "Diamond", + inventory_image = "default_diamond.png", +}) + +minetest.register_craftitem("default:clay_lump", { + description = "Clay Lump", + inventory_image = "default_clay_lump.png", +}) + +minetest.register_craftitem("default:steel_ingot", { + description = "Steel Ingot", + inventory_image = "default_steel_ingot.png", +}) + +minetest.register_craftitem("default:copper_ingot", { + description = "Copper Ingot", + inventory_image = "default_copper_ingot.png", +}) + +minetest.register_craftitem("default:bronze_ingot", { + description = "Bronze Ingot", + inventory_image = "default_bronze_ingot.png", +}) + +minetest.register_craftitem("default:gold_ingot", { + description = "Gold Ingot", + inventory_image = "default_gold_ingot.png" +}) + +minetest.register_craftitem("default:mese_crystal_fragment", { + description = "Mese Crystal Fragment", + inventory_image = "default_mese_crystal_fragment.png", +}) + +minetest.register_craftitem("default:clay_brick", { + description = "Clay Brick", + inventory_image = "default_clay_brick.png", +}) + +minetest.register_craftitem("default:scorched_stuff", { + description = "Scorched Stuff", + inventory_image = "default_scorched_stuff.png", +}) + +minetest.register_craftitem("default:obsidian_shard", { + description = "Obsidian Shard", + inventory_image = "default_obsidian_shard.png", +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/functions.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/functions.lua new file mode 100644 index 0000000..4f5f85d --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/functions.lua @@ -0,0 +1,367 @@ +-- mods/default/functions.lua + +-- +-- Sounds +-- + +function default.node_sound_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="", gain=1.0} + table.dug = table.dug or + {name="default_dug_node", gain=0.25} + table.place = table.place or + {name="default_place_node_hard", gain=1.0} + return table +end + +function default.node_sound_stone_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.5} + table.dug = table.dug or + {name="default_hard_footstep", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_dirt_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_dirt_footstep", gain=1.0} + table.dug = table.dug or + {name="default_dirt_footstep", gain=1.5} + table.place = table.place or + {name="default_place_node", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_sand_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_sand_footstep", gain=0.5} + table.dug = table.dug or + {name="default_sand_footstep", gain=1.0} + table.place = table.place or + {name="default_place_node", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_wood_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_wood_footstep", gain=0.5} + table.dug = table.dug or + {name="default_wood_footstep", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_leaves_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_grass_footstep", gain=0.35} + table.dug = table.dug or + {name="default_grass_footstep", gain=0.85} + table.dig = table.dig or + {name="default_dig_crumbly", gain=0.4} + table.place = table.place or + {name="default_place_node", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_glass_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_glass_footstep", gain=0.5} + table.dug = table.dug or + {name="default_break_glass", gain=1.0} + default.node_sound_defaults(table) + return table +end + +-- +-- Legacy +-- + +function default.spawn_falling_node(p, nodename) + spawn_falling_node(p, nodename) +end + +-- Horrible crap to support old code +-- Don't use this and never do what this does, it's completely wrong! +-- (More specifically, the client and the C++ code doesn't get the group) +function default.register_falling_node(nodename, texture) + minetest.log("error", debug.traceback()) + minetest.log('error', "WARNING: default.register_falling_node is deprecated") + if minetest.registered_nodes[nodename] then + minetest.registered_nodes[nodename].groups.falling_node = 1 + end +end + +-- +-- Global callbacks +-- + +-- Global environment step function +function on_step(dtime) + -- print("on_step") +end +minetest.register_globalstep(on_step) + +function on_placenode(p, node) + --print("on_placenode") +end +minetest.register_on_placenode(on_placenode) + +function on_dignode(p, node) + --print("on_dignode") +end +minetest.register_on_dignode(on_dignode) + +function on_punchnode(p, node) +end +minetest.register_on_punchnode(on_punchnode) + + +-- +-- Grow trees +-- + +minetest.register_abm({ + nodenames = {"default:sapling"}, + interval = 10, + chance = 50, + action = function(pos, node) + local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name + local is_soil = minetest.get_item_group(nu, "soil") + if is_soil == 0 then + return + end + + minetest.log("action", "A sapling grows into a tree at "..minetest.pos_to_string(pos)) + local vm = minetest.get_voxel_manip() + local minp, maxp = vm:read_from_map({x=pos.x-16, y=pos.y, z=pos.z-16}, {x=pos.x+16, y=pos.y+16, z=pos.z+16}) + local a = VoxelArea:new{MinEdge=minp, MaxEdge=maxp} + local data = vm:get_data() + default.grow_tree(data, a, pos, math.random(1, 4) == 1, math.random(1,100000)) + vm:set_data(data) + vm:write_to_map(data) + vm:update_map() + end +}) + +minetest.register_abm({ + nodenames = {"default:junglesapling"}, + interval = 10, + chance = 50, + action = function(pos, node) + local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name + local is_soil = minetest.get_item_group(nu, "soil") + if is_soil == 0 then + return + end + + minetest.log("action", "A jungle sapling grows into a tree at "..minetest.pos_to_string(pos)) + local vm = minetest.get_voxel_manip() + local minp, maxp = vm:read_from_map({x=pos.x-16, y=pos.y-1, z=pos.z-16}, {x=pos.x+16, y=pos.y+16, z=pos.z+16}) + local a = VoxelArea:new{MinEdge=minp, MaxEdge=maxp} + local data = vm:get_data() + default.grow_jungletree(data, a, pos, math.random(1,100000)) + vm:set_data(data) + vm:write_to_map(data) + vm:update_map() + end +}) + +-- +-- Lavacooling +-- + +default.cool_lava_source = function(pos) + minetest.set_node(pos, {name="default:obsidian"}) + minetest.sound_play("default_cool_lava", {pos = pos, gain = 0.25}) +end + +default.cool_lava_flowing = function(pos) + minetest.set_node(pos, {name="default:stone"}) + minetest.sound_play("default_cool_lava", {pos = pos, gain = 0.25}) +end + +minetest.register_abm({ + nodenames = {"default:lava_flowing"}, + neighbors = {"group:water"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + default.cool_lava_flowing(pos, node, active_object_count, active_object_count_wider) + end, +}) + +minetest.register_abm({ + nodenames = {"default:lava_source"}, + neighbors = {"group:water"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + default.cool_lava_source(pos, node, active_object_count, active_object_count_wider) + end, +}) + +-- +-- Papyrus and cactus growing +-- + +minetest.register_abm({ + nodenames = {"default:cactus"}, + neighbors = {"group:sand"}, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.get_node(pos).name + if minetest.get_item_group(name, "sand") ~= 0 then + pos.y = pos.y+1 + local height = 0 + while minetest.get_node(pos).name == "default:cactus" and height < 4 do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name="default:cactus"}) + end + end + end + end, +}) + +minetest.register_abm({ + nodenames = {"default:papyrus"}, + neighbors = {"default:dirt", "default:dirt_with_grass"}, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.get_node(pos).name + if name == "default:dirt" or name == "default:dirt_with_grass" then + if minetest.find_node_near(pos, 3, {"group:water"}) == nil then + return + end + pos.y = pos.y+1 + local height = 0 + while minetest.get_node(pos).name == "default:papyrus" and height < 4 do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name="default:papyrus"}) + end + end + end + end, +}) + +-- +-- Leafdecay +-- + +-- To enable leaf decay for a node, add it to the "leafdecay" group. +-- +-- The rating of the group determines how far from a node in the group "tree" +-- the node can be without decaying. +-- +-- If param2 of the node is ~= 0, the node will always be preserved. Thus, if +-- the player places a node of that kind, you will want to set param2=1 or so. +-- +-- If the node is in the leafdecay_drop group then the it will always be dropped +-- as an item + +default.leafdecay_trunk_cache = {} +default.leafdecay_enable_cache = true +-- Spread the load of finding trunks +default.leafdecay_trunk_find_allow_accumulator = 0 + +minetest.register_globalstep(function(dtime) + local finds_per_second = 5000 + default.leafdecay_trunk_find_allow_accumulator = + math.floor(dtime * finds_per_second) +end) + +minetest.register_abm({ + nodenames = {"group:leafdecay"}, + neighbors = {"air", "group:liquid"}, + -- A low interval and a high inverse chance spreads the load + interval = 2, + chance = 5, + + action = function(p0, node, _, _) + --print("leafdecay ABM at "..p0.x..", "..p0.y..", "..p0.z..")") + local do_preserve = false + local d = minetest.registered_nodes[node.name].groups.leafdecay + if not d or d == 0 then + --print("not groups.leafdecay") + return + end + local n0 = minetest.get_node(p0) + if n0.param2 ~= 0 then + --print("param2 ~= 0") + return + end + local p0_hash = nil + if default.leafdecay_enable_cache then + p0_hash = minetest.hash_node_position(p0) + local trunkp = default.leafdecay_trunk_cache[p0_hash] + if trunkp then + local n = minetest.get_node(trunkp) + local reg = minetest.registered_nodes[n.name] + -- Assume ignore is a trunk, to make the thing work at the border of the active area + if n.name == "ignore" or (reg and reg.groups.tree and reg.groups.tree ~= 0) then + --print("cached trunk still exists") + return + end + --print("cached trunk is invalid") + -- Cache is invalid + table.remove(default.leafdecay_trunk_cache, p0_hash) + end + end + if default.leafdecay_trunk_find_allow_accumulator <= 0 then + return + end + default.leafdecay_trunk_find_allow_accumulator = + default.leafdecay_trunk_find_allow_accumulator - 1 + -- Assume ignore is a trunk, to make the thing work at the border of the active area + local p1 = minetest.find_node_near(p0, d, {"ignore", "group:tree"}) + if p1 then + do_preserve = true + if default.leafdecay_enable_cache then + --print("caching trunk") + -- Cache the trunk + default.leafdecay_trunk_cache[p0_hash] = p1 + end + end + if not do_preserve then + -- Drop stuff other than the node itself + itemstacks = minetest.get_node_drops(n0.name) + for _, itemname in ipairs(itemstacks) do + if minetest.get_item_group(n0.name, "leafdecay_drop") ~= 0 or + itemname ~= n0.name then + local p_drop = { + x = p0.x - 0.5 + math.random(), + y = p0.y - 0.5 + math.random(), + z = p0.z - 0.5 + math.random(), + } + minetest.add_item(p_drop, itemname) + end + end + -- Remove node + minetest.remove_node(p0) + nodeupdate(p0) + end + end +}) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/init.lua new file mode 100644 index 0000000..968cacd --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/init.lua @@ -0,0 +1,22 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + +-- The API documentation in here was moved into doc/lua_api.txt + +WATER_ALPHA = 160 +WATER_VISC = 1 +LAVA_VISC = 7 +LIGHT_MAX = 14 + +-- Definitions made by this mod that other mods can use too +default = {} + +-- Load files +dofile(minetest.get_modpath("default").."/functions.lua") +dofile(minetest.get_modpath("default").."/nodes.lua") +dofile(minetest.get_modpath("default").."/tools.lua") +dofile(minetest.get_modpath("default").."/craftitems.lua") +dofile(minetest.get_modpath("default").."/crafting.lua") +dofile(minetest.get_modpath("default").."/mapgen.lua") +dofile(minetest.get_modpath("default").."/player.lua") +dofile(minetest.get_modpath("default").."/trees.lua") diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/mapgen.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/mapgen.lua new file mode 100644 index 0000000..4907cf7 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/mapgen.lua @@ -0,0 +1,513 @@ +-- mods/default/mapgen.lua + +-- +-- Aliases for map generator outputs +-- + +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_tree", "default:tree") +minetest.register_alias("mapgen_leaves", "default:leaves") +minetest.register_alias("mapgen_jungletree", "default:jungletree") +minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves") +minetest.register_alias("mapgen_apple", "default:apple") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_gravel", "default:gravel") +minetest.register_alias("mapgen_clay", "default:clay") +minetest.register_alias("mapgen_lava_source", "default:lava_source") +minetest.register_alias("mapgen_cobble", "default:cobble") +minetest.register_alias("mapgen_mossycobble", "default:mossycobble") +minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("mapgen_junglegrass", "default:junglegrass") +minetest.register_alias("mapgen_stone_with_coal", "default:stone_with_coal") +minetest.register_alias("mapgen_stone_with_iron", "default:stone_with_iron") +minetest.register_alias("mapgen_mese", "default:mese") +minetest.register_alias("mapgen_desert_sand", "default:desert_sand") +minetest.register_alias("mapgen_desert_stone", "default:desert_stone") +minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") + +-- +-- Ore generation +-- + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8*8*8, + clust_num_ores = 8, + clust_size = 3, + height_min = -31000, + height_max = 64, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 24*24*24, + clust_num_ores = 27, + clust_size = 6, + height_min = -31000, + height_max = 0, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 12*12*12, + clust_num_ores = 3, + clust_size = 2, + height_min = -15, + height_max = 2, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 9*9*9, + clust_num_ores = 5, + clust_size = 3, + height_min = -63, + height_max = -16, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 7*7*7, + clust_num_ores = 5, + clust_size = 3, + height_min = -31000, + height_max = -64, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 24*24*24, + clust_num_ores = 27, + clust_size = 6, + height_min = -31000, + height_max = -64, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 18*18*18, + clust_num_ores = 3, + clust_size = 2, + height_min = -255, + height_max = -64, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 14*14*14, + clust_num_ores = 5, + clust_size = 3, + height_min = -31000, + height_max = -256, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 36*36*36, + clust_num_ores = 3, + clust_size = 2, + height_min = -31000, + height_max = -1024, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 15*15*15, + clust_num_ores = 3, + clust_size = 2, + height_min = -255, + height_max = -64, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 13*13*13, + clust_num_ores = 5, + clust_size = 3, + height_min = -31000, + height_max = -256, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 17*17*17, + clust_num_ores = 4, + clust_size = 3, + height_min = -255, + height_max = -128, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 15*15*15, + clust_num_ores = 4, + clust_size = 3, + height_min = -31000, + height_max = -256, + flags = "absheight", +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 12*12*12, + clust_num_ores = 4, + clust_size = 3, + height_min = -63, + height_max = -16, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 9*9*9, + clust_num_ores = 5, + clust_size = 3, + height_min = -31000, + height_max = -64, + flags = "absheight", +}) + +if minetest.setting_get("mg_name") == "indev" then + -- Floatlands and high mountains springs + minetest.register_ore({ + ore_type = "scatter", + ore = "default:water_source", + ore_param2 = 128, + wherein = "default:stone", + clust_scarcity = 40*40*40, + clust_num_ores = 8, + clust_size = 3, + height_min = 100, + height_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:lava_source", + ore_param2 = 128, + wherein = "default:stone", + clust_scarcity = 50*50*50, + clust_num_ores = 5, + clust_size = 2, + height_min = 10000, + height_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:sand", + wherein = "default:stone", + clust_scarcity = 20*20*20, + clust_num_ores = 5*5*3, + clust_size = 5, + height_min = 500, + height_max = 31000, + }) + + -- Underground springs + minetest.register_ore({ + ore_type = "scatter", + ore = "default:water_source", + ore_param2 = 128, + wherein = "default:stone", + clust_scarcity = 25*25*25, + clust_num_ores = 8, + clust_size = 3, + height_min = -10000, + height_max = -10, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:lava_source", + ore_param2 = 128, + wherein = "default:stone", + clust_scarcity = 35*35*35, + clust_num_ores = 5, + clust_size = 2, + height_min = -31000, + height_max = -100, + }) +end + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:clay", + wherein = "default:sand", + clust_scarcity = 15*15*15, + clust_num_ores = 64, + clust_size = 5, + height_max = 0, + height_min = -10, +}) + +function default.generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max) + minetest.log('action', "WARNING: default.generate_ore is deprecated") + + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + if chunk_size >= y_max - y_min + 1 then + return + end + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed) + local num_chunks = math.floor(chunks_per_volume * volume) + local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) + --print("generate_ore num_chunks: "..dump(num_chunks)) + for i=1,num_chunks do + local y0 = pr:next(y_min, y_max-chunk_size+1) + if y0 >= height_min and y0 <= height_max then + local x0 = pr:next(minp.x, maxp.x-chunk_size+1) + local z0 = pr:next(minp.z, maxp.z-chunk_size+1) + local p0 = {x=x0, y=y0, z=z0} + for x1=0,chunk_size-1 do + for y1=0,chunk_size-1 do + for z1=0,chunk_size-1 do + if pr:next(1,inverse_chance) == 1 then + local x2 = x0+x1 + local y2 = y0+y1 + local z2 = z0+z1 + local p2 = {x=x2, y=y2, z=z2} + if minetest.get_node(p2).name == wherein then + minetest.set_node(p2, {name=name}) + end + end + end + end + end + end + end + --print("generate_ore done") +end + +function default.make_papyrus(pos, size) + for y=0,size-1 do + local p = {x=pos.x, y=pos.y+y, z=pos.z} + local nn = minetest.get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.set_node(p, {name="default:papyrus"}) + else + return + end + end +end + +function default.make_cactus(pos, size) + for y=0,size-1 do + local p = {x=pos.x, y=pos.y+y, z=pos.z} + local nn = minetest.get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.set_node(p, {name="default:cactus"}) + else + return + end + end +end + +-- facedir: 0/1/2/3 (head node facedir value) +-- length: length of rainbow tail +function default.make_nyancat(pos, facedir, length) + local tailvec = {x=0, y=0, z=0} + if facedir == 0 then + tailvec.z = 1 + elseif facedir == 1 then + tailvec.x = 1 + elseif facedir == 2 then + tailvec.z = -1 + elseif facedir == 3 then + tailvec.x = -1 + else + --print("default.make_nyancat(): Invalid facedir: "+dump(facedir)) + facedir = 0 + tailvec.z = 1 + end + local p = {x=pos.x, y=pos.y, z=pos.z} + minetest.set_node(p, {name="default:nyancat", param2=facedir}) + for i=1,length do + p.x = p.x + tailvec.x + p.z = p.z + tailvec.z + minetest.set_node(p, {name="default:nyancat_rainbow", param2=facedir}) + end +end + +function generate_nyancats(seed, minp, maxp) + local height_min = -31000 + local height_max = -32 + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed + 9324342) + local max_num_nyancats = math.floor(volume / (16*16*16)) + for i=1,max_num_nyancats do + if pr:next(0, 1000) == 0 then + local x0 = pr:next(minp.x, maxp.x) + local y0 = pr:next(minp.y, maxp.y) + local z0 = pr:next(minp.z, maxp.z) + local p0 = {x=x0, y=y0, z=z0} + default.make_nyancat(p0, pr:next(0,3), pr:next(3,15)) + end + end +end + +minetest.register_on_generated(function(minp, maxp, seed) + if maxp.y >= 2 and minp.y <= 0 then + -- Generate papyrus + local perlin1 = minetest.get_perlin(354, 3, 0.7, 100) + -- Assume X and Z lengths are equal + local divlen = 8 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine papyrus amount from perlin noise + local papyrus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 45 - 20) + -- Find random positions for papyrus based on this random + local pr = PseudoRandom(seed+1) + for i=0,papyrus_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + if minetest.get_node({x=x,y=1,z=z}).name == "default:dirt_with_grass" and + minetest.find_node_near({x=x,y=1,z=z}, 1, "default:water_source") then + default.make_papyrus({x=x,y=2,z=z}, pr:next(2, 4)) + end + end + end + end + -- Generate cactuses + local perlin1 = minetest.get_perlin(230, 3, 0.6, 100) + -- Assume X and Z lengths are equal + local divlen = 16 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine cactus amount from perlin noise + local cactus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 6 - 3) + -- Find random positions for cactus based on this random + local pr = PseudoRandom(seed+1) + for i=0,cactus_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + -- Find ground level (0...15) + local ground_y = nil + for y=30,0,-1 do + if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + -- If desert sand, make cactus + if ground_y and minetest.get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then + default.make_cactus({x=x,y=ground_y+1,z=z}, pr:next(3, 4)) + end + end + end + end + -- Generate grass + local perlin1 = minetest.get_perlin(329, 3, 0.6, 100) + -- Assume X and Z lengths are equal + local divlen = 16 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine grass amount from perlin noise + local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) ^ 3 * 9) + -- Find random positions for grass based on this random + local pr = PseudoRandom(seed+1) + for i=0,grass_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + -- Find ground level (0...15) + local ground_y = nil + for y=30,0,-1 do + if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + + if ground_y then + local p = {x=x,y=ground_y+1,z=z} + local nn = minetest.get_node(p).name + -- Check if the node can be replaced + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + nn = minetest.get_node({x=x,y=ground_y,z=z}).name + -- If desert sand, add dry shrub + if nn == "default:desert_sand" then + minetest.set_node(p,{name="default:dry_shrub"}) + + -- If dirt with grass, add grass + elseif nn == "default:dirt_with_grass" then + minetest.set_node(p,{name="default:grass_"..pr:next(1, 5)}) + end + end + end + + end + end + end + end + + -- Generate nyan cats + generate_nyancats(seed, minp, maxp) +end) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.blend b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.blend new file mode 100644 index 0000000..cb1a670 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.blend differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.png new file mode 100644 index 0000000..d794b87 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.x b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.x new file mode 100644 index 0000000..bb5cec5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/models/character.x @@ -0,0 +1,6557 @@ +xof 0303txt 0032 + +template XSkinMeshHeader { + <3cf169ce-ff7c-44ab-93c0-f78f62d172e2> + WORD nMaxSkinWeightsPerVertex; + WORD nMaxSkinWeightsPerFace; + WORD nBones; +} + +template SkinWeights { + <6f0d123b-bad2-4167-a0d0-80224f25fabb> + STRING transformNodeName; + DWORD nWeights; + array DWORD vertexIndices[nWeights]; + array float weights[nWeights]; + Matrix4x4 matrixOffset; +} + +Frame Root { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 1.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Frame Armature { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 0.000000,-10.000000, 1.000000;; + } + Frame Armature_Body { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000,-1.000000, 0.000000, 0.000000, + -0.000000, 0.000000, 6.750000, 1.000000;; + } + Frame Armature_Head { + FrameTransformMatrix { + -1.000000,-0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + 0.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Head + Frame Armature_Arm_Left { + FrameTransformMatrix { + 0.989214,-0.143886,-0.027450, 0.000000, + -0.143940,-0.989586,-0.000000, 0.000000, + -0.027164, 0.003951,-0.999623, 0.000000, + -2.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Arm_Left + Frame Armature_Arm_Right { + FrameTransformMatrix { + 0.989214, 0.143886, 0.027450, 0.000000, + 0.143940,-0.989586,-0.000000, 0.000000, + 0.027164, 0.003951,-0.999623, 0.000000, + 2.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Arm_Right + Frame Armature_Leg_Right { + FrameTransformMatrix { + 1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-1.000000,-0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + 1.000000, 0.000000,-0.000001, 1.000000;; + } + } //End of Armature_Leg_Right + Frame Armature_Leg_Left { + FrameTransformMatrix { + 1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-1.000000,-0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + -1.000000, 0.000000,-0.000001, 1.000000;; + } + } //End of Armature_Leg_Left + } //End of Armature_Body + Frame Player { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Mesh { //Cube_001 Mesh + 168; + 2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + 0.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -4.000000;-1.000000; 6.750000;, + -4.000000;-1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000; 1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -2.000000; 1.000000; 0.000000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + 2.000000;-2.000000;13.500000;, + -2.000000;-2.000000;13.500000;, + -2.000000;-2.000000;17.500000;, + 2.000000;-2.000000;17.500000;, + -2.000000;-2.000000;13.500000;, + -2.000000; 2.000000;13.500000;, + -2.000000; 2.000000;17.500000;, + -2.000000;-2.000000;17.500000;, + -2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + -2.000000; 2.000000;17.500000;, + -2.000000; 2.000000;13.500000;, + -2.000000;-2.000000;13.500000;, + 2.000000;-2.000000;13.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + 2.000000;-2.000000;17.500000;, + -2.000000;-2.000000;17.500000;, + -2.000000; 2.000000;17.500000;, + -0.000000;-1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -2.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 0.000000; 1.000000; 0.000000;, + 2.000000; 1.000000; 0.000000;, + 2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 4.000000;-1.000000; 6.750000;, + 4.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + 2.000000; 1.000000;13.500000;, + 4.000000; 1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 0.000000;, + 2.000000;-1.000000; 0.000000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + 2.000000; 1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000;-2.000000;13.500000;, + 2.000000;-2.000000;17.500000;, + 0.000000; 1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -4.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000;13.500000;, + -4.000000; 1.000000;13.500000;, + -4.000000;-1.000000; 6.750000;, + -4.000000; 1.000000; 6.750000;, + -4.000000; 1.000000;13.500000;, + -4.000000;-1.000000;13.500000;, + 4.000000; 1.000000;13.500000;, + 4.000000; 1.000000; 6.750000;, + 4.000000;-1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -4.000000;-1.000000;13.500000;, + -4.000000; 1.000000;13.500000;, + 2.000000; 1.000000;13.500000;, + 2.000000; 1.000000; 6.750000;, + 4.000000; 1.000000; 6.750000;, + 4.000000; 1.000000;13.500000;, + 0.000000;-1.000000; 0.000000;, + 2.000000;-1.000000; 0.000000;, + 2.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 2.000000;-1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + -4.000000; 1.000000; 6.750000;, + -4.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + 4.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.200000;-2.200000;13.300000;, + -2.200000;-2.200000;13.300000;, + -2.200000;-2.200000;17.700001;, + 2.200000;-2.200000;17.700001;, + -2.200000;-2.200000;13.300000;, + -2.200000; 2.200000;13.300000;, + -2.200000; 2.200000;17.700001;, + -2.200000;-2.200000;17.700001;, + -2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;17.700001;, + -2.200000; 2.200000;17.700001;, + -2.200000; 2.200000;13.300000;, + -2.200000;-2.200000;13.300000;, + 2.200000;-2.200000;13.300000;, + 2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;17.700001;, + 2.200000;-2.200000;17.700001;, + -2.200000;-2.200000;17.700001;, + -2.200000; 2.200000;17.700001;, + 2.200000; 2.200000;17.700001;, + 2.200000; 2.200000;13.300000;, + 2.200000;-2.200000;13.300000;, + 2.200000;-2.200000;17.700001;; + 42; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;; + MeshNormals { //Cube_001 Normals + 168; + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;; + 42; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;; + } //End of Cube_001 Normals + MeshMaterialList { //Cube_001 Material List + 1; + 42; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0;; + Material Character { + 0.640000; 0.640000; 0.640000; 1.000000;; + 96.078431; + 0.000000; 0.000000; 0.000000;; + 0.000000; 0.000000; 0.000000;; + TextureFilename {"character.png";} + } + } //End of Cube_001 Material List + MeshTextureCoords { //Cube_001 UV Coordinates + 168; + 0.625000; 1.000000;, + 0.500000; 1.000000;, + 0.500000; 0.625000;, + 0.625000; 0.625000;, + 0.500000; 1.000000;, + 0.437500; 1.000000;, + 0.437500; 0.625000;, + 0.500000; 0.625000;, + 0.437500; 1.000000;, + 0.312500; 1.000000;, + 0.312500; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 0.500000;, + 0.562500; 0.500000;, + 0.562500; 0.625000;, + 0.312500; 0.625000;, + 0.312500; 0.500000;, + 0.437500; 0.500000;, + 0.437500; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.187500; 1.000000;, + 0.187500; 0.625000;, + 0.812500; 1.000000;, + 0.875000; 1.000000;, + 0.875000; 0.625000;, + 0.812500; 0.625000;, + 0.750000; 1.000000;, + 0.812500; 1.000000;, + 0.812500; 0.625000;, + 0.750000; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 0.500000;, + 0.187500; 0.500000;, + 0.187500; 0.625000;, + 0.000000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.000000; 0.625000;, + 0.500000; 0.500000;, + 0.375000; 0.500000;, + 0.375000; 0.250000;, + 0.500000; 0.250000;, + 0.375000; 0.500000;, + 0.250000; 0.500000;, + 0.250000; 0.250000;, + 0.375000; 0.250000;, + 0.250000; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.000000;, + 0.375000; 0.000000;, + 0.375000; 0.250000;, + 0.125000; 0.250000;, + 0.125000; 0.000000;, + 0.250000; 0.000000;, + 0.250000; 0.250000;, + 0.250000; 1.000000;, + 0.187500; 1.000000;, + 0.187500; 0.625000;, + 0.250000; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.125000; 1.000000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.125000; 0.625000;, + 0.750000; 0.500000;, + 0.812500; 0.500000;, + 0.812500; 0.625000;, + 0.750000; 0.625000;, + 0.687500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.625000;, + 0.687500; 0.625000;, + 0.187500; 0.625000;, + 0.187500; 1.000000;, + 0.250000; 1.000000;, + 0.250000; 0.625000;, + 0.187500; 1.000000;, + 0.125000; 1.000000;, + 0.125000; 0.625000;, + 0.187500; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.000000; 1.000000;, + 0.000000; 0.625000;, + 0.312500; 0.625000;, + 0.312500; 1.000000;, + 0.250000; 1.000000;, + 0.250000; 0.625000;, + 0.125000; 0.250000;, + 0.125000; 0.500000;, + 0.000000; 0.500000;, + 0.000000; 0.250000;, + 0.062500; 0.625000;, + 0.062500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.625000;, + 0.687500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.625000;, + 0.687500; 0.625000;, + 0.687500; 1.000000;, + 0.625000; 1.000000;, + 0.625000; 0.625000;, + 0.687500; 0.625000;, + 0.625000; 0.625000;, + 0.625000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 0.500000;, + 0.687500; 0.500000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.187500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.625000;, + 0.187500; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.625000;, + 0.875000; 0.625000;, + 0.875000; 1.000000;, + 0.812500; 1.000000;, + 0.812500; 0.625000;, + 0.125000; 0.500000;, + 0.062500; 0.500000;, + 0.062500; 0.625000;, + 0.125000; 0.625000;, + 1.000000; 0.500000;, + 0.875000; 0.500000;, + 0.875000; 0.250000;, + 1.000000; 0.250000;, + 0.875000; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.250000;, + 0.875000; 0.250000;, + 0.750000; 0.500000;, + 0.625000; 0.500000;, + 0.625000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.000000;, + 0.875000; 0.000000;, + 0.875000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.000000;, + 0.750000; 0.000000;, + 0.750000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.250000;; + } //End of Cube_001 UV Coordinates + XSkinMeshHeader { + 1; + 3; + 6; + } + SkinWeights { + "Armature_Leg_Right"; + 24; + 20, + 21, + 22, + 23, + 64, + 65, + 66, + 67, + 80, + 81, + 82, + 83, + 88, + 89, + 90, + 91, + 124, + 125, + 126, + 127, + 140, + 141, + 142, + 143; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000,-0.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + -0.000000,-1.000000, 0.000000, 0.000000, + -1.000000, 6.750001,-0.000001, 1.000000;; + } //End of Armature_Leg_Right Skin Weights + SkinWeights { + "Armature_Leg_Left"; + 24; + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 60, + 61, + 62, + 63, + 68, + 69, + 70, + 71, + 84, + 85, + 86, + 87, + 100, + 101, + 102, + 103; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000,-0.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + -0.000000,-1.000000, 0.000000, 0.000000, + 1.000000, 6.750001,-0.000001, 1.000000;; + } //End of Armature_Leg_Left Skin Weights + SkinWeights { + "Armature_Body"; + 24; + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 92, + 93, + 94, + 95; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000,-1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000,-6.750000,-0.000001, 1.000000;; + } //End of Armature_Body Skin Weights + SkinWeights { + "Armature_Head"; + 48; + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 96, + 97, + 98, + 99, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + -1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-0.000000, 1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + -0.000000,-13.500000,-0.000002, 1.000000;; + } //End of Armature_Head Skin Weights + SkinWeights { + "Armature_Arm_Left"; + 24; + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 116, + 117, + 118, + 119, + 132, + 133, + 134, + 135; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 0.989214,-0.143940,-0.027164, 0.000000, + 0.027450,-0.000000, 0.999623, 0.000000, + -0.143886,-0.989587, 0.003951, 0.000000, + 3.920884,13.071540,-0.107668, 1.000000;; + } //End of Armature_Arm_Left Skin Weights + SkinWeights { + "Armature_Arm_Right"; + 24; + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 112, + 113, + 114, + 115, + 120, + 121, + 122, + 123, + 128, + 129, + 130, + 131, + 136, + 137, + 138, + 139; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 0.989214, 0.143940, 0.027164, 0.000000, + -0.027450,-0.000000, 0.999623, 0.000000, + 0.143886,-0.989587, 0.003951, 0.000000, + -3.920884,13.071540,-0.107668, 1.000000;; + } //End of Armature_Arm_Right Skin Weights + } //End of Cube_001 Mesh + } //End of Player + } //End of Armature +} //End of Root Frame +AnimationSet { + Animation { + {Armature} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 0.000000,-10.000000;;, + 1;3; 0.000000, 0.000000,-10.000000;;, + 2;3; 0.000000, 0.000000,-10.000000;;, + 3;3; 0.000000, 0.000000,-10.000000;;, + 4;3; 0.000000, 0.000000,-10.000000;;, + 5;3; 0.000000, 0.000000,-10.000000;;, + 6;3; 0.000000, 0.000000,-10.000000;;, + 7;3; 0.000000, 0.000000,-10.000000;;, + 8;3; 0.000000, 0.000000,-10.000000;;, + 9;3; 0.000000, 0.000000,-10.000000;;, + 10;3; 0.000000, 0.000000,-10.000000;;, + 11;3; 0.000000, 0.000000,-10.000000;;, + 12;3; 0.000000, 0.000000,-10.000000;;, + 13;3; 0.000000, 0.000000,-10.000000;;, + 14;3; 0.000000, 0.000000,-10.000000;;, + 15;3; 0.000000, 0.000000,-10.000000;;, + 16;3; 0.000000, 0.000000,-10.000000;;, + 17;3; 0.000000, 0.000000,-10.000000;;, + 18;3; 0.000000, 0.000000,-10.000000;;, + 19;3; 0.000000, 0.000000,-10.000000;;, + 20;3; 0.000000, 0.000000,-10.000000;;, + 21;3; 0.000000, 0.000000,-10.000000;;, + 22;3; 0.000000, 0.000000,-10.000000;;, + 23;3; 0.000000, 0.000000,-10.000000;;, + 24;3; 0.000000, 0.000000,-10.000000;;, + 25;3; 0.000000, 0.000000,-10.000000;;, + 26;3; 0.000000, 0.000000,-10.000000;;, + 27;3; 0.000000, 0.000000,-10.000000;;, + 28;3; 0.000000, 0.000000,-10.000000;;, + 29;3; 0.000000, 0.000000,-10.000000;;, + 30;3; 0.000000, 0.000000,-10.000000;;, + 31;3; 0.000000, 0.000000,-10.000000;;, + 32;3; 0.000000, 0.000000,-10.000000;;, + 33;3; 0.000000, 0.000000,-10.000000;;, + 34;3; 0.000000, 0.000000,-10.000000;;, + 35;3; 0.000000, 0.000000,-10.000000;;, + 36;3; 0.000000, 0.000000,-10.000000;;, + 37;3; 0.000000, 0.000000,-10.000000;;, + 38;3; 0.000000, 0.000000,-10.000000;;, + 39;3; 0.000000, 0.000000,-10.000000;;, + 40;3; 0.000000, 0.000000,-10.000000;;, + 41;3; 0.000000, 0.000000,-10.000000;;, + 42;3; 0.000000, 0.000000,-10.000000;;, + 43;3; 0.000000, 0.000000,-10.000000;;, + 44;3; 0.000000, 0.000000,-10.000000;;, + 45;3; 0.000000, 0.000000,-10.000000;;, + 46;3; 0.000000, 0.000000,-10.000000;;, + 47;3; 0.000000, 0.000000,-10.000000;;, + 48;3; 0.000000, 0.000000,-10.000000;;, + 49;3; 0.000000, 0.000000,-10.000000;;, + 50;3; 0.000000, 0.000000,-10.000000;;, + 51;3; 0.000000, 0.000000,-10.000000;;, + 52;3; 0.000000, 0.000000,-10.000000;;, + 53;3; 0.000000, 0.000000,-10.000000;;, + 54;3; 0.000000, 0.000000,-10.000000;;, + 55;3; 0.000000, 0.000000,-10.000000;;, + 56;3; 0.000000, 0.000000,-10.000000;;, + 57;3; 0.000000, 0.000000,-10.000000;;, + 58;3; 0.000000, 0.000000,-10.000000;;, + 59;3; 0.000000, 0.000000,-10.000000;;, + 60;3; 0.000000, 0.000000,-10.000000;;, + 61;3; 0.000000, 0.000000,-10.000000;;, + 62;3; 0.000000, 0.000000,-10.000000;;, + 63;3; 0.000000, 0.000000,-10.000000;;, + 64;3; 0.000000, 0.000000,-10.000000;;, + 65;3; 0.000000, 0.000000,-10.000000;;, + 66;3; 0.000000, 0.000000,-10.000000;;, + 67;3; 0.000000, 0.000000,-10.000000;;, + 68;3; 0.000000, 0.000000,-10.000000;;, + 69;3; 0.000000, 0.000000,-10.000000;;, + 70;3; 0.000000, 0.000000,-10.000000;;, + 71;3; 0.000000, 0.000000,-10.000000;;, + 72;3; 0.000000, 0.000000,-10.000000;;, + 73;3; 0.000000, 0.000000,-10.000000;;, + 74;3; 0.000000, 0.000000,-10.000000;;, + 75;3; 0.000000, 0.000000,-10.000000;;, + 76;3; 0.000000, 0.000000,-10.000000;;, + 77;3; 0.000000, 0.000000,-10.000000;;, + 78;3; 0.000000, 0.000000,-10.000000;;, + 79;3; 0.000000, 0.000000,-10.000000;;, + 80;3; 0.000000, 0.000000,-10.000000;;, + 81;3; 0.000000, 0.000000,-10.000000;;, + 82;3; 0.000000, 0.000000,-10.000000;;, + 83;3; 0.000000, 0.000000,-10.000000;;, + 84;3; 0.000000, 0.000000,-10.000000;;, + 85;3; 0.000000, 0.000000,-10.000000;;, + 86;3; 0.000000, 0.000000,-10.000000;;, + 87;3; 0.000000, 0.000000,-10.000000;;, + 88;3; 0.000000, 0.000000,-10.000000;;, + 89;3; 0.000000, 0.000000,-10.000000;;, + 90;3; 0.000000, 0.000000,-10.000000;;, + 91;3; 0.000000, 0.000000,-10.000000;;, + 92;3; 0.000000, 0.000000,-10.000000;;, + 93;3; 0.000000, 0.000000,-10.000000;;, + 94;3; 0.000000, 0.000000,-10.000000;;, + 95;3; 0.000000, 0.000000,-10.000000;;, + 96;3; 0.000000, 0.000000,-10.000000;;, + 97;3; 0.000000, 0.000000,-10.000000;;, + 98;3; 0.000000, 0.000000,-10.000000;;, + 99;3; 0.000000, 0.000000,-10.000000;;, + 100;3; 0.000000, 0.000000,-10.000000;;, + 101;3; 0.000000, 0.000000,-10.000000;;, + 102;3; 0.000000, 0.000000,-10.000000;;, + 103;3; 0.000000, 0.000000,-10.000000;;, + 104;3; 0.000000, 0.000000,-10.000000;;, + 105;3; 0.000000, 0.000000,-10.000000;;, + 106;3; 0.000000, 0.000000,-10.000000;;, + 107;3; 0.000000, 0.000000,-10.000000;;, + 108;3; 0.000000, 0.000000,-10.000000;;, + 109;3; 0.000000, 0.000000,-10.000000;;, + 110;3; 0.000000, 0.000000,-10.000000;;, + 111;3; 0.000000, 0.000000,-10.000000;;, + 112;3; 0.000000, 0.000000,-10.000000;;, + 113;3; 0.000000, 0.000000,-10.000000;;, + 114;3; 0.000000, 0.000000,-10.000000;;, + 115;3; 0.000000, 0.000000,-10.000000;;, + 116;3; 0.000000, 0.000000,-10.000000;;, + 117;3; 0.000000, 0.000000,-10.000000;;, + 118;3; 0.000000, 0.000000,-10.000000;;, + 119;3; 0.000000, 0.000000,-10.000000;;, + 120;3; 0.000000, 0.000000,-10.000000;;, + 121;3; 0.000000, 0.000000,-10.000000;;, + 122;3; 0.000000, 0.000000,-10.000000;;, + 123;3; 0.000000, 0.000000,-10.000000;;, + 124;3; 0.000000, 0.000000,-10.000000;;, + 125;3; 0.000000, 0.000000,-10.000000;;, + 126;3; 0.000000, 0.000000,-10.000000;;, + 127;3; 0.000000, 0.000000,-10.000000;;, + 128;3; 0.000000, 0.000000,-10.000000;;, + 129;3; 0.000000, 0.000000,-10.000000;;, + 130;3; 0.000000, 0.000000,-10.000000;;, + 131;3; 0.000000, 0.000000,-10.000000;;, + 132;3; 0.000000, 0.000000,-10.000000;;, + 133;3; 0.000000, 0.000000,-10.000000;;, + 134;3; 0.000000, 0.000000,-10.000000;;, + 135;3; 0.000000, 0.000000,-10.000000;;, + 136;3; 0.000000, 0.000000,-10.000000;;, + 137;3; 0.000000, 0.000000,-10.000000;;, + 138;3; 0.000000, 0.000000,-10.000000;;, + 139;3; 0.000000, 0.000000,-10.000000;;, + 140;3; 0.000000, 0.000000,-10.000000;;, + 141;3; 0.000000, 0.000000,-10.000000;;, + 142;3; 0.000000, 0.000000,-10.000000;;, + 143;3; 0.000000, 0.000000,-10.000000;;, + 144;3; 0.000000, 0.000000,-10.000000;;, + 145;3; 0.000000, 0.000000,-10.000000;;, + 146;3; 0.000000, 0.000000,-10.000000;;, + 147;3; 0.000000, 0.000000,-10.000000;;, + 148;3; 0.000000, 0.000000,-10.000000;;, + 149;3; 0.000000, 0.000000,-10.000000;;, + 150;3; 0.000000, 0.000000,-10.000000;;, + 151;3; 0.000000, 0.000000,-10.000000;;, + 152;3; 0.000000, 0.000000,-10.000000;;, + 153;3; 0.000000, 0.000000,-10.000000;;, + 154;3; 0.000000, 0.000000,-10.000000;;, + 155;3; 0.000000, 0.000000,-10.000000;;, + 156;3; 0.000000, 0.000000,-10.000000;;, + 157;3; 0.000000, 0.000000,-10.000000;;, + 158;3; 0.000000, 0.000000,-10.000000;;, + 159;3; 0.000000, 0.000000,-10.000000;;, + 160;3; 0.000000, 0.000000,-10.000000;;, + 161;3; 0.000000, 0.000000,-10.000000;;, + 162;3; 0.000000, 0.000000,-10.000000;;, + 163;3; 0.000000, 0.000000,-10.000000;;, + 164;3; 0.000000, 0.000000,-10.000000;;, + 165;3; 0.000000, 0.000000,-10.000000;;, + 166;3; 0.000000, 0.000000,-10.000000;;, + 167;3; 0.000000, 0.000000,-10.000000;;, + 168;3; 0.000000, 0.000000,-10.000000;;, + 169;3; 0.000000, 0.000000,-10.000000;;, + 170;3; 0.000000, 0.000000,-10.000000;;, + 171;3; 0.000000, 0.000000,-10.000000;;, + 172;3; 0.000000, 0.000000,-10.000000;;, + 173;3; 0.000000, 0.000000,-10.000000;;, + 174;3; 0.000000, 0.000000,-10.000000;;, + 175;3; 0.000000, 0.000000,-10.000000;;, + 176;3; 0.000000, 0.000000,-10.000000;;, + 177;3; 0.000000, 0.000000,-10.000000;;, + 178;3; 0.000000, 0.000000,-10.000000;;, + 179;3; 0.000000, 0.000000,-10.000000;;, + 180;3; 0.000000, 0.000000,-10.000000;;, + 181;3; 0.000000, 0.000000,-10.000000;;, + 182;3; 0.000000, 0.000000,-10.000000;;, + 183;3; 0.000000, 0.000000,-10.000000;;, + 184;3; 0.000000, 0.000000,-10.000000;;, + 185;3; 0.000000, 0.000000,-10.000000;;, + 186;3; 0.000000, 0.000000,-10.000000;;, + 187;3; 0.000000, 0.000000,-10.000000;;, + 188;3; 0.000000, 0.000000,-10.000000;;, + 189;3; 0.000000, 0.000000,-10.000000;;, + 190;3; 0.000000, 0.000000,-10.000000;;, + 191;3; 0.000000, 0.000000,-10.000000;;, + 192;3; 0.000000, 0.000000,-10.000000;;, + 193;3; 0.000000, 0.000000,-10.000000;;, + 194;3; 0.000000, 0.000000,-10.000000;;, + 195;3; 0.000000, 0.000000,-10.000000;;, + 196;3; 0.000000, 0.000000,-10.000000;;, + 197;3; 0.000000, 0.000000,-10.000000;;, + 198;3; 0.000000, 0.000000,-10.000000;;, + 199;3; 0.000000, 0.000000,-10.000000;;, + 200;3; 0.000000, 0.000000,-10.000000;;, + 201;3; 0.000000, 0.000000,-10.000000;;, + 202;3; 0.000000, 0.000000,-10.000000;;, + 203;3; 0.000000, 0.000000,-10.000000;;, + 204;3; 0.000000, 0.000000,-10.000000;;, + 205;3; 0.000000, 0.000000,-10.000000;;, + 206;3; 0.000000, 0.000000,-10.000000;;, + 207;3; 0.000000, 0.000000,-10.000000;;, + 208;3; 0.000000, 0.000000,-10.000000;;, + 209;3; 0.000000, 0.000000,-10.000000;;, + 210;3; 0.000000, 0.000000,-10.000000;;, + 211;3; 0.000000, 0.000000,-10.000000;;, + 212;3; 0.000000, 0.000000,-10.000000;;, + 213;3; 0.000000, 0.000000,-10.000000;;, + 214;3; 0.000000, 0.000000,-10.000000;;, + 215;3; 0.000000, 0.000000,-10.000000;;, + 216;3; 0.000000, 0.000000,-10.000000;;, + 217;3; 0.000000, 0.000000,-10.000000;;, + 218;3; 0.000000, 0.000000,-10.000000;;, + 219;3; 0.000000, 0.000000,-10.000000;;, + 220;3; 0.000000, 0.000000,-10.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 2;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 3;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 4;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 5;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 6;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 7;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 8;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 9;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 10;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 11;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 12;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 13;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 14;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 15;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 16;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 17;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 18;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 19;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 20;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 21;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 22;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 23;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 24;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 25;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 26;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 27;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 28;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 29;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 30;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 31;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 32;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 33;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 34;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 35;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 36;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 37;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 38;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 39;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 40;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 41;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 42;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 43;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 44;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 45;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 46;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 47;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 48;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 49;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 50;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 51;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 52;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 53;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 54;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 55;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 56;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 57;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 58;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 59;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 60;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 61;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 62;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 63;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 64;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 65;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 66;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 67;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 68;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 69;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 70;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 71;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 72;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 73;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 74;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 75;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 76;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 77;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 78;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 79;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 80;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 81;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 82;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 83;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 84;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 85;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 86;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 87;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 88;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 89;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 90;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 91;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 92;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 93;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 94;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 95;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 96;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 97;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 98;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 99;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 100;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 101;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 102;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 103;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 104;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 105;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 106;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 107;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 108;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 109;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 110;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 111;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 112;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 113;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 114;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 115;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 116;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 117;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 118;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 119;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 120;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 121;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 122;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 123;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 124;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 125;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 126;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 127;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 128;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 129;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 130;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 131;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 132;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 133;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 134;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 135;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 136;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 137;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 138;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 139;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 140;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 141;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 142;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 143;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 144;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 145;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 146;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 147;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 148;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 149;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 150;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 151;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 152;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 153;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 154;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 155;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 156;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 157;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 158;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 159;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 160;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 161;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 162;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 163;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 164;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 165;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 166;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 167;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 168;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 169;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 170;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 171;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 172;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 173;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 174;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 175;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 176;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 177;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 178;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 179;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 180;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 181;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 182;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 183;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 184;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 185;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 186;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 187;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 188;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 189;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 190;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 191;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 192;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 193;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 194;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 195;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 196;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 197;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 198;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 199;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 200;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 201;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 202;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 203;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 204;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 205;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 206;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 207;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 208;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 209;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 210;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 211;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 212;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 213;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 214;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 215;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 216;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 217;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 218;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 219;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 220;4; -1.000000, 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Body} + AnimationKey { //Position + 2; + 221; + 0;3; -0.000000, 0.000000, 6.750000;;, + 1;3; -0.000000, 0.000000, 6.750000;;, + 2;3; -0.000000, 0.000000, 6.750000;;, + 3;3; -0.000000, 0.000000, 6.750000;;, + 4;3; -0.000000, 0.000000, 6.750000;;, + 5;3; -0.000000, 0.000000, 6.750000;;, + 6;3; -0.000000, 0.000000, 6.750000;;, + 7;3; -0.000000, 0.000000, 6.750000;;, + 8;3; -0.000000, 0.000000, 6.750000;;, + 9;3; -0.000000, 0.000000, 6.750000;;, + 10;3; -0.000000, 0.000000, 6.750000;;, + 11;3; -0.000000, 0.000000, 6.750000;;, + 12;3; -0.000000, 0.000000, 6.750000;;, + 13;3; -0.000000, 0.000000, 6.750000;;, + 14;3; -0.000000, 0.000000, 6.750000;;, + 15;3; -0.000000, 0.000000, 6.750000;;, + 16;3; -0.000000, 0.000000, 6.750000;;, + 17;3; -0.000000, 0.000000, 6.750000;;, + 18;3; -0.000000, 0.000000, 6.750000;;, + 19;3; -0.000000, 0.000000, 6.750000;;, + 20;3; -0.000000, 0.000000, 6.750000;;, + 21;3; -0.000000, 0.000000, 6.750000;;, + 22;3; -0.000000, 0.000000, 6.750000;;, + 23;3; -0.000000, 0.000000, 6.750000;;, + 24;3; -0.000000, 0.000000, 6.750000;;, + 25;3; -0.000000, 0.000000, 6.750000;;, + 26;3; -0.000000, 0.000000, 6.750000;;, + 27;3; -0.000000, 0.000000, 6.750000;;, + 28;3; -0.000000, 0.000000, 6.750000;;, + 29;3; -0.000000, 0.000000, 6.750000;;, + 30;3; -0.000000, 0.000000, 6.750000;;, + 31;3; -0.000000, 0.000000, 6.750000;;, + 32;3; -0.000000, 0.000000, 6.750000;;, + 33;3; -0.000000, 0.000000, 6.750000;;, + 34;3; -0.000000, 0.000000, 6.750000;;, + 35;3; -0.000000, 0.000000, 6.750000;;, + 36;3; -0.000000, 0.000000, 6.750000;;, + 37;3; -0.000000, 0.000000, 6.750000;;, + 38;3; -0.000000, 0.000000, 6.750000;;, + 39;3; -0.000000, 0.000000, 6.750000;;, + 40;3; -0.000000, 0.000000, 6.750000;;, + 41;3; -0.000000, 0.000000, 6.750000;;, + 42;3; -0.000000, 0.000000, 6.750000;;, + 43;3; -0.000000, 0.000000, 6.750000;;, + 44;3; -0.000000, 0.000000, 6.750000;;, + 45;3; -0.000000, 0.000000, 6.750000;;, + 46;3; -0.000000, 0.000000, 6.750000;;, + 47;3; -0.000000, 0.000000, 6.750000;;, + 48;3; -0.000000, 0.000000, 6.750000;;, + 49;3; -0.000000, 0.000000, 6.750000;;, + 50;3; -0.000000, 0.000000, 6.750000;;, + 51;3; -0.000000, 0.000000, 6.750000;;, + 52;3; -0.000000, 0.000000, 6.750000;;, + 53;3; -0.000000, 0.000000, 6.750000;;, + 54;3; -0.000000, 0.000000, 6.750000;;, + 55;3; -0.000000, 0.000000, 6.750000;;, + 56;3; -0.000000, 0.000000, 6.750000;;, + 57;3; -0.000000, 0.000000, 6.750000;;, + 58;3; -0.000000, 0.000000, 6.750000;;, + 59;3; -0.000000, 0.000000, 6.750000;;, + 60;3; -0.000000, 0.000000, 6.750000;;, + 61;3; -0.000000, 0.000000, 6.750000;;, + 62;3; -0.000000, 0.000000, 6.750000;;, + 63;3; -0.000000, 0.000000, 6.750000;;, + 64;3; -0.000000, 0.000000, 6.750000;;, + 65;3; -0.000000, 0.000000, 6.750000;;, + 66;3; -0.000000, 0.000000, 6.750000;;, + 67;3; -0.000000, 0.000000, 6.750000;;, + 68;3; -0.000000, 0.000000, 6.750000;;, + 69;3; -0.000000, 0.000000, 6.750000;;, + 70;3; -0.000000, 0.000000, 6.750000;;, + 71;3; -0.000000, 0.000000, 6.750000;;, + 72;3; -0.000000, 0.000000, 6.750000;;, + 73;3; -0.000000, 0.000000, 6.750000;;, + 74;3; -0.000000, 0.000000, 6.750000;;, + 75;3; -0.000000, 0.000000, 6.750000;;, + 76;3; -0.000000, 0.000000, 6.750000;;, + 77;3; -0.000000, 0.000000, 6.750000;;, + 78;3; -0.000000, 0.000000, 6.750000;;, + 79;3; -0.000000, 0.000000, 6.750000;;, + 80;3; -0.000000, 0.000000, 6.750000;;, + 81;3; -0.000000, 0.000000, 1.000000;;, + 82;3; -0.000000, 0.000000, 1.000000;;, + 83;3; -0.000000, 0.000000, 1.000000;;, + 84;3; -0.000000, 0.000000, 1.000000;;, + 85;3; -0.000000, 0.000000, 1.000000;;, + 86;3; -0.000000, 0.000000, 1.000000;;, + 87;3; -0.000000, 0.000000, 1.000000;;, + 88;3; -0.000000, 0.000000, 1.000000;;, + 89;3; -0.000000, 0.000000, 1.000000;;, + 90;3; -0.000000, 0.000000, 1.000000;;, + 91;3; -0.000000, 0.000000, 1.000000;;, + 92;3; -0.000000, 0.000000, 1.000000;;, + 93;3; -0.000000, 0.000000, 1.000000;;, + 94;3; -0.000000, 0.000000, 1.000000;;, + 95;3; -0.000000, 0.000000, 1.000000;;, + 96;3; -0.000000, 0.000000, 1.000000;;, + 97;3; -0.000000, 0.000000, 1.000000;;, + 98;3; -0.000000, 0.000000, 1.000000;;, + 99;3; -0.000000, 0.000000, 1.000000;;, + 100;3; -0.000000, 0.000000, 1.000000;;, + 101;3; -0.000000, 0.000000, 1.000000;;, + 102;3; -0.000000, 0.000000, 1.000000;;, + 103;3; -0.000000, 0.000000, 1.000000;;, + 104;3; -0.000000, 0.000000, 1.000000;;, + 105;3; -0.000000, 0.000000, 1.000000;;, + 106;3; -0.000000, 0.000000, 1.000000;;, + 107;3; -0.000000, 0.000000, 1.000000;;, + 108;3; -0.000000, 0.000000, 1.000000;;, + 109;3; -0.000000, 0.000000, 1.000000;;, + 110;3; -0.000000, 0.000000, 1.000000;;, + 111;3; -0.000000, 0.000000, 1.000000;;, + 112;3; -0.000000, 0.000000, 1.000000;;, + 113;3; -0.000000, 0.000000, 1.000000;;, + 114;3; -0.000000, 0.000000, 1.000000;;, + 115;3; -0.000000, 0.000000, 1.000000;;, + 116;3; -0.000000, 0.000000, 1.000000;;, + 117;3; -0.000000, 0.000000, 1.000000;;, + 118;3; -0.000000, 0.000000, 1.000000;;, + 119;3; -0.000000, 0.000000, 1.000000;;, + 120;3; -0.000000, 0.000000, 1.000000;;, + 121;3; -0.000000, 0.000000, 1.000000;;, + 122;3; -0.000000, 0.000000, 1.000000;;, + 123;3; -0.000000, 0.000000, 1.000000;;, + 124;3; -0.000000, 0.000000, 1.000000;;, + 125;3; -0.000000, 0.000000, 1.000000;;, + 126;3; -0.000000, 0.000000, 1.000000;;, + 127;3; -0.000000, 0.000000, 1.000000;;, + 128;3; -0.000000, 0.000000, 1.000000;;, + 129;3; -0.000000, 0.000000, 1.000000;;, + 130;3; -0.000000, 0.000000, 1.000000;;, + 131;3; -0.000000, 0.000000, 1.000000;;, + 132;3; -0.000000, 0.000000, 1.000000;;, + 133;3; -0.000000, 0.000000, 1.000000;;, + 134;3; -0.000000, 0.000000, 1.000000;;, + 135;3; -0.000000, 0.000000, 1.000000;;, + 136;3; -0.000000, 0.000000, 1.000000;;, + 137;3; -0.000000, 0.000000, 1.000000;;, + 138;3; -0.000000, 0.000000, 1.000000;;, + 139;3; -0.000000, 0.000000, 1.000000;;, + 140;3; -0.000000, 0.000000, 1.000000;;, + 141;3; -0.000000, 0.000000, 1.000000;;, + 142;3; -0.000000, 0.000000, 1.000000;;, + 143;3; -0.000000, 0.000000, 1.000000;;, + 144;3; -0.000000, 0.000000, 1.000000;;, + 145;3; -0.000000, 0.000000, 1.000000;;, + 146;3; -0.000000, 0.000000, 1.000000;;, + 147;3; -0.000000, 0.000000, 1.000000;;, + 148;3; -0.000000, 0.000000, 1.000000;;, + 149;3; -0.000000, 0.000000, 1.000000;;, + 150;3; -0.000000, 0.000000, 1.000000;;, + 151;3; -0.000000, 0.000000, 1.000000;;, + 152;3; -0.000000, 0.000000, 1.000000;;, + 153;3; -0.000000, 0.000000, 1.000000;;, + 154;3; -0.000000, 0.000000, 1.000000;;, + 155;3; -0.000000, 0.000000, 1.000000;;, + 156;3; -0.000000, 0.000000, 1.000000;;, + 157;3; -0.000000, 0.000000, 1.000000;;, + 158;3; -0.000000, 0.000000, 1.000000;;, + 159;3; -0.000000, 0.000000, 1.000000;;, + 160;3; -0.000000, 0.000000, 1.000000;;, + 161;3; -0.000000, 0.000000, 1.000000;;, + 162;3; -0.000000, 2.000001, 1.000000;;, + 163;3; -0.000000, 2.000001, 1.000000;;, + 164;3; -0.000000, 2.000001, 1.000000;;, + 165;3; -0.000000, 2.000001, 1.000000;;, + 166;3; -0.000000, 2.000001, 1.000000;;, + 167;3; -0.000000, 2.000001, 1.000000;;, + 168;3; -0.000000, 0.000000, 6.750000;;, + 169;3; -0.000000, 0.000000, 6.750000;;, + 170;3; -0.000000, 0.000000, 6.750000;;, + 171;3; -0.000000, 0.000000, 6.750000;;, + 172;3; -0.000000, 0.000000, 6.750000;;, + 173;3; -0.000000, 0.000000, 6.750000;;, + 174;3; -0.000000, 0.000000, 6.750000;;, + 175;3; -0.000000, 0.000000, 6.750000;;, + 176;3; -0.000000, 0.000000, 6.750000;;, + 177;3; -0.000000, 0.000000, 6.750000;;, + 178;3; -0.000000, 0.000000, 6.750000;;, + 179;3; -0.000000, 0.000000, 6.750000;;, + 180;3; -0.000000, 0.000000, 6.750000;;, + 181;3; -0.000000, 0.000000, 6.750000;;, + 182;3; -0.000000, 0.000000, 6.750000;;, + 183;3; -0.000000, 0.000000, 6.750000;;, + 184;3; -0.000000, 0.000000, 6.750000;;, + 185;3; -0.000000, 0.000000, 6.750000;;, + 186;3; -0.000000, 0.000000, 6.750000;;, + 187;3; -0.000000, 0.000000, 6.750000;;, + 188;3; -0.000000, 0.000000, 6.750000;;, + 189;3; -0.000000, 0.000000, 6.750000;;, + 190;3; -0.000000, 0.000000, 6.750000;;, + 191;3; -0.000000, 0.000000, 6.750000;;, + 192;3; -0.000000, 0.000000, 6.750000;;, + 193;3; -0.000000, 0.000000, 6.750000;;, + 194;3; -0.000000, 0.000000, 6.750000;;, + 195;3; -0.000000, 0.000000, 6.750000;;, + 196;3; -0.000000, 0.000000, 6.750000;;, + 197;3; -0.000000, 0.000000, 6.750000;;, + 198;3; -0.000000, 0.000000, 6.750000;;, + 199;3; -0.000000, 0.000000, 6.750000;;, + 200;3; -0.000000, 0.000000, 6.750000;;, + 201;3; -0.000000, 0.000000, 6.750000;;, + 202;3; -0.000000, 0.000000, 6.750000;;, + 203;3; -0.000000, 0.000000, 6.750000;;, + 204;3; -0.000000, 0.000000, 6.750000;;, + 205;3; -0.000000, 0.000000, 6.750000;;, + 206;3; -0.000000, 0.000000, 6.750000;;, + 207;3; -0.000000, 0.000000, 6.750000;;, + 208;3; -0.000000, 0.000000, 6.750000;;, + 209;3; -0.000000, 0.000000, 6.750000;;, + 210;3; -0.000000, 0.000000, 6.750000;;, + 211;3; -0.000000, 0.000000, 6.750000;;, + 212;3; -0.000000, 0.000000, 6.750000;;, + 213;3; -0.000000, 0.000000, 6.750000;;, + 214;3; -0.000000, 0.000000, 6.750000;;, + 215;3; -0.000000, 0.000000, 6.750000;;, + 216;3; -0.000000, 0.000000, 6.750000;;, + 217;3; -0.000000, 0.000000, 6.750000;;, + 218;3; -0.000000, 0.000000, 6.750000;;, + 219;3; -0.000000, 0.000000, 6.750000;;, + 220;3; -0.000000, 0.000000, 6.750000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 1;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 2;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 3;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 4;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 5;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 6;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 7;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 8;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 9;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 10;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 11;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 12;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 13;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 14;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 15;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 16;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 17;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 18;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 19;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 20;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 21;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 22;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 23;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 24;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 25;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 26;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 27;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 28;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 29;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 30;4; -0.691349, 0.722192, 0.000000, 0.000000;;, + 31;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 32;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 33;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 34;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 35;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 36;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 37;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 38;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 39;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 40;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 41;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 42;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 43;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 44;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 45;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 46;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 47;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 48;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 49;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 50;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 51;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 52;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 53;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 54;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 55;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 56;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 57;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 58;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 59;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 60;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 61;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 62;4; -0.676212, 0.736682, 0.000000, 0.000000;;, + 63;4; -0.676927, 0.735998, 0.000000, 0.000000;;, + 64;4; -0.677865, 0.735100, 0.000000, 0.000000;;, + 65;4; -0.679001, 0.734013, 0.000000, 0.000000;;, + 66;4; -0.680312, 0.732757, 0.000000, 0.000000;;, + 67;4; -0.681779, 0.731353, 0.000000, 0.000000;;, + 68;4; -0.683387, 0.729813, 0.000000, 0.000000;;, + 69;4; -0.685120, 0.728154, 0.000000, 0.000000;;, + 70;4; -0.686966, 0.726388, 0.000000, 0.000000;;, + 71;4; -0.688910, 0.724526, 0.000000, 0.000000;;, + 72;4; -0.690941, 0.722582, 0.000000, 0.000000;;, + 73;4; -0.693046, 0.720567, 0.000000, 0.000000;;, + 74;4; -0.695210, 0.718495, 0.000000, 0.000000;;, + 75;4; -0.697417, 0.716383, 0.000000, 0.000000;;, + 76;4; -0.699643, 0.714252, 0.000000, 0.000000;;, + 77;4; -0.701856, 0.712133, 0.000000, 0.000000;;, + 78;4; -0.703995, 0.710086, 0.000000, 0.000000;;, + 79;4; -0.705928, 0.708235, 0.000000, 0.000000;;, + 80;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 81;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 82;4; -0.705928, 0.708235, 0.000000, 0.000000;;, + 83;4; -0.703995, 0.710086, 0.000000, 0.000000;;, + 84;4; -0.701856, 0.712133, 0.000000, 0.000000;;, + 85;4; -0.699643, 0.714252, 0.000000, 0.000000;;, + 86;4; -0.697417, 0.716383, 0.000000, 0.000000;;, + 87;4; -0.695210, 0.718495, 0.000000, 0.000000;;, + 88;4; -0.693046, 0.720567, 0.000000, 0.000000;;, + 89;4; -0.690941, 0.722582, 0.000000, 0.000000;;, + 90;4; -0.688910, 0.724526, 0.000000, 0.000000;;, + 91;4; -0.686966, 0.726388, 0.000000, 0.000000;;, + 92;4; -0.685120, 0.728154, 0.000000, 0.000000;;, + 93;4; -0.683387, 0.729813, 0.000000, 0.000000;;, + 94;4; -0.681779, 0.731353, 0.000000, 0.000000;;, + 95;4; -0.680312, 0.732758, 0.000000, 0.000000;;, + 96;4; -0.679001, 0.734013, 0.000000, 0.000000;;, + 97;4; -0.677865, 0.735100, 0.000000, 0.000000;;, + 98;4; -0.676927, 0.735998, 0.000000, 0.000000;;, + 99;4; -0.676212, 0.736682, 0.000000, 0.000000;;, + 100;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 101;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 102;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 103;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 104;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 105;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 106;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 107;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 108;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 109;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 110;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 111;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 112;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 113;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 114;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 115;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 116;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 117;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 118;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 119;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 120;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 121;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 122;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 123;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 124;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 125;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 126;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 127;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 128;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 129;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 130;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 131;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 132;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 133;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 134;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 135;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 136;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 137;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 138;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 139;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 140;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 141;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 142;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 143;4; -0.676211, 0.736683, 0.000000, 0.000000;;, + 144;4; -0.676923, 0.736001, 0.000000, 0.000000;;, + 145;4; -0.677857, 0.735107, 0.000000, 0.000000;;, + 146;4; -0.678987, 0.734026, 0.000000, 0.000000;;, + 147;4; -0.680291, 0.732778, 0.000000, 0.000000;;, + 148;4; -0.681750, 0.731381, 0.000000, 0.000000;;, + 149;4; -0.683349, 0.729852, 0.000000, 0.000000;;, + 150;4; -0.685071, 0.728203, 0.000000, 0.000000;;, + 151;4; -0.686905, 0.726448, 0.000000, 0.000000;;, + 152;4; -0.688838, 0.724598, 0.000000, 0.000000;;, + 153;4; -0.690858, 0.722664, 0.000000, 0.000000;;, + 154;4; -0.692953, 0.720659, 0.000000, 0.000000;;, + 155;4; -0.695109, 0.718596, 0.000000, 0.000000;;, + 156;4; -0.697310, 0.716489, 0.000000, 0.000000;;, + 157;4; -0.699536, 0.714358, 0.000000, 0.000000;;, + 158;4; -0.701753, 0.712235, 0.000000, 0.000000;;, + 159;4; -0.703909, 0.710171, 0.000000, 0.000000;;, + 160;4; -0.705875, 0.708288, 0.000000, 0.000000;;, + 161;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 162;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 163;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 164;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 165;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 166;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 167;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 168;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 169;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 170;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 171;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 172;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 173;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 174;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 175;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 176;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 177;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 178;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 179;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 180;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 181;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 182;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 183;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 184;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 185;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 186;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 187;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 188;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 189;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 190;4; -0.709789, 0.704305, 0.000000, 0.000000;;, + 191;4; -0.717343, 0.696414, 0.000000, 0.000000;;, + 192;4; -0.727042, 0.686283, 0.000000, 0.000000;;, + 193;4; -0.734596, 0.678392, 0.000000, 0.000000;;, + 194;4; -0.737277, 0.675590, 0.000000, 0.000000;;, + 195;4; -0.734596, 0.678392, 0.000000, 0.000000;;, + 196;4; -0.727042, 0.686283, 0.000000, 0.000000;;, + 197;4; -0.717343, 0.696414, 0.000000, 0.000000;;, + 198;4; -0.709789, 0.704305, 0.000000, 0.000000;;, + 199;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 200;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 201;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 202;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 203;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 204;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 205;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 206;4; -0.681074, 0.731794, 0.000000, 0.000000;;, + 207;4; -0.696519, 0.716349, 0.000000, 0.000000;;, + 208;4; -0.716349, 0.696518, 0.000000, 0.000000;;, + 209;4; -0.731794, 0.681074, 0.000000, 0.000000;;, + 210;4; -0.737277, 0.675590, 0.000000, 0.000000;;, + 211;4; -0.731794, 0.681074, 0.000000, 0.000000;;, + 212;4; -0.716349, 0.696518, 0.000000, 0.000000;;, + 213;4; -0.696519, 0.716349, 0.000000, 0.000000;;, + 214;4; -0.681074, 0.731794, 0.000000, 0.000000;;, + 215;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 216;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 217;4; -0.686282, 0.727042, 0.000000, 0.000000;;, + 218;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 219;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 220;4; -0.707107, 0.707107, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Head} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 6.750000, 0.000000;;, + 1;3; -0.000000, 6.750000, 0.000000;;, + 2;3; 0.000000, 6.750000, 0.000000;;, + 3;3; 0.000000, 6.750000, 0.000000;;, + 4;3; 0.000000, 6.750000, 0.000000;;, + 5;3; 0.000000, 6.750000, 0.000000;;, + 6;3; 0.000000, 6.750000, 0.000000;;, + 7;3; 0.000000, 6.750000,-0.000000;;, + 8;3; 0.000000, 6.750000,-0.000000;;, + 9;3; 0.000000, 6.750000, 0.000000;;, + 10;3; 0.000000, 6.750000,-0.000000;;, + 11;3; 0.000000, 6.750000, 0.000000;;, + 12;3; 0.000000, 6.750000, 0.000000;;, + 13;3; 0.000000, 6.750000, 0.000000;;, + 14;3; 0.000000, 6.750000,-0.000000;;, + 15;3; 0.000000, 6.750000,-0.000000;;, + 16;3; 0.000000, 6.750000, 0.000000;;, + 17;3; -0.000000, 6.750001,-0.000000;;, + 18;3; 0.000000, 6.750000, 0.000000;;, + 19;3; 0.000000, 6.750000, 0.000000;;, + 20;3; 0.000000, 6.750000, 0.000000;;, + 21;3; 0.000000, 6.750000, 0.000000;;, + 22;3; 0.000000, 6.750000, 0.000000;;, + 23;3; -0.000000, 6.750001,-0.000000;;, + 24;3; 0.000000, 6.750000, 0.000000;;, + 25;3; 0.000000, 6.750000, 0.000000;;, + 26;3; 0.000000, 6.750000,-0.000000;;, + 27;3; 0.000000, 6.750000, 0.000000;;, + 28;3; 0.000000, 6.750000, 0.000000;;, + 29;3; 0.000000, 6.750000, 0.000000;;, + 30;3; 0.000000, 6.750000, 0.000000;;, + 31;3; 0.000000, 6.750000, 0.000000;;, + 32;3; 0.000000, 6.750000,-0.000000;;, + 33;3; 0.000000, 6.750000,-0.000000;;, + 34;3; 0.000000, 6.750000, 0.000000;;, + 35;3; 0.000000, 6.750000, 0.000000;;, + 36;3; 0.000000, 6.750000,-0.000000;;, + 37;3; 0.000000, 6.750000, 0.000000;;, + 38;3; 0.000000, 6.750000, 0.000000;;, + 39;3; -0.000000, 6.750000, 0.000000;;, + 40;3; 0.000000, 6.750000, 0.000000;;, + 41;3; -0.000000, 6.750000, 0.000000;;, + 42;3; 0.000000, 6.750000, 0.000000;;, + 43;3; 0.000000, 6.750000, 0.000000;;, + 44;3; 0.000000, 6.750000, 0.000000;;, + 45;3; 0.000000, 6.750000, 0.000000;;, + 46;3; 0.000000, 6.750000,-0.000000;;, + 47;3; 0.000000, 6.750000, 0.000000;;, + 48;3; 0.000000, 6.750000, 0.000000;;, + 49;3; 0.000000, 6.750000, 0.000000;;, + 50;3; 0.000000, 6.750000,-0.000000;;, + 51;3; 0.000000, 6.750000, 0.000000;;, + 52;3; 0.000000, 6.750000, 0.000000;;, + 53;3; 0.000000, 6.750000, 0.000000;;, + 54;3; 0.000000, 6.750000, 0.000000;;, + 55;3; 0.000000, 6.750000,-0.000000;;, + 56;3; 0.000000, 6.750000, 0.000000;;, + 57;3; -0.000000, 6.750001,-0.000000;;, + 58;3; 0.000000, 6.750000, 0.000000;;, + 59;3; 0.000000, 6.750000, 0.000000;;, + 60;3; 0.000000, 6.750000, 0.000000;;, + 61;3; 0.000000, 6.750000, 0.000000;;, + 62;3; 0.000000, 6.750000, 0.000000;;, + 63;3; 0.000000, 6.750000,-0.000000;;, + 64;3; 0.000000, 6.750000, 0.000000;;, + 65;3; 0.000000, 6.750000, 0.000000;;, + 66;3; 0.000000, 6.750000, 0.000000;;, + 67;3; 0.000000, 6.750000, 0.000000;;, + 68;3; 0.000000, 6.750000, 0.000000;;, + 69;3; 0.000000, 6.750000,-0.000000;;, + 70;3; 0.000000, 6.750000,-0.000000;;, + 71;3; 0.000000, 6.750000,-0.000000;;, + 72;3; 0.000000, 6.750000,-0.000000;;, + 73;3; 0.000000, 6.749999, 0.000000;;, + 74;3; 0.000000, 6.750000, 0.000000;;, + 75;3; 0.000000, 6.750000, 0.000000;;, + 76;3; -0.000000, 6.750000,-0.000000;;, + 77;3; 0.000000, 6.750000, 0.000000;;, + 78;3; 0.000000, 6.750000,-0.000000;;, + 79;3; 0.000000, 6.750000, 0.000000;;, + 80;3; 0.000000, 6.750000, 0.000000;;, + 81;3; 0.000000, 6.750000,-0.000000;;, + 82;3; 0.000000, 6.750000, 0.000000;;, + 83;3; 0.000000, 6.750000,-0.000000;;, + 84;3; 0.000000, 6.750000, 0.000000;;, + 85;3; -0.000000, 6.750000,-0.000000;;, + 86;3; 0.000000, 6.750000, 0.000000;;, + 87;3; 0.000000, 6.750000,-0.000000;;, + 88;3; 0.000000, 6.750000, 0.000000;;, + 89;3; 0.000000, 6.750000,-0.000000;;, + 90;3; 0.000000, 6.750000,-0.000000;;, + 91;3; 0.000000, 6.750000, 0.000000;;, + 92;3; 0.000000, 6.750000,-0.000000;;, + 93;3; 0.000000, 6.750000,-0.000000;;, + 94;3; 0.000000, 6.750000,-0.000000;;, + 95;3; 0.000000, 6.750000, 0.000000;;, + 96;3; 0.000000, 6.750000,-0.000000;;, + 97;3; 0.000000, 6.750000, 0.000000;;, + 98;3; 0.000000, 6.750000, 0.000000;;, + 99;3; 0.000000, 6.750000,-0.000000;;, + 100;3; 0.000000, 6.750000, 0.000000;;, + 101;3; 0.000000, 6.750000, 0.000000;;, + 102;3; 0.000000, 6.750000,-0.000000;;, + 103;3; 0.000000, 6.750000, 0.000000;;, + 104;3; -0.000000, 6.750000, 0.000000;;, + 105;3; 0.000000, 6.750000, 0.000000;;, + 106;3; 0.000000, 6.750000, 0.000000;;, + 107;3; 0.000000, 6.750000,-0.000000;;, + 108;3; 0.000000, 6.750000, 0.000000;;, + 109;3; 0.000000, 6.750000, 0.000000;;, + 110;3; 0.000000, 6.750000,-0.000000;;, + 111;3; 0.000000, 6.750000,-0.000000;;, + 112;3; 0.000000, 6.750000,-0.000000;;, + 113;3; 0.000000, 6.750000,-0.000000;;, + 114;3; 0.000000, 6.750000, 0.000000;;, + 115;3; 0.000000, 6.750000, 0.000000;;, + 116;3; 0.000000, 6.750000, 0.000000;;, + 117;3; 0.000000, 6.750000,-0.000000;;, + 118;3; 0.000000, 6.750000,-0.000000;;, + 119;3; 0.000000, 6.750000,-0.000000;;, + 120;3; -0.000000, 6.750000, 0.000000;;, + 121;3; 0.000000, 6.750000,-0.000000;;, + 122;3; -0.000000, 6.750000,-0.000000;;, + 123;3; 0.000000, 6.750000,-0.000000;;, + 124;3; 0.000000, 6.750000, 0.000000;;, + 125;3; 0.000000, 6.750000,-0.000000;;, + 126;3; 0.000000, 6.750000, 0.000000;;, + 127;3; 0.000000, 6.750000,-0.000000;;, + 128;3; 0.000000, 6.750000, 0.000000;;, + 129;3; 0.000000, 6.750000,-0.000000;;, + 130;3; 0.000000, 6.750000,-0.000000;;, + 131;3; 0.000000, 6.750000,-0.000000;;, + 132;3; 0.000000, 6.750000,-0.000000;;, + 133;3; 0.000000, 6.750000, 0.000000;;, + 134;3; 0.000000, 6.750000,-0.000000;;, + 135;3; 0.000000, 6.750000, 0.000000;;, + 136;3; 0.000000, 6.750000, 0.000000;;, + 137;3; 0.000000, 6.750000, 0.000000;;, + 138;3; -0.000000, 6.750000, 0.000000;;, + 139;3; 0.000000, 6.750000,-0.000000;;, + 140;3; 0.000000, 6.750000,-0.000000;;, + 141;3; 0.000000, 6.750000, 0.000000;;, + 142;3; 0.000000, 6.750000, 0.000000;;, + 143;3; 0.000000, 6.750000,-0.000000;;, + 144;3; 0.000000, 6.750000, 0.000000;;, + 145;3; 0.000000, 6.750000, 0.000000;;, + 146;3; 0.000000, 6.750000, 0.000000;;, + 147;3; 0.000000, 6.750000,-0.000000;;, + 148;3; 0.000000, 6.750000, 0.000000;;, + 149;3; 0.000000, 6.750000, 0.000000;;, + 150;3; 0.000000, 6.750000,-0.000000;;, + 151;3; 0.000000, 6.750000,-0.000000;;, + 152;3; 0.000000, 6.750000,-0.000000;;, + 153;3; 0.000000, 6.750000,-0.000000;;, + 154;3; 0.000000, 6.750000,-0.000000;;, + 155;3; 0.000000, 6.750000,-0.000000;;, + 156;3; 0.000000, 6.750000,-0.000000;;, + 157;3; -0.000000, 6.750000, 0.000000;;, + 158;3; 0.000000, 6.750000, 0.000000;;, + 159;3; 0.000000, 6.750000,-0.000000;;, + 160;3; 0.000000, 6.750000, 0.000000;;, + 161;3; 0.000000, 6.750000,-0.000000;;, + 162;3; 0.000000, 6.750000, 0.000000;;, + 163;3; 0.000000, 6.750000, 0.000000;;, + 164;3; 0.000000, 6.750000, 0.000000;;, + 165;3; 0.000000, 6.750000, 0.000000;;, + 166;3; 0.000000, 6.750000, 0.000000;;, + 167;3; 0.000000, 6.750000, 0.000000;;, + 168;3; 0.000000, 6.750000, 0.000000;;, + 169;3; 0.000000, 6.750000, 0.000000;;, + 170;3; 0.000000, 6.750000, 0.000000;;, + 171;3; 0.000000, 6.750000, 0.000000;;, + 172;3; 0.000000, 6.750000, 0.000000;;, + 173;3; 0.000000, 6.750000, 0.000000;;, + 174;3; 0.000000, 6.750000, 0.000000;;, + 175;3; 0.000000, 6.750000, 0.000000;;, + 176;3; 0.000000, 6.750000, 0.000000;;, + 177;3; 0.000000, 6.750000, 0.000000;;, + 178;3; 0.000000, 6.750000, 0.000000;;, + 179;3; 0.000000, 6.750000, 0.000000;;, + 180;3; 0.000000, 6.750000, 0.000000;;, + 181;3; 0.000000, 6.750000, 0.000000;;, + 182;3; 0.000000, 6.750000, 0.000000;;, + 183;3; 0.000000, 6.750000, 0.000000;;, + 184;3; 0.000000, 6.750000, 0.000000;;, + 185;3; 0.000000, 6.750000, 0.000000;;, + 186;3; 0.000000, 6.750000, 0.000000;;, + 187;3; 0.000000, 6.750000, 0.000000;;, + 188;3; 0.000000, 6.750000, 0.000000;;, + 189;3; 0.000000, 6.750000, 0.000000;;, + 190;3; 0.000000, 6.750000,-0.000000;;, + 191;3; 0.000000, 6.750000, 0.000000;;, + 192;3; 0.000000, 6.749999,-0.000000;;, + 193;3; 0.000000, 6.750000, 0.000000;;, + 194;3; 0.000000, 6.750000, 0.000000;;, + 195;3; 0.000000, 6.750000, 0.000000;;, + 196;3; 0.000000, 6.749999, 0.000000;;, + 197;3; 0.000000, 6.750000, 0.000000;;, + 198;3; 0.000000, 6.750000, 0.000000;;, + 199;3; 0.000000, 6.750000, 0.000000;;, + 200;3; 0.000000, 6.750000, 0.000000;;, + 201;3; 0.000000, 6.750000, 0.000000;;, + 202;3; 0.000000, 6.750000,-0.000000;;, + 203;3; 0.000000, 6.750000, 0.000000;;, + 204;3; 0.000000, 6.750000, 0.000000;;, + 205;3; 0.000000, 6.750000, 0.000000;;, + 206;3; -0.000000, 6.750000, 0.000000;;, + 207;3; 0.000000, 6.750000, 0.000000;;, + 208;3; -0.000000, 6.750000, 0.000000;;, + 209;3; 0.000000, 6.750000,-0.000000;;, + 210;3; 0.000000, 6.750000, 0.000000;;, + 211;3; 0.000000, 6.750000,-0.000000;;, + 212;3; -0.000000, 6.750000, 0.000000;;, + 213;3; 0.000000, 6.750000, 0.000000;;, + 214;3; -0.000000, 6.750000, 0.000000;;, + 215;3; 0.000000, 6.750000, 0.000000;;, + 216;3; 0.000000, 6.750000, 0.000000;;, + 217;3; 0.000000, 6.749999, 0.000000;;, + 218;3; 0.000000, 6.750000, 0.000000;;, + 219;3; 0.000000, 6.750000, 0.000000;;, + 220;3; 0.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 1;4; -0.000120,-0.000005, 0.999993,-0.000240;;, + 2;4; -0.000483,-0.000021, 0.999974,-0.000967;;, + 3;4; -0.001090,-0.000048, 0.999941,-0.002181;;, + 4;4; -0.001937,-0.000085, 0.999894,-0.003876;;, + 5;4; -0.003014,-0.000132, 0.999835,-0.006030;;, + 6;4; -0.004301,-0.000188, 0.999765,-0.008607;;, + 7;4; -0.005773,-0.000252, 0.999685,-0.011553;;, + 8;4; -0.007394,-0.000323, 0.999596,-0.014795;;, + 9;4; -0.009118,-0.000398, 0.999502,-0.018246;;, + 10;4; -0.010897,-0.000476, 0.999405,-0.021804;;, + 11;4; -0.012675,-0.000553, 0.999308,-0.025363;;, + 12;4; -0.014400,-0.000629, 0.999214,-0.028814;;, + 13;4; -0.016021,-0.000699, 0.999126,-0.032056;;, + 14;4; -0.017493,-0.000764, 0.999045,-0.035002;;, + 15;4; -0.018780,-0.000820, 0.998975,-0.037578;;, + 16;4; -0.019857,-0.000867, 0.998916,-0.039733;;, + 17;4; -0.020704,-0.000904, 0.998870,-0.041427;;, + 18;4; -0.021311,-0.000930, 0.998837,-0.042642;;, + 19;4; -0.021674,-0.000946, 0.998817,-0.043369;;, + 20;4; -0.021794,-0.000952, 0.998811,-0.043609;;, + 21;4; -0.021720,-0.000948, 0.998817,-0.043369;;, + 22;4; -0.021494,-0.000938, 0.998837,-0.042642;;, + 23;4; -0.021108,-0.000922, 0.998870,-0.041427;;, + 24;4; -0.020560,-0.000898, 0.998916,-0.039733;;, + 25;4; -0.019848,-0.000867, 0.998975,-0.037578;;, + 26;4; -0.018975,-0.000828, 0.999045,-0.035002;;, + 27;4; -0.017947,-0.000784, 0.999126,-0.032056;;, + 28;4; -0.016778,-0.000733, 0.999214,-0.028814;;, + 29;4; -0.015484,-0.000676, 0.999308,-0.025363;;, + 30;4; -0.014088,-0.000615, 0.999405,-0.021804;;, + 31;4; -0.012616,-0.000551, 0.999502,-0.018246;;, + 32;4; -0.011095,-0.000484, 0.999597,-0.014795;;, + 33;4; -0.009555,-0.000417, 0.999685,-0.011553;;, + 34;4; -0.008021,-0.000350, 0.999765,-0.008607;;, + 35;4; -0.006517,-0.000285, 0.999835,-0.006030;;, + 36;4; -0.005062,-0.000221, 0.999894,-0.003876;;, + 37;4; -0.003674,-0.000160, 0.999941,-0.002181;;, + 38;4; -0.002362,-0.000103, 0.999974,-0.000967;;, + 39;4; -0.001136,-0.000050, 0.999994,-0.000240;;, + 40;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 41;4; 0.001136, 0.000050, 0.999993,-0.000240;;, + 42;4; 0.002362, 0.000103, 0.999974,-0.000967;;, + 43;4; 0.003674, 0.000160, 0.999941,-0.002181;;, + 44;4; 0.005062, 0.000221, 0.999894,-0.003876;;, + 45;4; 0.006517, 0.000285, 0.999835,-0.006030;;, + 46;4; 0.008021, 0.000350, 0.999765,-0.008607;;, + 47;4; 0.009555, 0.000417, 0.999685,-0.011553;;, + 48;4; 0.011095, 0.000484, 0.999596,-0.014795;;, + 49;4; 0.012616, 0.000551, 0.999502,-0.018246;;, + 50;4; 0.014088, 0.000615, 0.999405,-0.021804;;, + 51;4; 0.015484, 0.000676, 0.999308,-0.025363;;, + 52;4; 0.016778, 0.000733, 0.999214,-0.028814;;, + 53;4; 0.017947, 0.000784, 0.999126,-0.032056;;, + 54;4; 0.018975, 0.000828, 0.999045,-0.035002;;, + 55;4; 0.019848, 0.000867, 0.998975,-0.037578;;, + 56;4; 0.020560, 0.000898, 0.998916,-0.039733;;, + 57;4; 0.021108, 0.000922, 0.998870,-0.041427;;, + 58;4; 0.021494, 0.000938, 0.998837,-0.042642;;, + 59;4; 0.021720, 0.000948, 0.998817,-0.043369;;, + 60;4; 0.021794, 0.000952, 0.998811,-0.043609;;, + 61;4; 0.021681, 0.000947, 0.998817,-0.043383;;, + 62;4; 0.021364, 0.000933, 0.998834,-0.042748;;, + 63;4; 0.020870, 0.000911, 0.998861,-0.041759;;, + 64;4; 0.020221, 0.000883, 0.998896,-0.040461;;, + 65;4; 0.019436, 0.000849, 0.998939,-0.038890;;, + 66;4; 0.018529, 0.000809, 0.998989,-0.037076;;, + 67;4; 0.017514, 0.000765, 0.999044,-0.035045;;, + 68;4; 0.016402, 0.000716, 0.999105,-0.032820;;, + 69;4; 0.015204, 0.000664, 0.999170,-0.030422;;, + 70;4; 0.013928, 0.000608, 0.999240,-0.027869;;, + 71;4; 0.012583, 0.000549, 0.999313,-0.025178;;, + 72;4; 0.011179, 0.000488, 0.999390,-0.022368;;, + 73;4; 0.009723, 0.000425, 0.999469,-0.019456;;, + 74;4; 0.008227, 0.000359, 0.999551,-0.016461;;, + 75;4; 0.006701, 0.000293, 0.999634,-0.013408;;, + 76;4; 0.005161, 0.000225, 0.999718,-0.010327;;, + 77;4; 0.003631, 0.000159, 0.999802,-0.007266;;, + 78;4; 0.002152, 0.000094, 0.999883,-0.004305;;, + 79;4; 0.000815, 0.000036, 0.999956,-0.001631;;, + 80;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 81;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 82;4; -0.000815,-0.000036, 0.999956,-0.001631;;, + 83;4; -0.002152,-0.000094, 0.999883,-0.004305;;, + 84;4; -0.003631,-0.000159, 0.999802,-0.007266;;, + 85;4; -0.005161,-0.000225, 0.999718,-0.010327;;, + 86;4; -0.006701,-0.000293, 0.999634,-0.013408;;, + 87;4; -0.008226,-0.000359, 0.999551,-0.016461;;, + 88;4; -0.009723,-0.000425, 0.999469,-0.019456;;, + 89;4; -0.011179,-0.000488, 0.999390,-0.022368;;, + 90;4; -0.012583,-0.000549, 0.999313,-0.025178;;, + 91;4; -0.013928,-0.000608, 0.999240,-0.027869;;, + 92;4; -0.015204,-0.000664, 0.999170,-0.030422;;, + 93;4; -0.016402,-0.000716, 0.999105,-0.032820;;, + 94;4; -0.017514,-0.000765, 0.999044,-0.035045;;, + 95;4; -0.018529,-0.000809, 0.998989,-0.037076;;, + 96;4; -0.019436,-0.000849, 0.998939,-0.038890;;, + 97;4; -0.020221,-0.000883, 0.998896,-0.040461;;, + 98;4; -0.020870,-0.000911, 0.998861,-0.041759;;, + 99;4; -0.021364,-0.000933, 0.998834,-0.042748;;, + 100;4; -0.021681,-0.000947, 0.998817,-0.043383;;, + 101;4; -0.021794,-0.000952, 0.998811,-0.043609;;, + 102;4; -0.021720,-0.000948, 0.998817,-0.043369;;, + 103;4; -0.021494,-0.000938, 0.998837,-0.042642;;, + 104;4; -0.021108,-0.000922, 0.998870,-0.041427;;, + 105;4; -0.020560,-0.000898, 0.998916,-0.039733;;, + 106;4; -0.019848,-0.000867, 0.998975,-0.037578;;, + 107;4; -0.018975,-0.000828, 0.999045,-0.035002;;, + 108;4; -0.017947,-0.000784, 0.999126,-0.032056;;, + 109;4; -0.016778,-0.000733, 0.999214,-0.028814;;, + 110;4; -0.015484,-0.000676, 0.999308,-0.025363;;, + 111;4; -0.014088,-0.000615, 0.999405,-0.021804;;, + 112;4; -0.012616,-0.000551, 0.999502,-0.018246;;, + 113;4; -0.011095,-0.000484, 0.999597,-0.014795;;, + 114;4; -0.009555,-0.000417, 0.999685,-0.011553;;, + 115;4; -0.008021,-0.000350, 0.999765,-0.008607;;, + 116;4; -0.006517,-0.000285, 0.999835,-0.006030;;, + 117;4; -0.005062,-0.000221, 0.999894,-0.003876;;, + 118;4; -0.003674,-0.000160, 0.999941,-0.002181;;, + 119;4; -0.002362,-0.000103, 0.999974,-0.000967;;, + 120;4; -0.001136,-0.000050, 0.999994,-0.000240;;, + 121;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 122;4; 0.001136, 0.000050, 0.999993,-0.000240;;, + 123;4; 0.002362, 0.000103, 0.999974,-0.000967;;, + 124;4; 0.003674, 0.000160, 0.999941,-0.002181;;, + 125;4; 0.005062, 0.000221, 0.999894,-0.003876;;, + 126;4; 0.006517, 0.000285, 0.999835,-0.006030;;, + 127;4; 0.008021, 0.000350, 0.999765,-0.008607;;, + 128;4; 0.009555, 0.000417, 0.999685,-0.011553;;, + 129;4; 0.011095, 0.000484, 0.999596,-0.014795;;, + 130;4; 0.012616, 0.000551, 0.999502,-0.018246;;, + 131;4; 0.014088, 0.000615, 0.999405,-0.021804;;, + 132;4; 0.015484, 0.000676, 0.999308,-0.025363;;, + 133;4; 0.016778, 0.000733, 0.999214,-0.028814;;, + 134;4; 0.017947, 0.000784, 0.999126,-0.032056;;, + 135;4; 0.018975, 0.000828, 0.999045,-0.035002;;, + 136;4; 0.019848, 0.000867, 0.998975,-0.037578;;, + 137;4; 0.020560, 0.000898, 0.998916,-0.039733;;, + 138;4; 0.021109, 0.000922, 0.998870,-0.041427;;, + 139;4; 0.021494, 0.000938, 0.998837,-0.042642;;, + 140;4; 0.021720, 0.000948, 0.998817,-0.043369;;, + 141;4; 0.021794, 0.000952, 0.998811,-0.043609;;, + 142;4; 0.021681, 0.000947, 0.998817,-0.043383;;, + 143;4; 0.021364, 0.000933, 0.998834,-0.042748;;, + 144;4; 0.020870, 0.000911, 0.998861,-0.041759;;, + 145;4; 0.020221, 0.000883, 0.998896,-0.040461;;, + 146;4; 0.019436, 0.000849, 0.998939,-0.038890;;, + 147;4; 0.018529, 0.000809, 0.998989,-0.037076;;, + 148;4; 0.017514, 0.000765, 0.999044,-0.035045;;, + 149;4; 0.016402, 0.000716, 0.999105,-0.032820;;, + 150;4; 0.015204, 0.000664, 0.999170,-0.030422;;, + 151;4; 0.013928, 0.000608, 0.999240,-0.027869;;, + 152;4; 0.012583, 0.000549, 0.999313,-0.025178;;, + 153;4; 0.011179, 0.000488, 0.999390,-0.022368;;, + 154;4; 0.009723, 0.000425, 0.999469,-0.019456;;, + 155;4; 0.008227, 0.000359, 0.999551,-0.016461;;, + 156;4; 0.006701, 0.000293, 0.999634,-0.013408;;, + 157;4; 0.005161, 0.000225, 0.999718,-0.010327;;, + 158;4; 0.003631, 0.000159, 0.999802,-0.007266;;, + 159;4; 0.002152, 0.000094, 0.999883,-0.004305;;, + 160;4; 0.000815, 0.000036, 0.999956,-0.001631;;, + 161;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 162;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 163;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 164;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 165;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 166;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 167;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 168;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 169;4; 0.003877,-0.000000, 0.999915, 0.000000;;, + 170;4; 0.014799,-0.000000, 0.999677, 0.000000;;, + 171;4; 0.028821,-0.000000, 0.999371, 0.000000;;, + 172;4; 0.039742,-0.000000, 0.999133, 0.000000;;, + 173;4; 0.043619, 0.000000, 0.999048, 0.000000;;, + 174;4; 0.041150, 0.000000, 0.999133, 0.000000;;, + 175;4; 0.033580,-0.000000, 0.999371, 0.000000;;, + 176;4; 0.022207,-0.000000, 0.999677, 0.000000;;, + 177;4; 0.010132,-0.000000, 0.999915, 0.000000;;, + 178;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 179;4; -0.010132, 0.000000, 0.999915, 0.000000;;, + 180;4; -0.022206, 0.000000, 0.999677, 0.000000;;, + 181;4; -0.033580, 0.000000, 0.999371, 0.000000;;, + 182;4; -0.041150,-0.000000, 0.999133, 0.000000;;, + 183;4; -0.043619, 0.000000, 0.999048, 0.000000;;, + 184;4; -0.039742, 0.000000, 0.999133, 0.000000;;, + 185;4; -0.028821, 0.000000, 0.999371, 0.000000;;, + 186;4; -0.014798, 0.000000, 0.999677, 0.000000;;, + 187;4; -0.003877, 0.000000, 0.999915, 0.000000;;, + 188;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 189;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 190;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 191;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 192;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 193;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 194;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 195;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 196;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 197;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 198;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 199;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 200;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 201;4; 0.003877,-0.000000, 0.999915, 0.000000;;, + 202;4; 0.014799,-0.000000, 0.999677, 0.000000;;, + 203;4; 0.028821,-0.000000, 0.999371, 0.000000;;, + 204;4; 0.039742,-0.000000, 0.999133, 0.000000;;, + 205;4; 0.043619, 0.000000, 0.999048, 0.000000;;, + 206;4; 0.041150, 0.000000, 0.999133, 0.000000;;, + 207;4; 0.033580,-0.000000, 0.999371, 0.000000;;, + 208;4; 0.022207,-0.000000, 0.999677, 0.000000;;, + 209;4; 0.010132,-0.000000, 0.999915, 0.000000;;, + 210;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 211;4; -0.010132, 0.000000, 0.999915, 0.000000;;, + 212;4; -0.022206, 0.000000, 0.999677, 0.000000;;, + 213;4; -0.033580, 0.000000, 0.999371, 0.000000;;, + 214;4; -0.041150,-0.000000, 0.999133, 0.000000;;, + 215;4; -0.043619, 0.000000, 0.999048, 0.000000;;, + 216;4; -0.039742, 0.000000, 0.999133, 0.000000;;, + 217;4; -0.028821, 0.000000, 0.999371, 0.000000;;, + 218;4; -0.014799, 0.000000, 0.999677, 0.000000;;, + 219;4; -0.003877, 0.000000, 0.999915, 0.000000;;, + 220;4; 0.000000, 0.000000, 1.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Arm_Left} + AnimationKey { //Position + 2; + 221; + 0;3; -2.000000, 6.750000, 0.000000;;, + 1;3; -2.000000, 6.750000, 0.000000;;, + 2;3; -2.000000, 6.750000, 0.000000;;, + 3;3; -2.000000, 6.750000, 0.000000;;, + 4;3; -2.000000, 6.750000, 0.000000;;, + 5;3; -2.000000, 6.750000, 0.000000;;, + 6;3; -2.000000, 6.750000, 0.000000;;, + 7;3; -2.000000, 6.750000,-0.000000;;, + 8;3; -2.000000, 6.750000,-0.000000;;, + 9;3; -2.000000, 6.750000, 0.000000;;, + 10;3; -2.000000, 6.750000,-0.000000;;, + 11;3; -2.000000, 6.750000, 0.000000;;, + 12;3; -2.000000, 6.750000, 0.000000;;, + 13;3; -2.000000, 6.750000, 0.000000;;, + 14;3; -2.000000, 6.750000,-0.000000;;, + 15;3; -2.000000, 6.750000,-0.000000;;, + 16;3; -2.000000, 6.750000, 0.000000;;, + 17;3; -2.000000, 6.750001,-0.000000;;, + 18;3; -2.000000, 6.750000, 0.000000;;, + 19;3; -2.000000, 6.750000, 0.000000;;, + 20;3; -2.000000, 6.750000, 0.000000;;, + 21;3; -2.000000, 6.750000, 0.000000;;, + 22;3; -2.000000, 6.750000, 0.000000;;, + 23;3; -2.000000, 6.750001,-0.000000;;, + 24;3; -2.000000, 6.750000, 0.000000;;, + 25;3; -2.000000, 6.750000, 0.000000;;, + 26;3; -2.000000, 6.750000,-0.000000;;, + 27;3; -2.000000, 6.750000, 0.000000;;, + 28;3; -2.000000, 6.750000, 0.000000;;, + 29;3; -2.000000, 6.750000, 0.000000;;, + 30;3; -2.000000, 6.750000, 0.000000;;, + 31;3; -2.000000, 6.750000, 0.000000;;, + 32;3; -2.000000, 6.750000,-0.000000;;, + 33;3; -2.000000, 6.750000,-0.000000;;, + 34;3; -2.000000, 6.750000, 0.000000;;, + 35;3; -2.000000, 6.750000, 0.000000;;, + 36;3; -2.000000, 6.750000,-0.000000;;, + 37;3; -2.000000, 6.750000, 0.000000;;, + 38;3; -2.000000, 6.750000, 0.000000;;, + 39;3; -2.000000, 6.750000, 0.000000;;, + 40;3; -2.000000, 6.750000, 0.000000;;, + 41;3; -2.000000, 6.750000, 0.000000;;, + 42;3; -2.000000, 6.750000, 0.000000;;, + 43;3; -2.000000, 6.750000, 0.000000;;, + 44;3; -2.000000, 6.750000, 0.000000;;, + 45;3; -2.000000, 6.750000, 0.000000;;, + 46;3; -2.000000, 6.750000,-0.000000;;, + 47;3; -2.000000, 6.750000, 0.000000;;, + 48;3; -2.000000, 6.750000, 0.000000;;, + 49;3; -2.000000, 6.750000, 0.000000;;, + 50;3; -2.000000, 6.750000,-0.000000;;, + 51;3; -2.000000, 6.750000, 0.000000;;, + 52;3; -2.000000, 6.750000, 0.000000;;, + 53;3; -2.000000, 6.750000, 0.000000;;, + 54;3; -2.000000, 6.750000, 0.000000;;, + 55;3; -2.000000, 6.750000,-0.000000;;, + 56;3; -2.000000, 6.750000, 0.000000;;, + 57;3; -2.000000, 6.750001,-0.000000;;, + 58;3; -2.000000, 6.750000, 0.000000;;, + 59;3; -2.000000, 6.750000, 0.000000;;, + 60;3; -2.000000, 6.750000, 0.000000;;, + 61;3; -2.000000, 6.750000, 0.000000;;, + 62;3; -2.000000, 6.750000, 0.000000;;, + 63;3; -2.000000, 6.750000,-0.000000;;, + 64;3; -2.000000, 6.750000, 0.000000;;, + 65;3; -2.000000, 6.750000, 0.000000;;, + 66;3; -2.000000, 6.750000, 0.000000;;, + 67;3; -2.000000, 6.750000, 0.000000;;, + 68;3; -2.000000, 6.750000, 0.000000;;, + 69;3; -2.000000, 6.750000,-0.000000;;, + 70;3; -2.000000, 6.750000,-0.000000;;, + 71;3; -2.000000, 6.750000,-0.000000;;, + 72;3; -2.000000, 6.750000,-0.000000;;, + 73;3; -2.000000, 6.749999, 0.000000;;, + 74;3; -2.000000, 6.750000, 0.000000;;, + 75;3; -2.000000, 6.750000, 0.000000;;, + 76;3; -2.000000, 6.750000,-0.000000;;, + 77;3; -2.000000, 6.750000, 0.000000;;, + 78;3; -2.000000, 6.750000,-0.000000;;, + 79;3; -2.000000, 6.750000, 0.000000;;, + 80;3; -2.000000, 6.750000, 0.000000;;, + 81;3; -2.000000, 6.750000,-0.000000;;, + 82;3; -2.000000, 6.750000, 0.000000;;, + 83;3; -2.000000, 6.750000,-0.000000;;, + 84;3; -2.000000, 6.750000, 0.000000;;, + 85;3; -2.000000, 6.750000,-0.000000;;, + 86;3; -2.000000, 6.750000, 0.000000;;, + 87;3; -2.000000, 6.750000,-0.000000;;, + 88;3; -2.000000, 6.750000, 0.000000;;, + 89;3; -2.000000, 6.750000,-0.000000;;, + 90;3; -2.000000, 6.750000,-0.000000;;, + 91;3; -2.000000, 6.750000, 0.000000;;, + 92;3; -2.000000, 6.750000,-0.000000;;, + 93;3; -2.000000, 6.750000,-0.000000;;, + 94;3; -2.000000, 6.750000,-0.000000;;, + 95;3; -2.000000, 6.750000, 0.000000;;, + 96;3; -2.000000, 6.750000,-0.000000;;, + 97;3; -2.000000, 6.750000, 0.000000;;, + 98;3; -2.000000, 6.750000, 0.000000;;, + 99;3; -2.000000, 6.750000,-0.000000;;, + 100;3; -2.000000, 6.750000, 0.000000;;, + 101;3; -2.000000, 6.750000, 0.000000;;, + 102;3; -2.000000, 6.750000,-0.000000;;, + 103;3; -2.000000, 6.750000, 0.000000;;, + 104;3; -2.000000, 6.750000, 0.000000;;, + 105;3; -2.000000, 6.750000, 0.000000;;, + 106;3; -2.000000, 6.750000, 0.000000;;, + 107;3; -2.000000, 6.750000,-0.000000;;, + 108;3; -2.000000, 6.750000, 0.000000;;, + 109;3; -2.000000, 6.750000, 0.000000;;, + 110;3; -2.000000, 6.750000,-0.000000;;, + 111;3; -2.000000, 6.750000,-0.000000;;, + 112;3; -2.000000, 6.750000,-0.000000;;, + 113;3; -2.000000, 6.750000,-0.000000;;, + 114;3; -2.000000, 6.750000, 0.000000;;, + 115;3; -2.000000, 6.750000, 0.000000;;, + 116;3; -2.000000, 6.750000, 0.000000;;, + 117;3; -2.000000, 6.750000,-0.000000;;, + 118;3; -2.000000, 6.750000,-0.000000;;, + 119;3; -2.000000, 6.750000,-0.000000;;, + 120;3; -2.000000, 6.750000, 0.000000;;, + 121;3; -2.000000, 6.750000,-0.000000;;, + 122;3; -2.000000, 6.750000,-0.000000;;, + 123;3; -2.000000, 6.750000,-0.000000;;, + 124;3; -2.000000, 6.750000, 0.000000;;, + 125;3; -2.000000, 6.750000,-0.000000;;, + 126;3; -2.000000, 6.750000, 0.000000;;, + 127;3; -2.000000, 6.750000,-0.000000;;, + 128;3; -2.000000, 6.750000, 0.000000;;, + 129;3; -2.000000, 6.750000,-0.000000;;, + 130;3; -2.000000, 6.750000,-0.000000;;, + 131;3; -2.000000, 6.750000,-0.000000;;, + 132;3; -2.000000, 6.750000,-0.000000;;, + 133;3; -2.000000, 6.750000, 0.000000;;, + 134;3; -2.000000, 6.750000,-0.000000;;, + 135;3; -2.000000, 6.750000, 0.000000;;, + 136;3; -2.000000, 6.750000, 0.000000;;, + 137;3; -2.000000, 6.750000, 0.000000;;, + 138;3; -2.000000, 6.750000, 0.000000;;, + 139;3; -2.000000, 6.750000,-0.000000;;, + 140;3; -2.000000, 6.750000,-0.000000;;, + 141;3; -2.000000, 6.750000, 0.000000;;, + 142;3; -2.000000, 6.750000, 0.000000;;, + 143;3; -2.000000, 6.750000,-0.000000;;, + 144;3; -2.000000, 6.750000, 0.000000;;, + 145;3; -2.000000, 6.750000, 0.000000;;, + 146;3; -2.000000, 6.750000, 0.000000;;, + 147;3; -2.000000, 6.750000,-0.000000;;, + 148;3; -2.000000, 6.750000, 0.000000;;, + 149;3; -2.000000, 6.750000, 0.000000;;, + 150;3; -2.000000, 6.750000,-0.000000;;, + 151;3; -2.000000, 6.750000,-0.000000;;, + 152;3; -2.000000, 6.750000,-0.000000;;, + 153;3; -2.000000, 6.750000,-0.000000;;, + 154;3; -2.000000, 6.750000,-0.000000;;, + 155;3; -2.000000, 6.750000,-0.000000;;, + 156;3; -2.000000, 6.750000,-0.000000;;, + 157;3; -2.000000, 6.750000, 0.000000;;, + 158;3; -2.000000, 6.750000, 0.000000;;, + 159;3; -2.000000, 6.750000,-0.000000;;, + 160;3; -2.000000, 6.750000, 0.000000;;, + 161;3; -2.000000, 6.750000,-0.000000;;, + 162;3; -2.000000, 6.750000, 0.000000;;, + 163;3; -2.000000, 6.750000, 0.000000;;, + 164;3; -2.000000, 6.750000, 0.000000;;, + 165;3; -2.000000, 6.750000, 0.000000;;, + 166;3; -2.000000, 6.750000, 0.000000;;, + 167;3; -2.000000, 6.750000, 0.000000;;, + 168;3; -2.000000, 6.750000, 0.000000;;, + 169;3; -2.000000, 6.750000, 0.000000;;, + 170;3; -2.000000, 6.750000, 0.000000;;, + 171;3; -2.000000, 6.750000, 0.000000;;, + 172;3; -2.000000, 6.750000, 0.000000;;, + 173;3; -2.000000, 6.750000, 0.000000;;, + 174;3; -2.000000, 6.750000, 0.000000;;, + 175;3; -2.000000, 6.750000, 0.000000;;, + 176;3; -2.000000, 6.750000, 0.000000;;, + 177;3; -2.000000, 6.750000, 0.000000;;, + 178;3; -2.000000, 6.750000, 0.000000;;, + 179;3; -2.000000, 6.750000, 0.000000;;, + 180;3; -2.000000, 6.750000, 0.000000;;, + 181;3; -2.000000, 6.750000, 0.000000;;, + 182;3; -2.000000, 6.750000, 0.000000;;, + 183;3; -2.000000, 6.750000, 0.000000;;, + 184;3; -2.000000, 6.750000, 0.000000;;, + 185;3; -2.000000, 6.750000, 0.000000;;, + 186;3; -2.000000, 6.750000, 0.000000;;, + 187;3; -2.000000, 6.750000, 0.000000;;, + 188;3; -2.000000, 6.750000, 0.000000;;, + 189;3; -2.000000, 6.750000, 0.000000;;, + 190;3; -2.000000, 6.750000,-0.000000;;, + 191;3; -2.000000, 6.750000, 0.000000;;, + 192;3; -2.000000, 6.749999,-0.000000;;, + 193;3; -2.000000, 6.750000, 0.000000;;, + 194;3; -2.000000, 6.750000, 0.000000;;, + 195;3; -2.000000, 6.750000, 0.000000;;, + 196;3; -2.000000, 6.749999, 0.000000;;, + 197;3; -2.000000, 6.750000, 0.000000;;, + 198;3; -2.000000, 6.750000, 0.000000;;, + 199;3; -2.000000, 6.750000, 0.000000;;, + 200;3; -2.000000, 6.750000, 0.000000;;, + 201;3; -2.000000, 6.750000, 0.000000;;, + 202;3; -2.000000, 6.750000,-0.000000;;, + 203;3; -2.000000, 6.750000, 0.000000;;, + 204;3; -2.000000, 6.750000, 0.000000;;, + 205;3; -2.000000, 6.750000, 0.000000;;, + 206;3; -2.000000, 6.750000, 0.000000;;, + 207;3; -2.000000, 6.750000, 0.000000;;, + 208;3; -2.000000, 6.750000, 0.000000;;, + 209;3; -2.000000, 6.750000,-0.000000;;, + 210;3; -2.000000, 6.750000, 0.000000;;, + 211;3; -2.000000, 6.750000,-0.000000;;, + 212;3; -2.000000, 6.750000, 0.000000;;, + 213;3; -2.000000, 6.750000, 0.000000;;, + 214;3; -2.000000, 6.750000, 0.000000;;, + 215;3; -2.000000, 6.750000, 0.000000;;, + 216;3; -2.000000, 6.750000, 0.000000;;, + 217;3; -2.000000, 6.749999, 0.000000;;, + 218;3; -2.000000, 6.750000, 0.000000;;, + 219;3; -2.000000, 6.750000, 0.000000;;, + 220;3; -2.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 1;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 2;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 3;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 4;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 5;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 6;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 7;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 8;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 9;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 10;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 11;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 12;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 13;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 14;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 15;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 16;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 17;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 18;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 19;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 20;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 21;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 22;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 23;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 24;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 25;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 26;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 27;4; 0.028628,-0.996493, 0.071675, 0.025988;;, + 28;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 29;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 30;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 31;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 32;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 33;4; 0.009691,-0.997009, 0.071980, 0.018122;;, + 34;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 35;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 36;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 37;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 38;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 39;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 40;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 41;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 42;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 43;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 44;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 45;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 46;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 47;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 48;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 49;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 50;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 51;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 52;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 53;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 54;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 55;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 56;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 57;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 58;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 59;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 60;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 61;4; 0.039088,-0.996207, 0.071507, 0.030333;;, + 62;4; 0.038502,-0.996223, 0.071516, 0.030089;;, + 63;4; 0.037589,-0.996248, 0.071531, 0.029710;;, + 64;4; 0.036390,-0.996281, 0.071550, 0.029212;;, + 65;4; 0.034939,-0.996320, 0.071574, 0.028609;;, + 66;4; 0.033263,-0.996366, 0.071601, 0.027913;;, + 67;4; 0.031388,-0.996417, 0.071631, 0.027134;;, + 68;4; 0.029333,-0.996473, 0.071664, 0.026281;;, + 69;4; 0.027118,-0.996534, 0.071700, 0.025361;;, + 70;4; 0.024760,-0.996598, 0.071738, 0.024381;;, + 71;4; 0.022276,-0.996666, 0.071778, 0.023349;;, + 72;4; 0.019680,-0.996736, 0.071819, 0.022271;;, + 73;4; 0.016990,-0.996810, 0.071863, 0.021154;;, + 74;4; 0.014225,-0.996885, 0.071907, 0.020005;;, + 75;4; 0.011405,-0.996962, 0.071953, 0.018834;;, + 76;4; 0.008560,-0.997039, 0.071999, 0.017652;;, + 77;4; 0.005732,-0.997116, 0.072044, 0.016478;;, + 78;4; 0.002998,-0.997191, 0.072088, 0.015342;;, + 79;4; 0.000529,-0.997258, 0.072128, 0.014316;;, + 80;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 81;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 82;4; 0.000529,-0.997258, 0.072128, 0.014316;;, + 83;4; 0.002998,-0.997191, 0.072088, 0.015342;;, + 84;4; 0.005732,-0.997116, 0.072044, 0.016478;;, + 85;4; 0.008560,-0.997039, 0.071999, 0.017652;;, + 86;4; 0.011405,-0.996962, 0.071953, 0.018834;;, + 87;4; 0.014225,-0.996885, 0.071907, 0.020005;;, + 88;4; 0.016990,-0.996810, 0.071863, 0.021154;;, + 89;4; 0.019680,-0.996736, 0.071819, 0.022271;;, + 90;4; 0.022276,-0.996666, 0.071778, 0.023349;;, + 91;4; 0.024760,-0.996598, 0.071738, 0.024381;;, + 92;4; 0.027118,-0.996534, 0.071700, 0.025361;;, + 93;4; 0.029333,-0.996473, 0.071664, 0.026281;;, + 94;4; 0.031388,-0.996417, 0.071631, 0.027134;;, + 95;4; 0.033263,-0.996366, 0.071601, 0.027913;;, + 96;4; 0.034939,-0.996320, 0.071574, 0.028609;;, + 97;4; 0.036390,-0.996281, 0.071550, 0.029212;;, + 98;4; 0.037589,-0.996248, 0.071531, 0.029710;;, + 99;4; 0.038502,-0.996223, 0.071516, 0.030089;;, + 100;4; 0.039088,-0.996207, 0.071507, 0.030333;;, + 101;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 102;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 103;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 104;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 105;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 106;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 107;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 108;4; 0.028628,-0.996493, 0.071675, 0.025988;;, + 109;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 110;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 111;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 112;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 113;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 114;4; 0.009691,-0.997009, 0.071980, 0.018122;;, + 115;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 116;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 117;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 118;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 119;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 120;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 121;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 122;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 123;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 124;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 125;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 126;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 127;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 128;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 129;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 130;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 131;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 132;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 133;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 134;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 135;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 136;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 137;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 138;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 139;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 140;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 141;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 142;4; 0.039128,-0.996207, 0.071506, 0.030336;;, + 143;4; 0.038651,-0.996223, 0.071514, 0.030100;;, + 144;4; 0.037905,-0.996248, 0.071527, 0.029733;;, + 145;4; 0.036918,-0.996281, 0.071543, 0.029250;;, + 146;4; 0.035716,-0.996321, 0.071563, 0.028665;;, + 147;4; 0.034318,-0.996367, 0.071586, 0.027990;;, + 148;4; 0.032740,-0.996419, 0.071612, 0.027232;;, + 149;4; 0.030996,-0.996475, 0.071641, 0.026401;;, + 150;4; 0.029097,-0.996535, 0.071672, 0.025504;;, + 151;4; 0.027052,-0.996600, 0.071706, 0.024547;;, + 152;4; 0.024869,-0.996668, 0.071742, 0.023537;;, + 153;4; 0.022553,-0.996739, 0.071780, 0.022479;;, + 154;4; 0.020108,-0.996813, 0.071820, 0.021379;;, + 155;4; 0.017538,-0.996888, 0.071862, 0.020245;;, + 156;4; 0.014842,-0.996965, 0.071906, 0.019082;;, + 157;4; 0.012018,-0.997043, 0.071951, 0.017902;;, + 158;4; 0.009059,-0.997120, 0.071998, 0.016718;;, + 159;4; 0.005950,-0.997194, 0.072048, 0.015556;;, + 160;4; 0.002652,-0.997260, 0.072099, 0.014470;;, + 161;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 162;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 163;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 164;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 165;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 166;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 167;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 168;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 169;4; -0.027462,-0.993490, 0.067048, 0.017181;;, + 170;4; -0.101886,-0.981969, 0.063627, 0.027024;;, + 171;4; -0.197381,-0.966977, 0.061971, 0.039667;;, + 172;4; -0.271737,-0.955241, 0.061528, 0.049515;;, + 173;4; -0.298135,-0.951063, 0.061515, 0.053011;;, + 174;4; -0.281310,-0.955156, 0.062329, 0.050806;;, + 175;4; -0.229756,-0.966690, 0.064679, 0.044029;;, + 176;4; -0.152309,-0.981521, 0.067851, 0.033813;;, + 177;4; -0.070037,-0.993111, 0.070622, 0.022912;;, + 178;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 179;4; 0.068097,-0.993364, 0.072517, 0.004357;;, + 180;4; 0.150414,-0.982075, 0.072004,-0.006858;;, + 181;4; 0.227918,-0.967529, 0.070960,-0.017477;;, + 182;4; 0.279517,-0.956183, 0.070026,-0.024568;;, + 183;4; 0.296358,-0.952153, 0.069674,-0.026885;;, + 184;4; 0.269932,-0.956166, 0.069894,-0.023278;;, + 185;4; 0.195505,-0.967469, 0.070514,-0.013118;;, + 186;4; 0.099930,-0.981983, 0.071311,-0.000073;;, + 187;4; 0.025468,-0.993286, 0.071932, 0.010085;;, + 188;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 189;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 190;4; -0.008545,-0.996939, 0.072024, 0.015345;;, + 191;4; -0.029857,-0.995925, 0.071663, 0.020005;;, + 192;4; -0.057222,-0.994623, 0.071199, 0.025988;;, + 193;4; -0.078533,-0.993609, 0.070838, 0.030648;;, + 194;4; -0.086100,-0.993249, 0.070709, 0.032302;;, + 195;4; -0.078533,-0.993609, 0.070838, 0.030648;;, + 196;4; -0.057222,-0.994623, 0.071199, 0.025988;;, + 197;4; -0.029857,-0.995925, 0.071663, 0.020005;;, + 198;4; -0.008545,-0.996939, 0.072024, 0.015345;;, + 199;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 200;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 201;4; -0.027408,-0.993189, 0.071207, 0.017185;;, + 202;4; -0.101825,-0.981613, 0.068544, 0.027028;;, + 203;4; -0.197342,-0.966749, 0.065124, 0.039670;;, + 204;4; -0.271725,-0.955173, 0.062460, 0.049516;;, + 205;4; -0.298135,-0.951063, 0.061515, 0.053011;;, + 206;4; -0.281310,-0.955156, 0.062329, 0.050806;;, + 207;4; -0.229756,-0.966690, 0.064679, 0.044029;;, + 208;4; -0.152309,-0.981521, 0.067851, 0.033813;;, + 209;4; -0.070037,-0.993111, 0.070622, 0.022912;;, + 210;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 211;4; 0.068097,-0.993364, 0.072517, 0.004357;;, + 212;4; 0.150414,-0.982075, 0.072004,-0.006858;;, + 213;4; 0.227918,-0.967529, 0.070960,-0.017477;;, + 214;4; 0.279517,-0.956183, 0.070026,-0.024568;;, + 215;4; 0.296358,-0.952153, 0.069674,-0.026885;;, + 216;4; 0.269943,-0.956166, 0.069894,-0.023277;;, + 217;4; 0.195568,-0.967469, 0.070514,-0.013114;;, + 218;4; 0.100029,-0.981982, 0.071310,-0.000067;;, + 219;4; 0.025516,-0.993286, 0.071931, 0.010088;;, + 220;4; -0.000978,-0.997299, 0.072152, 0.013690;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Arm_Right} + AnimationKey { //Position + 2; + 221; + 0;3; 2.000000, 6.750000, 0.000000;;, + 1;3; 2.000000, 6.750000, 0.000000;;, + 2;3; 2.000000, 6.750000, 0.000000;;, + 3;3; 2.000000, 6.750000, 0.000000;;, + 4;3; 2.000000, 6.750000, 0.000000;;, + 5;3; 2.000000, 6.750000, 0.000000;;, + 6;3; 2.000000, 6.750000, 0.000000;;, + 7;3; 2.000000, 6.750000,-0.000000;;, + 8;3; 2.000000, 6.750000,-0.000000;;, + 9;3; 2.000000, 6.750000, 0.000000;;, + 10;3; 2.000000, 6.750000,-0.000000;;, + 11;3; 2.000000, 6.750000, 0.000000;;, + 12;3; 2.000000, 6.750000, 0.000000;;, + 13;3; 2.000000, 6.750000, 0.000000;;, + 14;3; 2.000000, 6.750000,-0.000000;;, + 15;3; 2.000000, 6.750000,-0.000000;;, + 16;3; 2.000000, 6.750000, 0.000000;;, + 17;3; 2.000000, 6.750001,-0.000000;;, + 18;3; 2.000000, 6.750000, 0.000000;;, + 19;3; 2.000000, 6.750000, 0.000000;;, + 20;3; 2.000000, 6.750000, 0.000000;;, + 21;3; 2.000000, 6.750000, 0.000000;;, + 22;3; 2.000000, 6.750000, 0.000000;;, + 23;3; 2.000000, 6.750001,-0.000000;;, + 24;3; 2.000000, 6.750000, 0.000000;;, + 25;3; 2.000000, 6.750000, 0.000000;;, + 26;3; 2.000000, 6.750000,-0.000000;;, + 27;3; 2.000000, 6.750000, 0.000000;;, + 28;3; 2.000000, 6.750000, 0.000000;;, + 29;3; 2.000000, 6.750000, 0.000000;;, + 30;3; 2.000000, 6.750000, 0.000000;;, + 31;3; 2.000000, 6.750000, 0.000000;;, + 32;3; 2.000000, 6.750000,-0.000000;;, + 33;3; 2.000000, 6.750000,-0.000000;;, + 34;3; 2.000000, 6.750000, 0.000000;;, + 35;3; 2.000000, 6.750000, 0.000000;;, + 36;3; 2.000000, 6.750000,-0.000000;;, + 37;3; 2.000000, 6.750000, 0.000000;;, + 38;3; 2.000000, 6.750000, 0.000000;;, + 39;3; 2.000000, 6.750000, 0.000000;;, + 40;3; 2.000000, 6.750000, 0.000000;;, + 41;3; 2.000000, 6.750000, 0.000000;;, + 42;3; 2.000000, 6.750000, 0.000000;;, + 43;3; 2.000000, 6.750000, 0.000000;;, + 44;3; 2.000000, 6.750000, 0.000000;;, + 45;3; 2.000000, 6.750000, 0.000000;;, + 46;3; 2.000000, 6.750000,-0.000000;;, + 47;3; 2.000000, 6.750000, 0.000000;;, + 48;3; 2.000000, 6.750000, 0.000000;;, + 49;3; 2.000000, 6.750000, 0.000000;;, + 50;3; 2.000000, 6.750000,-0.000000;;, + 51;3; 2.000000, 6.750000, 0.000000;;, + 52;3; 2.000000, 6.750000, 0.000000;;, + 53;3; 2.000000, 6.750000, 0.000000;;, + 54;3; 2.000000, 6.750000, 0.000000;;, + 55;3; 2.000000, 6.750000,-0.000000;;, + 56;3; 2.000000, 6.750000, 0.000000;;, + 57;3; 2.000000, 6.750001,-0.000000;;, + 58;3; 2.000000, 6.750000, 0.000000;;, + 59;3; 2.000000, 6.750000, 0.000000;;, + 60;3; 2.000000, 6.750000, 0.000000;;, + 61;3; 2.000000, 6.750000, 0.000000;;, + 62;3; 2.000000, 6.750000, 0.000000;;, + 63;3; 2.000000, 6.750000,-0.000000;;, + 64;3; 2.000000, 6.750000, 0.000000;;, + 65;3; 2.000000, 6.750000, 0.000000;;, + 66;3; 2.000000, 6.750000, 0.000000;;, + 67;3; 2.000000, 6.750000, 0.000000;;, + 68;3; 2.000000, 6.750000, 0.000000;;, + 69;3; 2.000000, 6.750000,-0.000000;;, + 70;3; 2.000000, 6.750000,-0.000000;;, + 71;3; 2.000000, 6.750000,-0.000000;;, + 72;3; 2.000000, 6.750000,-0.000000;;, + 73;3; 2.000000, 6.749999, 0.000000;;, + 74;3; 2.000000, 6.750000, 0.000000;;, + 75;3; 2.000000, 6.750000, 0.000000;;, + 76;3; 2.000000, 6.750000,-0.000000;;, + 77;3; 2.000000, 6.750000, 0.000000;;, + 78;3; 2.000000, 6.750000,-0.000000;;, + 79;3; 2.000000, 6.750000, 0.000000;;, + 80;3; 2.000000, 6.750000, 0.000000;;, + 81;3; 2.000000, 6.750000,-0.000000;;, + 82;3; 2.000000, 6.750000, 0.000000;;, + 83;3; 2.000000, 6.750000,-0.000000;;, + 84;3; 2.000000, 6.750000, 0.000000;;, + 85;3; 2.000000, 6.750000,-0.000000;;, + 86;3; 2.000000, 6.750000, 0.000000;;, + 87;3; 2.000000, 6.750000,-0.000000;;, + 88;3; 2.000000, 6.750000, 0.000000;;, + 89;3; 2.000000, 6.750000,-0.000000;;, + 90;3; 2.000000, 6.750000,-0.000000;;, + 91;3; 2.000000, 6.750000, 0.000000;;, + 92;3; 2.000000, 6.750000,-0.000000;;, + 93;3; 2.000000, 6.750000,-0.000000;;, + 94;3; 2.000000, 6.750000,-0.000000;;, + 95;3; 2.000000, 6.750000, 0.000000;;, + 96;3; 2.000000, 6.750000,-0.000000;;, + 97;3; 2.000000, 6.750000, 0.000000;;, + 98;3; 2.000000, 6.750000, 0.000000;;, + 99;3; 2.000000, 6.750000,-0.000000;;, + 100;3; 2.000000, 6.750000, 0.000000;;, + 101;3; 2.000000, 6.750000, 0.000000;;, + 102;3; 2.000000, 6.750000,-0.000000;;, + 103;3; 2.000000, 6.750000, 0.000000;;, + 104;3; 2.000000, 6.750000, 0.000000;;, + 105;3; 2.000000, 6.750000, 0.000000;;, + 106;3; 2.000000, 6.750000, 0.000000;;, + 107;3; 2.000000, 6.750000,-0.000000;;, + 108;3; 2.000000, 6.750000, 0.000000;;, + 109;3; 2.000000, 6.750000, 0.000000;;, + 110;3; 2.000000, 6.750000,-0.000000;;, + 111;3; 2.000000, 6.750000,-0.000000;;, + 112;3; 2.000000, 6.750000,-0.000000;;, + 113;3; 2.000000, 6.750000,-0.000000;;, + 114;3; 2.000000, 6.750000, 0.000000;;, + 115;3; 2.000000, 6.750000, 0.000000;;, + 116;3; 2.000000, 6.750000, 0.000000;;, + 117;3; 2.000000, 6.750000,-0.000000;;, + 118;3; 2.000000, 6.750000,-0.000000;;, + 119;3; 2.000000, 6.750000,-0.000000;;, + 120;3; 2.000000, 6.750000, 0.000000;;, + 121;3; 2.000000, 6.750000,-0.000000;;, + 122;3; 2.000000, 6.750000,-0.000000;;, + 123;3; 2.000000, 6.750000,-0.000000;;, + 124;3; 2.000000, 6.750000, 0.000000;;, + 125;3; 2.000000, 6.750000,-0.000000;;, + 126;3; 2.000000, 6.750000, 0.000000;;, + 127;3; 2.000000, 6.750000,-0.000000;;, + 128;3; 2.000000, 6.750000, 0.000000;;, + 129;3; 2.000000, 6.750000,-0.000000;;, + 130;3; 2.000000, 6.750000,-0.000000;;, + 131;3; 2.000000, 6.750000,-0.000000;;, + 132;3; 2.000000, 6.750000,-0.000000;;, + 133;3; 2.000000, 6.750000, 0.000000;;, + 134;3; 2.000000, 6.750000,-0.000000;;, + 135;3; 2.000000, 6.750000, 0.000000;;, + 136;3; 2.000000, 6.750000, 0.000000;;, + 137;3; 2.000000, 6.750000, 0.000000;;, + 138;3; 2.000000, 6.750000, 0.000000;;, + 139;3; 2.000000, 6.750000,-0.000000;;, + 140;3; 2.000000, 6.750000,-0.000000;;, + 141;3; 2.000000, 6.750000, 0.000000;;, + 142;3; 2.000000, 6.750000, 0.000000;;, + 143;3; 2.000000, 6.750000,-0.000000;;, + 144;3; 2.000000, 6.750000, 0.000000;;, + 145;3; 2.000000, 6.750000, 0.000000;;, + 146;3; 2.000000, 6.750000, 0.000000;;, + 147;3; 2.000000, 6.750000,-0.000000;;, + 148;3; 2.000000, 6.750000, 0.000000;;, + 149;3; 2.000000, 6.750000, 0.000000;;, + 150;3; 2.000000, 6.750000,-0.000000;;, + 151;3; 2.000000, 6.750000,-0.000000;;, + 152;3; 2.000000, 6.750000,-0.000000;;, + 153;3; 2.000000, 6.750000,-0.000000;;, + 154;3; 2.000000, 6.750000,-0.000000;;, + 155;3; 2.000000, 6.750000,-0.000000;;, + 156;3; 2.000000, 6.750000,-0.000000;;, + 157;3; 2.000000, 6.750000, 0.000000;;, + 158;3; 2.000000, 6.750000, 0.000000;;, + 159;3; 2.000000, 6.750000,-0.000000;;, + 160;3; 2.000000, 6.750000, 0.000000;;, + 161;3; 2.000000, 6.750000,-0.000000;;, + 162;3; 2.000000, 6.750000, 0.000000;;, + 163;3; 2.000000, 6.750000, 0.000000;;, + 164;3; 2.000000, 6.750000, 0.000000;;, + 165;3; 2.000000, 6.750000, 0.000000;;, + 166;3; 2.000000, 6.750000, 0.000000;;, + 167;3; 2.000000, 6.750000, 0.000000;;, + 168;3; 2.000000, 6.750000, 0.000000;;, + 169;3; 2.000000, 6.750000, 0.000000;;, + 170;3; 2.000000, 6.750000, 0.000000;;, + 171;3; 2.000000, 6.750000, 0.000000;;, + 172;3; 2.000000, 6.750000, 0.000000;;, + 173;3; 2.000000, 6.750000, 0.000000;;, + 174;3; 2.000000, 6.750000, 0.000000;;, + 175;3; 2.000000, 6.750000, 0.000000;;, + 176;3; 2.000000, 6.750000, 0.000000;;, + 177;3; 2.000000, 6.750000, 0.000000;;, + 178;3; 2.000000, 6.750000, 0.000000;;, + 179;3; 2.000000, 6.750000, 0.000000;;, + 180;3; 2.000000, 6.750000, 0.000000;;, + 181;3; 2.000000, 6.750000, 0.000000;;, + 182;3; 2.000000, 6.750000, 0.000000;;, + 183;3; 2.000000, 6.750000, 0.000000;;, + 184;3; 2.000000, 6.750000, 0.000000;;, + 185;3; 2.000000, 6.750000, 0.000000;;, + 186;3; 2.000000, 6.750000, 0.000000;;, + 187;3; 2.000000, 6.750000, 0.000000;;, + 188;3; 2.000000, 6.750000, 0.000000;;, + 189;3; 2.000000, 6.750000, 0.000000;;, + 190;3; 2.000000, 6.750000,-0.000000;;, + 191;3; 2.000000, 6.750000, 0.000000;;, + 192;3; 2.000000, 6.749999,-0.000000;;, + 193;3; 2.000000, 6.750000, 0.000000;;, + 194;3; 2.000000, 6.750000, 0.000000;;, + 195;3; 2.000000, 6.750000, 0.000000;;, + 196;3; 2.000000, 6.749999, 0.000000;;, + 197;3; 2.000000, 6.750000, 0.000000;;, + 198;3; 2.000000, 6.750000, 0.000000;;, + 199;3; 2.000000, 6.750000, 0.000000;;, + 200;3; 2.000000, 6.750000, 0.000000;;, + 201;3; 2.000000, 6.750000, 0.000000;;, + 202;3; 2.000000, 6.750000,-0.000000;;, + 203;3; 2.000000, 6.750000, 0.000000;;, + 204;3; 2.000000, 6.750000, 0.000000;;, + 205;3; 2.000000, 6.750000, 0.000000;;, + 206;3; 2.000000, 6.750000, 0.000000;;, + 207;3; 2.000000, 6.750000, 0.000000;;, + 208;3; 2.000000, 6.750000, 0.000000;;, + 209;3; 2.000000, 6.750000,-0.000000;;, + 210;3; 2.000000, 6.750000, 0.000000;;, + 211;3; 2.000000, 6.750000,-0.000000;;, + 212;3; 2.000000, 6.750000, 0.000000;;, + 213;3; 2.000000, 6.750000, 0.000000;;, + 214;3; 2.000000, 6.750000, 0.000000;;, + 215;3; 2.000000, 6.750000, 0.000000;;, + 216;3; 2.000000, 6.750000, 0.000000;;, + 217;3; 2.000000, 6.749999, 0.000000;;, + 218;3; 2.000000, 6.750000, 0.000000;;, + 219;3; 2.000000, 6.750000, 0.000000;;, + 220;3; 2.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 1;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 2;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 3;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 4;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 5;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 6;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 7;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 8;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 9;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 10;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 11;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 12;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 13;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 14;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 15;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 16;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 17;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 18;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 19;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 20;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 21;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 22;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 23;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 24;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 25;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 26;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 27;4; 0.028628,-0.996493,-0.071675,-0.025988;;, + 28;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 29;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 30;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 31;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 32;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 33;4; 0.009691,-0.997009,-0.071980,-0.018122;;, + 34;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 35;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 36;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 37;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 38;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 39;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 40;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 41;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 42;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 43;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 44;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 45;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 46;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 47;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 48;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 49;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 50;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 51;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 52;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 53;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 54;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 55;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 56;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 57;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 58;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 59;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 60;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 61;4; 0.039088,-0.996207,-0.071507,-0.030333;;, + 62;4; 0.038502,-0.996223,-0.071516,-0.030089;;, + 63;4; 0.037589,-0.996248,-0.071531,-0.029710;;, + 64;4; 0.036390,-0.996281,-0.071550,-0.029212;;, + 65;4; 0.034939,-0.996320,-0.071574,-0.028609;;, + 66;4; 0.033263,-0.996366,-0.071601,-0.027913;;, + 67;4; 0.031388,-0.996417,-0.071631,-0.027134;;, + 68;4; 0.029333,-0.996473,-0.071664,-0.026281;;, + 69;4; 0.027118,-0.996534,-0.071700,-0.025361;;, + 70;4; 0.024760,-0.996598,-0.071738,-0.024381;;, + 71;4; 0.022276,-0.996666,-0.071778,-0.023349;;, + 72;4; 0.019680,-0.996736,-0.071819,-0.022271;;, + 73;4; 0.016990,-0.996810,-0.071863,-0.021154;;, + 74;4; 0.014225,-0.996885,-0.071907,-0.020005;;, + 75;4; 0.011405,-0.996962,-0.071953,-0.018834;;, + 76;4; 0.008560,-0.997039,-0.071999,-0.017652;;, + 77;4; 0.005732,-0.997116,-0.072044,-0.016478;;, + 78;4; 0.002998,-0.997191,-0.072088,-0.015342;;, + 79;4; 0.000529,-0.997258,-0.072128,-0.014316;;, + 80;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 81;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 82;4; 0.000529,-0.997258,-0.072128,-0.014316;;, + 83;4; 0.002998,-0.997191,-0.072088,-0.015342;;, + 84;4; 0.005732,-0.997116,-0.072044,-0.016478;;, + 85;4; 0.008560,-0.997039,-0.071999,-0.017652;;, + 86;4; 0.011405,-0.996962,-0.071953,-0.018834;;, + 87;4; 0.014225,-0.996885,-0.071907,-0.020005;;, + 88;4; 0.016990,-0.996810,-0.071863,-0.021154;;, + 89;4; 0.019680,-0.996736,-0.071819,-0.022271;;, + 90;4; 0.022276,-0.996666,-0.071778,-0.023349;;, + 91;4; 0.024760,-0.996598,-0.071738,-0.024381;;, + 92;4; 0.027118,-0.996534,-0.071700,-0.025361;;, + 93;4; 0.029333,-0.996473,-0.071664,-0.026281;;, + 94;4; 0.031388,-0.996417,-0.071631,-0.027134;;, + 95;4; 0.033263,-0.996366,-0.071601,-0.027913;;, + 96;4; 0.034939,-0.996320,-0.071574,-0.028609;;, + 97;4; 0.036390,-0.996281,-0.071550,-0.029212;;, + 98;4; 0.037589,-0.996248,-0.071531,-0.029710;;, + 99;4; 0.038502,-0.996223,-0.071516,-0.030089;;, + 100;4; 0.039088,-0.996207,-0.071507,-0.030333;;, + 101;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 102;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 103;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 104;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 105;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 106;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 107;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 108;4; 0.028628,-0.996493,-0.071675,-0.025988;;, + 109;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 110;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 111;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 112;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 113;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 114;4; 0.009691,-0.997009,-0.071980,-0.018122;;, + 115;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 116;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 117;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 118;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 119;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 120;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 121;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 122;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 123;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 124;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 125;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 126;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 127;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 128;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 129;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 130;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 131;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 132;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 133;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 134;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 135;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 136;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 137;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 138;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 139;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 140;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 141;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 142;4; 0.039128,-0.996207,-0.071506,-0.030336;;, + 143;4; 0.038651,-0.996223,-0.071514,-0.030100;;, + 144;4; 0.037905,-0.996248,-0.071527,-0.029733;;, + 145;4; 0.036918,-0.996281,-0.071543,-0.029250;;, + 146;4; 0.035716,-0.996321,-0.071563,-0.028665;;, + 147;4; 0.034318,-0.996367,-0.071586,-0.027990;;, + 148;4; 0.032740,-0.996419,-0.071612,-0.027232;;, + 149;4; 0.030996,-0.996475,-0.071641,-0.026401;;, + 150;4; 0.029097,-0.996535,-0.071672,-0.025504;;, + 151;4; 0.027052,-0.996600,-0.071706,-0.024547;;, + 152;4; 0.024869,-0.996668,-0.071742,-0.023537;;, + 153;4; 0.022553,-0.996739,-0.071780,-0.022479;;, + 154;4; 0.020108,-0.996813,-0.071820,-0.021379;;, + 155;4; 0.017538,-0.996888,-0.071862,-0.020245;;, + 156;4; 0.014842,-0.996965,-0.071906,-0.019082;;, + 157;4; 0.012018,-0.997043,-0.071951,-0.017902;;, + 158;4; 0.009059,-0.997120,-0.071998,-0.016718;;, + 159;4; 0.005950,-0.997194,-0.072048,-0.015556;;, + 160;4; 0.002652,-0.997260,-0.072099,-0.014470;;, + 161;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 162;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 163;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 164;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 165;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 166;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 167;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 168;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 169;4; 0.036347,-0.993296,-0.071786,-0.010872;;, + 170;4; 0.112807,-0.981995,-0.071141,-0.000858;;, + 171;4; 0.203776,-0.967477,-0.070406, 0.012520;;, + 172;4; 0.272381,-0.956168,-0.069861, 0.023101;;, + 173;4; 0.296358,-0.952153,-0.069674, 0.026885;;, + 174;4; 0.279517,-0.956183,-0.070026, 0.024568;;, + 175;4; 0.227918,-0.967529,-0.070960, 0.017477;;, + 176;4; 0.150414,-0.982075,-0.072004, 0.006858;;, + 177;4; 0.068097,-0.993364,-0.072517,-0.004357;;, + 178;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 179;4; -0.070037,-0.993111,-0.070622,-0.022912;;, + 180;4; -0.152309,-0.981521,-0.067851,-0.033813;;, + 181;4; -0.229756,-0.966690,-0.064679,-0.044029;;, + 182;4; -0.281310,-0.955156,-0.062329,-0.050806;;, + 183;4; -0.298135,-0.951063,-0.061515,-0.053011;;, + 184;4; -0.272259,-0.955140,-0.062465,-0.049482;;, + 185;4; -0.200471,-0.966555,-0.065152,-0.039474;;, + 186;4; -0.106835,-0.981308,-0.068589,-0.026713;;, + 187;4; -0.029968,-0.993038,-0.071230,-0.017022;;, + 188;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 189;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 190;4; -0.803181,-0.565890, 0.021820,-0.111185;;, + 191;4; -0.718113,-0.648332, 0.010762,-0.086701;;, + 192;4; -0.614352,-0.752504,-0.003387,-0.054936;;, + 193;4; -0.534771,-0.833228,-0.014392,-0.030125;;, + 194;4; -0.506097,-0.862019,-0.018304,-0.021341;;, + 195;4; -0.535294,-0.833114,-0.014391,-0.030093;;, + 196;4; -0.617412,-0.751837,-0.003378,-0.054751;;, + 197;4; -0.723024,-0.647281, 0.010774,-0.086403;;, + 198;4; -0.805700,-0.565371, 0.021825,-0.111030;;, + 199;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 200;4; -0.538708,-0.840711,-0.006527,-0.054376;;, + 201;4; -0.565312,-0.813349,-0.003640,-0.060174;;, + 202;4; -0.639811,-0.736783, 0.004462,-0.076531;;, + 203;4; -0.734947,-0.639071, 0.014829,-0.097562;;, + 204;4; -0.808914,-0.563118, 0.022894,-0.113949;;, + 205;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 206;4; -0.805960,-0.565075, 0.021843,-0.111016;;, + 207;4; -0.723557,-0.646675, 0.010811,-0.086373;;, + 208;4; -0.617754,-0.751449,-0.003355,-0.054733;;, + 209;4; -0.535352,-0.833048,-0.014387,-0.030090;;, + 210;4; -0.506097,-0.862019,-0.018304,-0.021341;;, + 211;4; -0.535352,-0.833048,-0.014387,-0.030090;;, + 212;4; -0.617754,-0.751449,-0.003355,-0.054733;;, + 213;4; -0.723557,-0.646675, 0.010811,-0.086373;;, + 214;4; -0.805960,-0.565075, 0.021843,-0.111016;;, + 215;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 216;4; -0.808873,-0.563165, 0.022891,-0.113952;;, + 217;4; -0.734703,-0.639351, 0.014812,-0.097576;;, + 218;4; -0.639430,-0.737222, 0.004436,-0.076552;;, + 219;4; -0.565126,-0.813563,-0.003653,-0.060185;;, + 220;4; -0.538708,-0.840711,-0.006527,-0.054376;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Leg_Right} + AnimationKey { //Position + 2; + 221; + 0;3; 1.000000, 0.000000,-0.000001;;, + 1;3; 1.000000,-0.000000,-0.000001;;, + 2;3; 1.000000,-0.000000,-0.000001;;, + 3;3; 1.000000,-0.000000,-0.000001;;, + 4;3; 1.000000,-0.000000,-0.000001;;, + 5;3; 1.000000,-0.000000,-0.000001;;, + 6;3; 1.000000,-0.000000,-0.000001;;, + 7;3; 1.000000,-0.000000,-0.000001;;, + 8;3; 1.000000,-0.000000,-0.000001;;, + 9;3; 1.000000,-0.000000,-0.000001;;, + 10;3; 1.000000,-0.000000,-0.000000;;, + 11;3; 1.000000,-0.000000,-0.000000;;, + 12;3; 1.000000,-0.000000,-0.000000;;, + 13;3; 1.000000,-0.000000,-0.000000;;, + 14;3; 1.000000,-0.000000,-0.000000;;, + 15;3; 1.000000,-0.000000,-0.000001;;, + 16;3; 1.000000,-0.000000,-0.000001;;, + 17;3; 1.000000,-0.000000,-0.000001;;, + 18;3; 1.000000,-0.000000,-0.000001;;, + 19;3; 1.000000,-0.000000,-0.000001;;, + 20;3; 1.000000,-0.000000,-0.000001;;, + 21;3; 1.000000,-0.000000,-0.000001;;, + 22;3; 1.000000,-0.000000,-0.000000;;, + 23;3; 1.000000,-0.000000,-0.000001;;, + 24;3; 1.000000,-0.000000,-0.000001;;, + 25;3; 1.000000,-0.000000,-0.000001;;, + 26;3; 1.000000,-0.000000,-0.000000;;, + 27;3; 1.000000,-0.000000,-0.000000;;, + 28;3; 1.000000,-0.000000,-0.000000;;, + 29;3; 1.000000,-0.000000,-0.000000;;, + 30;3; 1.000000,-0.000000,-0.000000;;, + 31;3; 1.000000,-0.000000,-0.000001;;, + 32;3; 1.000000,-0.000000,-0.000001;;, + 33;3; 1.000000,-0.000000,-0.000001;;, + 34;3; 1.000000,-0.000000,-0.000001;;, + 35;3; 1.000000,-0.000000,-0.000001;;, + 36;3; 1.000000,-0.000000,-0.000001;;, + 37;3; 1.000000,-0.000000,-0.000001;;, + 38;3; 1.000000,-0.000000,-0.000001;;, + 39;3; 1.000000,-0.000000,-0.000001;;, + 40;3; 1.000000, 0.000000,-0.000001;;, + 41;3; 1.000000,-0.000000,-0.000001;;, + 42;3; 1.000000,-0.000000,-0.000001;;, + 43;3; 1.000000,-0.000000,-0.000001;;, + 44;3; 1.000000,-0.000000,-0.000001;;, + 45;3; 1.000000,-0.000000,-0.000001;;, + 46;3; 1.000000,-0.000000,-0.000001;;, + 47;3; 1.000000,-0.000000,-0.000001;;, + 48;3; 1.000000,-0.000000,-0.000001;;, + 49;3; 1.000000,-0.000000,-0.000001;;, + 50;3; 1.000000,-0.000000,-0.000000;;, + 51;3; 1.000000,-0.000000,-0.000000;;, + 52;3; 1.000000,-0.000000,-0.000000;;, + 53;3; 1.000000,-0.000000,-0.000000;;, + 54;3; 1.000000,-0.000000,-0.000000;;, + 55;3; 1.000000,-0.000000,-0.000001;;, + 56;3; 1.000000,-0.000000,-0.000001;;, + 57;3; 1.000000,-0.000000,-0.000001;;, + 58;3; 1.000000,-0.000000,-0.000001;;, + 59;3; 1.000000,-0.000000,-0.000001;;, + 60;3; 1.000000,-0.000000,-0.000001;;, + 61;3; 1.000000,-0.000000,-0.000001;;, + 62;3; 1.000000,-0.000000,-0.000001;;, + 63;3; 1.000000,-0.000000,-0.000001;;, + 64;3; 1.000000,-0.000000,-0.000001;;, + 65;3; 1.000000,-0.000000,-0.000001;;, + 66;3; 1.000000,-0.000000,-0.000001;;, + 67;3; 1.000000,-0.000000,-0.000000;;, + 68;3; 1.000000,-0.000000,-0.000000;;, + 69;3; 1.000000,-0.000000,-0.000000;;, + 70;3; 1.000000,-0.000000,-0.000000;;, + 71;3; 1.000000,-0.000000,-0.000000;;, + 72;3; 1.000000,-0.000000,-0.000000;;, + 73;3; 1.000000,-0.000000,-0.000000;;, + 74;3; 1.000000,-0.000000,-0.000001;;, + 75;3; 1.000000,-0.000000,-0.000001;;, + 76;3; 1.000000,-0.000000,-0.000001;;, + 77;3; 1.000000,-0.000000,-0.000001;;, + 78;3; 1.000000,-0.000000,-0.000001;;, + 79;3; 1.000000,-0.000000,-0.000001;;, + 80;3; 1.000000, 0.000000,-0.000001;;, + 81;3; 1.000000, 0.000000,-0.000001;;, + 82;3; 1.000000,-0.000000,-0.000001;;, + 83;3; 1.000000,-0.000000,-0.000001;;, + 84;3; 1.000000,-0.000000,-0.000001;;, + 85;3; 1.000000,-0.000000,-0.000001;;, + 86;3; 1.000000,-0.000000,-0.000001;;, + 87;3; 1.000000,-0.000000,-0.000001;;, + 88;3; 1.000000,-0.000000,-0.000001;;, + 89;3; 1.000000,-0.000000,-0.000001;;, + 90;3; 1.000000,-0.000000,-0.000001;;, + 91;3; 1.000000,-0.000000,-0.000001;;, + 92;3; 1.000000,-0.000000,-0.000001;;, + 93;3; 1.000000,-0.000000,-0.000001;;, + 94;3; 1.000000,-0.000000,-0.000001;;, + 95;3; 1.000000,-0.000000,-0.000001;;, + 96;3; 1.000000,-0.000000,-0.000001;;, + 97;3; 1.000000,-0.000000,-0.000001;;, + 98;3; 1.000000,-0.000000,-0.000001;;, + 99;3; 1.000000,-0.000000,-0.000001;;, + 100;3; 1.000000,-0.000000,-0.000001;;, + 101;3; 1.000000,-0.000000,-0.000001;;, + 102;3; 1.000000,-0.000000,-0.000001;;, + 103;3; 1.000000,-0.000000,-0.000001;;, + 104;3; 1.000000,-0.000000,-0.000001;;, + 105;3; 1.000000,-0.000000,-0.000001;;, + 106;3; 1.000000,-0.000000,-0.000001;;, + 107;3; 1.000000,-0.000000,-0.000001;;, + 108;3; 1.000000,-0.000000,-0.000001;;, + 109;3; 1.000000,-0.000000,-0.000001;;, + 110;3; 1.000000,-0.000000,-0.000001;;, + 111;3; 1.000000,-0.000000,-0.000001;;, + 112;3; 1.000000,-0.000000,-0.000001;;, + 113;3; 1.000000,-0.000000,-0.000001;;, + 114;3; 1.000000,-0.000000,-0.000001;;, + 115;3; 1.000000,-0.000000,-0.000001;;, + 116;3; 1.000000,-0.000000,-0.000001;;, + 117;3; 1.000000,-0.000000,-0.000001;;, + 118;3; 1.000000,-0.000000,-0.000001;;, + 119;3; 1.000000,-0.000000,-0.000001;;, + 120;3; 1.000000,-0.000000,-0.000001;;, + 121;3; 1.000000, 0.000000,-0.000001;;, + 122;3; 1.000000,-0.000000,-0.000001;;, + 123;3; 1.000000,-0.000000,-0.000001;;, + 124;3; 1.000000,-0.000000,-0.000001;;, + 125;3; 1.000000,-0.000000,-0.000001;;, + 126;3; 1.000000,-0.000000,-0.000001;;, + 127;3; 1.000000,-0.000000,-0.000001;;, + 128;3; 1.000000,-0.000000,-0.000001;;, + 129;3; 1.000000,-0.000000,-0.000001;;, + 130;3; 1.000000,-0.000000,-0.000001;;, + 131;3; 1.000000,-0.000000,-0.000001;;, + 132;3; 1.000000,-0.000000,-0.000001;;, + 133;3; 1.000000,-0.000000,-0.000001;;, + 134;3; 1.000000,-0.000000,-0.000001;;, + 135;3; 1.000000,-0.000000,-0.000001;;, + 136;3; 1.000000,-0.000000,-0.000001;;, + 137;3; 1.000000,-0.000000,-0.000001;;, + 138;3; 1.000000,-0.000000,-0.000001;;, + 139;3; 1.000000,-0.000000,-0.000001;;, + 140;3; 1.000000,-0.000000,-0.000001;;, + 141;3; 1.000000,-0.000000,-0.000001;;, + 142;3; 1.000000,-0.000000,-0.000001;;, + 143;3; 1.000000,-0.000000,-0.000001;;, + 144;3; 1.000000,-0.000000,-0.000001;;, + 145;3; 1.000000,-0.000000,-0.000001;;, + 146;3; 1.000000,-0.000000,-0.000001;;, + 147;3; 1.000000,-0.000000,-0.000001;;, + 148;3; 1.000000,-0.000000,-0.000001;;, + 149;3; 1.000000,-0.000000,-0.000001;;, + 150;3; 1.000000,-0.000000,-0.000001;;, + 151;3; 1.000000,-0.000000,-0.000001;;, + 152;3; 1.000000,-0.000000,-0.000001;;, + 153;3; 1.000000,-0.000000,-0.000001;;, + 154;3; 1.000000,-0.000000,-0.000001;;, + 155;3; 1.000000,-0.000000,-0.000001;;, + 156;3; 1.000000,-0.000000,-0.000001;;, + 157;3; 1.000000,-0.000000,-0.000001;;, + 158;3; 1.000000,-0.000000,-0.000001;;, + 159;3; 1.000000,-0.000000,-0.000001;;, + 160;3; 1.000000,-0.000000,-0.000001;;, + 161;3; 1.000000, 0.000000,-0.000001;;, + 162;3; 1.000000,-0.000000,-0.000000;;, + 163;3; 1.000000,-0.000000,-0.000000;;, + 164;3; 1.000000,-0.000000,-0.000000;;, + 165;3; 1.000000,-0.000000,-0.000000;;, + 166;3; 1.000000,-0.000000,-0.000000;;, + 167;3; 1.000000,-0.000000,-0.000000;;, + 168;3; 1.000000, 0.000000,-0.000001;;, + 169;3; 1.000000, 0.000000,-0.000001;;, + 170;3; 1.000000, 0.000000,-0.000001;;, + 171;3; 1.000000, 0.000000,-0.000001;;, + 172;3; 1.000000, 0.000000,-0.000001;;, + 173;3; 1.000000, 0.000000,-0.000001;;, + 174;3; 1.000000, 0.000000,-0.000001;;, + 175;3; 1.000000, 0.000000,-0.000001;;, + 176;3; 1.000000, 0.000000,-0.000001;;, + 177;3; 1.000000, 0.000000,-0.000001;;, + 178;3; 1.000000, 0.000000,-0.000001;;, + 179;3; 1.000000, 0.000000,-0.000001;;, + 180;3; 1.000000, 0.000000,-0.000001;;, + 181;3; 1.000000, 0.000000,-0.000001;;, + 182;3; 1.000000, 0.000000,-0.000001;;, + 183;3; 1.000000, 0.000000,-0.000001;;, + 184;3; 1.000000, 0.000000,-0.000001;;, + 185;3; 1.000000, 0.000000,-0.000001;;, + 186;3; 1.000000, 0.000000,-0.000001;;, + 187;3; 1.000000, 0.000000,-0.000001;;, + 188;3; 1.000000, 0.000000,-0.000001;;, + 189;3; 1.000000, 0.000000,-0.000001;;, + 190;3; 1.000000, 0.000000,-0.000001;;, + 191;3; 1.000000, 0.000000,-0.000001;;, + 192;3; 1.000000, 0.000000,-0.000000;;, + 193;3; 1.000000, 0.000000,-0.000001;;, + 194;3; 1.000000, 0.000000,-0.000001;;, + 195;3; 1.000000, 0.000000,-0.000001;;, + 196;3; 1.000000, 0.000000,-0.000000;;, + 197;3; 1.000000, 0.000000,-0.000001;;, + 198;3; 1.000000, 0.000000,-0.000001;;, + 199;3; 1.000000, 0.000000,-0.000001;;, + 200;3; 1.000000, 0.000000,-0.000001;;, + 201;3; 1.000000,-0.000000,-0.000001;;, + 202;3; 1.000000,-0.000000,-0.000001;;, + 203;3; 1.000000,-0.000000,-0.000000;;, + 204;3; 1.000000,-0.000000,-0.000001;;, + 205;3; 1.000000,-0.000000,-0.000001;;, + 206;3; 1.000000,-0.000000,-0.000000;;, + 207;3; 1.000000,-0.000000,-0.000001;;, + 208;3; 1.000000, 0.000000,-0.000000;;, + 209;3; 1.000000, 0.000000,-0.000000;;, + 210;3; 1.000000, 0.000000,-0.000001;;, + 211;3; 1.000000, 0.000000,-0.000000;;, + 212;3; 1.000000, 0.000000,-0.000000;;, + 213;3; 1.000000,-0.000000,-0.000001;;, + 214;3; 1.000000,-0.000000,-0.000000;;, + 215;3; 1.000000,-0.000000,-0.000001;;, + 216;3; 1.000000,-0.000000,-0.000001;;, + 217;3; 1.000000,-0.000000,-0.000000;;, + 218;3; 1.000000,-0.000000,-0.000001;;, + 219;3; 1.000000,-0.000000,-0.000001;;, + 220;3; 1.000000, 0.000000,-0.000001;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 1;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 2;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 3;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 4;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 5;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 6;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 7;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 8;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 9;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 10;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 11;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 12;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 13;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 14;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 15;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 16;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 17;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 18;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 19;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 20;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 21;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 22;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 23;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 24;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 25;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 26;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 27;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 28;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 29;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 30;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 31;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 32;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 33;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 34;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 35;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 36;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 37;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 38;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 39;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 40;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 41;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 42;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 43;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 44;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 45;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 46;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 47;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 48;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 49;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 50;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 51;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 52;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 53;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 54;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 55;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 56;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 57;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 58;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 59;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 60;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 61;4; -0.043616, 0.999053,-0.000000,-0.000000;;, + 62;4; -0.043594, 0.999067,-0.000000,-0.000000;;, + 63;4; -0.043536, 0.999089,-0.000000,-0.000000;;, + 64;4; -0.043427, 0.999117,-0.000000,-0.000000;;, + 65;4; -0.043250, 0.999151,-0.000000,-0.000000;;, + 66;4; -0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4; -0.042627, 0.999235,-0.000000,-0.000000;;, + 68;4; -0.042144, 0.999283,-0.000000,-0.000000;;, + 69;4; -0.041519, 0.999336,-0.000000,-0.000000;;, + 70;4; -0.040726, 0.999391,-0.000000,-0.000000;;, + 71;4; -0.039733, 0.999450,-0.000000,-0.000000;;, + 72;4; -0.038501, 0.999511,-0.000000,-0.000000;;, + 73;4; -0.036980, 0.999575,-0.000000,-0.000000;;, + 74;4; -0.035101, 0.999640,-0.000000,-0.000000;;, + 75;4; -0.032770, 0.999707,-0.000000,-0.000000;;, + 76;4; -0.029842, 0.999774,-0.000000,-0.000000;;, + 77;4; -0.026086, 0.999841,-0.000000,-0.000000;;, + 78;4; -0.021070, 0.999906,-0.000000,-0.000000;;, + 79;4; -0.013794, 0.999964,-0.000000,-0.000000;;, + 80;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 81;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 82;4; 0.705874, 0.708245, 0.000000,-0.000000;;, + 83;4; 0.703907, 0.710101, 0.000000,-0.000000;;, + 84;4; 0.701752, 0.712152, 0.000000,-0.000000;;, + 85;4; 0.699533, 0.714271, 0.000000,-0.000000;;, + 86;4; 0.697308, 0.716402, 0.000000,-0.000000;;, + 87;4; 0.695107, 0.718513, 0.000000,-0.000000;;, + 88;4; 0.692951, 0.720584, 0.000000,-0.000000;;, + 89;4; 0.690857, 0.722597, 0.000000,-0.000000;;, + 90;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 91;4; 0.686904, 0.726399, 0.000000,-0.000000;;, + 92;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 93;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 94;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 95;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 96;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 97;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 98;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 99;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 100;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 101;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 102;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 103;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 104;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 105;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 106;4; 0.679948, 0.733105, 0.000000,-0.000000;;, + 107;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 108;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 109;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 110;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 111;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 114;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 115;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 116;4; 0.702748, 0.711279, 0.000000,-0.000000;;, + 117;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 118;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 119;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 120;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 121;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 122;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 123;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 124;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 125;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 126;4; 0.702749, 0.711279, 0.000000,-0.000000;;, + 127;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 128;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 129;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 132;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 133;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 134;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 135;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 136;4; 0.679949, 0.733105, 0.000000,-0.000000;;, + 137;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 138;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 139;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 140;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 141;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 142;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 143;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 145;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 146;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 147;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 148;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 151;4; 0.686904, 0.726398, 0.000000,-0.000000;;, + 152;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 153;4; 0.690857, 0.722596, 0.000000,-0.000000;;, + 154;4; 0.692951, 0.720583, 0.000000,-0.000000;;, + 155;4; 0.695107, 0.718512, 0.000000,-0.000000;;, + 156;4; 0.697308, 0.716401, 0.000000,-0.000000;;, + 157;4; 0.699533, 0.714270, 0.000000,-0.000000;;, + 158;4; 0.701752, 0.712151, 0.000000,-0.000000;;, + 159;4; 0.703907, 0.710100, 0.000000,-0.000000;;, + 160;4; 0.705874, 0.708244, 0.000000,-0.000000;;, + 161;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 162;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 163;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 164;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 165;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 166;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 167;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 168;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 169;4; 0.034052, 0.993234, 0.000000,-0.000000;;, + 170;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 171;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 172;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 173;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 174;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 175;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 176;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 177;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 178;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 179;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 180;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 181;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 182;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 183;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 184;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 185;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 186;4; -0.129904, 0.974175,-0.000000,-0.000000;;, + 187;4; -0.034052, 0.993234,-0.000000,-0.000000;;, + 188;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 189;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 190;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 191;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 192;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 193;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 194;4; 0.043619, 0.999048, 0.000000,-0.000000;;, + 195;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 196;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 197;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 198;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 199;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 200;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 201;4; 0.034052, 0.993233, 0.000000,-0.000000;;, + 202;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 203;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 204;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 205;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 206;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 207;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 208;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 209;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 210;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 211;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 212;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 213;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 214;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 215;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 216;4; -0.348699, 0.930646,-0.000000,-0.000000;;, + 217;4; -0.253041, 0.949703,-0.000000,-0.000000;;, + 218;4; -0.130122, 0.974173,-0.000000,-0.000000;;, + 219;4; -0.034158, 0.993233,-0.000000,-0.000000;;, + 220;4; -0.000000, 1.000000,-0.000000,-0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 0.999999;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 0.999999;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 0.999999;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Leg_Left} + AnimationKey { //Position + 2; + 221; + 0;3; -1.000000, 0.000000,-0.000001;;, + 1;3; -1.000000,-0.000000,-0.000001;;, + 2;3; -1.000000,-0.000000,-0.000001;;, + 3;3; -1.000000,-0.000000,-0.000001;;, + 4;3; -1.000000,-0.000000,-0.000001;;, + 5;3; -1.000000,-0.000000,-0.000001;;, + 6;3; -1.000000,-0.000000,-0.000001;;, + 7;3; -1.000000,-0.000000,-0.000001;;, + 8;3; -1.000000,-0.000000,-0.000001;;, + 9;3; -1.000000,-0.000000,-0.000001;;, + 10;3; -1.000000,-0.000000,-0.000000;;, + 11;3; -1.000000,-0.000000,-0.000000;;, + 12;3; -1.000000,-0.000000,-0.000000;;, + 13;3; -1.000000,-0.000000,-0.000000;;, + 14;3; -1.000000,-0.000000,-0.000000;;, + 15;3; -1.000000,-0.000000,-0.000001;;, + 16;3; -1.000000,-0.000000,-0.000001;;, + 17;3; -1.000000,-0.000000,-0.000001;;, + 18;3; -1.000000,-0.000000,-0.000001;;, + 19;3; -1.000000,-0.000000,-0.000001;;, + 20;3; -1.000000,-0.000000,-0.000001;;, + 21;3; -1.000000,-0.000000,-0.000001;;, + 22;3; -1.000000,-0.000000,-0.000000;;, + 23;3; -1.000000,-0.000000,-0.000001;;, + 24;3; -1.000000,-0.000000,-0.000001;;, + 25;3; -1.000000,-0.000000,-0.000001;;, + 26;3; -1.000000,-0.000000,-0.000000;;, + 27;3; -1.000000,-0.000000,-0.000000;;, + 28;3; -1.000000,-0.000000,-0.000000;;, + 29;3; -1.000000,-0.000000,-0.000000;;, + 30;3; -1.000000,-0.000000,-0.000000;;, + 31;3; -1.000000,-0.000000,-0.000001;;, + 32;3; -1.000000,-0.000000,-0.000001;;, + 33;3; -1.000000,-0.000000,-0.000001;;, + 34;3; -1.000000,-0.000000,-0.000001;;, + 35;3; -1.000000,-0.000000,-0.000001;;, + 36;3; -1.000000,-0.000000,-0.000001;;, + 37;3; -1.000000,-0.000000,-0.000001;;, + 38;3; -1.000000,-0.000000,-0.000001;;, + 39;3; -1.000000,-0.000000,-0.000001;;, + 40;3; -1.000000, 0.000000,-0.000001;;, + 41;3; -1.000000,-0.000000,-0.000001;;, + 42;3; -1.000000,-0.000000,-0.000001;;, + 43;3; -1.000000,-0.000000,-0.000001;;, + 44;3; -1.000000,-0.000000,-0.000001;;, + 45;3; -1.000000,-0.000000,-0.000001;;, + 46;3; -1.000000,-0.000000,-0.000001;;, + 47;3; -1.000000,-0.000000,-0.000001;;, + 48;3; -1.000000,-0.000000,-0.000001;;, + 49;3; -1.000000,-0.000000,-0.000001;;, + 50;3; -1.000000,-0.000000,-0.000000;;, + 51;3; -1.000000,-0.000000,-0.000000;;, + 52;3; -1.000000,-0.000000,-0.000000;;, + 53;3; -1.000000,-0.000000,-0.000000;;, + 54;3; -1.000000,-0.000000,-0.000000;;, + 55;3; -1.000000,-0.000000,-0.000001;;, + 56;3; -1.000000,-0.000000,-0.000001;;, + 57;3; -1.000000,-0.000000,-0.000001;;, + 58;3; -1.000000,-0.000000,-0.000001;;, + 59;3; -1.000000,-0.000000,-0.000001;;, + 60;3; -1.000000,-0.000000,-0.000001;;, + 61;3; -1.000000,-0.000000,-0.000001;;, + 62;3; -1.000000,-0.000000,-0.000001;;, + 63;3; -1.000000,-0.000000,-0.000001;;, + 64;3; -1.000000,-0.000000,-0.000001;;, + 65;3; -1.000000,-0.000000,-0.000001;;, + 66;3; -1.000000,-0.000000,-0.000001;;, + 67;3; -1.000000,-0.000000,-0.000000;;, + 68;3; -1.000000,-0.000000,-0.000000;;, + 69;3; -1.000000,-0.000000,-0.000000;;, + 70;3; -1.000000,-0.000000,-0.000000;;, + 71;3; -1.000000,-0.000000,-0.000000;;, + 72;3; -1.000000,-0.000000,-0.000000;;, + 73;3; -1.000000,-0.000000,-0.000000;;, + 74;3; -1.000000,-0.000000,-0.000001;;, + 75;3; -1.000000,-0.000000,-0.000001;;, + 76;3; -1.000000,-0.000000,-0.000001;;, + 77;3; -1.000000,-0.000000,-0.000001;;, + 78;3; -1.000000,-0.000000,-0.000001;;, + 79;3; -1.000000,-0.000000,-0.000001;;, + 80;3; -1.000000, 0.000000,-0.000001;;, + 81;3; -1.000000, 0.000000,-0.000001;;, + 82;3; -1.000000,-0.000000,-0.000001;;, + 83;3; -1.000000,-0.000000,-0.000001;;, + 84;3; -1.000000,-0.000000,-0.000001;;, + 85;3; -1.000000,-0.000000,-0.000001;;, + 86;3; -1.000000,-0.000000,-0.000001;;, + 87;3; -1.000000,-0.000000,-0.000001;;, + 88;3; -1.000000,-0.000000,-0.000001;;, + 89;3; -1.000000,-0.000000,-0.000001;;, + 90;3; -1.000000,-0.000000,-0.000001;;, + 91;3; -1.000000,-0.000000,-0.000001;;, + 92;3; -1.000000,-0.000000,-0.000001;;, + 93;3; -1.000000,-0.000000,-0.000001;;, + 94;3; -1.000000,-0.000000,-0.000001;;, + 95;3; -1.000000,-0.000000,-0.000001;;, + 96;3; -1.000000,-0.000000,-0.000001;;, + 97;3; -1.000000,-0.000000,-0.000001;;, + 98;3; -1.000000,-0.000000,-0.000001;;, + 99;3; -1.000000,-0.000000,-0.000001;;, + 100;3; -1.000000,-0.000000,-0.000001;;, + 101;3; -1.000000,-0.000000,-0.000001;;, + 102;3; -1.000000,-0.000000,-0.000001;;, + 103;3; -1.000000,-0.000000,-0.000001;;, + 104;3; -1.000000,-0.000000,-0.000001;;, + 105;3; -1.000000,-0.000000,-0.000001;;, + 106;3; -1.000000,-0.000000,-0.000001;;, + 107;3; -1.000000,-0.000000,-0.000001;;, + 108;3; -1.000000,-0.000000,-0.000001;;, + 109;3; -1.000000,-0.000000,-0.000001;;, + 110;3; -1.000000,-0.000000,-0.000001;;, + 111;3; -1.000000,-0.000000,-0.000001;;, + 112;3; -1.000000,-0.000000,-0.000001;;, + 113;3; -1.000000,-0.000000,-0.000001;;, + 114;3; -1.000000,-0.000000,-0.000001;;, + 115;3; -1.000000,-0.000000,-0.000001;;, + 116;3; -1.000000,-0.000000,-0.000001;;, + 117;3; -1.000000,-0.000000,-0.000001;;, + 118;3; -1.000000,-0.000000,-0.000001;;, + 119;3; -1.000000,-0.000000,-0.000001;;, + 120;3; -1.000000,-0.000000,-0.000001;;, + 121;3; -1.000000, 0.000000,-0.000001;;, + 122;3; -1.000000,-0.000000,-0.000001;;, + 123;3; -1.000000,-0.000000,-0.000001;;, + 124;3; -1.000000,-0.000000,-0.000001;;, + 125;3; -1.000000,-0.000000,-0.000001;;, + 126;3; -1.000000,-0.000000,-0.000001;;, + 127;3; -1.000000,-0.000000,-0.000001;;, + 128;3; -1.000000,-0.000000,-0.000001;;, + 129;3; -1.000000,-0.000000,-0.000001;;, + 130;3; -1.000000,-0.000000,-0.000001;;, + 131;3; -1.000000,-0.000000,-0.000001;;, + 132;3; -1.000000,-0.000000,-0.000001;;, + 133;3; -1.000000,-0.000000,-0.000001;;, + 134;3; -1.000000,-0.000000,-0.000001;;, + 135;3; -1.000000,-0.000000,-0.000001;;, + 136;3; -1.000000,-0.000000,-0.000001;;, + 137;3; -1.000000,-0.000000,-0.000001;;, + 138;3; -1.000000,-0.000000,-0.000001;;, + 139;3; -1.000000,-0.000000,-0.000001;;, + 140;3; -1.000000,-0.000000,-0.000001;;, + 141;3; -1.000000,-0.000000,-0.000001;;, + 142;3; -1.000000,-0.000000,-0.000001;;, + 143;3; -1.000000,-0.000000,-0.000001;;, + 144;3; -1.000000,-0.000000,-0.000001;;, + 145;3; -1.000000,-0.000000,-0.000001;;, + 146;3; -1.000000,-0.000000,-0.000001;;, + 147;3; -1.000000,-0.000000,-0.000001;;, + 148;3; -1.000000,-0.000000,-0.000001;;, + 149;3; -1.000000,-0.000000,-0.000001;;, + 150;3; -1.000000,-0.000000,-0.000001;;, + 151;3; -1.000000,-0.000000,-0.000001;;, + 152;3; -1.000000,-0.000000,-0.000001;;, + 153;3; -1.000000,-0.000000,-0.000001;;, + 154;3; -1.000000,-0.000000,-0.000001;;, + 155;3; -1.000000,-0.000000,-0.000001;;, + 156;3; -1.000000,-0.000000,-0.000001;;, + 157;3; -1.000000,-0.000000,-0.000001;;, + 158;3; -1.000000,-0.000000,-0.000001;;, + 159;3; -1.000000,-0.000000,-0.000001;;, + 160;3; -1.000000,-0.000000,-0.000001;;, + 161;3; -1.000000, 0.000000,-0.000001;;, + 162;3; -1.000000,-0.000000,-0.000000;;, + 163;3; -1.000000,-0.000000,-0.000000;;, + 164;3; -1.000000,-0.000000,-0.000000;;, + 165;3; -1.000000,-0.000000,-0.000000;;, + 166;3; -1.000000,-0.000000,-0.000000;;, + 167;3; -1.000000,-0.000000,-0.000000;;, + 168;3; -1.000000, 0.000000,-0.000001;;, + 169;3; -1.000000, 0.000000,-0.000001;;, + 170;3; -1.000000, 0.000000,-0.000001;;, + 171;3; -1.000000, 0.000000,-0.000001;;, + 172;3; -1.000000, 0.000000,-0.000001;;, + 173;3; -1.000000, 0.000000,-0.000001;;, + 174;3; -1.000000, 0.000000,-0.000001;;, + 175;3; -1.000000, 0.000000,-0.000001;;, + 176;3; -1.000000, 0.000000,-0.000001;;, + 177;3; -1.000000, 0.000000,-0.000001;;, + 178;3; -1.000000, 0.000000,-0.000001;;, + 179;3; -1.000000, 0.000000,-0.000001;;, + 180;3; -1.000000, 0.000000,-0.000001;;, + 181;3; -1.000000, 0.000000,-0.000001;;, + 182;3; -1.000000, 0.000000,-0.000001;;, + 183;3; -1.000000, 0.000000,-0.000001;;, + 184;3; -1.000000, 0.000000,-0.000001;;, + 185;3; -1.000000, 0.000000,-0.000001;;, + 186;3; -1.000000, 0.000000,-0.000001;;, + 187;3; -1.000000, 0.000000,-0.000001;;, + 188;3; -1.000000, 0.000000,-0.000001;;, + 189;3; -1.000000, 0.000000,-0.000001;;, + 190;3; -1.000000, 0.000000,-0.000001;;, + 191;3; -1.000000, 0.000000,-0.000001;;, + 192;3; -1.000000, 0.000000,-0.000000;;, + 193;3; -1.000000, 0.000000,-0.000001;;, + 194;3; -1.000000, 0.000000,-0.000001;;, + 195;3; -1.000000, 0.000000,-0.000001;;, + 196;3; -1.000000, 0.000000,-0.000000;;, + 197;3; -1.000000, 0.000000,-0.000001;;, + 198;3; -1.000000, 0.000000,-0.000001;;, + 199;3; -1.000000, 0.000000,-0.000001;;, + 200;3; -1.000000, 0.000000,-0.000001;;, + 201;3; -1.000000,-0.000000,-0.000001;;, + 202;3; -1.000000,-0.000000,-0.000001;;, + 203;3; -1.000000,-0.000000,-0.000000;;, + 204;3; -1.000000,-0.000000,-0.000001;;, + 205;3; -1.000000,-0.000000,-0.000001;;, + 206;3; -1.000000,-0.000000,-0.000000;;, + 207;3; -1.000000,-0.000000,-0.000001;;, + 208;3; -1.000000, 0.000000,-0.000000;;, + 209;3; -1.000000, 0.000000,-0.000000;;, + 210;3; -1.000000, 0.000000,-0.000001;;, + 211;3; -1.000000, 0.000000,-0.000000;;, + 212;3; -1.000000, 0.000000,-0.000000;;, + 213;3; -1.000000,-0.000000,-0.000001;;, + 214;3; -1.000000,-0.000000,-0.000000;;, + 215;3; -1.000000,-0.000000,-0.000001;;, + 216;3; -1.000000,-0.000000,-0.000001;;, + 217;3; -1.000000,-0.000000,-0.000000;;, + 218;3; -1.000000,-0.000000,-0.000001;;, + 219;3; -1.000000,-0.000000,-0.000001;;, + 220;3; -1.000000, 0.000000,-0.000001;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 1;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 2;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 3;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 4;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 5;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 6;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 7;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 8;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 9;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 10;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 11;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 12;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 13;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 14;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 15;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 16;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 17;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 18;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 19;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 20;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 21;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 22;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 23;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 24;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 25;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 26;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 27;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 28;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 29;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 30;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 31;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 32;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 33;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 34;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 35;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 36;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 37;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 38;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 39;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 40;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 41;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 42;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 43;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 44;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 45;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 46;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 47;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 48;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 49;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 50;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 51;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 52;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 53;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 54;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 55;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 56;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 57;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 58;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 59;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 60;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 61;4; -0.043616, 0.999053,-0.000000,-0.000000;;, + 62;4; -0.043594, 0.999067,-0.000000,-0.000000;;, + 63;4; -0.043536, 0.999089,-0.000000,-0.000000;;, + 64;4; -0.043427, 0.999117,-0.000000,-0.000000;;, + 65;4; -0.043250, 0.999151,-0.000000,-0.000000;;, + 66;4; -0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4; -0.042627, 0.999235,-0.000000,-0.000000;;, + 68;4; -0.042144, 0.999283,-0.000000,-0.000000;;, + 69;4; -0.041519, 0.999336,-0.000000,-0.000000;;, + 70;4; -0.040726, 0.999391,-0.000000,-0.000000;;, + 71;4; -0.039733, 0.999450,-0.000000,-0.000000;;, + 72;4; -0.038501, 0.999511,-0.000000,-0.000000;;, + 73;4; -0.036980, 0.999575,-0.000000,-0.000000;;, + 74;4; -0.035101, 0.999640,-0.000000,-0.000000;;, + 75;4; -0.032770, 0.999707,-0.000000,-0.000000;;, + 76;4; -0.029842, 0.999774,-0.000000,-0.000000;;, + 77;4; -0.026086, 0.999841,-0.000000,-0.000000;;, + 78;4; -0.021070, 0.999906,-0.000000,-0.000000;;, + 79;4; -0.013794, 0.999964,-0.000000,-0.000000;;, + 80;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 81;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 82;4; 0.705874, 0.708245, 0.000000,-0.000000;;, + 83;4; 0.703907, 0.710101, 0.000000,-0.000000;;, + 84;4; 0.701752, 0.712152, 0.000000,-0.000000;;, + 85;4; 0.699533, 0.714271, 0.000000,-0.000000;;, + 86;4; 0.697308, 0.716402, 0.000000,-0.000000;;, + 87;4; 0.695107, 0.718513, 0.000000,-0.000000;;, + 88;4; 0.692951, 0.720584, 0.000000,-0.000000;;, + 89;4; 0.690857, 0.722597, 0.000000,-0.000000;;, + 90;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 91;4; 0.686904, 0.726399, 0.000000,-0.000000;;, + 92;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 93;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 94;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 95;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 96;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 97;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 98;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 99;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 100;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 101;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 102;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 103;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 104;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 105;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 106;4; 0.679948, 0.733105, 0.000000,-0.000000;;, + 107;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 108;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 109;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 110;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 111;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 114;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 115;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 116;4; 0.702748, 0.711279, 0.000000,-0.000000;;, + 117;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 118;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 119;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 120;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 121;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 122;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 123;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 124;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 125;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 126;4; 0.702749, 0.711279, 0.000000,-0.000000;;, + 127;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 128;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 129;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 132;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 133;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 134;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 135;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 136;4; 0.679949, 0.733105, 0.000000,-0.000000;;, + 137;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 138;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 139;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 140;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 141;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 142;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 143;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 145;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 146;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 147;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 148;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 151;4; 0.686904, 0.726398, 0.000000,-0.000000;;, + 152;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 153;4; 0.690857, 0.722596, 0.000000,-0.000000;;, + 154;4; 0.692951, 0.720583, 0.000000,-0.000000;;, + 155;4; 0.695107, 0.718512, 0.000000,-0.000000;;, + 156;4; 0.697308, 0.716401, 0.000000,-0.000000;;, + 157;4; 0.699533, 0.714270, 0.000000,-0.000000;;, + 158;4; 0.701752, 0.712151, 0.000000,-0.000000;;, + 159;4; 0.703907, 0.710100, 0.000000,-0.000000;;, + 160;4; 0.705874, 0.708244, 0.000000,-0.000000;;, + 161;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 162;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 163;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 164;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 165;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 166;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 167;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 168;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 169;4; -0.034052, 0.993234,-0.000000,-0.000000;;, + 170;4; -0.129903, 0.974175,-0.000000,-0.000000;;, + 171;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 172;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 173;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 174;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 175;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 176;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 177;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 178;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 179;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 180;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 181;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 182;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 183;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 184;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 185;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 186;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 187;4; 0.034052, 0.993234, 0.000000,-0.000000;;, + 188;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 189;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 190;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 191;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 192;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 193;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 194;4; 0.043619, 0.999048, 0.000000,-0.000000;;, + 195;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 196;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 197;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 198;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 199;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 200;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 201;4; -0.034052, 0.993233,-0.000000,-0.000000;;, + 202;4; -0.129903, 0.974175,-0.000000,-0.000000;;, + 203;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 204;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 205;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 206;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 207;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 208;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 209;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 210;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 211;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 212;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 213;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 214;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 215;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 216;4; 0.348699, 0.930646, 0.000000,-0.000000;;, + 217;4; 0.253041, 0.949703, 0.000000,-0.000000;;, + 218;4; 0.130122, 0.974173, 0.000000,-0.000000;;, + 219;4; 0.034158, 0.993233, 0.000000,-0.000000;;, + 220;4; -0.000000, 1.000000,-0.000000,-0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 0.999999;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 0.999999;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 0.999999;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Player} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 0.000000, 0.000000;;, + 1;3; 0.000000, 0.000000, 0.000000;;, + 2;3; 0.000000, 0.000000, 0.000000;;, + 3;3; 0.000000, 0.000000, 0.000000;;, + 4;3; 0.000000, 0.000000, 0.000000;;, + 5;3; 0.000000, 0.000000, 0.000000;;, + 6;3; 0.000000, 0.000000, 0.000000;;, + 7;3; 0.000000, 0.000000, 0.000000;;, + 8;3; 0.000000, 0.000000, 0.000000;;, + 9;3; 0.000000, 0.000000, 0.000000;;, + 10;3; 0.000000, 0.000000, 0.000000;;, + 11;3; 0.000000, 0.000000, 0.000000;;, + 12;3; 0.000000, 0.000000, 0.000000;;, + 13;3; 0.000000, 0.000000, 0.000000;;, + 14;3; 0.000000, 0.000000, 0.000000;;, + 15;3; 0.000000, 0.000000, 0.000000;;, + 16;3; 0.000000, 0.000000, 0.000000;;, + 17;3; 0.000000, 0.000000, 0.000000;;, + 18;3; 0.000000, 0.000000, 0.000000;;, + 19;3; 0.000000, 0.000000, 0.000000;;, + 20;3; 0.000000, 0.000000, 0.000000;;, + 21;3; 0.000000, 0.000000, 0.000000;;, + 22;3; 0.000000, 0.000000, 0.000000;;, + 23;3; 0.000000, 0.000000, 0.000000;;, + 24;3; 0.000000, 0.000000, 0.000000;;, + 25;3; 0.000000, 0.000000, 0.000000;;, + 26;3; 0.000000, 0.000000, 0.000000;;, + 27;3; 0.000000, 0.000000, 0.000000;;, + 28;3; 0.000000, 0.000000, 0.000000;;, + 29;3; 0.000000, 0.000000, 0.000000;;, + 30;3; 0.000000, 0.000000, 0.000000;;, + 31;3; 0.000000, 0.000000, 0.000000;;, + 32;3; 0.000000, 0.000000, 0.000000;;, + 33;3; 0.000000, 0.000000, 0.000000;;, + 34;3; 0.000000, 0.000000, 0.000000;;, + 35;3; 0.000000, 0.000000, 0.000000;;, + 36;3; 0.000000, 0.000000, 0.000000;;, + 37;3; 0.000000, 0.000000, 0.000000;;, + 38;3; 0.000000, 0.000000, 0.000000;;, + 39;3; 0.000000, 0.000000, 0.000000;;, + 40;3; 0.000000, 0.000000, 0.000000;;, + 41;3; 0.000000, 0.000000, 0.000000;;, + 42;3; 0.000000, 0.000000, 0.000000;;, + 43;3; 0.000000, 0.000000, 0.000000;;, + 44;3; 0.000000, 0.000000, 0.000000;;, + 45;3; 0.000000, 0.000000, 0.000000;;, + 46;3; 0.000000, 0.000000, 0.000000;;, + 47;3; 0.000000, 0.000000, 0.000000;;, + 48;3; 0.000000, 0.000000, 0.000000;;, + 49;3; 0.000000, 0.000000, 0.000000;;, + 50;3; 0.000000, 0.000000, 0.000000;;, + 51;3; 0.000000, 0.000000, 0.000000;;, + 52;3; 0.000000, 0.000000, 0.000000;;, + 53;3; 0.000000, 0.000000, 0.000000;;, + 54;3; 0.000000, 0.000000, 0.000000;;, + 55;3; 0.000000, 0.000000, 0.000000;;, + 56;3; 0.000000, 0.000000, 0.000000;;, + 57;3; 0.000000, 0.000000, 0.000000;;, + 58;3; 0.000000, 0.000000, 0.000000;;, + 59;3; 0.000000, 0.000000, 0.000000;;, + 60;3; 0.000000, 0.000000, 0.000000;;, + 61;3; 0.000000, 0.000000, 0.000000;;, + 62;3; 0.000000, 0.000000, 0.000000;;, + 63;3; 0.000000, 0.000000, 0.000000;;, + 64;3; 0.000000, 0.000000, 0.000000;;, + 65;3; 0.000000, 0.000000, 0.000000;;, + 66;3; 0.000000, 0.000000, 0.000000;;, + 67;3; 0.000000, 0.000000, 0.000000;;, + 68;3; 0.000000, 0.000000, 0.000000;;, + 69;3; 0.000000, 0.000000, 0.000000;;, + 70;3; 0.000000, 0.000000, 0.000000;;, + 71;3; 0.000000, 0.000000, 0.000000;;, + 72;3; 0.000000, 0.000000, 0.000000;;, + 73;3; 0.000000, 0.000000, 0.000000;;, + 74;3; 0.000000, 0.000000, 0.000000;;, + 75;3; 0.000000, 0.000000, 0.000000;;, + 76;3; 0.000000, 0.000000, 0.000000;;, + 77;3; 0.000000, 0.000000, 0.000000;;, + 78;3; 0.000000, 0.000000, 0.000000;;, + 79;3; 0.000000, 0.000000, 0.000000;;, + 80;3; 0.000000, 0.000000, 0.000000;;, + 81;3; 0.000000, 0.000000, 0.000000;;, + 82;3; 0.000000, 0.000000, 0.000000;;, + 83;3; 0.000000, 0.000000, 0.000000;;, + 84;3; 0.000000, 0.000000, 0.000000;;, + 85;3; 0.000000, 0.000000, 0.000000;;, + 86;3; 0.000000, 0.000000, 0.000000;;, + 87;3; 0.000000, 0.000000, 0.000000;;, + 88;3; 0.000000, 0.000000, 0.000000;;, + 89;3; 0.000000, 0.000000, 0.000000;;, + 90;3; 0.000000, 0.000000, 0.000000;;, + 91;3; 0.000000, 0.000000, 0.000000;;, + 92;3; 0.000000, 0.000000, 0.000000;;, + 93;3; 0.000000, 0.000000, 0.000000;;, + 94;3; 0.000000, 0.000000, 0.000000;;, + 95;3; 0.000000, 0.000000, 0.000000;;, + 96;3; 0.000000, 0.000000, 0.000000;;, + 97;3; 0.000000, 0.000000, 0.000000;;, + 98;3; 0.000000, 0.000000, 0.000000;;, + 99;3; 0.000000, 0.000000, 0.000000;;, + 100;3; 0.000000, 0.000000, 0.000000;;, + 101;3; 0.000000, 0.000000, 0.000000;;, + 102;3; 0.000000, 0.000000, 0.000000;;, + 103;3; 0.000000, 0.000000, 0.000000;;, + 104;3; 0.000000, 0.000000, 0.000000;;, + 105;3; 0.000000, 0.000000, 0.000000;;, + 106;3; 0.000000, 0.000000, 0.000000;;, + 107;3; 0.000000, 0.000000, 0.000000;;, + 108;3; 0.000000, 0.000000, 0.000000;;, + 109;3; 0.000000, 0.000000, 0.000000;;, + 110;3; 0.000000, 0.000000, 0.000000;;, + 111;3; 0.000000, 0.000000, 0.000000;;, + 112;3; 0.000000, 0.000000, 0.000000;;, + 113;3; 0.000000, 0.000000, 0.000000;;, + 114;3; 0.000000, 0.000000, 0.000000;;, + 115;3; 0.000000, 0.000000, 0.000000;;, + 116;3; 0.000000, 0.000000, 0.000000;;, + 117;3; 0.000000, 0.000000, 0.000000;;, + 118;3; 0.000000, 0.000000, 0.000000;;, + 119;3; 0.000000, 0.000000, 0.000000;;, + 120;3; 0.000000, 0.000000, 0.000000;;, + 121;3; 0.000000, 0.000000, 0.000000;;, + 122;3; 0.000000, 0.000000, 0.000000;;, + 123;3; 0.000000, 0.000000, 0.000000;;, + 124;3; 0.000000, 0.000000, 0.000000;;, + 125;3; 0.000000, 0.000000, 0.000000;;, + 126;3; 0.000000, 0.000000, 0.000000;;, + 127;3; 0.000000, 0.000000, 0.000000;;, + 128;3; 0.000000, 0.000000, 0.000000;;, + 129;3; 0.000000, 0.000000, 0.000000;;, + 130;3; 0.000000, 0.000000, 0.000000;;, + 131;3; 0.000000, 0.000000, 0.000000;;, + 132;3; 0.000000, 0.000000, 0.000000;;, + 133;3; 0.000000, 0.000000, 0.000000;;, + 134;3; 0.000000, 0.000000, 0.000000;;, + 135;3; 0.000000, 0.000000, 0.000000;;, + 136;3; 0.000000, 0.000000, 0.000000;;, + 137;3; 0.000000, 0.000000, 0.000000;;, + 138;3; 0.000000, 0.000000, 0.000000;;, + 139;3; 0.000000, 0.000000, 0.000000;;, + 140;3; 0.000000, 0.000000, 0.000000;;, + 141;3; 0.000000, 0.000000, 0.000000;;, + 142;3; 0.000000, 0.000000, 0.000000;;, + 143;3; 0.000000, 0.000000, 0.000000;;, + 144;3; 0.000000, 0.000000, 0.000000;;, + 145;3; 0.000000, 0.000000, 0.000000;;, + 146;3; 0.000000, 0.000000, 0.000000;;, + 147;3; 0.000000, 0.000000, 0.000000;;, + 148;3; 0.000000, 0.000000, 0.000000;;, + 149;3; 0.000000, 0.000000, 0.000000;;, + 150;3; 0.000000, 0.000000, 0.000000;;, + 151;3; 0.000000, 0.000000, 0.000000;;, + 152;3; 0.000000, 0.000000, 0.000000;;, + 153;3; 0.000000, 0.000000, 0.000000;;, + 154;3; 0.000000, 0.000000, 0.000000;;, + 155;3; 0.000000, 0.000000, 0.000000;;, + 156;3; 0.000000, 0.000000, 0.000000;;, + 157;3; 0.000000, 0.000000, 0.000000;;, + 158;3; 0.000000, 0.000000, 0.000000;;, + 159;3; 0.000000, 0.000000, 0.000000;;, + 160;3; 0.000000, 0.000000, 0.000000;;, + 161;3; 0.000000, 0.000000, 0.000000;;, + 162;3; 0.000000, 0.000000, 0.000000;;, + 163;3; 0.000000, 0.000000, 0.000000;;, + 164;3; 0.000000, 0.000000, 0.000000;;, + 165;3; 0.000000, 0.000000, 0.000000;;, + 166;3; 0.000000, 0.000000, 0.000000;;, + 167;3; 0.000000, 0.000000, 0.000000;;, + 168;3; 0.000000, 0.000000, 0.000000;;, + 169;3; 0.000000, 0.000000, 0.000000;;, + 170;3; 0.000000, 0.000000, 0.000000;;, + 171;3; 0.000000, 0.000000, 0.000000;;, + 172;3; 0.000000, 0.000000, 0.000000;;, + 173;3; 0.000000, 0.000000, 0.000000;;, + 174;3; 0.000000, 0.000000, 0.000000;;, + 175;3; 0.000000, 0.000000, 0.000000;;, + 176;3; 0.000000, 0.000000, 0.000000;;, + 177;3; 0.000000, 0.000000, 0.000000;;, + 178;3; 0.000000, 0.000000, 0.000000;;, + 179;3; 0.000000, 0.000000, 0.000000;;, + 180;3; 0.000000, 0.000000, 0.000000;;, + 181;3; 0.000000, 0.000000, 0.000000;;, + 182;3; 0.000000, 0.000000, 0.000000;;, + 183;3; 0.000000, 0.000000, 0.000000;;, + 184;3; 0.000000, 0.000000, 0.000000;;, + 185;3; 0.000000, 0.000000, 0.000000;;, + 186;3; 0.000000, 0.000000, 0.000000;;, + 187;3; 0.000000, 0.000000, 0.000000;;, + 188;3; 0.000000, 0.000000, 0.000000;;, + 189;3; 0.000000, 0.000000, 0.000000;;, + 190;3; 0.000000, 0.000000, 0.000000;;, + 191;3; 0.000000, 0.000000, 0.000000;;, + 192;3; 0.000000, 0.000000, 0.000000;;, + 193;3; 0.000000, 0.000000, 0.000000;;, + 194;3; 0.000000, 0.000000, 0.000000;;, + 195;3; 0.000000, 0.000000, 0.000000;;, + 196;3; 0.000000, 0.000000, 0.000000;;, + 197;3; 0.000000, 0.000000, 0.000000;;, + 198;3; 0.000000, 0.000000, 0.000000;;, + 199;3; 0.000000, 0.000000, 0.000000;;, + 200;3; 0.000000, 0.000000, 0.000000;;, + 201;3; 0.000000, 0.000000, 0.000000;;, + 202;3; 0.000000, 0.000000, 0.000000;;, + 203;3; 0.000000, 0.000000, 0.000000;;, + 204;3; 0.000000, 0.000000, 0.000000;;, + 205;3; 0.000000, 0.000000, 0.000000;;, + 206;3; 0.000000, 0.000000, 0.000000;;, + 207;3; 0.000000, 0.000000, 0.000000;;, + 208;3; 0.000000, 0.000000, 0.000000;;, + 209;3; 0.000000, 0.000000, 0.000000;;, + 210;3; 0.000000, 0.000000, 0.000000;;, + 211;3; 0.000000, 0.000000, 0.000000;;, + 212;3; 0.000000, 0.000000, 0.000000;;, + 213;3; 0.000000, 0.000000, 0.000000;;, + 214;3; 0.000000, 0.000000, 0.000000;;, + 215;3; 0.000000, 0.000000, 0.000000;;, + 216;3; 0.000000, 0.000000, 0.000000;;, + 217;3; 0.000000, 0.000000, 0.000000;;, + 218;3; 0.000000, 0.000000, 0.000000;;, + 219;3; 0.000000, 0.000000, 0.000000;;, + 220;3; 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 2;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 3;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 4;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 5;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 6;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 7;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 8;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 9;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 10;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 11;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 12;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 13;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 14;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 15;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 16;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 17;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 18;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 19;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 20;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 21;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 22;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 23;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 24;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 25;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 26;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 27;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 28;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 29;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 30;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 31;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 32;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 33;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 34;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 35;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 36;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 37;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 38;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 39;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 40;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 41;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 42;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 43;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 44;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 45;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 46;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 47;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 48;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 49;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 50;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 51;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 52;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 53;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 54;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 55;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 56;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 57;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 58;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 59;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 60;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 61;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 62;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 63;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 64;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 65;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 66;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 67;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 68;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 69;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 70;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 71;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 72;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 73;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 74;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 75;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 76;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 77;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 78;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 79;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 80;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 81;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 82;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 83;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 84;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 85;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 86;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 87;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 88;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 89;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 90;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 91;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 92;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 93;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 94;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 95;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 96;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 97;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 98;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 99;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 100;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 101;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 102;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 103;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 104;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 105;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 106;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 107;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 108;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 109;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 110;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 111;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 112;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 113;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 114;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 115;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 116;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 117;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 118;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 119;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 120;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 121;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 122;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 123;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 124;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 125;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 126;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 127;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 128;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 129;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 130;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 131;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 132;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 133;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 134;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 135;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 136;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 137;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 138;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 139;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 140;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 141;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 142;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 143;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 144;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 145;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 146;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 147;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 148;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 149;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 150;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 151;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 152;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 153;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 154;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 155;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 156;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 157;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 158;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 159;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 160;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 161;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 162;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 163;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 164;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 165;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 166;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 167;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 168;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 169;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 170;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 171;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 172;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 173;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 174;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 175;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 176;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 177;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 178;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 179;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 180;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 181;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 182;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 183;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 184;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 185;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 186;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 187;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 188;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 189;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 190;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 191;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 192;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 193;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 194;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 195;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 196;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 197;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 198;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 199;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 200;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 201;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 202;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 203;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 204;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 205;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 206;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 207;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 208;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 209;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 210;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 211;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 212;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 213;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 214;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 215;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 216;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 217;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 218;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 219;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 220;4; -1.000000, 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } +} //End of AnimationSet diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/nodes.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/nodes.lua new file mode 100644 index 0000000..227a26b --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/nodes.lua @@ -0,0 +1,1369 @@ +-- mods/default/nodes.lua + +minetest.register_node("default:stone", { + description = "Stone", + tiles = {"default_stone.png"}, + is_ground_content = true, + groups = {cracky=3, stone=1}, + drop = 'default:cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_stone", { + description = "Desert Stone", + tiles = {"default_desert_stone.png"}, + is_ground_content = true, + groups = {cracky=3, stone=1}, + drop = 'default:desert_stone', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_coal", { + description = "Coal Ore", + tiles = {"default_stone.png^default_mineral_coal.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:coal_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_iron", { + description = "Iron Ore", + tiles = {"default_stone.png^default_mineral_iron.png"}, + is_ground_content = true, + groups = {cracky=2}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_copper", { + description = "Copper Ore", + tiles = {"default_stone.png^default_mineral_copper.png"}, + is_ground_content = true, + groups = {cracky=2}, + drop = 'default:copper_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_mese", { + description = "Mese Ore", + tiles = {"default_stone.png^default_mineral_mese.png"}, + is_ground_content = true, + groups = {cracky=1}, + drop = "default:mese_crystal", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_gold", { + description = "Gold Ore", + tiles = {"default_stone.png^default_mineral_gold.png"}, + is_ground_content = true, + groups = {cracky=2}, + drop = "default:gold_lump", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_diamond", { + description = "Diamond Ore", + tiles = {"default_stone.png^default_mineral_diamond.png"}, + is_ground_content = true, + groups = {cracky=1}, + drop = "default:diamond", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stonebrick", { + description = "Stone Brick", + tiles = {"default_stone_brick.png"}, + groups = {cracky=2, stone=1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_stonebrick", { + description = "Desert Stone Brick", + tiles = {"default_desert_stone_brick.png"}, + groups = {cracky=2, stone=1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:dirt_with_grass", { + description = "Dirt with Grass", + tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.25}, + }), +}) + +minetest.register_node("default:dirt_with_grass_footsteps", { + description = "Dirt with Grass and Footsteps", + tiles = {"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1,not_in_creative_inventory=1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.25}, + }), +}) + +minetest.register_node("default:dirt_with_snow", { + description = "Dirt with Snow", + tiles = {"default_snow.png", "default_dirt.png", "default_dirt.png^default_snow_side.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_snow_footstep", gain=0.25}, + }), +}) + +minetest.register_node("default:dirt", { + description = "Dirt", + tiles = {"default_dirt.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_abm({ + nodenames = {"default:dirt"}, + interval = 2, + chance = 200, + action = function(pos, node) + local above = {x=pos.x, y=pos.y+1, z=pos.z} + local name = minetest.get_node(above).name + local nodedef = minetest.registered_nodes[name] + if nodedef and (nodedef.sunlight_propagates or nodedef.paramtype == "light") + and nodedef.liquidtype == "none" + and (minetest.get_node_light(above) or 0) >= 13 then + if name == "default:snow" or name == "default:snowblock" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + else + minetest.set_node(pos, {name = "default:dirt_with_grass"}) + end + end + end +}) + +minetest.register_abm({ + nodenames = {"default:dirt_with_grass"}, + interval = 2, + chance = 20, + action = function(pos, node) + local above = {x=pos.x, y=pos.y+1, z=pos.z} + local name = minetest.get_node(above).name + local nodedef = minetest.registered_nodes[name] + if name ~= "ignore" and nodedef + and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light") + and nodedef.liquidtype == "none") then + minetest.set_node(pos, {name = "default:dirt"}) + end + end +}) + +minetest.register_node("default:sand", { + description = "Sand", + tiles = {"default_sand.png"}, + is_ground_content = true, + groups = {crumbly=3, falling_node=1, sand=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:desert_sand", { + description = "Desert Sand", + tiles = {"default_desert_sand.png"}, + is_ground_content = true, + groups = {crumbly=3, falling_node=1, sand=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:gravel", { + description = "Gravel", + tiles = {"default_gravel.png"}, + is_ground_content = true, + groups = {crumbly=2, falling_node=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_gravel_footstep", gain=0.5}, + dug = {name="default_gravel_footstep", gain=1.0}, + }), +}) + +minetest.register_node("default:sandstone", { + description = "Sandstone", + tiles = {"default_sandstone.png"}, + is_ground_content = true, + groups = {crumbly=2,cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:sandstonebrick", { + description = "Sandstone Brick", + tiles = {"default_sandstone_brick.png"}, + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:clay", { + description = "Clay", + tiles = {"default_clay.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:clay_lump 4', + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:brick", { + description = "Brick Block", + tiles = {"default_brick.png"}, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:tree", { + description = "Tree", + tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, + paramtype2 = "facedir", + groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + on_place = minetest.rotate_node +}) + +minetest.register_node("default:jungletree", { + description = "Jungle Tree", + tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, + paramtype2 = "facedir", + groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + on_place = minetest.rotate_node +}) + +minetest.register_node("default:junglewood", { + description = "Junglewood Planks", + tiles = {"default_junglewood.png"}, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:jungleleaves", { + description = "Jungle Leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_jungleleaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, leaves=1}, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'default:junglesapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'default:jungleleaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:junglesapling", { + description = "Jungle Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_junglesapling.png"}, + inventory_image = "default_junglesapling.png", + wield_image = "default_junglesapling.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:junglegrass", { + description = "Jungle Grass", + drawtype = "plantlike", + visual_scale = 1.3, + tiles = {"default_junglegrass.png"}, + inventory_image = "default_junglegrass.png", + wield_image = "default_junglegrass.png", + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + groups = {snappy=3,flammable=2,flora=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, +}) + +minetest.register_node("default:leaves", { + description = "Leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, leaves=1}, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'default:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'default:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:cactus", { + description = "Cactus", + tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, + paramtype2 = "facedir", + is_ground_content = true, + groups = {snappy=1,choppy=3,flammable=2}, + sounds = default.node_sound_wood_defaults(), + on_place = minetest.rotate_node +}) + +minetest.register_node("default:papyrus", { + description = "Papyrus", + drawtype = "plantlike", + tiles = {"default_papyrus.png"}, + inventory_image = "default_papyrus.png", + wield_image = "default_papyrus.png", + paramtype = "light", + walkable = false, + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:bookshelf", { + description = "Bookshelf", + tiles = {"default_wood.png", "default_wood.png", "default_bookshelf.png"}, + groups = {choppy=3,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:glass", { + description = "Glass", + drawtype = "glasslike", + tiles = {"default_glass.png"}, + inventory_image = minetest.inventorycube("default_glass.png"), + paramtype = "light", + sunlight_propagates = true, + groups = {cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("default:fence_wood", { + description = "Wooden Fence", + drawtype = "fencelike", + tiles = {"default_wood.png"}, + inventory_image = "default_fence.png", + wield_image = "default_fence.png", + paramtype = "light", + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:rail", { + description = "Rail", + drawtype = "raillike", + tiles = {"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + -- but how to specify the dimensions for curved and sideways rails? + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,dig_immediate=2,attached_node=1}, +}) + +minetest.register_node("default:ladder", { + description = "Ladder", + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {choppy=2,oddly_breakable_by_hand=3,flammable=2}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:wood", { + description = "Wooden Planks", + tiles = {"default_wood.png"}, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:cloud", { + description = "Cloud", + tiles = {"default_cloud.png"}, + sounds = default.node_sound_defaults(), + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_node("default:water_flowing", { + description = "Flowing Water", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "flowingliquid", + tiles = {"default_water.png"}, + special_tiles = { + { + image="default_water_flowing_animated.png", + backface_culling=false, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=0.8} + }, + { + image="default_water_flowing_animated.png", + backface_culling=true, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=0.8} + }, + }, + alpha = WATER_ALPHA, + paramtype = "light", + paramtype2 = "flowingliquid", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + freezemelt = "default:snow", + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1, freezes=1, melt_around=1}, +}) + +minetest.register_node("default:water_source", { + description = "Water Source", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "liquid", + tiles = { + {name="default_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0}} + }, + special_tiles = { + -- New-style water source material (mostly unused) + { + name="default_water_source_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0}, + backface_culling = false, + } + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + freezemelt = "default:ice", + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3, puts_out_fire=1, freezes=1}, +}) + +minetest.register_node("default:lava_flowing", { + description = "Flowing Lava", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "flowingliquid", + tiles = {"default_lava.png"}, + special_tiles = { + { + image="default_lava_flowing_animated.png", + backface_culling=false, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + { + image="default_lava_flowing_animated.png", + backface_culling=true, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + }, + paramtype = "light", + paramtype2 = "flowingliquid", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + liquid_renewable = false, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3, igniter=1, not_in_creative_inventory=1}, +}) + +minetest.register_node("default:lava_source", { + description = "Lava Source", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "liquid", + tiles = { + {name="default_lava_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} + }, + special_tiles = { + -- New-style lava source material (mostly unused) + { + name="default_lava_source_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}, + backface_culling = false, + } + }, + paramtype = "light", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + liquid_renewable = false, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3, igniter=1}, +}) + +minetest.register_node("default:torch", { + description = "Torch", + drawtype = "torchlike", + --tiles = {"default_torch_on_floor.png", "default_torch_on_ceiling.png", "default_torch.png"}, + tiles = { + {name="default_torch_on_floor_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="default_torch_on_ceiling_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="default_torch_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} + }, + inventory_image = "default_torch_on_floor.png", + wield_image = "default_torch_on_floor.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + light_source = LIGHT_MAX-1, + selection_box = { + type = "wallmounted", + wall_top = {-0.1, 0.5-0.6, -0.1, 0.1, 0.5, 0.1}, + wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5+0.6, 0.1}, + wall_side = {-0.5, -0.3, -0.1, -0.5+0.3, 0.3, 0.1}, + }, + groups = {choppy=2,dig_immediate=3,flammable=1,attached_node=1,hot=2}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sign_wall", { + description = "Sign", + drawtype = "signlike", + tiles = {"default_sign_wall.png"}, + inventory_image = "default_sign_wall.png", + wield_image = "default_sign_wall.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + groups = {choppy=2,dig_immediate=2,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), + on_construct = function(pos) + --local n = minetest.get_node(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + meta:set_string("infotext", "\"\"") + end, + on_receive_fields = function(pos, formname, fields, sender) + --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) + local meta = minetest.get_meta(pos) + fields.text = fields.text or "" + minetest.log("action", (sender:get_player_name() or "").." wrote \""..fields.text.. + "\" to sign at "..minetest.pos_to_string(pos)) + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + end, +}) + +default.chest_formspec = + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]" + +function default.get_locked_chest_formspec(pos) + local spos = pos.x .. "," .. pos.y .. "," ..pos.z + local formspec = + "size[8,9]".. + "list[nodemeta:".. spos .. ";main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]" + return formspec +end + + +minetest.register_node("default:chest", { + description = "Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, + paramtype2 = "facedir", + groups = {choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec",default.chest_formspec) + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("default:chest_locked", { + description = "Locked Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_lock.png"}, + paramtype2 = "facedir", + groups = {choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", "Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") and has_locked_chest_privilege(meta, player) + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, + on_rightclick = function(pos, node, clicker) + local meta = minetest.get_meta(pos) + if has_locked_chest_privilege(meta, clicker) then + minetest.show_formspec( + clicker:get_player_name(), + "default:chest_locked", + default.get_locked_chest_formspec(pos) + ) + end + end, +}) + +function default.get_furnace_active_formspec(pos, percent) + local formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + return formspec +end + +default.furnace_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("default:furnace", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if listname == "fuel" then + if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then + if inv:is_empty("src") then + meta:set_string("infotext","Furnace is empty") + end + return stack:get_count() + else + return 0 + end + elseif listname == "src" then + return stack:get_count() + elseif listname == "dst" then + return 0 + end + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local stack = inv:get_stack(from_list, from_index) + if to_list == "fuel" then + if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then + if inv:is_empty("src") then + meta:set_string("infotext","Furnace is empty") + end + return count + else + return 0 + end + elseif to_list == "src" then + return count + elseif to_list == "dst" then + return 0 + end + end, +}) + +minetest.register_node("default:furnace_active", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "default:furnace", + groups = {cracky=2, not_in_creative_inventory=1,hot=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if listname == "fuel" then + if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then + if inv:is_empty("src") then + meta:set_string("infotext","Furnace is empty") + end + return stack:get_count() + else + return 0 + end + elseif listname == "src" then + return stack:get_count() + elseif listname == "dst" then + return 0 + end + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local stack = inv:get_stack(from_list, from_index) + if to_list == "fuel" then + if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then + if inv:is_empty("src") then + meta:set_string("infotext","Furnace is empty") + end + return count + else + return 0 + end + elseif to_list == "src" then + return count + elseif to_list == "dst" then + return 0 + end + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.get_node(pos) + local meta = minetest.get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.set_node(pos,node) + meta = minetest.get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"default:furnace","default:furnace_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + local aftercooked + + if srclist then + cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + inv:set_stack("src", 1, aftercooked.items[1]) + else + --print("Could not insert '"..cooked.item:to_string().."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Furnace active: "..percent.."%") + hacky_swap_node(pos,"default:furnace_active") + meta:set_string("formspec",default.get_furnace_active_formspec(pos, percent)) + return + end + + local fuel = nil + local afterfuel + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Furnace out of fuel") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Furnace is empty") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + inv:set_stack("fuel", 1, afterfuel.items[1]) + end, +}) + +minetest.register_node("default:cobble", { + description = "Cobblestone", + tiles = {"default_cobble.png"}, + is_ground_content = true, + groups = {cracky=3, stone=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:mossycobble", { + description = "Mossy Cobblestone", + tiles = {"default_mossycobble.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:coalblock", { + description = "Coal Block", + tiles = {"default_coal_block.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:steelblock", { + description = "Steel Block", + tiles = {"default_steel_block.png"}, + is_ground_content = true, + groups = {cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:copperblock", { + description = "Copper Block", + tiles = {"default_copper_block.png"}, + is_ground_content = true, + groups = {cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:bronzeblock", { + description = "Bronze Block", + tiles = {"default_bronze_block.png"}, + is_ground_content = true, + groups = {cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:mese", { + description = "Mese Block", + tiles = {"default_mese_block.png"}, + is_ground_content = true, + groups = {cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_alias("default:mese_block", "default:mese") + +minetest.register_node("default:goldblock", { + description = "Gold Block", + tiles = {"default_gold_block.png"}, + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:diamondblock", { + description = "Diamond Block", + tiles = {"default_diamond_block.png"}, + is_ground_content = true, + groups = {cracky=1,level=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:obsidian_glass", { + description = "Obsidian Glass", + drawtype = "glasslike", + tiles = {"default_obsidian_glass.png"}, + paramtype = "light", + sunlight_propagates = true, + sounds = default.node_sound_glass_defaults(), + groups = {cracky=3,oddly_breakable_by_hand=3}, +}) + +minetest.register_node("default:obsidian", { + description = "Obsidian", + tiles = {"default_obsidian.png"}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), + groups = {cracky=1,level=2}, +}) + +minetest.register_node("default:nyancat", { + description = "Nyan Cat", + tiles = {"default_nc_side.png", "default_nc_side.png", "default_nc_side.png", + "default_nc_side.png", "default_nc_back.png", "default_nc_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:nyancat_rainbow", { + description = "Nyan Cat Rainbow", + tiles = {"default_nc_rb.png^[transformR90", "default_nc_rb.png^[transformR90", + "default_nc_rb.png", "default_nc_rb.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sapling", { + description = "Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_sapling.png"}, + inventory_image = "default_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:apple", { + description = "Apple", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_apple.png"}, + inventory_image = "default_apple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} + }, + groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=3,leafdecay_drop=1}, + on_use = minetest.item_eat(1), + sounds = default.node_sound_leaves_defaults(), + after_place_node = function(pos, placer, itemstack) + if placer:is_player() then + minetest.set_node(pos, {name="default:apple", param2=1}) + end + end, +}) + +minetest.register_node("default:dry_shrub", { + description = "Dry Shrub", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_dry_shrub.png"}, + inventory_image = "default_dry_shrub.png", + wield_image = "default_dry_shrub.png", + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=3,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, +}) + +minetest.register_node("default:grass_1", { + description = "Grass", + drawtype = "plantlike", + tiles = {"default_grass_1.png"}, + -- use a bigger inventory image + inventory_image = "default_grass_3.png", + wield_image = "default_grass_3.png", + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=3,flora=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + on_place = function(itemstack, placer, pointed_thing) + -- place a random grass node + local stack = ItemStack("default:grass_"..math.random(1,5)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:grass_1 "..itemstack:get_count()-(1-ret:get_count())) + end, +}) + +minetest.register_node("default:grass_2", { + description = "Grass", + drawtype = "plantlike", + tiles = {"default_grass_2.png"}, + inventory_image = "default_grass_2.png", + wield_image = "default_grass_2.png", + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = "default:grass_1", + groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, +}) +minetest.register_node("default:grass_3", { + description = "Grass", + drawtype = "plantlike", + tiles = {"default_grass_3.png"}, + inventory_image = "default_grass_3.png", + wield_image = "default_grass_3.png", + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = "default:grass_1", + groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, +}) + +minetest.register_node("default:grass_4", { + description = "Grass", + drawtype = "plantlike", + tiles = {"default_grass_4.png"}, + inventory_image = "default_grass_4.png", + wield_image = "default_grass_4.png", + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = "default:grass_1", + groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, +}) + +minetest.register_node("default:grass_5", { + description = "Grass", + drawtype = "plantlike", + tiles = {"default_grass_5.png"}, + inventory_image = "default_grass_5.png", + wield_image = "default_grass_5.png", + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = "default:grass_1", + groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, +}) + +minetest.register_node("default:ice", { + description = "Ice", + tiles = {"default_ice.png"}, + is_ground_content = true, + paramtype = "light", + freezemelt = "default:water_source", + groups = {cracky=3, melts=1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("default:snow", { + description = "Snow", + tiles = {"default_snow.png"}, + inventory_image = "default_snowball.png", + wield_image = "default_snowball.png", + is_ground_content = true, + paramtype = "light", + buildable_to = true, + leveled = 7, + drawtype = "nodebox", + freezemelt = "default:water_flowing", + node_box = { + type = "leveled", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+2/16, 0.5}, + }, + }, + groups = {crumbly=3,falling_node=1, melts=1, float=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_snow_footstep", gain=0.25}, + dug = {name="default_snow_footstep", gain=0.75}, + }), + on_construct = function(pos) + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "default:dirt_with_grass" then + minetest.set_node(pos, {name="default:dirt_with_snow"}) + end + end, +}) +minetest.register_alias("snow", "default:snow") + +minetest.register_node("default:snowblock", { + description = "Snow Block", + tiles = {"default_snow.png"}, + is_ground_content = true, + freezemelt = "default:water_source", + groups = {crumbly=3, melts=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_snow_footstep", gain=0.25}, + dug = {name="default_snow_footstep", gain=0.75}, + }), +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/player.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/player.lua new file mode 100644 index 0000000..cad1105 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/player.lua @@ -0,0 +1,190 @@ +-- Minetest 0.4 mod: player +-- See README.txt for licensing and other information. + +--[[ + +API +--- + +default.player_register_model(name, def) +^ Register a new model to be used by players. +^ is the model filename such as "character.x", "foo.b3d", etc. +^ See Model Definition below for format of . + +default.registered_player_models[name] +^ See Model Definition below for format. + +default.player_set_model(player, model_name) +^ is a PlayerRef. +^ is a model registered with player_register_model. + +default.player_set_animation(player, anim_name [, speed]) +^ is a PlayerRef. +^ is the name of the animation. +^ is in frames per second. If nil, default from the model is used + +default.player_set_textures(player, textures) +^ is a PlayerRef. +^ is an array of textures +^ If is nil, the default textures from the model def are used + +default.player_get_animation(player) +^ is a PlayerRef. +^ Returns a table containing fields "model", "textures" and "animation". +^ Any of the fields of the returned table may be nil. + +Model Definition +---------------- + +model_def = { + animation_speed = 30, -- Default animation speed, in FPS. + textures = {"character.png", }, -- Default array of textures. + visual_size = {x=1, y=1,}, -- Used to scale the model. + animations = { + -- = { x=, y=, }, + foo = { x= 0, y=19, }, + bar = { x=20, y=39, }, + -- ... + }, +} + +]] + +-- Player animation blending +-- Note: This is currently broken due to a bug in Irrlicht, leave at 0 +local animation_blend = 0 + +default.registered_player_models = { } + +-- Local for speed. +local models = default.registered_player_models + +function default.player_register_model(name, def) + models[name] = def +end + +-- Default player appearance +default.player_register_model("character.x", { + animation_speed = 30, + textures = {"character.png", }, + animations = { + -- Standard animations. + stand = { x= 0, y= 79, }, + lay = { x=162, y=166, }, + walk = { x=168, y=187, }, + mine = { x=189, y=198, }, + walk_mine = { x=200, y=219, }, + -- Extra animations (not currently used by the game). + sit = { x= 81, y=160, }, + }, +}) + +-- Player stats and animations +local player_model = {} +local player_textures = {} +local player_anim = {} +local player_sneak = {} + +function default.player_get_animation(player) + local name = player:get_player_name() + return { + model = player_model[name], + textures = player_textures[name], + animation = player_anim[name], + } +end + +-- Called when a player's appearance needs to be updated +function default.player_set_model(player, model_name) + local name = player:get_player_name() + local model = models[model_name] + if model then + if player_model[name] == model_name then + return + end + player:set_properties({ + mesh = model_name, + textures = player_textures[name] or model.textures, + visual = "mesh", + visual_size = model.visual_size or {x=1, y=1}, + }) + default.player_set_animation(player, "stand") + else + player:set_properties({ + textures = { "player.png", "player_back.png", }, + visual = "upright_sprite", + }) + end + player_model[name] = model_name +end + +function default.player_set_textures(player, textures) + local name = player:get_player_name() + player_textures[name] = textures + player:set_properties({textures = textures,}) +end + +function default.player_set_animation(player, anim_name, speed) + local name = player:get_player_name() + if player_anim[name] == anim_name then + return + end + local model = player_model[name] and models[player_model[name]] + if not (model and model.animations[anim_name]) then + return + end + local anim = model.animations[anim_name] + player_anim[name] = anim_name + player:set_animation(anim, speed or model.animation_speed, animation_blend) +end + +-- Update appearance when the player joins +minetest.register_on_joinplayer(function(player) + default.player_set_model(player, "character.x") +end) + +-- Localize for better performance. +local player_set_animation = default.player_set_animation + +-- Check each player and apply animations +minetest.register_globalstep(function(dtime) + for _, player in pairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local model_name = player_model[name] + local model = model_name and models[model_name] + if model then + local controls = player:get_player_control() + local walking = false + local animation_speed_mod = model.animation_speed or 30 + + -- Determine if the player is walking + if controls.up or controls.down or controls.left or controls.right then + walking = true + end + + -- Determine if the player is sneaking, and reduce animation speed if so + if controls.sneak then + animation_speed_mod = animation_speed_mod / 2 + end + + -- Apply animations based on what the player is doing + if player:get_hp() == 0 then + player_set_animation(player, "lay") + elseif walking then + if player_sneak[name] ~= controls.sneak then + player_anim[name] = nil + player_sneak[name] = controls.sneak + end + if controls.LMB then + player_set_animation(player, "walk_mine", animation_speed_mod) + else + player_set_animation(player, "walk", animation_speed_mod) + end + elseif controls.LMB then + player_set_animation(player, "mine") + else + player_set_animation(player, "stand", animation_speed_mod) + end + end + end +end) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.1.ogg new file mode 100644 index 0000000..b1ccc5f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.2.ogg new file mode 100644 index 0000000..b6cc9e8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.3.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.3.ogg new file mode 100644 index 0000000..ae6a6bf Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_break_glass.3.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.1.ogg new file mode 100644 index 0000000..42506dd Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.2.ogg new file mode 100644 index 0000000..2747ab8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.3.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.3.ogg new file mode 100644 index 0000000..8baeac3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_cool_lava.3.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_choppy.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_choppy.ogg new file mode 100644 index 0000000..e2ecd84 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_choppy.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_cracky.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_cracky.ogg new file mode 100644 index 0000000..da11679 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_cracky.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_crumbly.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_crumbly.ogg new file mode 100644 index 0000000..a0b2a1f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_crumbly.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_dig_immediate.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_dig_immediate.ogg new file mode 100644 index 0000000..e65d766 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_dig_immediate.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg new file mode 100644 index 0000000..ef4d7b1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dirt_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dirt_footstep.1.ogg new file mode 100644 index 0000000..84a197d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dirt_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dirt_footstep.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dirt_footstep.2.ogg new file mode 100644 index 0000000..2e23b8a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dirt_footstep.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dug_node.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dug_node.1.ogg new file mode 100644 index 0000000..c04975d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dug_node.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dug_node.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dug_node.2.ogg new file mode 100644 index 0000000..9f20926 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_dug_node.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_glass_footstep.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_glass_footstep.ogg new file mode 100644 index 0000000..191287a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_glass_footstep.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.1.ogg new file mode 100644 index 0000000..22d1ad6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.2.ogg new file mode 100644 index 0000000..4ccd8a0 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.3.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.3.ogg new file mode 100644 index 0000000..20db84e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_grass_footstep.3.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.1.ogg new file mode 100644 index 0000000..8d260ce Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.2.ogg new file mode 100644 index 0000000..2aba2c6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.3.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.3.ogg new file mode 100644 index 0000000..1bcd8a1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.3.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.4.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.4.ogg new file mode 100644 index 0000000..696c9ff Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_gravel_footstep.4.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.1.ogg new file mode 100644 index 0000000..1748bc5 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.2.ogg new file mode 100644 index 0000000..fe39fd7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.3.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.3.ogg new file mode 100644 index 0000000..5030e06 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_hard_footstep.3.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.1.ogg new file mode 100644 index 0000000..46b9756 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.2.ogg new file mode 100644 index 0000000..d34c01a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.3.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.3.ogg new file mode 100644 index 0000000..fc29365 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node.3.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node_hard.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node_hard.1.ogg new file mode 100644 index 0000000..76eecf9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node_hard.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node_hard.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node_hard.2.ogg new file mode 100644 index 0000000..1d3b3de Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_place_node_hard.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_sand_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_sand_footstep.1.ogg new file mode 100644 index 0000000..65b68c7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_sand_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_sand_footstep.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_sand_footstep.2.ogg new file mode 100644 index 0000000..57f35f3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_sand_footstep.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.1.ogg new file mode 100644 index 0000000..3260b91 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.2.ogg new file mode 100644 index 0000000..4aac1e7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.3.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.3.ogg new file mode 100644 index 0000000..cf4235b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_snow_footstep.3.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_wood_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_wood_footstep.1.ogg new file mode 100644 index 0000000..34f63a1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_wood_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_wood_footstep.2.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_wood_footstep.2.ogg new file mode 100644 index 0000000..124fc29 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/sounds/default_wood_footstep.2.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/bubble.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/bubble.png new file mode 100644 index 0000000..3bca7e1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/bubble.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/crack_anylength.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/crack_anylength.png new file mode 100644 index 0000000..a25e26f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/crack_anylength.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_apple.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_apple.png new file mode 100644 index 0000000..97792e1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_apple.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_book.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_book.png new file mode 100644 index 0000000..6b3a0c2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_book.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bookshelf.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bookshelf.png new file mode 100644 index 0000000..27d8fe0 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bookshelf.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_brick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_brick.png new file mode 100644 index 0000000..bb0c3e4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_brick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bronze_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bronze_block.png new file mode 100644 index 0000000..8fe95b2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bronze_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bronze_ingot.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bronze_ingot.png new file mode 100644 index 0000000..2946b83 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_bronze_ingot.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cactus_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cactus_side.png new file mode 100644 index 0000000..c325a01 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cactus_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cactus_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cactus_top.png new file mode 100644 index 0000000..c0e9769 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cactus_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_front.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_front.png new file mode 100644 index 0000000..c5a76c3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_front.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_lock.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_lock.png new file mode 100644 index 0000000..368a60b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_lock.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_side.png new file mode 100644 index 0000000..83f4861 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_top.png new file mode 100644 index 0000000..ba5e2f4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_chest_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay.png new file mode 100644 index 0000000..6721079 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay_brick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay_brick.png new file mode 100644 index 0000000..f666369 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay_brick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay_lump.png new file mode 100644 index 0000000..4b70d7c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_clay_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cloud.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cloud.png new file mode 100644 index 0000000..6a1537d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cloud.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_coal_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_coal_block.png new file mode 100644 index 0000000..84e8b54 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_coal_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_coal_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_coal_lump.png new file mode 100644 index 0000000..56e6ae7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_coal_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cobble.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cobble.png new file mode 100644 index 0000000..cf8896d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_cobble.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_block.png new file mode 100644 index 0000000..1224685 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_ingot.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_ingot.png new file mode 100644 index 0000000..7979608 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_ingot.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_lump.png new file mode 100644 index 0000000..b65b77f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_copper_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_sand.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_sand.png new file mode 100644 index 0000000..27750fb Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_sand.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_stone.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_stone.png new file mode 100644 index 0000000..b6b4b66 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_stone.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_stone_brick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_stone_brick.png new file mode 100644 index 0000000..6af1936 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_desert_stone_brick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_diamond.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_diamond.png new file mode 100644 index 0000000..2902d00 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_diamond.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_diamond_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_diamond_block.png new file mode 100644 index 0000000..8481578 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_diamond_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_dirt.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_dirt.png new file mode 100644 index 0000000..2ced98e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_dirt.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_dry_shrub.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_dry_shrub.png new file mode 100644 index 0000000..75c67c3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_dry_shrub.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_fence.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_fence.png new file mode 100644 index 0000000..ca6ed59 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_fence.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_bottom.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_bottom.png new file mode 100644 index 0000000..2d19b6b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_bottom.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_fire_bg.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_fire_bg.png new file mode 100644 index 0000000..e98a4f6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_fire_bg.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_fire_fg.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_fire_fg.png new file mode 100644 index 0000000..66aab65 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_fire_fg.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_front.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_front.png new file mode 100644 index 0000000..88069c7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_front.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_front_active.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_front_active.png new file mode 100644 index 0000000..10ffd1f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_front_active.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_side.png new file mode 100644 index 0000000..2d19b6b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_top.png new file mode 100644 index 0000000..2d19b6b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_furnace_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_glass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_glass.png new file mode 100644 index 0000000..ade0196 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_glass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_block.png new file mode 100644 index 0000000..dee4cdb Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_ingot.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_ingot.png new file mode 100644 index 0000000..48ca66d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_ingot.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_lump.png new file mode 100644 index 0000000..776ca80 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gold_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass.png new file mode 100644 index 0000000..4e1f0f1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_1.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_1.png new file mode 100644 index 0000000..b03df7c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_1.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_2.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_2.png new file mode 100644 index 0000000..b28172d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_2.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_3.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_3.png new file mode 100644 index 0000000..ba48050 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_3.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_4.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_4.png new file mode 100644 index 0000000..3797fa8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_4.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_5.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_5.png new file mode 100644 index 0000000..ef19ad9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_5.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_footsteps.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_footsteps.png new file mode 100644 index 0000000..8349033 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_footsteps.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_side.png new file mode 100644 index 0000000..06d4d40 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_grass_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gravel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gravel.png new file mode 100644 index 0000000..c07aeb9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_gravel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_ice.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_ice.png new file mode 100644 index 0000000..4aa583a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_ice.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_iron_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_iron_lump.png new file mode 100644 index 0000000..2cbacc7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_iron_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglegrass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglegrass.png new file mode 100644 index 0000000..d935e57 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglegrass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungleleaves.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungleleaves.png new file mode 100644 index 0000000..c832327 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungleleaves.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglesapling.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglesapling.png new file mode 100644 index 0000000..aa41099 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglesapling.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungletree.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungletree.png new file mode 100644 index 0000000..b7addc8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungletree.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungletree_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungletree_top.png new file mode 100644 index 0000000..1c3f961 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_jungletree_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglewood.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglewood.png new file mode 100644 index 0000000..2507706 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_junglewood.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_ladder.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_ladder.png new file mode 100644 index 0000000..0d887a9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_ladder.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava.png new file mode 100644 index 0000000..559a642 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava_flowing_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava_flowing_animated.png new file mode 100644 index 0000000..2782b4e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava_flowing_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava_source_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava_source_animated.png new file mode 100644 index 0000000..bee60a5 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_lava_source_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_leaves.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_leaves.png new file mode 100644 index 0000000..3d06d2f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_leaves.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_block.png new file mode 100644 index 0000000..013993b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_crystal.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_crystal.png new file mode 100644 index 0000000..afc68b7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_crystal.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_crystal_fragment.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_crystal_fragment.png new file mode 100644 index 0000000..eaf77c4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mese_crystal_fragment.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_coal.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_coal.png new file mode 100644 index 0000000..559fa36 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_coal.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_copper.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_copper.png new file mode 100644 index 0000000..68344fa Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_copper.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_diamond.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_diamond.png new file mode 100644 index 0000000..10f766e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_diamond.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_gold.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_gold.png new file mode 100644 index 0000000..5426de0 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_gold.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_iron.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_iron.png new file mode 100644 index 0000000..48cfee2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_iron.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_mese.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_mese.png new file mode 100644 index 0000000..98ed97b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mineral_mese.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mossycobble.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mossycobble.png new file mode 100644 index 0000000..91284aa Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_mossycobble.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_back.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_back.png new file mode 100644 index 0000000..0c387e1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_back.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_front.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_front.png new file mode 100644 index 0000000..167f976 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_front.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_rb.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_rb.png new file mode 100644 index 0000000..0fef7d6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_rb.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_side.png new file mode 100644 index 0000000..fc8b7bf Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_nc_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian.png new file mode 100644 index 0000000..66b4bb7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian_glass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian_glass.png new file mode 100644 index 0000000..42311be Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian_glass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian_shard.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian_shard.png new file mode 100644 index 0000000..b6ef7fa Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_obsidian_shard.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_paper.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_paper.png new file mode 100644 index 0000000..d127a93 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_paper.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_papyrus.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_papyrus.png new file mode 100644 index 0000000..8a5361d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_papyrus.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail.png new file mode 100644 index 0000000..8f1d476 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_crossing.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_crossing.png new file mode 100644 index 0000000..cd8b5ad Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_crossing.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_curved.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_curved.png new file mode 100644 index 0000000..82e3e7f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_curved.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_t_junction.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_t_junction.png new file mode 100644 index 0000000..1737fb7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_rail_t_junction.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sand.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sand.png new file mode 100644 index 0000000..7477a87 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sand.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sandstone.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sandstone.png new file mode 100644 index 0000000..bd9cb86 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sandstone.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sandstone_brick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sandstone_brick.png new file mode 100644 index 0000000..eaf0787 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sandstone_brick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sapling.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sapling.png new file mode 100644 index 0000000..47dabe1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sapling.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_scorched_stuff.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_scorched_stuff.png new file mode 100644 index 0000000..f64d177 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_scorched_stuff.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sign_wall.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sign_wall.png new file mode 100644 index 0000000..d96985b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_sign_wall.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snow.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snow.png new file mode 100644 index 0000000..b4d0cc8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snow.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snow_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snow_side.png new file mode 100644 index 0000000..8336126 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snow_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snowball.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snowball.png new file mode 100644 index 0000000..8a4a14a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_snowball.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_steel_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_steel_block.png new file mode 100644 index 0000000..fe73730 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_steel_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_steel_ingot.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_steel_ingot.png new file mode 100644 index 0000000..fcb4c34 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_steel_ingot.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stick.png new file mode 100644 index 0000000..eac71ad Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stone.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stone.png new file mode 100644 index 0000000..8021035 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stone.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stone_brick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stone_brick.png new file mode 100644 index 0000000..8032f7d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_stone_brick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_bottom.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_bottom.png new file mode 100644 index 0000000..dd2ae86 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_bottom.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_side.png new file mode 100644 index 0000000..16fc4b2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_top.png new file mode 100644 index 0000000..7448f13 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tnt_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzeaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzeaxe.png new file mode 100644 index 0000000..9f8e016 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzeaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzepick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzepick.png new file mode 100644 index 0000000..86e2a75 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzepick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzeshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzeshovel.png new file mode 100644 index 0000000..44ab7ab Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzeshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzesword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzesword.png new file mode 100644 index 0000000..4d85e9e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_bronzesword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondaxe.png new file mode 100644 index 0000000..3f1e542 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondpick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondpick.png new file mode 100644 index 0000000..91859a6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondpick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondshovel.png new file mode 100644 index 0000000..19b94fc Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondsword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondsword.png new file mode 100644 index 0000000..ef7d077 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_diamondsword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_meseaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_meseaxe.png new file mode 100644 index 0000000..630a72d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_meseaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_mesepick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_mesepick.png new file mode 100644 index 0000000..8d13c0c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_mesepick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_meseshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_meseshovel.png new file mode 100644 index 0000000..2dbf268 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_meseshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_mesesword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_mesesword.png new file mode 100644 index 0000000..7ec144f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_mesesword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelaxe.png new file mode 100644 index 0000000..1ddf000 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelpick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelpick.png new file mode 100644 index 0000000..ed62f2e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelpick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelshovel.png new file mode 100644 index 0000000..32e3fac Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelsword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelsword.png new file mode 100644 index 0000000..ca995ea Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_steelsword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stoneaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stoneaxe.png new file mode 100644 index 0000000..1061e10 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stoneaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stonepick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stonepick.png new file mode 100644 index 0000000..89d9efb Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stonepick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stoneshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stoneshovel.png new file mode 100644 index 0000000..d6f2f93 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stoneshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stonesword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stonesword.png new file mode 100644 index 0000000..cf02a01 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_stonesword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodaxe.png new file mode 100644 index 0000000..4ea505f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodpick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodpick.png new file mode 100644 index 0000000..2ab00a8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodpick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodshovel.png new file mode 100644 index 0000000..18c19a9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodsword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodsword.png new file mode 100644 index 0000000..0ca2cf6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tool_woodsword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch.png new file mode 100644 index 0000000..245022b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_animated.png new file mode 100644 index 0000000..1622eec Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_ceiling.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_ceiling.png new file mode 100644 index 0000000..fc8876e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_ceiling.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_ceiling_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_ceiling_animated.png new file mode 100644 index 0000000..76b25f4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_ceiling_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_floor.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_floor.png new file mode 100644 index 0000000..5bd5038 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_floor.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_floor_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_floor_animated.png new file mode 100644 index 0000000..1a66bcd Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_torch_on_floor_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tree.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tree.png new file mode 100644 index 0000000..c875272 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tree.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tree_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tree_top.png new file mode 100644 index 0000000..c400fed Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_tree_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water.png new file mode 100644 index 0000000..d2bd0f5 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water_flowing_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water_flowing_animated.png new file mode 100644 index 0000000..3b73505 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water_flowing_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water_source_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water_source_animated.png new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_water_source_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_wood.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_wood.png new file mode 100644 index 0000000..f81ff3d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/default_wood.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/heart.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/heart.png new file mode 100644 index 0000000..552d0d8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/heart.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/player.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/player.png new file mode 100644 index 0000000..f2728e4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/player.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/player_back.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/player_back.png new file mode 100644 index 0000000..5157d99 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/player_back.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/treeprop.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/treeprop.png new file mode 100644 index 0000000..5e9f333 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/treeprop.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/wieldhand.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/wieldhand.png new file mode 100644 index 0000000..2ea7567 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/textures/wieldhand.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/tools.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/tools.lua new file mode 100644 index 0000000..25cf81b --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/tools.lua @@ -0,0 +1,332 @@ +-- mods/default/tools.lua + +-- The hand +minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x=1,y=1,z=2.5}, + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level = 0, + groupcaps = { + crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, + snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, + oddly_breakable_by_hand = {times={[1]=3.50,[2]=2.00,[3]=0.70}, uses=0} + }, + damage_groups = {fleshy=1}, + } +}) + +-- +-- Picks +-- + +minetest.register_tool("default:pick_wood", { + description = "Wooden Pickaxe", + inventory_image = "default_tool_woodpick.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + cracky = {times={[3]=1.60}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, +}) +minetest.register_tool("default:pick_stone", { + description = "Stone Pickaxe", + inventory_image = "default_tool_stonepick.png", + tool_capabilities = { + full_punch_interval = 1.3, + max_drop_level=0, + groupcaps={ + cracky = {times={[2]=2.0, [3]=1.20}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=3}, + }, +}) +minetest.register_tool("default:pick_steel", { + description = "Steel Pickaxe", + inventory_image = "default_tool_steelpick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=20, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("default:pick_bronze", { + description = "Bronze Pickaxe", + inventory_image = "default_tool_bronzepick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("default:pick_mese", { + description = "Mese Pickaxe", + inventory_image = "default_tool_mesepick.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=3, + groupcaps={ + cracky = {times={[1]=2.4, [2]=1.2, [3]=0.60}, uses=20, maxlevel=3}, + }, + damage_groups = {fleshy=5}, + }, +}) +minetest.register_tool("default:pick_diamond", { + description = "Diamond Pickaxe", + inventory_image = "default_tool_diamondpick.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=3, + groupcaps={ + cracky = {times={[1]=2.0, [2]=1.0, [3]=0.50}, uses=30, maxlevel=3}, + }, + damage_groups = {fleshy=5}, + }, +}) + +-- +-- Shovels +-- + +minetest.register_tool("default:shovel_wood", { + description = "Wooden Shovel", + inventory_image = "default_tool_woodshovel.png", + wield_image = "default_tool_woodshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + crumbly = {times={[1]=3.00, [2]=1.60, [3]=0.60}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, +}) +minetest.register_tool("default:shovel_stone", { + description = "Stone Shovel", + inventory_image = "default_tool_stoneshovel.png", + wield_image = "default_tool_stoneshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.4, + max_drop_level=0, + groupcaps={ + crumbly = {times={[1]=1.80, [2]=1.20, [3]=0.50}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, +}) +minetest.register_tool("default:shovel_steel", { + description = "Steel Shovel", + inventory_image = "default_tool_steelshovel.png", + wield_image = "default_tool_steelshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.1, + max_drop_level=1, + groupcaps={ + crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=3}, + }, +}) +minetest.register_tool("default:shovel_bronze", { + description = "Bronze Shovel", + inventory_image = "default_tool_bronzeshovel.png", + wield_image = "default_tool_bronzeshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.1, + max_drop_level=1, + groupcaps={ + crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=40, maxlevel=2}, + }, + damage_groups = {fleshy=3}, + }, +}) +minetest.register_tool("default:shovel_mese", { + description = "Mese Shovel", + inventory_image = "default_tool_meseshovel.png", + wield_image = "default_tool_meseshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=3, + groupcaps={ + crumbly = {times={[1]=1.20, [2]=0.60, [3]=0.30}, uses=20, maxlevel=3}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("default:shovel_diamond", { + description = "Diamond Shovel", + inventory_image = "default_tool_diamondshovel.png", + wield_image = "default_tool_diamondshovel.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=30, maxlevel=3}, + }, + damage_groups = {fleshy=4}, + }, +}) + +-- +-- Axes +-- + +minetest.register_tool("default:axe_wood", { + description = "Wooden Axe", + inventory_image = "default_tool_woodaxe.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + choppy = {times={[2]=3.00, [3]=2.00}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, +}) +minetest.register_tool("default:axe_stone", { + description = "Stone Axe", + inventory_image = "default_tool_stoneaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + choppy={times={[1]=3.00, [2]=2.00, [3]=1.50}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=3}, + }, +}) +minetest.register_tool("default:axe_steel", { + description = "Steel Axe", + inventory_image = "default_tool_steelaxe.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=20, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("default:axe_bronze", { + description = "Bronze Axe", + inventory_image = "default_tool_bronzeaxe.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("default:axe_mese", { + description = "Mese Axe", + inventory_image = "default_tool_meseaxe.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.20, [2]=1.00, [3]=0.60}, uses=20, maxlevel=3}, + }, + damage_groups = {fleshy=6}, + }, +}) +minetest.register_tool("default:axe_diamond", { + description = "Diamond Axe", + inventory_image = "default_tool_diamondaxe.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.10, [2]=0.90, [3]=0.50}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=7}, + }, +}) + +-- +-- Swords +-- + +minetest.register_tool("default:sword_wood", { + description = "Wooden Sword", + inventory_image = "default_tool_woodsword.png", + tool_capabilities = { + full_punch_interval = 1, + max_drop_level=0, + groupcaps={ + snappy={times={[2]=1.6, [3]=0.40}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + } +}) +minetest.register_tool("default:sword_stone", { + description = "Stone Sword", + inventory_image = "default_tool_stonesword.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + snappy={times={[2]=1.4, [3]=0.40}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=4}, + } +}) +minetest.register_tool("default:sword_steel", { + description = "Steel Sword", + inventory_image = "default_tool_steelsword.png", + tool_capabilities = { + full_punch_interval = 0.8, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=6}, + } +}) +minetest.register_tool("default:sword_bronze", { + description = "Bronze Sword", + inventory_image = "default_tool_bronzesword.png", + tool_capabilities = { + full_punch_interval = 0.8, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=40, maxlevel=2}, + }, + damage_groups = {fleshy=6}, + } +}) +minetest.register_tool("default:sword_mese", { + description = "Mese Sword", + inventory_image = "default_tool_mesesword.png", + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=2.0, [2]=1.00, [3]=0.35}, uses=30, maxlevel=3}, + }, + damage_groups = {fleshy=7}, + } +}) +minetest.register_tool("default:sword_diamond", { + description = "Diamond Sword", + inventory_image = "default_tool_diamondsword.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=40, maxlevel=3}, + }, + damage_groups = {fleshy=8}, + } +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/trees.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/trees.lua new file mode 100644 index 0000000..e68c055 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/default/trees.lua @@ -0,0 +1,150 @@ +local c_air = minetest.get_content_id("air") +local c_ignore = minetest.get_content_id("ignore") +local c_tree = minetest.get_content_id("default:tree") +local c_leaves = minetest.get_content_id("default:leaves") +local c_apple = minetest.get_content_id("default:apple") + +function default.grow_tree(data, a, pos, is_apple_tree, seed) + --[[ + NOTE: Tree-placing code is currently duplicated in the engine + and in games that have saplings; both are deprecated but not + replaced yet + ]]-- + local pr = PseudoRandom(seed) + local th = pr:next(4, 5) + local x, y, z = pos.x, pos.y, pos.z + for yy = y, y+th-1 do + local vi = a:index(x, yy, z) + if a:contains(x, yy, z) and (data[vi] == c_air or yy == y) then + data[vi] = c_tree + end + end + y = y+th-1 -- (x, y, z) is now last piece of trunk + local leaves_a = VoxelArea:new{MinEdge={x=-2, y=-1, z=-2}, MaxEdge={x=2, y=2, z=2}} + local leaves_buffer = {} + + -- Force leaves near the trunk + local d = 1 + for xi = -d, d do + for yi = -d, d do + for zi = -d, d do + leaves_buffer[leaves_a:index(xi, yi, zi)] = true + end + end + end + + -- Add leaves randomly + for iii = 1, 8 do + local d = 1 + local xx = pr:next(leaves_a.MinEdge.x, leaves_a.MaxEdge.x - d) + local yy = pr:next(leaves_a.MinEdge.y, leaves_a.MaxEdge.y - d) + local zz = pr:next(leaves_a.MinEdge.z, leaves_a.MaxEdge.z - d) + + for xi = 0, d do + for yi = 0, d do + for zi = 0, d do + leaves_buffer[leaves_a:index(xx+xi, yy+yi, zz+zi)] = true + end + end + end + end + + -- Add the leaves + for xi = leaves_a.MinEdge.x, leaves_a.MaxEdge.x do + for yi = leaves_a.MinEdge.y, leaves_a.MaxEdge.y do + for zi = leaves_a.MinEdge.z, leaves_a.MaxEdge.z do + if a:contains(x+xi, y+yi, z+zi) then + local vi = a:index(x+xi, y+yi, z+zi) + if data[vi] == c_air or data[vi] == c_ignore then + if leaves_buffer[leaves_a:index(xi, yi, zi)] then + if is_apple_tree and pr:next(1, 100) <= 10 then + data[vi] = c_apple + else + data[vi] = c_leaves + end + end + end + end + end + end + end +end + +local c_jungletree = minetest.get_content_id("default:jungletree") +local c_jungleleaves = minetest.get_content_id("default:jungleleaves") + +function default.grow_jungletree(data, a, pos, seed) + --[[ + NOTE: Tree-placing code is currently duplicated in the engine + and in games that have saplings; both are deprecated but not + replaced yet + ]]-- + local pr = PseudoRandom(seed) + local x, y, z = pos.x, pos.y, pos.z + for xi = -1, 1 do + for zi = -1, 1 do + if pr:next(1, 3) >= 2 then + local vi1 = a:index(x+xi, y, z+zi) + local vi2 = a:index(x+xi, y-1, z+zi) + if a:contains(x+xi, y-1, z+zi) and data[vi2] == c_air then + data[vi2] = c_jungletree + elseif a:contains(x+xi, y, z+zi) and data[vi1] == c_air then + data[vi1] = c_jungletree + end + end + end + end + + local th = pr:next(8, 12) + for yy = y, y+th-1 do + local vi = a:index(x, yy, z) + if a:contains(x, yy, z) and (data[vi] == c_air or yy == y) then + data[vi] = c_jungletree + end + end + y = y+th-1 -- (x, y, z) is now last piece of trunk + local leaves_a = VoxelArea:new{MinEdge={x=-3, y=-2, z=-3}, MaxEdge={x=3, y=2, z=3}} + local leaves_buffer = {} + + -- Force leaves near the trunk + local d = 1 + for xi = -d, d do + for yi = -d, d do + for zi = -d, d do + leaves_buffer[leaves_a:index(xi, yi, zi)] = true + end + end + end + + -- Add leaves randomly + for iii = 1, 30 do + local d = 1 + local xx = pr:next(leaves_a.MinEdge.x, leaves_a.MaxEdge.x - d) + local yy = pr:next(leaves_a.MinEdge.y, leaves_a.MaxEdge.y - d) + local zz = pr:next(leaves_a.MinEdge.z, leaves_a.MaxEdge.z - d) + + for xi = 0, d do + for yi = 0, d do + for zi = 0, d do + leaves_buffer[leaves_a:index(xx+xi, yy+yi, zz+zi)] = true + end + end + end + end + + -- Add the leaves + for xi = leaves_a.MinEdge.x, leaves_a.MaxEdge.x do + for yi = leaves_a.MinEdge.y, leaves_a.MaxEdge.y do + for zi = leaves_a.MinEdge.z, leaves_a.MaxEdge.z do + if a:contains(x+xi, y+yi, z+zi) then + local vi = a:index(x+xi, y+yi, z+zi) + if data[vi] == c_air or data[vi] == c_ignore then + if leaves_buffer[leaves_a:index(xi, yi, zi)] then + data[vi] = c_jungleleaves + end + end + end + end + end + end +end diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/README.txt new file mode 100644 index 0000000..f1d6ab2 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/README.txt @@ -0,0 +1,23 @@ +Minetest 0.4 mod: doors +======================= + +License of source code: +----------------------- +Copyright (C) 2012 PilzAdam + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + +License of media (textures and sounds) +-------------------------------------- +Textures created by Fernando Zapata (CC BY-SA 3.0): + door_wood.png + door_wood_a.png + door_wood_a_r.png + door_wood_b.png + door_wood_b_r.png + +All other textures (created by PilzAdam): WTFPL diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/init.lua new file mode 100644 index 0000000..4093899 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/init.lua @@ -0,0 +1,295 @@ +doors = {} + +-- Registers a door +-- name: The name of the door +-- def: a table with the folowing fields: +-- description +-- inventory_image +-- groups +-- tiles_bottom: the tiles of the bottom part of the door {front, side} +-- tiles_top: the tiles of the bottom part of the door {front, side} +-- If the following fields are not defined the default values are used +-- node_box_bottom +-- node_box_top +-- selection_box_bottom +-- selection_box_top +-- only_placer_can_open: if true only the player who placed the door can +-- open it +function doors:register_door(name, def) + def.groups.not_in_creative_inventory = 1 + + local box = {{-0.5, -0.5, -0.5, 0.5, 0.5, -0.5+1.5/16}} + + if not def.node_box_bottom then + def.node_box_bottom = box + end + if not def.node_box_top then + def.node_box_top = box + end + if not def.selection_box_bottom then + def.selection_box_bottom= box + end + if not def.selection_box_top then + def.selection_box_top = box + end + + minetest.register_craftitem(name, { + description = def.description, + inventory_image = def.inventory_image, + + on_place = function(itemstack, placer, pointed_thing) + if not pointed_thing.type == "node" then + return itemstack + end + + local ptu = pointed_thing.under + local nu = minetest.get_node(ptu) + if minetest.registered_nodes[nu.name].on_rightclick then + return minetest.registered_nodes[nu.name].on_rightclick(ptu, nu, placer, itemstack) + end + + local pt = pointed_thing.above + local pt2 = {x=pt.x, y=pt.y, z=pt.z} + pt2.y = pt2.y+1 + if + not minetest.registered_nodes[minetest.get_node(pt).name].buildable_to or + not minetest.registered_nodes[minetest.get_node(pt2).name].buildable_to or + not placer or + not placer:is_player() + then + return itemstack + end + + local p2 = minetest.dir_to_facedir(placer:get_look_dir()) + local pt3 = {x=pt.x, y=pt.y, z=pt.z} + if p2 == 0 then + pt3.x = pt3.x-1 + elseif p2 == 1 then + pt3.z = pt3.z+1 + elseif p2 == 2 then + pt3.x = pt3.x+1 + elseif p2 == 3 then + pt3.z = pt3.z-1 + end + if not string.find(minetest.get_node(pt3).name, name.."_b_") then + minetest.set_node(pt, {name=name.."_b_1", param2=p2}) + minetest.set_node(pt2, {name=name.."_t_1", param2=p2}) + else + minetest.set_node(pt, {name=name.."_b_2", param2=p2}) + minetest.set_node(pt2, {name=name.."_t_2", param2=p2}) + end + + if def.only_placer_can_open then + local pn = placer:get_player_name() + local meta = minetest.get_meta(pt) + meta:set_string("doors_owner", pn) + meta:set_string("infotext", "Owned by "..pn) + meta = minetest.get_meta(pt2) + meta:set_string("doors_owner", pn) + meta:set_string("infotext", "Owned by "..pn) + end + + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, + }) + + local tt = def.tiles_top + local tb = def.tiles_bottom + + local function after_dig_node(pos, name) + if minetest.get_node(pos).name == name then + minetest.remove_node(pos) + end + end + + local function on_rightclick(pos, dir, check_name, replace, replace_dir, params) + pos.y = pos.y+dir + if not minetest.get_node(pos).name == check_name then + return + end + local p2 = minetest.get_node(pos).param2 + p2 = params[p2+1] + + local meta = minetest.get_meta(pos):to_table() + minetest.set_node(pos, {name=replace_dir, param2=p2}) + minetest.get_meta(pos):from_table(meta) + + pos.y = pos.y-dir + meta = minetest.get_meta(pos):to_table() + minetest.set_node(pos, {name=replace, param2=p2}) + minetest.get_meta(pos):from_table(meta) + end + + local function check_player_priv(pos, player) + if not def.only_placer_can_open then + return true + end + local meta = minetest.get_meta(pos) + local pn = player:get_player_name() + return meta:get_string("doors_owner") == pn + end + + minetest.register_node(name.."_b_1", { + tiles = {tb[2], tb[2], tb[2], tb[2], tb[1], tb[1].."^[transformfx"}, + paramtype = "light", + paramtype2 = "facedir", + drop = name, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_bottom + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_bottom + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y+1 + after_dig_node(pos, name.."_t_1") + end, + + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0}) + end + end, + + can_dig = check_player_priv, + }) + + minetest.register_node(name.."_t_1", { + tiles = {tt[2], tt[2], tt[2], tt[2], tt[1], tt[1].."^[transformfx"}, + paramtype = "light", + paramtype2 = "facedir", + drop = name, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_top + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_top + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y-1 + after_dig_node(pos, name.."_b_1") + end, + + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_rightclick(pos, -1, name.."_b_1", name.."_t_2", name.."_b_2", {1,2,3,0}) + end + end, + + can_dig = check_player_priv, + }) + + minetest.register_node(name.."_b_2", { + tiles = {tb[2], tb[2], tb[2], tb[2], tb[1].."^[transformfx", tb[1]}, + paramtype = "light", + paramtype2 = "facedir", + drop = name, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_bottom + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_bottom + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y+1 + after_dig_node(pos, name.."_t_2") + end, + + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2}) + end + end, + + can_dig = check_player_priv, + }) + + minetest.register_node(name.."_t_2", { + tiles = {tt[2], tt[2], tt[2], tt[2], tt[1].."^[transformfx", tt[1]}, + paramtype = "light", + paramtype2 = "facedir", + drop = name, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = def.node_box_top + }, + selection_box = { + type = "fixed", + fixed = def.selection_box_top + }, + groups = def.groups, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + pos.y = pos.y-1 + after_dig_node(pos, name.."_b_2") + end, + + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_rightclick(pos, -1, name.."_b_2", name.."_t_1", name.."_b_1", {3,0,1,2}) + end + end, + + can_dig = check_player_priv, + }) + +end + +doors:register_door("doors:door_wood", { + description = "Wooden Door", + inventory_image = "door_wood.png", + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2,door=1}, + tiles_bottom = {"door_wood_b.png", "door_brown.png"}, + tiles_top = {"door_wood_a.png", "door_brown.png"}, +}) + +minetest.register_craft({ + output = "doors:door_wood", + recipe = { + {"group:wood", "group:wood"}, + {"group:wood", "group:wood"}, + {"group:wood", "group:wood"} + } +}) + +doors:register_door("doors:door_steel", { + description = "Steel Door", + inventory_image = "door_steel.png", + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2,door=1}, + tiles_bottom = {"door_steel_b.png", "door_grey.png"}, + tiles_top = {"door_steel_a.png", "door_grey.png"}, + only_placer_can_open = true, +}) + +minetest.register_craft({ + output = "doors:door_steel", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"} + } +}) + +minetest.register_alias("doors:door_wood_a_c", "doors:door_wood_t_1") +minetest.register_alias("doors:door_wood_a_o", "doors:door_wood_t_1") +minetest.register_alias("doors:door_wood_b_c", "doors:door_wood_b_1") +minetest.register_alias("doors:door_wood_b_o", "doors:door_wood_b_1") diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_brown.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_brown.png new file mode 100644 index 0000000..5e6f211 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_brown.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_grey.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_grey.png new file mode 100644 index 0000000..7d95c22 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_grey.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel.png new file mode 100644 index 0000000..fed1794 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel_a.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel_a.png new file mode 100644 index 0000000..77e3bc7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel_a.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel_b.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel_b.png new file mode 100644 index 0000000..450f35f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_steel_b.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood.png new file mode 100644 index 0000000..2b2136c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood_a.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood_a.png new file mode 100644 index 0000000..adb4a1e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood_a.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood_b.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood_b.png new file mode 100644 index 0000000..c2716ef Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/doors/textures/door_wood_b.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/README.txt new file mode 100644 index 0000000..d414c2c --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/README.txt @@ -0,0 +1,15 @@ +Minetest 0.4 mod: dye +====================== + +See init.lua for documentation. + +License of source code and media files: +--------------------------------------- +Copyright (C) 2012 Perttu Ahola (celeron55) + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/init.lua new file mode 100644 index 0000000..ebdc938 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/init.lua @@ -0,0 +1,139 @@ +-- minetest/dye/init.lua + +-- To make recipes that will work with any dye ever made by anybody, define +-- them based on groups. +-- You can select any group of groups, based on your need for amount of colors. +-- basecolor: 9, excolor: 17, unicolor: 89 +-- +-- Example of one shapeless recipe using a color group: +-- Note: As this uses basecolor_*, you'd need 9 of these. +-- minetest.register_craft({ +-- type = "shapeless", +-- output = ':item_yellow', +-- recipe = {':item_no_color', 'group:basecolor_yellow'}, +-- }) + +-- Other mods can use these for looping through available colors +local dye = {} +dye.basecolors = {"white", "grey", "black", "red", "yellow", "green", "cyan", "blue", "magenta"} +dye.excolors = {"white", "lightgrey", "grey", "darkgrey", "black", "red", "orange", "yellow", "lime", "green", "aqua", "cyan", "sky_blue", "blue", "violet", "magenta", "red_violet"} + +-- Base color groups: +-- - basecolor_white +-- - basecolor_grey +-- - basecolor_black +-- - basecolor_red +-- - basecolor_yellow +-- - basecolor_green +-- - basecolor_cyan +-- - basecolor_blue +-- - basecolor_magenta + +-- Extended color groups (* = equal to a base color): +-- * excolor_white +-- - excolor_lightgrey +-- * excolor_grey +-- - excolor_darkgrey +-- * excolor_black +-- * excolor_red +-- - excolor_orange +-- * excolor_yellow +-- - excolor_lime +-- * excolor_green +-- - excolor_aqua +-- * excolor_cyan +-- - excolor_sky_blue +-- * excolor_blue +-- - excolor_violet +-- * excolor_magenta +-- - excolor_red_violet + +-- The whole unifieddyes palette as groups: +-- - unicolor_ +-- For the following, no white/grey/black is allowed: +-- - unicolor_medium_ +-- - unicolor_dark_ +-- - unicolor_light_ +-- - unicolor__s50 +-- - unicolor_medium__s50 +-- - unicolor_dark__s50 + +-- Local stuff +local dyelocal = {} + +-- This collection of colors is partly a historic thing, partly something else. +dyelocal.dyes = { + {"white", "White dye", {dye=1, basecolor_white=1, excolor_white=1, unicolor_white=1}}, + {"grey", "Grey dye", {dye=1, basecolor_grey=1, excolor_grey=1, unicolor_grey=1}}, + {"dark_grey", "Dark grey dye", {dye=1, basecolor_grey=1, excolor_darkgrey=1, unicolor_darkgrey=1}}, + {"black", "Black dye", {dye=1, basecolor_black=1, excolor_black=1, unicolor_black=1}}, + {"violet", "Violet dye", {dye=1, basecolor_magenta=1, excolor_violet=1, unicolor_violet=1}}, + {"blue", "Blue dye", {dye=1, basecolor_blue=1, excolor_blue=1, unicolor_blue=1}}, + {"cyan", "Cyan dye", {dye=1, basecolor_cyan=1, excolor_cyan=1, unicolor_cyan=1}}, + {"dark_green", "Dark green dye",{dye=1, basecolor_green=1, excolor_green=1, unicolor_dark_green=1}}, + {"green", "Green dye", {dye=1, basecolor_green=1, excolor_green=1, unicolor_green=1}}, + {"yellow", "Yellow dye", {dye=1, basecolor_yellow=1, excolor_yellow=1, unicolor_yellow=1}}, + {"brown", "Brown dye", {dye=1, basecolor_yellow=1, excolor_orange=1, unicolor_dark_orange=1}}, + {"orange", "Orange dye", {dye=1, basecolor_orange=1, excolor_orange=1, unicolor_orange=1}}, + {"red", "Red dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_red=1}}, + {"magenta", "Magenta dye", {dye=1, basecolor_magenta=1, excolor_red_violet=1,unicolor_red_violet=1}}, + {"pink", "Pink dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_light_red=1}}, +} + +-- Define items +for _, row in ipairs(dyelocal.dyes) do + local name = row[1] + local description = row[2] + local groups = row[3] + local item_name = "dye:"..name + local item_image = "dye_"..name..".png" + minetest.register_craftitem(item_name, { + inventory_image = item_image, + description = description, + groups = groups + }) + minetest.register_craft({ + type = "shapeless", + output = item_name.." 4", + recipe = {"group:flower,color_"..name}, + }) +end + +-- Mix recipes +-- Just mix everything to everything somehow sanely + +dyelocal.mixbases = {"magenta", "red", "orange", "brown", "yellow", "green", "dark_green", "cyan", "blue", "violet", "black", "dark_grey", "grey", "white"} + +dyelocal.mixes = { + -- magenta, red, orange, brown, yellow, green, dark_green, cyan, blue, violet, black, dark_grey, grey, white + white = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet", "grey", "grey", "white", "white"}, + grey = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "pink", "dark_grey","grey", "grey"}, + dark_grey={"brown","brown", "brown", "brown", "brown","dark_green","dark_green","blue","blue","violet","black", "black"}, + black = {"black", "black", "black", "black", "black", "black", "black", "black", "black", "black", "black"}, + violet= {"magenta","magenta","red", "brown", "red", "cyan", "brown", "blue", "violet","violet"}, + blue = {"violet", "magenta","brown","brown","dark_green","cyan","cyan", "cyan", "blue"}, + cyan = {"blue","brown","dark_green","dark_grey","green","cyan","dark_green","cyan"}, + dark_green={"brown","brown","brown", "brown", "green", "green", "dark_green"}, + green = {"brown", "yellow","yellow","dark_green","green","green"}, + yellow= {"red", "orange", "yellow","orange", "yellow"}, + brown = {"brown", "brown","orange", "brown"}, + orange= {"red", "orange","orange"}, + red = {"magenta","red"}, + magenta={"magenta"}, +} + +for one,results in pairs(dyelocal.mixes) do + for i,result in ipairs(results) do + local another = dyelocal.mixbases[i] + minetest.register_craft({ + type = "shapeless", + output = 'dye:'..result..' 2', + recipe = {'dye:'..one, 'dye:'..another}, + }) + end +end + +-- Hide dyelocal +dyelocal = nil + +-- EOF diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_black.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_black.png new file mode 100644 index 0000000..45e1a74 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_black.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_blue.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_blue.png new file mode 100644 index 0000000..858b70d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_blue.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_brown.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_brown.png new file mode 100644 index 0000000..1ea5f12 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_brown.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_cyan.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_cyan.png new file mode 100644 index 0000000..86ec6cc Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_cyan.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_dark_green.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_dark_green.png new file mode 100644 index 0000000..2ab3aa7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_dark_green.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_dark_grey.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_dark_grey.png new file mode 100644 index 0000000..30b25ab Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_dark_grey.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_green.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_green.png new file mode 100644 index 0000000..dd325d6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_green.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_grey.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_grey.png new file mode 100644 index 0000000..ba45570 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_grey.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_magenta.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_magenta.png new file mode 100644 index 0000000..9e6d91c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_magenta.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_orange.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_orange.png new file mode 100644 index 0000000..568b236 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_orange.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_pink.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_pink.png new file mode 100644 index 0000000..bdbf98b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_pink.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_red.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_red.png new file mode 100644 index 0000000..da502cc Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_red.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_violet.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_violet.png new file mode 100644 index 0000000..f73d96f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_violet.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_white.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_white.png new file mode 100644 index 0000000..ffc3d07 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_white.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_yellow.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_yellow.png new file mode 100644 index 0000000..54d0db2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/dye/textures/dye_yellow.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/external_legacy/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/external_legacy/README.txt new file mode 100644 index 0000000..6451fec --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/external_legacy/README.txt @@ -0,0 +1,18 @@ +Minetest 0.4 mod: external_legacy +================================= + +License of source code: +----------------------- +Copyright (C) 2013 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/external_legacy/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/external_legacy/init.lua new file mode 100644 index 0000000..c4d8bb0 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/external_legacy/init.lua @@ -0,0 +1,24 @@ +-- Minetest 0.4 mod: external_legacy +-- See README.txt for licensing and other information. + +-- Aliases to support moreores' ores +minetest.register_alias("moreores:mineral_gold", "default:stone_with_gold") +minetest.register_alias("moreores:gold_block", "default:goldblock") +minetest.register_alias("moreores:gold_lump", "default:gold_lump") +minetest.register_alias("moreores:gold_ingot", "default:gold_ingot") +minetest.register_alias("moreores:mineral_copper", "default:stone_with_copper") +minetest.register_alias("moreores:copper_lump", "default:copper_lump") +minetest.register_alias("moreores:copper_ingot", "default:copper_ingot") +minetest.register_alias("moreores:copper_block", "default:copperblock") +minetest.register_alias("moreores:bronze_ingot", "default:bronze_ingot") +minetest.register_alias("moreores:bronze_block", "default:bronzeblock") + +-- Aliases for the diamonds mod by InfinityProject +minetest.register_alias("diamonds:diamond_in_ground", "default:stone_with_diamond") +minetest.register_alias("diamonds:block", "default:diamondblock") +minetest.register_alias("diamonds:sword", "default:sword_diamond") +minetest.register_alias("diamonds:pick", "default:pick_diamond") +minetest.register_alias("diamonds:shovel", "default:shovel_diamond") +minetest.register_alias("diamonds:axe", "default:axe_diamond") +minetest.register_alias("diamonds:diamond", "default:diamond") +minetest.register_alias("diamonds:ingot", "default:diamond") diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/README.txt new file mode 100644 index 0000000..b92e0be --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/README.txt @@ -0,0 +1,57 @@ +Minetest 0.4 mod: farming +========================= + +License of source code: +----------------------- +Copyright (C) 2012-2013 PilzAdam + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + +License of media (textures): +---------------------------- +Created by PilzAdam (License: WTFPL): + farming_bread.png + farming_soil.png + farming_soil_wet.png + farming_soil_wet_side.png + farming_string.png + +Created by Calinou (License: CC BY-SA): + farming_tool_bronzehoe.png + farming_tool_steelhoe.png + farming_tool_stonehoe.png + farming_tool_woodhoe.png + +Created by VanessaE (License: WTFPL): + farming_cotton_seed.png + farming_wheat_seed.png + farming_flour.png + farming_wheat.png + farming_wheat_1.png + farming_wheat_2.png + farming_wheat_3.png + farming_wheat_4.png + farming_wheat_5.png + farming_wheat_5.png + farming_wheat_7.png + farming_wheat_8.png + farming_cotton_1.png + farming_cotton_2.png + farming_cotton_3.png + farming_cotton_4.png + farming_cotton_5.png + farming_cotton_6.png + farming_cotton_7.png + farming_cotton_8.png diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/depends.txt new file mode 100644 index 0000000..470ec30 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/init.lua new file mode 100644 index 0000000..275eb64 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/init.lua @@ -0,0 +1,497 @@ +-- Minetest 0.4 mod: farming +-- See README.txt for licensing and other information. + +farming = {} + +-- +-- Soil +-- +minetest.register_node("farming:soil", { + description = "Soil", + tiles = {"farming_soil.png", "default_dirt.png"}, + drop = "default:dirt", + is_ground_content = true, + groups = {crumbly=3, not_in_creative_inventory=1, soil=2}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("farming:soil_wet", { + description = "Wet Soil", + tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, + drop = "default:dirt", + is_ground_content = true, + groups = {crumbly=3, not_in_creative_inventory=1, soil=3}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming:soil", "farming:soil_wet"}, + interval = 15, + chance = 4, + action = function(pos, node) + pos.y = pos.y+1 + local nn = minetest.get_node(pos).name + pos.y = pos.y-1 + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].walkable and + minetest.get_item_group(nn, "plant") == 0 + then + minetest.set_node(pos, {name="default:dirt"}) + end + -- check if there is water nearby + if minetest.find_node_near(pos, 3, {"group:water"}) then + -- if it is dry soil turn it into wet soil + if node.name == "farming:soil" then + minetest.set_node(pos, {name="farming:soil_wet"}) + end + else + -- turn it back into dirt if it is already dry + if node.name == "farming:soil" then + -- only turn it back if there is no plant on top of it + if minetest.get_item_group(nn, "plant") == 0 then + minetest.set_node(pos, {name="default:dirt"}) + end + + -- if its wet turn it back into dry soil + elseif node.name == "farming:soil_wet" then + minetest.set_node(pos, {name="farming:soil"}) + end + end + end, +}) + +-- +-- Hoes +-- +-- turns nodes with group soil=1 into soil +function farming.hoe_on_use(itemstack, user, pointed_thing, uses) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return + end + if pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + local p = {x=pt.under.x, y=pt.under.y+1, z=pt.under.z} + local above = minetest.get_node(p) + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return + end + if not minetest.registered_nodes[above.name] then + return + end + + -- check if the node above the pointed thing is air + if above.name ~= "air" then + return + end + + -- check if pointing at dirt + if minetest.get_item_group(under.name, "soil") ~= 1 then + return + end + + -- turn the node into soil, wear out item and play sound + minetest.set_node(pt.under, {name="farming:soil"}) + minetest.sound_play("default_dig_crumbly", { + pos = pt.under, + gain = 0.5, + }) + itemstack:add_wear(65535/(uses-1)) + return itemstack +end + +minetest.register_tool("farming:hoe_wood", { + description = "Wooden Hoe", + inventory_image = "farming_tool_woodhoe.png", + + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, 30) + end, +}) + +minetest.register_tool("farming:hoe_stone", { + description = "Stone Hoe", + inventory_image = "farming_tool_stonehoe.png", + + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, 90) + end, +}) + +minetest.register_tool("farming:hoe_steel", { + description = "Steel Hoe", + inventory_image = "farming_tool_steelhoe.png", + + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, 200) + end, +}) + +minetest.register_tool("farming:hoe_bronze", { + description = "Bronze Hoe", + inventory_image = "farming_tool_bronzehoe.png", + + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, 220) + end, +}) + +minetest.register_craft({ + output = "farming:hoe_wood", + recipe = { + {"group:wood", "group:wood"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +minetest.register_craft({ + output = "farming:hoe_stone", + recipe = { + {"group:stone", "group:stone"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +minetest.register_craft({ + output = "farming:hoe_steel", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +minetest.register_craft({ + output = "farming:hoe_bronze", + recipe = { + {"default:bronze_ingot", "default:bronze_ingot"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +-- +-- Override grass for drops +-- +minetest.register_node(":default:grass_1", { + description = "Grass", + drawtype = "plantlike", + tiles = {"default_grass_1.png"}, + -- use a bigger inventory image + inventory_image = "default_grass_3.png", + wield_image = "default_grass_3.png", + paramtype = "light", + walkable = false, + buildable_to = true, + drop = { + max_items = 1, + items = { + {items = {'farming:seed_wheat'},rarity = 5}, + {items = {'default:grass_1'}}, + } + }, + groups = {snappy=3,flammable=3,flora=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + on_place = function(itemstack, placer, pointed_thing) + -- place a random grass node + local stack = ItemStack("default:grass_"..math.random(1,5)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:grass_1 "..itemstack:get_count()-(1-ret:get_count())) + end, +}) + +for i=2,5 do + minetest.register_node(":default:grass_"..i, { + description = "Grass", + drawtype = "plantlike", + tiles = {"default_grass_"..i..".png"}, + inventory_image = "default_grass_"..i..".png", + wield_image = "default_grass_"..i..".png", + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + max_items = 1, + items = { + {items = {'farming:seed_wheat'},rarity = 5}, + {items = {'default:grass_1'}}, + } + }, + groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + }) +end + +minetest.register_node(":default:junglegrass", { + description = "Jungle Grass", + drawtype = "plantlike", + visual_scale = 1.3, + tiles = {"default_junglegrass.png"}, + inventory_image = "default_junglegrass.png", + wield_image = "default_junglegrass.png", + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + max_items = 1, + items = { + {items = {'farming:seed_cotton'},rarity = 8}, + {items = {'default:junglegrass'}}, + } + }, + groups = {snappy=3,flammable=2,flora=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, +}) + +-- +-- Place seeds +-- +local function place_seed(itemstack, placer, pointed_thing, plantname) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return + end + if pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + local above = minetest.get_node(pt.above) + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return + end + if not minetest.registered_nodes[above.name] then + return + end + + -- check if pointing at the top of the node + if pt.above.y ~= pt.under.y+1 then + return + end + + -- check if you can replace the node above the pointed node + if not minetest.registered_nodes[above.name].buildable_to then + return + end + + -- check if pointing at soil + if minetest.get_item_group(under.name, "soil") <= 1 then + return + end + + -- add the node and remove 1 item from the itemstack + minetest.add_node(pt.above, {name=plantname}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack +end + +-- +-- Wheat +-- +minetest.register_craftitem("farming:seed_wheat", { + description = "Wheat Seed", + inventory_image = "farming_wheat_seed.png", + on_place = function(itemstack, placer, pointed_thing) + return place_seed(itemstack, placer, pointed_thing, "farming:wheat_1") + end, +}) + +minetest.register_craftitem("farming:wheat", { + description = "Wheat", + inventory_image = "farming_wheat.png", +}) + +minetest.register_craftitem("farming:flour", { + description = "Flour", + inventory_image = "farming_flour.png", +}) + +minetest.register_craftitem("farming:bread", { + description = "Bread", + inventory_image = "farming_bread.png", + on_use = minetest.item_eat(4), +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:flour", + recipe = {"farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat"} +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 15, + output = "farming:bread", + recipe = "farming:flour" +}) + +for i=1,8 do + local drop = { + items = { + {items = {'farming:wheat'},rarity=9-i}, + {items = {'farming:wheat'},rarity=18-i*2}, + {items = {'farming:seed_wheat'},rarity=9-i}, + {items = {'farming:seed_wheat'},rarity=18-i*2}, + } + } + minetest.register_node("farming:wheat_"..i, { + drawtype = "plantlike", + tiles = {"farming_wheat_"..i..".png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = drop, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + groups = {snappy=3,flammable=2,plant=1,wheat=i,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + }) +end + +minetest.register_abm({ + nodenames = {"group:wheat"}, + neighbors = {"group:soil"}, + interval = 90, + chance = 2, + action = function(pos, node) + -- return if already full grown + if minetest.get_item_group(node.name, "wheat") == 8 then + return + end + + -- check if on wet soil + pos.y = pos.y-1 + local n = minetest.get_node(pos) + if minetest.get_item_group(n.name, "soil") < 3 then + return + end + pos.y = pos.y+1 + + -- check light + if not minetest.get_node_light(pos) then + return + end + if minetest.get_node_light(pos) < 13 then + return + end + + -- grow + local height = minetest.get_item_group(node.name, "wheat") + 1 + minetest.set_node(pos, {name="farming:wheat_"..height}) + end +}) + +-- +-- Cotton +-- +minetest.register_craftitem("farming:seed_cotton", { + description = "Cotton Seed", + inventory_image = "farming_cotton_seed.png", + on_place = function(itemstack, placer, pointed_thing) + return place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") + end, +}) + +minetest.register_craftitem("farming:string", { + description = "String", + inventory_image = "farming_string.png", +}) + +minetest.register_craft({ + output = "wool:white", + recipe = { + {"farming:string", "farming:string"}, + {"farming:string", "farming:string"}, + } +}) + +for i=1,8 do + local drop = { + items = { + {items = {'farming:string'},rarity=9-i}, + {items = {'farming:string'},rarity=18-i*2}, + {items = {'farming:string'},rarity=27-i*3}, + {items = {'farming:seed_cotton'},rarity=9-i}, + {items = {'farming:seed_cotton'},rarity=18-i*2}, + {items = {'farming:seed_cotton'},rarity=27-i*3}, + } + } + minetest.register_node("farming:cotton_"..i, { + drawtype = "plantlike", + tiles = {"farming_cotton_"..i..".png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = drop, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + groups = {snappy=3,flammable=2,plant=1,cotton=i,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + }) +end + +minetest.register_abm({ + nodenames = {"group:cotton"}, + neighbors = {"group:soil"}, + interval = 80, + chance = 2, + action = function(pos, node) + -- return if already full grown + if minetest.get_item_group(node.name, "cotton") == 8 then + return + end + + -- check if on wet soil + pos.y = pos.y-1 + local n = minetest.get_node(pos) + if minetest.get_item_group(n.name, "soil") < 3 then + return + end + pos.y = pos.y+1 + + -- check light + if not minetest.get_node_light(pos) then + return + end + if minetest.get_node_light(pos) < 13 then + return + end + + -- grow + local height = minetest.get_item_group(node.name, "cotton") + 1 + minetest.set_node(pos, {name="farming:cotton_"..height}) + end +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_bread.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_bread.png new file mode 100644 index 0000000..bd00e3e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_bread.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_1.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_1.png new file mode 100644 index 0000000..8750adf Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_1.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_2.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_2.png new file mode 100644 index 0000000..dc1025b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_2.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_3.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_3.png new file mode 100644 index 0000000..a1fe3b6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_3.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_4.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_4.png new file mode 100644 index 0000000..d0096da Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_4.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_5.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_5.png new file mode 100644 index 0000000..11f67fc Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_5.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_6.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_6.png new file mode 100644 index 0000000..1334304 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_6.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_7.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_7.png new file mode 100644 index 0000000..fb98f1e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_7.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_8.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_8.png new file mode 100644 index 0000000..ae9ed37 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_8.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_seed.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_seed.png new file mode 100644 index 0000000..70d2ac2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_cotton_seed.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_flour.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_flour.png new file mode 100644 index 0000000..a526b20 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_flour.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil.png new file mode 100644 index 0000000..06009de Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil_wet.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil_wet.png new file mode 100644 index 0000000..cbbb05c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil_wet.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil_wet_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil_wet_side.png new file mode 100644 index 0000000..406b459 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_soil_wet_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_string.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_string.png new file mode 100644 index 0000000..ee0c290 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_string.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_bronzehoe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_bronzehoe.png new file mode 100644 index 0000000..140fb64 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_bronzehoe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_steelhoe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_steelhoe.png new file mode 100644 index 0000000..c19afb8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_steelhoe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_stonehoe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_stonehoe.png new file mode 100644 index 0000000..741f190 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_stonehoe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_woodhoe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_woodhoe.png new file mode 100644 index 0000000..2448c18 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_tool_woodhoe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat.png new file mode 100644 index 0000000..8ecd735 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_1.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_1.png new file mode 100644 index 0000000..4943000 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_1.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_2.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_2.png new file mode 100644 index 0000000..63550d1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_2.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_3.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_3.png new file mode 100644 index 0000000..00a8c66 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_3.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_4.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_4.png new file mode 100644 index 0000000..80b98aa Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_4.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_5.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_5.png new file mode 100644 index 0000000..1023f0c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_5.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_6.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_6.png new file mode 100644 index 0000000..591c138 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_6.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_7.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_7.png new file mode 100644 index 0000000..98bc60a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_7.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_8.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_8.png new file mode 100644 index 0000000..44bc532 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_8.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_seed.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_seed.png new file mode 100644 index 0000000..9afcd4d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/farming/textures/farming_wheat_seed.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/README.txt new file mode 100644 index 0000000..fdbce15 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/README.txt @@ -0,0 +1,32 @@ +Minetest 0.4 mod: fire +====================== + +License of source code: +----------------------- +Copyright (C) 2012 Perttu Ahola (celeron55) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2012 Perttu Ahola (celeron55) + +fire_small.ogg sampled from: + http://www.freesound.org/people/dobroide/sounds/4211/ + +fire_large.ogg sampled from: + http://www.freesound.org/people/Dynamicell/sounds/17548/ + +fire_basic_flame_animated.png: + Muadtralk diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/init.lua new file mode 100644 index 0000000..9acda87 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/init.lua @@ -0,0 +1,192 @@ +-- minetest/fire/init.lua + +minetest.register_node("fire:basic_flame", { + description = "Fire", + drawtype = "plantlike", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + groups = {igniter=2,dig_immediate=3,hot=3}, + drop = '', + walkable = false, + buildable_to = true, + damage_per_second = 4, + + after_place_node = function(pos, placer) + fire.on_flame_add_at(pos) + end, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + fire.on_flame_remove_at(pos) + end, +}) + +fire = {} +fire.D = 6 +-- key: position hash of low corner of area +-- value: {handle=sound handle, name=sound name} +fire.sounds = {} + +function fire.get_area_p0p1(pos) + local p0 = { + x=math.floor(pos.x/fire.D)*fire.D, + y=math.floor(pos.y/fire.D)*fire.D, + z=math.floor(pos.z/fire.D)*fire.D, + } + local p1 = { + x=p0.x+fire.D-1, + y=p0.y+fire.D-1, + z=p0.z+fire.D-1 + } + return p0, p1 +end + +function fire.update_sounds_around(pos) + local p0, p1 = fire.get_area_p0p1(pos) + local cp = {x=(p0.x+p1.x)/2, y=(p0.y+p1.y)/2, z=(p0.z+p1.z)/2} + local flames_p = minetest.find_nodes_in_area(p0, p1, {"fire:basic_flame"}) + --print("number of flames at "..minetest.pos_to_string(p0).."/" + -- ..minetest.pos_to_string(p1)..": "..#flames_p) + local should_have_sound = (#flames_p > 0) + local wanted_sound = nil + if #flames_p >= 9 then + wanted_sound = {name="fire_large", gain=1.5} + elseif #flames_p > 0 then + wanted_sound = {name="fire_small", gain=1.5} + end + local p0_hash = minetest.hash_node_position(p0) + local sound = fire.sounds[p0_hash] + if not sound then + if should_have_sound then + fire.sounds[p0_hash] = { + handle = minetest.sound_play(wanted_sound, {pos=cp, loop=true}), + name = wanted_sound.name, + } + end + else + if not wanted_sound then + minetest.sound_stop(sound.handle) + fire.sounds[p0_hash] = nil + elseif sound.name ~= wanted_sound.name then + minetest.sound_stop(sound.handle) + fire.sounds[p0_hash] = { + handle = minetest.sound_play(wanted_sound, {pos=cp, loop=true}), + name = wanted_sound.name, + } + end + end +end + +function fire.on_flame_add_at(pos) + --print("flame added at "..minetest.pos_to_string(pos)) + fire.update_sounds_around(pos) +end + +function fire.on_flame_remove_at(pos) + --print("flame removed at "..minetest.pos_to_string(pos)) + fire.update_sounds_around(pos) +end + +function fire.find_pos_for_flame_around(pos) + return minetest.find_node_near(pos, 1, {"air"}) +end + +function fire.flame_should_extinguish(pos) + if minetest.setting_getbool("disable_fire") then return true end + --return minetest.find_node_near(pos, 1, {"group:puts_out_fire"}) + local p0 = {x=pos.x-2, y=pos.y, z=pos.z-2} + local p1 = {x=pos.x+2, y=pos.y, z=pos.z+2} + local ps = minetest.find_nodes_in_area(p0, p1, {"group:puts_out_fire"}) + return (#ps ~= 0) +end + +-- Ignite neighboring nodes +minetest.register_abm({ + nodenames = {"group:flammable"}, + neighbors = {"group:igniter"}, + interval = 1, + chance = 2, + action = function(p0, node, _, _) + -- If there is water or stuff like that around flame, don't ignite + if fire.flame_should_extinguish(p0) then + return + end + local p = fire.find_pos_for_flame_around(p0) + if p then + minetest.set_node(p, {name="fire:basic_flame"}) + fire.on_flame_add_at(p) + end + end, +}) + +-- Rarely ignite things from far +minetest.register_abm({ + nodenames = {"group:igniter"}, + neighbors = {"air"}, + interval = 2, + chance = 10, + action = function(p0, node, _, _) + local reg = minetest.registered_nodes[node.name] + if not reg or not reg.groups.igniter or reg.groups.igniter < 2 then + return + end + local d = reg.groups.igniter + local p = minetest.find_node_near(p0, d, {"group:flammable"}) + if p then + -- If there is water or stuff like that around flame, don't ignite + if fire.flame_should_extinguish(p) then + return + end + local p2 = fire.find_pos_for_flame_around(p) + if p2 then + minetest.set_node(p2, {name="fire:basic_flame"}) + fire.on_flame_add_at(p2) + end + end + end, +}) + +-- Remove flammable nodes and flame +minetest.register_abm({ + nodenames = {"fire:basic_flame"}, + interval = 1, + chance = 2, + action = function(p0, node, _, _) + -- If there is water or stuff like that around flame, remove flame + if fire.flame_should_extinguish(p0) then + minetest.remove_node(p0) + fire.on_flame_remove_at(p0) + return + end + -- Make the following things rarer + if math.random(1,3) == 1 then + return + end + -- If there are no flammable nodes around flame, remove flame + if not minetest.find_node_near(p0, 1, {"group:flammable"}) then + minetest.remove_node(p0) + fire.on_flame_remove_at(p0) + return + end + if math.random(1,4) == 1 then + -- remove a flammable node around flame + local p = minetest.find_node_near(p0, 1, {"group:flammable"}) + if p then + -- If there is water or stuff like that around flame, don't remove + if fire.flame_should_extinguish(p0) then + return + end + minetest.remove_node(p) + nodeupdate(p) + end + else + -- remove flame + minetest.remove_node(p0) + fire.on_flame_remove_at(p0) + end + end, +}) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/sounds/fire_large.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/sounds/fire_large.ogg new file mode 100644 index 0000000..fe78e62 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/sounds/fire_large.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/sounds/fire_small.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/sounds/fire_small.ogg new file mode 100644 index 0000000..5aac595 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/sounds/fire_small.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/textures/fire_basic_flame.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/textures/fire_basic_flame.png new file mode 100644 index 0000000..91ae8af Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/textures/fire_basic_flame.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/textures/fire_basic_flame_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/textures/fire_basic_flame_animated.png new file mode 100644 index 0000000..151a74a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/fire/textures/fire_basic_flame_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/README.txt new file mode 100644 index 0000000..04f96d9 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/README.txt @@ -0,0 +1,16 @@ +Minetest 0.4 mod: flowers +========================= + +License of source code: +----------------------- +Copyright (C) 2012-2013 Ironzorg, VanessaE + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + +License of media (textures and sounds) +-------------------------------------- +WTFPL diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/init.lua new file mode 100644 index 0000000..b409647 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/init.lua @@ -0,0 +1,167 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + +-- Map Generation +dofile(minetest.get_modpath("flowers").."/mapgen.lua") + +-- Aliases for original flowers mod +minetest.register_alias("flowers:flower_dandelion_white", "flowers:dandelion_white") +minetest.register_alias("flowers:flower_dandelion_yellow", "flowers:dandelion_yellow") +minetest.register_alias("flowers:flower_geranium", "flowers:geranium") +minetest.register_alias("flowers:flower_rose", "flowers:rose") +minetest.register_alias("flowers:flower_tulip", "flowers:tulip") +minetest.register_alias("flowers:flower_viola", "flowers:viola") + +minetest.register_node("flowers:dandelion_white", { + description = "White Dandelion", + drawtype = "plantlike", + tiles = { "flowers_dandelion_white.png" }, + inventory_image = "flowers_dandelion_white.png", + wield_image = "flowers_dandelion_white.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=2,flower=1,flora=1,attached_node=1,color_white=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, +}) + +minetest.register_node("flowers:dandelion_yellow", { + description = "Yellow Dandelion", + drawtype = "plantlike", + tiles = { "flowers_dandelion_yellow.png" }, + inventory_image = "flowers_dandelion_yellow.png", + wield_image = "flowers_dandelion_yellow.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=2,flower=1,flora=1,attached_node=1,color_yellow=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, +}) + +minetest.register_node("flowers:geranium", { + description = "Blue Geranium", + drawtype = "plantlike", + tiles = { "flowers_geranium.png" }, + inventory_image = "flowers_geranium.png", + wield_image = "flowers_geranium.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=2,flower=1,flora=1,attached_node=1,color_blue=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, +}) + +minetest.register_node("flowers:rose", { + description = "Rose", + drawtype = "plantlike", + tiles = { "flowers_rose.png" }, + inventory_image = "flowers_rose.png", + wield_image = "flowers_rose.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=2,flower=1,flora=1,attached_node=1,color_red=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, +}) + +minetest.register_node("flowers:tulip", { + description = "Tulip", + drawtype = "plantlike", + tiles = { "flowers_tulip.png" }, + inventory_image = "flowers_tulip.png", + wield_image = "flowers_tulip.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=2,flower=1,flora=1,attached_node=1,color_orange=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, +}) + +minetest.register_node("flowers:viola", { + description = "Viola", + drawtype = "plantlike", + tiles = { "flowers_viola.png" }, + inventory_image = "flowers_viola.png", + wield_image = "flowers_viola.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=2,flower=1,flora=1,attached_node=1,color_violet=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, +}) + +minetest.register_abm({ + nodenames = {"group:flora"}, + neighbors = {"default:dirt_with_grass", "default:desert_sand"}, + interval = 50, + chance = 25, + action = function(pos, node) + pos.y = pos.y - 1 + local under = minetest.get_node(pos) + pos.y = pos.y + 1 + if under.name == "default:desert_sand" then + minetest.set_node(pos, {name="default:dry_shrub"}) + elseif under.name ~= "default:dirt_with_grass" then + return + end + + local light = minetest.get_node_light(pos) + if not light or light < 13 then + return + end + + local pos0 = {x=pos.x-4,y=pos.y-4,z=pos.z-4} + local pos1 = {x=pos.x+4,y=pos.y+4,z=pos.z+4} + if #minetest.find_nodes_in_area(pos0, pos1, "group:flora_block") > 0 then + return + end + + local flowers = minetest.find_nodes_in_area(pos0, pos1, "group:flora") + if #flowers > 3 then + return + end + + local seedling = minetest.find_nodes_in_area(pos0, pos1, "default:dirt_with_grass") + if #seedling > 0 then + seedling = seedling[math.random(#seedling)] + seedling.y = seedling.y + 1 + light = minetest.get_node_light(seedling) + if not light or light < 13 then + return + end + if minetest.get_node(seedling).name == "air" then + minetest.set_node(seedling, {name=node.name}) + end + end + end, +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/mapgen.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/mapgen.lua new file mode 100644 index 0000000..7148f6e --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/mapgen.lua @@ -0,0 +1,62 @@ +minetest.register_on_generated(function(minp, maxp, seed) + if maxp.y >= 2 and minp.y <= 0 then + -- Generate flowers + local perlin1 = minetest.get_perlin(436, 3, 0.6, 100) + -- Assume X and Z lengths are equal + local divlen = 16 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine flowers amount from perlin noise + local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) ^ 3 * 9) + -- Find random positions for flowers based on this random + local pr = PseudoRandom(seed+456) + for i=0,grass_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + -- Find ground level (0...15) + local ground_y = nil + for y=30,0,-1 do + if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + + if ground_y then + local p = {x=x,y=ground_y+1,z=z} + local nn = minetest.get_node(p).name + -- Check if the node can be replaced + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + nn = minetest.get_node({x=x,y=ground_y,z=z}).name + if nn == "default:dirt_with_grass" then + local flower_choice = pr:next(1, 6) + local flower + if flower_choice == 1 then + flower = "flowers:tulip" + elseif flower_choice == 2 then + flower = "flowers:rose" + elseif flower_choice == 3 then + flower = "flowers:dandelion_yellow" + elseif flower_choice == 4 then + flower = "flowers:dandelion_white" + elseif flower_choice == 5 then + flower = "flowers:geranium" + elseif flower_choice == 6 then + flower = "flowers:viola" + end + minetest.set_node(p, {name=flower}) + end + end + end + + end + end + end + end +end) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_dandelion_white.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_dandelion_white.png new file mode 100644 index 0000000..f9d998f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_dandelion_white.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_dandelion_yellow.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_dandelion_yellow.png new file mode 100644 index 0000000..d1646fe Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_dandelion_yellow.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_geranium.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_geranium.png new file mode 100644 index 0000000..0c05faf Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_geranium.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_rose.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_rose.png new file mode 100644 index 0000000..450bb31 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_rose.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_tulip.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_tulip.png new file mode 100644 index 0000000..d7a63d3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_tulip.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_viola.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_viola.png new file mode 100644 index 0000000..37525cf Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/flowers/textures/flowers_viola.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/give_initial_stuff/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/give_initial_stuff/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/give_initial_stuff/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/give_initial_stuff/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/give_initial_stuff/init.lua new file mode 100644 index 0000000..c65ddea --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/give_initial_stuff/init.lua @@ -0,0 +1,12 @@ +minetest.register_on_newplayer(function(player) + --print("on_newplayer") + if minetest.setting_getbool("give_initial_stuff") then + minetest.log("action", "Giving initial stuff to player "..player:get_player_name()) + player:get_inventory():add_item('main', 'default:pick_steel') + player:get_inventory():add_item('main', 'default:torch 99') + player:get_inventory():add_item('main', 'default:axe_steel') + player:get_inventory():add_item('main', 'default:shovel_steel') + player:get_inventory():add_item('main', 'default:cobble 99') + end +end) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/init.lua new file mode 100644 index 0000000..1cb99ef --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/init.lua @@ -0,0 +1,107 @@ +-- legacy (Minetest 0.4 mod) +-- Provides as much backwards-compatibility as feasible + +-- +-- Aliases to support loading 0.3 and old 0.4 worlds and inventories +-- + +minetest.register_alias("stone", "default:stone") +minetest.register_alias("stone_with_coal", "default:stone_with_coal") +minetest.register_alias("stone_with_iron", "default:stone_with_iron") +minetest.register_alias("dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("dirt_with_grass_footsteps", "default:dirt_with_grass_footsteps") +minetest.register_alias("dirt", "default:dirt") +minetest.register_alias("sand", "default:sand") +minetest.register_alias("gravel", "default:gravel") +minetest.register_alias("sandstone", "default:sandstone") +minetest.register_alias("clay", "default:clay") +minetest.register_alias("brick", "default:brick") +minetest.register_alias("tree", "default:tree") +minetest.register_alias("jungletree", "default:jungletree") +minetest.register_alias("junglegrass", "default:junglegrass") +minetest.register_alias("leaves", "default:leaves") +minetest.register_alias("cactus", "default:cactus") +minetest.register_alias("papyrus", "default:papyrus") +minetest.register_alias("bookshelf", "default:bookshelf") +minetest.register_alias("glass", "default:glass") +minetest.register_alias("wooden_fence", "default:fence_wood") +minetest.register_alias("rail", "default:rail") +minetest.register_alias("ladder", "default:ladder") +minetest.register_alias("wood", "default:wood") +minetest.register_alias("mese", "default:mese") +minetest.register_alias("cloud", "default:cloud") +minetest.register_alias("water_flowing", "default:water_flowing") +minetest.register_alias("water_source", "default:water_source") +minetest.register_alias("lava_flowing", "default:lava_flowing") +minetest.register_alias("lava_source", "default:lava_source") +minetest.register_alias("torch", "default:torch") +minetest.register_alias("sign_wall", "default:sign_wall") +minetest.register_alias("furnace", "default:furnace") +minetest.register_alias("chest", "default:chest") +minetest.register_alias("locked_chest", "default:chest_locked") +minetest.register_alias("cobble", "default:cobble") +minetest.register_alias("mossycobble", "default:mossycobble") +minetest.register_alias("steelblock", "default:steelblock") +minetest.register_alias("nyancat", "default:nyancat") +minetest.register_alias("nyancat_rainbow", "default:nyancat_rainbow") +minetest.register_alias("sapling", "default:sapling") +minetest.register_alias("apple", "default:apple") + +minetest.register_alias("WPick", "default:pick_wood") +minetest.register_alias("STPick", "default:pick_stone") +minetest.register_alias("SteelPick", "default:pick_steel") +minetest.register_alias("MesePick", "default:pick_mese") +minetest.register_alias("WShovel", "default:shovel_wood") +minetest.register_alias("STShovel", "default:shovel_stone") +minetest.register_alias("SteelShovel", "default:shovel_steel") +minetest.register_alias("WAxe", "default:axe_wood") +minetest.register_alias("STAxe", "default:axe_stone") +minetest.register_alias("SteelAxe", "default:axe_steel") +minetest.register_alias("WSword", "default:sword_wood") +minetest.register_alias("STSword", "default:sword_stone") +minetest.register_alias("SteelSword", "default:sword_steel") + +minetest.register_alias("Stick", "default:stick") +minetest.register_alias("paper", "default:paper") +minetest.register_alias("book", "default:book") +minetest.register_alias("lump_of_coal", "default:coal_lump") +minetest.register_alias("lump_of_iron", "default:iron_lump") +minetest.register_alias("lump_of_clay", "default:clay_lump") +minetest.register_alias("steel_ingot", "default:steel_ingot") +minetest.register_alias("clay_brick", "default:clay_brick") +minetest.register_alias("scorched_stuff", "default:scorched_stuff") + +-- +-- Old items +-- + +minetest.register_craftitem(":rat", { + description = "Rat", + inventory_image = "rat.png", +}) + +minetest.register_craftitem(":cooked_rat", { + description = "Cooked rat", + inventory_image = "cooked_rat.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craftitem(":firefly", { + description = "Firefly", + inventory_image = "firefly.png", + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_craft({ + type = "cooking", + output = "cooked_rat", + recipe = "rat", +}) + +minetest.register_craft({ + type = "cooking", + output = "scorched_stuff", + recipe = "cooked_rat", +}) + +-- END diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/apple_iron.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/apple_iron.png new file mode 100644 index 0000000..b1d1804 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/apple_iron.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/cooked_rat.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/cooked_rat.png new file mode 100644 index 0000000..db80298 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/cooked_rat.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/dungeon_master.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/dungeon_master.png new file mode 100644 index 0000000..56caa50 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/dungeon_master.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/fireball.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/fireball.png new file mode 100644 index 0000000..ed21a5b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/fireball.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/firefly.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/firefly.png new file mode 100644 index 0000000..41bb25d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/firefly.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/oerkki1.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/oerkki1.png new file mode 100644 index 0000000..7321d3d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/oerkki1.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/oerkki1_damaged.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/oerkki1_damaged.png new file mode 100644 index 0000000..0ab50c8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/oerkki1_damaged.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/rat.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/rat.png new file mode 100644 index 0000000..e62e603 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/legacy/textures/rat.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/init.lua new file mode 100644 index 0000000..af40d09 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/init.lua @@ -0,0 +1,210 @@ +minetest.register_tool("screwdriver:screwdriver", { + description = "Screwdriver", + inventory_image = "screwdriver.png", + on_use = function(itemstack, user, pointed_thing) + screwdriver_handler(itemstack,user,pointed_thing) + return itemstack + end, +}) + +for i=1,4,1 do +minetest.register_tool("screwdriver:screwdriver"..i, { + description = "Screwdriver in Mode "..i, + inventory_image = "screwdriver.png^tool_mode"..i..".png", + wield_image = "screwdriver.png", + groups = {not_in_creative_inventory=1}, + on_use = function(itemstack, user, pointed_thing) + screwdriver_handler(itemstack,user,pointed_thing) + return itemstack + end, +}) +end +faces_table= +{ +--look dir +X +Y +Z -Z -Y -X + 2 , 0 , 4 , 5 , 1 , 3 , -- rotate around y+ 0 - 3 + 4 , 0 , 3 , 2 , 1 , 5 , + 3 , 0 , 5 , 4 , 1 , 2 , + 5 , 0 , 2 , 3 , 1 , 4 , + + 2 , 5 , 0 , 1 , 4 , 3 , -- rotate around z+ 4 - 7 + 4 , 2 , 0 , 1 , 3 , 5 , + 3 , 4 , 0 , 1 , 5 , 2 , + 5 , 3 , 0 , 1 , 2 , 4 , + + 2 , 4 , 1 , 0 , 5 , 3 , -- rotate around z- 8 - 11 + 4 , 3 , 1 , 0 , 2 , 5 , + 3 , 5 , 1 , 0 , 4 , 2 , + 5 , 2 , 1 , 0 , 3 , 4 , + + 0 , 3 , 4 , 5 , 2 , 1 , -- rotate around x+ 12 - 15 + 0 , 5 , 3 , 2 , 4 , 1 , + 0 , 2 , 5 , 4 , 3 , 1 , + 0 , 4 , 2 , 3 , 5 , 1 , + + 1 , 2 , 4 , 5 , 3 , 0 , -- rotate around x- 16 - 19 + 1 , 4 , 3 , 2 , 5 , 0 , + 1 , 3 , 5 , 4 , 2 , 0 , + 1 , 5 , 2 , 3 , 4 , 0 , + + 3 , 1 , 4 , 5 , 0 , 2 , -- rotate around y- 20 - 23 + 5 , 1 , 3 , 2 , 0 , 4 , + 2 , 1 , 5 , 4 , 0 , 3 , + 4 , 1 , 2 , 3 , 0 , 5 +} + +function screwdriver_handler (itemstack,user,pointed_thing) + local keys=user:get_player_control() + local player_name=user:get_player_name() + local item=itemstack:to_table() + if item["metadata"]=="" or keys["sneak"]==true then return screwdriver_setmode(user,itemstack) end + local mode=tonumber((item["metadata"])) + if pointed_thing.type~="node" then return end + local pos=minetest.get_pointed_thing_position(pointed_thing,above) + local node=minetest.get_node(pos) + local node_name=node.name + if minetest.registered_nodes[node_name].paramtype2 == "facedir" then + if minetest.registered_nodes[node_name].drawtype == "nodebox" then + if minetest.registered_nodes[node_name].node_box["type"]~="fixed" then return end + end + if node.param2==nil then return end + -- Get ready to set the param2 + local n = node.param2 + local axisdir=math.floor(n/4) + local rotation=n-axisdir*4 + if mode==1 then + rotation=rotation+1 + if rotation>3 then rotation=0 end + n=axisdir*4+rotation + end + + if mode==2 then + local ppos=user:getpos() + local pvect=user:get_look_dir() + local face=get_node_face(pos,ppos,pvect) + if face == nil then return end + local index=convertFaceToIndex(face) + local face1=faces_table[n*6+index+1] + local found = 0 + while found == 0 do + n=n+1 + if n>23 then n=0 end + if faces_table[n*6+index+1]==face1 then found=1 end + end + end + + if mode==3 then + axisdir=axisdir+1 + if axisdir>5 then axisdir=0 end + n=axisdir*4 + end + + if mode==4 then + local ppos=user:getpos() + local pvect=user:get_look_dir() + local face=get_node_face(pos,ppos,pvect) + if face == nil then return end + if axisdir == face then + rotation=rotation+1 + if rotation>3 then rotation=0 end + n=axisdir*4+rotation + else + n=face*4 + end + end + --print (dump(axisdir..", "..rotation)) + local meta = minetest.get_meta(pos) + local meta0 = meta:to_table() + node.param2 = n + minetest.set_node(pos,node) + meta = minetest.get_meta(pos) + meta:from_table(meta0) + local item=itemstack:to_table() + local item_wear=tonumber((item["wear"])) + item_wear=item_wear+327 + if item_wear>65535 then itemstack:clear() return itemstack end + item["wear"]=tostring(item_wear) + itemstack:replace(item) + return itemstack + end +end + +mode_text={ +{"Change rotation, Don't change axisdir."}, +{"Keep choosen face in front then rotate it."}, +{"Change axis dir, Reset rotation."}, +{"Bring top in front then rotate it."}, +} + +function screwdriver_setmode(user,itemstack) +local player_name=user:get_player_name() +local item=itemstack:to_table() +local mode +if item["metadata"]=="" then + minetest.chat_send_player(player_name,"Hold shift and use to change screwdriwer modes.") + mode=0 +else mode=tonumber((item["metadata"])) +end +mode=mode+1 +if mode==5 then mode=1 end +minetest.chat_send_player(player_name, "Screwdriver mode : "..mode.." - "..mode_text[mode][1] ) +item["name"]="screwdriver:screwdriver"..mode +item["metadata"]=tostring(mode) +itemstack:replace(item) +return itemstack +end + +minetest.register_craft({ +output = "screwdriver:screwdriver", +recipe = { +{"default:steel_ingot"}, +{"group:stick"} +} +}) + +function get_node_face(pos,ppos,pvect) + ppos={x=ppos.x-pos.x,y=ppos.y-pos.y+1.5,z=ppos.z-pos.z} + if pvect.x>0 then + local t=(-0.5-ppos.x)/pvect.x + local y_int=ppos.y+t*pvect.y + local z_int=ppos.z+t*pvect.z + if y_int>-0.4 and y_int<0.4 and z_int>-0.4 and z_int<0.4 then return 4 end + elseif pvect.x<0 then + local t=(0.5-ppos.x)/pvect.x + local y_int=ppos.y+t*pvect.y + local z_int=ppos.z+t*pvect.z + if y_int>-0.4 and y_int<0.4 and z_int>-0.4 and z_int<0.4 then return 3 end + end + if pvect.y>0 then + local t=(-0.5-ppos.y)/pvect.y + local x_int=ppos.x+t*pvect.x + local z_int=ppos.z+t*pvect.z + if x_int>-0.4 and x_int<0.4 and z_int>-0.4 and z_int<0.4 then return 5 end + elseif pvect.y<0 then + local t=(0.5-ppos.y)/pvect.y + local x_int=ppos.x+t*pvect.x + local z_int=ppos.z+t*pvect.z + if x_int>-0.4 and x_int<0.4 and z_int>-0.4 and z_int<0.4 then return 0 end + end + if pvect.z>0 then + local t=(-0.5-ppos.z)/pvect.z + local x_int=ppos.x+t*pvect.x + local y_int=ppos.y+t*pvect.y + if x_int>-0.4 and x_int<0.4 and y_int>-0.4 and y_int<0.4 then return 2 end + elseif pvect.z<0 then + local t=(0.5-ppos.z)/pvect.z + local x_int=ppos.x+t*pvect.x + local y_int=ppos.y+t*pvect.y + if x_int>-0.4 and x_int<0.4 and y_int>-0.4 and y_int<0.4 then return 1 end + end +end + +function convertFaceToIndex (face) +if face==0 then return 1 end +if face==1 then return 2 end +if face==2 then return 3 end +if face==3 then return 0 end +if face==4 then return 5 end +if face==5 then return 4 end +end + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/readme.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/readme.txt new file mode 100644 index 0000000..d0b10e0 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/readme.txt @@ -0,0 +1,18 @@ +Minetest mod: screwdriver +========================= + +License of source code: +----------------------- +Copyright (C) 2013 RealBadAngel, Maciej Kasatkin + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/screwdriver.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/screwdriver.png new file mode 100644 index 0000000..1f2cb87 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/screwdriver.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode1.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode1.png new file mode 100644 index 0000000..bef8637 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode1.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode2.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode2.png new file mode 100644 index 0000000..4429a5d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode2.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode3.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode3.png new file mode 100644 index 0000000..5635e41 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode3.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode4.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode4.png new file mode 100644 index 0000000..da21e05 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/screwdriver/textures/tool_mode4.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/README.txt new file mode 100644 index 0000000..716a677 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/README.txt @@ -0,0 +1,26 @@ +Minetest 0.4 mod: stairs +========================= + +License of source code: +----------------------- +Copyright (C) 2011-2012 Kahrl +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/init.lua new file mode 100644 index 0000000..179cf15 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/stairs/init.lua @@ -0,0 +1,262 @@ +-- Minetest 0.4 mod: stairs +-- See README.txt for licensing and other information. + +stairs = {} + +-- Node will be called stairs:stair_ +function stairs.register_stair(subname, recipeitem, groups, images, description, sounds) + minetest.register_node(":stairs:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = groups, + sounds = sounds, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local p0 = pointed_thing.under + local p1 = pointed_thing.above + local param2 = 0 + + local placer_pos = placer:getpos() + if placer_pos then + local dir = { + x = p1.x - placer_pos.x, + y = p1.y - placer_pos.y, + z = p1.z - placer_pos.z + } + param2 = minetest.dir_to_facedir(dir) + end + + if p0.y-1 == p1.y then + param2 = param2 + 20 + if param2 == 21 then + param2 = 23 + elseif param2 == 23 then + param2 = 21 + end + end + + return minetest.item_place(itemstack, placer, pointed_thing, param2) + end, + }) + + -- for replace ABM + minetest.register_node(":stairs:stair_" .. subname.."upside_down", { + replace_name = "stairs:stair_" .. subname, + groups = {slabs_replace=1}, + }) + + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 4', + recipe = { + {recipeitem, "", ""}, + {recipeitem, recipeitem, ""}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + -- Flipped recipe for the silly minecrafters + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 4', + recipe = { + {"", "", recipeitem}, + {"", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) +end + +-- Node will be called stairs:slab_ +function stairs.register_slab(subname, recipeitem, groups, images, description, sounds) + minetest.register_node(":stairs:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = groups, + sounds = sounds, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + -- If it's being placed on an another similar one, replace it with + -- a full block + local slabpos = nil + local slabnode = nil + local p0 = pointed_thing.under + local p1 = pointed_thing.above + local n0 = minetest.get_node(p0) + local n1 = minetest.get_node(p1) + local param2 = 0 + + local n0_is_upside_down = (n0.name == "stairs:slab_" .. subname and + n0.param2 >= 20) + + if n0.name == "stairs:slab_" .. subname and not n0_is_upside_down and p0.y+1 == p1.y then + slabpos = p0 + slabnode = n0 + elseif n1.name == "stairs:slab_" .. subname then + slabpos = p1 + slabnode = n1 + end + if slabpos then + -- Remove the slab at slabpos + minetest.remove_node(slabpos) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + fakestack:set_count(itemstack:get_count()) + + pointed_thing.above = slabpos + local success + fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if success then + itemstack:set_count(fakestack:get_count()) + -- Else put old node back + else + minetest.set_node(slabpos, slabnode) + end + return itemstack + end + + -- Upside down slabs + if p0.y-1 == p1.y then + -- Turn into full block if pointing at a existing slab + if n0_is_upside_down then + -- Remove the slab at the position of the slab + minetest.remove_node(p0) + -- Make a fake stack of a single item and try to place it + local fakestack = ItemStack(recipeitem) + fakestack:set_count(itemstack:get_count()) + + pointed_thing.above = p0 + local success + fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) + -- If the item was taken from the fake stack, decrement original + if success then + itemstack:set_count(fakestack:get_count()) + -- Else put old node back + else + minetest.set_node(p0, n0) + end + return itemstack + end + + -- Place upside down slab + param2 = 20 + end + + -- If pointing at the side of a upside down slab + if n0_is_upside_down and p0.y+1 ~= p1.y then + param2 = 20 + end + + return minetest.item_place(itemstack, placer, pointed_thing, param2) + end, + }) + + -- for replace ABM + minetest.register_node(":stairs:slab_" .. subname.."upside_down", { + replace_name = "stairs:slab_"..subname, + groups = {slabs_replace=1}, + }) + + minetest.register_craft({ + output = 'stairs:slab_' .. subname .. ' 6', + recipe = { + {recipeitem, recipeitem, recipeitem}, + }, + }) +end + +-- Replace old "upside_down" nodes with new param2 versions +minetest.register_abm({ + nodenames = {"group:slabs_replace"}, + interval = 1, + chance = 1, + action = function(pos, node) + node.name = minetest.registered_nodes[node.name].replace_name + node.param2 = node.param2 + 20 + if node.param2 == 21 then + node.param2 = 23 + elseif node.param2 == 23 then + node.param2 = 21 + end + minetest.set_node(pos, node) + end, +}) + +-- Nodes will be called stairs:{stair,slab}_ +function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds) + stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds) + stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds) +end + +stairs.register_stair_and_slab("wood", "default:wood", + {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"default_wood.png"}, + "Wooden Stair", + "Wooden Slab", + default.node_sound_wood_defaults()) + +stairs.register_stair_and_slab("stone", "default:stone", + {cracky=3}, + {"default_stone.png"}, + "Stone Stair", + "Stone Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("cobble", "default:cobble", + {cracky=3}, + {"default_cobble.png"}, + "Cobble Stair", + "Cobble Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("brick", "default:brick", + {cracky=3}, + {"default_brick.png"}, + "Brick Stair", + "Brick Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("sandstone", "default:sandstone", + {crumbly=2,cracky=2}, + {"default_sandstone.png"}, + "Sandstone Stair", + "Sandstone Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("junglewood", "default:junglewood", + {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"default_junglewood.png"}, + "Junglewood Stair", + "Junglewood Slab", + default.node_sound_wood_defaults()) + +stairs.register_stair_and_slab("stonebrick", "default:stonebrick", + {cracky=3}, + {"default_stone_brick.png"}, + "Stone Brick Stair", + "Stone Brick Slab", + default.node_sound_stone_defaults()) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/README.txt new file mode 100644 index 0000000..150b501 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/README.txt @@ -0,0 +1,45 @@ +Minetest 0.4 mod: vessels +========================== + +Crafts +------- +Glass bottle (yields 10) + + G - G + G - G + - G - + +Drinking Glass (yields 14) + + G - G + G - G + G G G + +Heavy Steel Bottle (yields 5) + + S - S + S - S + - S - + +License of source code: +----------------------- +Copyright (C) 2012 Vanessa Ezekowitz +Version 2012-09-02 +Modifications by Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +WTFPL + +Authors of media files +----------------------- +Unless specifically noted, +Copyright (C) 2012 Vanessa Ezekowitz + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/init.lua new file mode 100644 index 0000000..6ca8771 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/init.lua @@ -0,0 +1,116 @@ +-- Minetest 0.4 mod: vessels +-- See README.txt for licensing and other information. + +minetest.register_node("vessels:glass_bottle", { + description = "Glass Bottle (empty)", + drawtype = "plantlike", + tiles = {"vessels_glass_bottle.png"}, + inventory_image = "vessels_glass_bottle_inv.png", + wield_image = "vessels_glass_bottle.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25} + }, + groups = {vessel=1,dig_immediate=3,attached_node=1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_craft( { + output = "vessels:glass_bottle 10", + recipe = { + { "default:glass", "", "default:glass" }, + { "default:glass", "", "default:glass" }, + { "", "default:glass", "" } + } +}) + +minetest.register_node("vessels:drinking_glass", { + description = "Drinking Glass (empty)", + drawtype = "plantlike", + tiles = {"vessels_drinking_glass.png"}, + inventory_image = "vessels_drinking_glass_inv.png", + wield_image = "vessels_drinking_glass.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25} + }, + groups = {vessel=1,dig_immediate=3,attached_node=1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_craft( { + output = "vessels:drinking_glass 14", + recipe = { + { "default:glass", "", "default:glass" }, + { "default:glass", "", "default:glass" }, + { "default:glass", "default:glass", "default:glass" } + } +}) + +minetest.register_node("vessels:steel_bottle", { + description = "Heavy Steel Bottle (empty)", + drawtype = "plantlike", + tiles = {"vessels_steel_bottle.png"}, + inventory_image = "vessels_steel_bottle_inv.png", + wield_image = "vessels_steel_bottle.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25} + }, + groups = {vessel=1,dig_immediate=3,attached_node=1}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_craft( { + output = "vessels:steel_bottle 5", + recipe = { + { "default:steel_ingot", "", "default:steel_ingot" }, + { "default:steel_ingot", "", "default:steel_ingot" }, + { "", "default:steel_ingot", "" } + } +}) + + +-- Make sure we can recycle them + +minetest.register_craftitem("vessels:glass_fragments", { + description = "Pile of Glass Fragments", + inventory_image = "vessels_glass_fragments.png", +}) + +minetest.register_craft( { + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "vessels:glass_bottle", + "vessels:glass_bottle", + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "vessels:drinking_glass", + "vessels:drinking_glass", + }, +}) + +minetest.register_craft({ + type = "cooking", + output = "default:glass", + recipe = "vessels:glass_fragments", +}) + +minetest.register_craft( { + type = "cooking", + output = "default:steel_ingot", + recipe = "vessels:steel_bottle", +}) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_drinking_glass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_drinking_glass.png new file mode 100644 index 0000000..cd5bbff Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_drinking_glass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_glass_bottle.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_glass_bottle.png new file mode 100644 index 0000000..f5e183b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_glass_bottle.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_steel_bottle.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_steel_bottle.png new file mode 100644 index 0000000..7e66816 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/alternates/vessels_steel_bottle.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_drinking_glass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_drinking_glass.png new file mode 100644 index 0000000..0e29866 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_drinking_glass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_drinking_glass_inv.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_drinking_glass_inv.png new file mode 100644 index 0000000..3ad9027 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_drinking_glass_inv.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_bottle.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_bottle.png new file mode 100644 index 0000000..f5e183b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_bottle.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_bottle_inv.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_bottle_inv.png new file mode 100644 index 0000000..5cf3199 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_bottle_inv.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_fragments.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_fragments.png new file mode 100644 index 0000000..f60e8b5 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_glass_fragments.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_steel_bottle.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_steel_bottle.png new file mode 100644 index 0000000..d27a7cd Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_steel_bottle.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_steel_bottle_inv.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_steel_bottle_inv.png new file mode 100644 index 0000000..37e34fb Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/vessels/textures/vessels_steel_bottle_inv.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/README.txt new file mode 100644 index 0000000..9db1332 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/README.txt @@ -0,0 +1,28 @@ +Minetest 0.4 mod: wool +====================== + +Mostly backward-compatible with jordach's 16-color wool mod. + +License of source code: +----------------------- +Copyright (C) 2012 Perttu Ahola (celeron55) + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Cisoun: +- wool_black.png wool_brown.png wool_dark_green.png wool_green.png +- wool_magenta.png wool_pink.png wool_violet.png wool_yellow.png wool_blue.png +- wool_cyan.png wool_dark_grey.png wool_grey.png wool_orange.png wool_red.png +- wool_white.png + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/init.lua new file mode 100644 index 0000000..14cffa5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/init.lua @@ -0,0 +1,49 @@ +-- minetest/wool/init.lua + +-- Backwards compatibility with jordach's 16-color wool mod +minetest.register_alias("wool:dark_blue", "wool:blue") +minetest.register_alias("wool:gold", "wool:yellow") + +local wool = {} +-- This uses a trick: you can first define the recipes using all of the base +-- colors, and then some recipes using more specific colors for a few non-base +-- colors available. When crafting, the last recipes will be checked first. +wool.dyes = { + {"white", "White", nil}, + {"grey", "Grey", "basecolor_grey"}, + {"black", "Black", "basecolor_black"}, + {"red", "Red", "basecolor_red"}, + {"yellow", "Yellow", "basecolor_yellow"}, + {"green", "Green", "basecolor_green"}, + {"cyan", "Cyan", "basecolor_cyan"}, + {"blue", "Blue", "basecolor_blue"}, + {"magenta", "Magenta", "basecolor_magenta"}, + {"orange", "Orange", "excolor_orange"}, + {"violet", "Violet", "excolor_violet"}, + {"brown", "Brown", "unicolor_dark_orange"}, + {"pink", "Pink", "unicolor_light_red"}, + {"dark_grey", "Dark Grey", "unicolor_darkgrey"}, + {"dark_green", "Dark Green", "unicolor_dark_green"}, +} + +for _, row in ipairs(wool.dyes) do + local name = row[1] + local desc = row[2] + local craft_color_group = row[3] + -- Node Definition + minetest.register_node("wool:"..name, { + description = desc.." Wool", + tiles = {"wool_"..name..".png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3,wool=1}, + sounds = default.node_sound_defaults(), + }) + if craft_color_group then + -- Crafting from dye and white wool + minetest.register_craft({ + type = "shapeless", + output = 'wool:'..name, + recipe = {'group:dye,'..craft_color_group, 'group:wool'}, + }) + end +end + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_black.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_black.png new file mode 100644 index 0000000..698684b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_black.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_blue.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_blue.png new file mode 100644 index 0000000..e1a95d2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_blue.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_brown.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_brown.png new file mode 100644 index 0000000..52e9fe1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_brown.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_cyan.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_cyan.png new file mode 100644 index 0000000..019c694 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_cyan.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_dark_green.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_dark_green.png new file mode 100644 index 0000000..bdfdded Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_dark_green.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_dark_grey.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_dark_grey.png new file mode 100644 index 0000000..f3abd34 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_dark_grey.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_green.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_green.png new file mode 100644 index 0000000..acf7e4f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_green.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_grey.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_grey.png new file mode 100644 index 0000000..77a988c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_grey.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_magenta.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_magenta.png new file mode 100644 index 0000000..0f3104e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_magenta.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_orange.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_orange.png new file mode 100644 index 0000000..531bb4f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_orange.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_pink.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_pink.png new file mode 100644 index 0000000..f87d47c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_pink.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_red.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_red.png new file mode 100644 index 0000000..a5ae98a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_red.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_violet.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_violet.png new file mode 100644 index 0000000..5ba79b3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_violet.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_white.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_white.png new file mode 100644 index 0000000..175baf3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_white.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_yellow.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_yellow.png new file mode 100644 index 0000000..7c2b765 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minetest_game/mods/wool/textures/wool_yellow.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/game.conf b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/game.conf new file mode 100644 index 0000000..99bfaf0 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/game.conf @@ -0,0 +1,2 @@ +name = Minimal development test + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/menu/background.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/menu/background.png new file mode 100644 index 0000000..ea5fbdc Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/menu/background.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/menu/icon.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/menu/icon.png new file mode 100644 index 0000000..8ef6750 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/menu/icon.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/init.lua new file mode 100644 index 0000000..dcd59ed --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/init.lua @@ -0,0 +1,95 @@ +-- bucket (Minetest 0.4 mod) +-- A bucket, which can pick up water and lava + +minetest.register_alias("bucket", "bucket:bucket_empty") +minetest.register_alias("bucket_water", "bucket:bucket_water") +minetest.register_alias("bucket_lava", "bucket:bucket_lava") + +minetest.register_craft({ + output = 'bucket:bucket_empty 1', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'', 'default:steel_ingot', ''}, + } +}) + +bucket = {} +bucket.liquids = {} + +-- Register a new liquid +-- source = name of the source node +-- flowing = name of the flowing node +-- itemname = name of the new bucket item (or nil if liquid is not takeable) +-- inventory_image = texture of the new bucket item (ignored if itemname == nil) +-- This function can be called from any mod (that depends on bucket). +function bucket.register_liquid(source, flowing, itemname, inventory_image) + bucket.liquids[source] = { + source = source, + flowing = flowing, + itemname = itemname, + } + bucket.liquids[flowing] = bucket.liquids[source] + + if itemname ~= nil then + minetest.register_craftitem(itemname, { + inventory_image = inventory_image, + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid + n = minetest.get_node(pointed_thing.under) + if bucket.liquids[n.name] == nil then + -- Not a liquid + minetest.add_node(pointed_thing.above, {name=source}) + elseif n.name ~= source then + -- It's a liquid + minetest.add_node(pointed_thing.under, {name=source}) + end + return {name="bucket:bucket_empty"} + end + }) + end +end + +minetest.register_craftitem("bucket:bucket_empty", { + inventory_image = "bucket.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid source + n = minetest.get_node(pointed_thing.under) + liquiddef = bucket.liquids[n.name] + if liquiddef ~= nil and liquiddef.source == n.name and liquiddef.itemname ~= nil then + minetest.add_node(pointed_thing.under, {name="air"}) + return {name=liquiddef.itemname} + end + end, +}) + +bucket.register_liquid( + "default:water_source", + "default:water_flowing", + "bucket:bucket_water", + "bucket_water.png" +) + +bucket.register_liquid( + "default:lava_source", + "default:lava_flowing", + "bucket:bucket_lava", + "bucket_lava.png" +) + +minetest.register_craft({ + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 60, +}) diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket.png new file mode 100644 index 0000000..b775a9f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket_lava.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket_lava.png new file mode 100644 index 0000000..889ed61 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket_lava.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket_water.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket_water.png new file mode 100644 index 0000000..a3c9d72 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/bucket/textures/bucket_water.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/init.lua new file mode 100644 index 0000000..eae1fab --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/init.lua @@ -0,0 +1,1820 @@ +-- default (Minetest 0.4 mod) +-- Most default stuff + +-- The API documentation in here was moved into doc/lua_api.txt + +WATER_ALPHA = 160 +WATER_VISC = 1 +LAVA_VISC = 7 +LIGHT_MAX = 14 + +-- Definitions made by this mod that other mods can use too +default = {} + +-- Load other files +dofile(minetest.get_modpath("default").."/mapgen.lua") + +-- Set a noticeable inventory formspec for players +minetest.register_on_joinplayer(function(player) + local cb = function(player) + minetest.chat_send_player(player:get_player_name(), "This is the [minimal] \"Minimal Development Test\" game. Use [minetest_game] for the real thing.") + end + minetest.after(2.0, cb, player) +end) + +-- +-- Tool definition +-- + +-- The hand +minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x=1,y=1,z=2.5}, + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level = 0, + groupcaps = { + fleshy = {times={[2]=2.00, [3]=1.00}, uses=0, maxlevel=1}, + crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, + snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, + oddly_breakable_by_hand = {times={[1]=7.00,[2]=4.00,[3]=1.40}, uses=0, maxlevel=3}, + } + } +}) + +minetest.register_tool("default:pick_wood", { + description = "Wooden Pickaxe", + inventory_image = "default_tool_woodpick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[2]=2.00, [3]=1.20}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:pick_stone", { + description = "Stone Pickaxe", + inventory_image = "default_tool_stonepick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[1]=2.00, [2]=1.20, [3]=0.80}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:pick_steel", { + description = "Steel Pickaxe", + inventory_image = "default_tool_steelpick.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + cracky={times={[1]=4.00, [2]=1.60, [3]=1.00}, uses=10, maxlevel=2} + } + }, +}) +minetest.register_tool("default:pick_mese", { + description = "Mese Pickaxe", + inventory_image = "default_tool_mesepick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=3, + groupcaps={ + cracky={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, + crumbly={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, + snappy={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3} + } + }, +}) +minetest.register_tool("default:shovel_wood", { + description = "Wooden Shovel", + inventory_image = "default_tool_woodshovel.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + crumbly={times={[1]=2.00, [2]=0.80, [3]=0.50}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:shovel_stone", { + description = "Stone Shovel", + inventory_image = "default_tool_stoneshovel.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + crumbly={times={[1]=1.20, [2]=0.50, [3]=0.30}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:shovel_steel", { + description = "Steel Shovel", + inventory_image = "default_tool_steelshovel.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + crumbly={times={[1]=1.00, [2]=0.70, [3]=0.60}, uses=10, maxlevel=2} + } + }, +}) +minetest.register_tool("default:axe_wood", { + description = "Wooden Axe", + inventory_image = "default_tool_woodaxe.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + choppy={times={[2]=1.40, [3]=0.80}, uses=10, maxlevel=1}, + fleshy={times={[2]=1.50, [3]=0.80}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:axe_stone", { + description = "Stone Axe", + inventory_image = "default_tool_stoneaxe.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + choppy={times={[1]=1.50, [2]=1.00, [3]=0.60}, uses=20, maxlevel=1}, + fleshy={times={[2]=1.30, [3]=0.70}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:axe_steel", { + description = "Steel Axe", + inventory_image = "default_tool_steelaxe.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.00, [2]=1.60, [3]=1.00}, uses=10, maxlevel=2}, + fleshy={times={[2]=1.10, [3]=0.60}, uses=40, maxlevel=1} + } + }, +}) +minetest.register_tool("default:sword_wood", { + description = "Wooden Sword", + inventory_image = "default_tool_woodsword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=1.10, [3]=0.60}, uses=10, maxlevel=1}, + snappy={times={[2]=1.00, [3]=0.50}, uses=10, maxlevel=1}, + choppy={times={[3]=1.00}, uses=20, maxlevel=0} + } + } +}) +minetest.register_tool("default:sword_stone", { + description = "Stone Sword", + inventory_image = "default_tool_stonesword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + choppy={times={[3]=0.90}, uses=20, maxlevel=0} + } + } +}) +minetest.register_tool("default:sword_steel", { + description = "Steel Sword", + inventory_image = "default_tool_steelsword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + fleshy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=10, maxlevel=2}, + snappy={times={[2]=0.70, [3]=0.30}, uses=40, maxlevel=1}, + choppy={times={[3]=0.70}, uses=40, maxlevel=0} + } + } +}) + +-- +-- Crafting definition +-- + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'default:tree'}, + } +}) + +minetest.register_craft({ + output = 'default:stick 4', + recipe = { + {'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:fence_wood 2', + recipe = { + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'default:wood', 'default:wood', 'default:wood'}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:torch 4', + recipe = { + {'default:coal_lump'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:pick_wood', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_stone', + recipe = { + {'default:cobble', 'default:cobble', 'default:cobble'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_mese', + recipe = { + {'default:mese', 'default:mese', 'default:mese'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_wood', + recipe = { + {'default:wood'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_stone', + recipe = { + {'default:cobble'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_steel', + recipe = { + {'default:steel_ingot'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_wood', + recipe = { + {'default:wood', 'default:wood'}, + {'default:wood', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_stone', + recipe = { + {'default:cobble', 'default:cobble'}, + {'default:cobble', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_wood', + recipe = { + {'default:wood'}, + {'default:wood'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_stone', + recipe = { + {'default:cobble'}, + {'default:cobble'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_steel', + recipe = { + {'default:steel_ingot'}, + {'default:steel_ingot'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:rail 15', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:stick', 'default:steel_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:chest', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'default:wood', '', 'default:wood'}, + {'default:wood', 'default:wood', 'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:chest_locked', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'default:wood', 'default:steel_ingot', 'default:wood'}, + {'default:wood', 'default:wood', 'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:furnace', + recipe = { + {'default:cobble', 'default:cobble', 'default:cobble'}, + {'default:cobble', '', 'default:cobble'}, + {'default:cobble', 'default:cobble', 'default:cobble'}, + } +}) + +minetest.register_craft({ + output = 'default:steelblock', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstone', + recipe = { + {'default:sand', 'default:sand'}, + {'default:sand', 'default:sand'}, + } +}) + +minetest.register_craft({ + output = 'default:clay', + recipe = { + {'default:clay_lump', 'default:clay_lump'}, + {'default:clay_lump', 'default:clay_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:brick', + recipe = { + {'default:clay_brick', 'default:clay_brick'}, + {'default:clay_brick', 'default:clay_brick'}, + } +}) + +minetest.register_craft({ + output = 'default:paper', + recipe = { + {'default:papyrus', 'default:papyrus', 'default:papyrus'}, + } +}) + +minetest.register_craft({ + output = 'default:book', + recipe = { + {'default:paper'}, + {'default:paper'}, + {'default:paper'}, + } +}) + +minetest.register_craft({ + output = 'default:bookshelf', + recipe = { + {'default:wood', 'default:wood', 'default:wood'}, + {'default:book', 'default:book', 'default:book'}, + {'default:wood', 'default:wood', 'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:ladder', + recipe = { + {'default:stick', '', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', '', 'default:stick'}, + } +}) + +-- +-- Crafting (tool repair) +-- +minetest.register_craft({ + type = "toolrepair", + additional_wear = -0.02, +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:glass", + recipe = "default:sand", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:coal_lump", + recipe = "default:tree", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:coal_lump", + recipe = "default:jungletree", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +-- +-- Fuels +-- + +minetest.register_craft({ + type = "fuel", + recipe = "default:tree", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:jungletree", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglegrass", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:leaves", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:cactus", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:papyrus", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:bookshelf", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_wood", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:ladder", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:mese", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:lava_source", + burntime = 60, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:torch", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sign_wall", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest_locked", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat_rainbow", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sapling", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:apple", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coal_lump", + burntime = 40, +}) + +-- +-- Node definitions +-- + +-- Default node sounds + +function default.node_sound_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="", gain=1.0} + table.dug = table.dug or + {name="default_dug_node", gain=1.0} + return table +end + +function default.node_sound_stone_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.2} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_dirt_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="", gain=0.5} + --table.dug = table.dug or + -- {name="default_dirt_break", gain=0.5} + table.place = table.place or + {name="default_grass_footstep", gain=0.5} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_sand_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_grass_footstep", gain=0.25} + --table.dug = table.dug or + -- {name="default_dirt_break", gain=0.25} + table.dug = table.dug or + {name="", gain=0.25} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_wood_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.3} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_leaves_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_grass_footstep", gain=0.25} + table.dig = table.dig or + {name="default_dig_crumbly", gain=0.4} + table.dug = table.dug or + {name="", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_glass_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_stone_footstep", gain=0.25} + table.dug = table.dug or + {name="default_break_glass", gain=1.0} + default.node_sound_defaults(table) + return table +end + +-- + +minetest.register_node("default:stone", { + description = "Stone", + tiles ={"default_stone.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_coal", { + description = "Stone with coal", + tiles ={"default_stone.png^default_mineral_coal.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:coal_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_iron", { + description = "Stone with iron", + tiles ={"default_stone.png^default_mineral_iron.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:dirt_with_grass", { + description = "Dirt with grass", + tiles ={"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3, soil=1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("default:dirt_with_grass_footsteps", { + description = "Dirt with grass and footsteps", + tiles ={"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3, soil=1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("default:dirt", { + description = "Dirt", + tiles ={"default_dirt.png"}, + is_ground_content = true, + groups = {crumbly=3, soil=1}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:sand", { + description = "Sand", + tiles ={"default_sand.png"}, + is_ground_content = true, + groups = {crumbly=3, falling_node=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:gravel", { + description = "Gravel", + tiles ={"default_gravel.png"}, + is_ground_content = true, + groups = {crumbly=2, falling_node=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_gravel_footstep", gain=0.45}, + }), +}) + +minetest.register_node("default:sandstone", { + description = "Sandstone", + tiles ={"default_sandstone.png"}, + is_ground_content = true, + groups = {crumbly=2,cracky=2}, + drop = 'default:sand', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:clay", { + description = "Clay", + tiles ={"default_clay.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:clay_lump 4', + sounds = default.node_sound_dirt_defaults({ + footstep = "", + }), +}) + +minetest.register_node("default:brick", { + description = "Brick", + tiles ={"default_brick.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:clay_brick 4', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:tree", { + description = "Tree", + tiles ={"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:jungletree", { + description = "Jungle Tree", + tiles ={"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:junglegrass", { + description = "Jungle Grass", + drawtype = "plantlike", + visual_scale = 1.3, + tiles ={"default_junglegrass.png"}, + inventory_image = "default_junglegrass.png", + wield_image = "default_junglegrass.png", + paramtype = "light", + walkable = false, + groups = {snappy=3,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:leaves", { + description = "Leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles ={"default_leaves.png"}, + paramtype = "light", + groups = {snappy=3}, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'default:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'default:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:cactus", { + description = "Cactus", + tiles ={"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=3}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:papyrus", { + description = "Papyrus", + drawtype = "plantlike", + tiles ={"default_papyrus.png"}, + inventory_image = "default_papyrus.png", + wield_image = "default_papyrus.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + groups = {snappy=3}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:bookshelf", { + description = "Bookshelf", + tiles ={"default_wood.png", "default_wood.png", "default_bookshelf.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=3,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:glass", { + description = "Glass", + drawtype = "glasslike", + tiles ={"default_glass.png"}, + inventory_image = minetest.inventorycube("default_glass.png"), + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("default:fence_wood", { + description = "Wooden Fence", + drawtype = "fencelike", + tiles ={"default_wood.png"}, + inventory_image = "default_fence.png", + wield_image = "default_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:rail", { + description = "Rail", + drawtype = "raillike", + tiles ={"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,snappy=1,dig_immediate=2}, +}) + +minetest.register_node("default:ladder", { + description = "Ladder", + drawtype = "signlike", + tiles ={"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:wood", { + description = "Wood", + tiles ={"default_wood.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:mese", { + description = "Mese", + tiles ={"default_mese.png"}, + is_ground_content = true, + groups = {cracky=1,level=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:cloud", { + description = "Cloud", + tiles ={"default_cloud.png"}, + is_ground_content = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:water_flowing", { + description = "Water (flowing)", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "flowingliquid", + tiles ={"default_water.png"}, + special_tiles = { + {name="default_water.png", backface_culling=false}, + {name="default_water.png", backface_culling=true}, + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3}, +}) + +minetest.register_node("default:water_source", { + description = "Water", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "liquid", + tiles ={"default_water.png"}, + special_tiles = { + -- New-style water source material (mostly unused) + {name="default_water.png", backface_culling=false}, + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3}, +}) + +minetest.register_node("default:lava_flowing", { + description = "Lava (flowing)", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "flowingliquid", + tiles ={"default_lava.png"}, + special_tiles = { + { + image="default_lava_flowing_animated.png", + backface_culling=false, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + { + image="default_lava_flowing_animated.png", + backface_culling=true, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + }, + paramtype = "light", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3}, +}) + +minetest.register_node("default:lava_source", { + description = "Lava", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "liquid", + --tiles ={"default_lava.png"}, + tiles ={ + {name="default_lava_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} + }, + special_tiles = { + -- New-style lava source material (mostly unused) + {name="default_lava.png", backface_culling=false}, + }, + paramtype = "light", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3}, +}) + +minetest.register_node("default:torch", { + description = "Torch", + drawtype = "torchlike", + tiles ={"default_torch_on_floor.png", "default_torch_on_ceiling.png", "default_torch.png"}, + inventory_image = "default_torch_on_floor.png", + wield_image = "default_torch_on_floor.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + light_source = LIGHT_MAX-1, + selection_box = { + type = "wallmounted", + wall_top = {-0.1, 0.5-0.6, -0.1, 0.1, 0.5, 0.1}, + wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5+0.6, 0.1}, + wall_side = {-0.5, -0.3, -0.1, -0.5+0.3, 0.3, 0.1}, + }, + groups = {choppy=2,dig_immediate=3,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sign_wall", { + description = "Sign", + drawtype = "signlike", + tiles ={"default_sign_wall.png"}, + inventory_image = "default_sign_wall.png", + wield_image = "default_sign_wall.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + groups = {choppy=2,dig_immediate=2,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), + on_construct = function(pos) + --local n = minetest.get_node(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + meta:set_string("infotext", "\"\"") + end, + on_receive_fields = function(pos, formname, fields, sender) + --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) + local meta = minetest.get_meta(pos) + fields.text = fields.text or "" + print((sender:get_player_name() or "").." wrote \""..fields.text.. + "\" to sign at "..minetest.pos_to_string(pos)) + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + end, +}) + +minetest.register_node("default:chest", { + description = "Chest", + tiles ={"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("default:chest_locked", { + description = "Locked Chest", + tiles ={"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_lock.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) + +default.furnace_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("default:furnace", { + description = "Furnace", + tiles ={"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("default:furnace_active", { + description = "Furnace", + tiles ={"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "default:furnace", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.get_node(pos) + local meta = minetest.get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.set_node(pos,node) + meta = minetest.get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"default:furnace","default:furnace_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Could not insert '"..cooked.item:to_string().."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Furnace active: "..percent.."%") + hacky_swap_node(pos,"default:furnace_active") + meta:set_string("formspec", + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Furnace out of fuel") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Furnace is empty") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + end, +}) + +minetest.register_node("default:cobble", { + description = "Cobble", + tiles ={"default_cobble.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:mossycobble", { + description = "Mossy Cobble", + tiles ={"default_mossycobble.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:steelblock", { + description = "Steel Block", + tiles ={"default_steel_block.png"}, + is_ground_content = true, + groups = {snappy=1,bendy=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:nyancat", { + description = "Nyancat", + tiles ={"default_nc_side.png", "default_nc_side.png", "default_nc_side.png", + "default_nc_side.png", "default_nc_back.png", "default_nc_front.png"}, + inventory_image = "default_nc_front.png", + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:nyancat_rainbow", { + description = "Nyancat Rainbow", + tiles ={"default_nc_rb.png"}, + inventory_image = "default_nc_rb.png", + groups = {cracky=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sapling", { + description = "Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles ={"default_sapling.png"}, + inventory_image = "default_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + walkable = false, + groups = {snappy=2,dig_immediate=3,attached_node=1}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:apple", { + description = "Apple", + drawtype = "plantlike", + visual_scale = 1.0, + tiles ={"default_apple.png"}, + inventory_image = "default_apple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {fleshy=3,dig_immediate=3}, + on_use = minetest.item_eat(4), + sounds = default.node_sound_defaults(), +}) + + +local c_air = minetest.get_content_id("air") +local c_ignore = minetest.get_content_id("ignore") +local c_tree = minetest.get_content_id("default:tree") +local c_leaves = minetest.get_content_id("default:leaves") +local c_apple = minetest.get_content_id("default:apple") +function default.grow_tree(data, a, pos, is_apple_tree, seed) + --[[ + NOTE: Tree-placing code is currently duplicated in the engine + and in games that have saplings; both are deprecated but not + replaced yet + ]]-- + local pr = PseudoRandom(seed) + local th = pr:next(4, 5) + local x, y, z = pos.x, pos.y, pos.z + for yy = y, y+th-1 do + local vi = a:index(x, yy, z) + if a:contains(x, yy, z) and (data[vi] == c_air or yy == y) then + data[vi] = c_tree + end + end + y = y+th-1 -- (x, y, z) is now last piece of trunk + local leaves_a = VoxelArea:new{MinEdge={x=-2, y=-1, z=-2}, MaxEdge={x=2, y=2, z=2}} + local leaves_buffer = {} + + -- Force leaves near the trunk + local d = 1 + for xi = -d, d do + for yi = -d, d do + for zi = -d, d do + leaves_buffer[leaves_a:index(xi, yi, zi)] = true + end + end + end + + -- Add leaves randomly + for iii = 1, 8 do + local d = 1 + local xx = pr:next(leaves_a.MinEdge.x, leaves_a.MaxEdge.x - d) + local yy = pr:next(leaves_a.MinEdge.y, leaves_a.MaxEdge.y - d) + local zz = pr:next(leaves_a.MinEdge.z, leaves_a.MaxEdge.z - d) + + for xi = 0, d do + for yi = 0, d do + for zi = 0, d do + leaves_buffer[leaves_a:index(xx+xi, yy+yi, zz+zi)] = true + end + end + end + end + + -- Add the leaves + for xi = leaves_a.MinEdge.x, leaves_a.MaxEdge.x do + for yi = leaves_a.MinEdge.y, leaves_a.MaxEdge.y do + for zi = leaves_a.MinEdge.z, leaves_a.MaxEdge.z do + if a:contains(x+xi, y+yi, z+zi) then + local vi = a:index(x+xi, y+yi, z+zi) + if data[vi] == c_air or data[vi] == c_ignore then + if leaves_buffer[leaves_a:index(xi, yi, zi)] then + if is_apple_tree and pr:next(1, 100) <= 10 then + data[vi] = c_apple + else + data[vi] = c_leaves + end + end + end + end + end + end + end +end + +minetest.register_abm({ + nodenames = {"default:sapling"}, + interval = 10, + chance = 50, + action = function(pos, node) + local is_soil = minetest.registered_nodes[minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name].groups.soil + if is_soil == nil or is_soil == 0 then return end + print("A sapling grows into a tree at "..minetest.pos_to_string(pos)) + local vm = minetest.get_voxel_manip() + local minp, maxp = vm:read_from_map({x=pos.x-16, y=pos.y, z=pos.z-16}, {x=pos.x+16, y=pos.y+16, z=pos.z+16}) + local a = VoxelArea:new{MinEdge=minp, MaxEdge=maxp} + local data = vm:get_data() + default.grow_tree(data, a, pos, math.random(1, 4) == 1, math.random(1,100000)) + vm:set_data(data) + vm:write_to_map(data) + vm:update_map() + end +}) + +minetest.register_abm({ + nodenames = {"default:dirt"}, + interval = 2, + chance = 200, + action = function(pos, node) + local above = {x=pos.x, y=pos.y+1, z=pos.z} + local name = minetest.get_node(above).name + local nodedef = minetest.registered_nodes[name] + if nodedef and (nodedef.sunlight_propagates or nodedef.paramtype == "light") + and nodedef.liquidtype == "none" + and (minetest.get_node_light(above) or 0) >= 13 then + if name == "default:snow" or name == "default:snowblock" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + else + minetest.set_node(pos, {name = "default:dirt_with_grass"}) + end + end + end +}) + +minetest.register_abm({ + nodenames = {"default:dirt_with_grass"}, + interval = 2, + chance = 20, + action = function(pos, node) + local above = {x=pos.x, y=pos.y+1, z=pos.z} + local name = minetest.get_node(above).name + local nodedef = minetest.registered_nodes[name] + if name ~= "ignore" and nodedef + and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light") + and nodedef.liquidtype == "none") then + minetest.set_node(pos, {name = "default:dirt"}) + end + end +}) + +-- +-- Crafting items +-- + +minetest.register_craftitem("default:stick", { + description = "Stick", + inventory_image = "default_stick.png", +}) + +minetest.register_craftitem("default:paper", { + description = "Paper", + inventory_image = "default_paper.png", +}) + +minetest.register_craftitem("default:book", { + description = "Book", + inventory_image = "default_book.png", +}) + +minetest.register_craftitem("default:coal_lump", { + description = "Lump of coal", + inventory_image = "default_coal_lump.png", +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Lump of iron", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:clay_lump", { + description = "Lump of clay", + inventory_image = "default_clay_lump.png", +}) + +minetest.register_craftitem("default:steel_ingot", { + description = "Steel ingot", + inventory_image = "default_steel_ingot.png", +}) + +minetest.register_craftitem("default:clay_brick", { + description = "Clay brick", + inventory_image = "default_steel_ingot.png", + inventory_image = "default_clay_brick.png", +}) + +minetest.register_craftitem("default:scorched_stuff", { + description = "Scorched stuff", + inventory_image = "default_scorched_stuff.png", +}) + +-- +-- Aliases for the current map generator outputs +-- + +minetest.register_alias("mapgen_air", "air") +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_tree", "default:tree") +minetest.register_alias("mapgen_leaves", "default:leaves") +minetest.register_alias("mapgen_apple", "default:apple") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_gravel", "default:gravel") +minetest.register_alias("mapgen_clay", "default:clay") +minetest.register_alias("mapgen_lava_source", "default:lava_source") +minetest.register_alias("mapgen_cobble", "default:cobble") +minetest.register_alias("mapgen_mossycobble", "default:mossycobble") +minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("mapgen_junglegrass", "default:junglegrass") +minetest.register_alias("mapgen_stone_with_coal", "default:stone_with_coal") +minetest.register_alias("mapgen_stone_with_iron", "default:stone_with_iron") +minetest.register_alias("mapgen_mese", "default:mese") + +-- Support old code +function default.spawn_falling_node(p, nodename) + spawn_falling_node(p, nodename) +end + +-- Horrible crap to support old code +-- Don't use this and never do what this does, it's completely wrong! +-- (More specifically, the client and the C++ code doesn't get the group) +function default.register_falling_node(nodename, texture) + minetest.log("error", debug.traceback()) + minetest.log('error', "WARNING: default.register_falling_node is deprecated") + if minetest.registered_nodes[nodename] then + minetest.registered_nodes[nodename].groups.falling_node = 1 + end +end + +-- +-- Global callbacks +-- + +-- Global environment step function +function on_step(dtime) + -- print("on_step") +end +minetest.register_globalstep(on_step) + +function on_placenode(p, node) + --print("on_placenode") +end +minetest.register_on_placenode(on_placenode) + +function on_dignode(p, node) + --print("on_dignode") +end +minetest.register_on_dignode(on_dignode) + +function on_punchnode(p, node) +end +minetest.register_on_punchnode(on_punchnode) + +-- +-- Test some things +-- + +local function test_get_craft_result() + minetest.log("info", "test_get_craft_result()") + -- normal + local input = { + method = "normal", + width = 2, + items = {"", "default:coal_lump", "", "default:stick"} + } + minetest.log("info", "torch crafting input: "..dump(input)) + local output, decremented_input = minetest.get_craft_result(input) + minetest.log("info", "torch crafting output: "..dump(output)) + minetest.log("info", "torch crafting decremented input: "..dump(decremented_input)) + assert(output.item) + minetest.log("info", "torch crafting output.item:to_table(): "..dump(output.item:to_table())) + assert(output.item:get_name() == "default:torch") + assert(output.item:get_count() == 4) + -- fuel + local input = { + method = "fuel", + width = 1, + items = {"default:coal_lump"} + } + minetest.log("info", "coal fuel input: "..dump(input)) + local output, decremented_input = minetest.get_craft_result(input) + minetest.log("info", "coal fuel output: "..dump(output)) + minetest.log("info", "coal fuel decremented input: "..dump(decremented_input)) + assert(output.time) + assert(output.time > 0) + -- cook + local input = { + method = "cooking", + width = 1, + items = {"default:cobble"} + } + minetest.log("info", "cobble cooking input: "..dump(output)) + local output, decremented_input = minetest.get_craft_result(input) + minetest.log("info", "cobble cooking output: "..dump(output)) + minetest.log("info", "cobble cooking decremented input: "..dump(decremented_input)) + assert(output.time) + assert(output.time > 0) + assert(output.item) + minetest.log("info", "cobble cooking output.item:to_table(): "..dump(output.item:to_table())) + assert(output.item:get_name() == "default:stone") + assert(output.item:get_count() == 1) +end +test_get_craft_result() + +-- +-- Done, print some random stuff +-- + +--print("minetest.registered_entities:") +--dump2(minetest.registered_entities) + +-- END diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/mapgen.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/mapgen.lua new file mode 100644 index 0000000..8ff259c --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/mapgen.lua @@ -0,0 +1,136 @@ +-- minetest/default/mapgen.lua + +-- +-- Aliases for map generator outputs +-- + +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_tree", "default:tree") +minetest.register_alias("mapgen_leaves", "default:leaves") +minetest.register_alias("mapgen_apple", "default:apple") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_gravel", "default:gravel") +minetest.register_alias("mapgen_clay", "default:clay") +minetest.register_alias("mapgen_lava_source", "default:lava_source") +minetest.register_alias("mapgen_cobble", "default:cobble") +minetest.register_alias("mapgen_mossycobble", "default:mossycobble") +minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("mapgen_junglegrass", "default:junglegrass") +minetest.register_alias("mapgen_stone_with_coal", "default:stone_with_coal") +minetest.register_alias("mapgen_stone_with_iron", "default:stone_with_iron") +minetest.register_alias("mapgen_mese", "default:mese") +minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") + +-- +-- Ore generation +-- + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8*8*8, + clust_num_ores = 5, + clust_size = 3, + height_min = -31000, + height_max = 64, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 16*16*16, + clust_num_ores = 5, + clust_size = 3, + height_min = -5, + height_max = 7, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 12*12*12, + clust_num_ores = 5, + clust_size = 3, + height_min = -16, + height_max = -5, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 9*9*9, + clust_num_ores = 5, + clust_size = 3, + height_min = -31000, + height_max = -17, +}) + +-- for float islands and far scaled +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8*8*8, + clust_num_ores = 5, + clust_size = 3, + height_min = 200, + height_max = 31000, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 9*9*9, + clust_num_ores = 5, + clust_size = 3, + height_min = 200, + height_max = 31000, +}) + +minetest.register_on_generated(function(minp, maxp, seed) + -- Generate clay + if maxp.y >= 2 and minp.y <= 0 then + -- Assume X and Z lengths are equal + local divlen = 4 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0+1,divs-1-1 do + for divz=0+1,divs-1-1 do + local cx = minp.x + math.floor((divx+0.5)*divlen) + local cz = minp.z + math.floor((divz+0.5)*divlen) + if minetest.get_node({x=cx,y=1,z=cz}).name == "default:water_source" and + minetest.get_node({x=cx,y=0,z=cz}).name == "default:sand" then + local is_shallow = true + local num_water_around = 0 + if minetest.get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if num_water_around >= 2 then + is_shallow = false + end + if is_shallow then + for x1=-divlen,divlen do + for z1=-divlen,divlen do + if minetest.get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sand" then + minetest.set_node({x=cx+x1,y=0,z=cz+z1}, {name="default:clay"}) + end + end + end + end + end + end + end + end +end) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/sounds/default_grass_footstep.1.ogg b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/sounds/default_grass_footstep.1.ogg new file mode 100644 index 0000000..ce625d9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/sounds/default_grass_footstep.1.ogg differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/bubble.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/bubble.png new file mode 100644 index 0000000..3bca7e1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/bubble.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/crack_anylength.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/crack_anylength.png new file mode 100644 index 0000000..d9b49f9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/crack_anylength.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_apple.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_apple.png new file mode 100644 index 0000000..4473dca Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_apple.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_book.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_book.png new file mode 100644 index 0000000..ea14a37 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_book.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_bookshelf.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_bookshelf.png new file mode 100644 index 0000000..f225e34 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_bookshelf.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_brick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_brick.png new file mode 100644 index 0000000..def1cf0 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_brick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cactus_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cactus_side.png new file mode 100644 index 0000000..128a4d2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cactus_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cactus_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cactus_top.png new file mode 100644 index 0000000..eda1a0b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cactus_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_front.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_front.png new file mode 100644 index 0000000..55b076c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_front.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_lock.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_lock.png new file mode 100644 index 0000000..4b2d1af Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_lock.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_side.png new file mode 100644 index 0000000..ae4847c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_top.png new file mode 100644 index 0000000..ac41551 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_chest_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay.png new file mode 100644 index 0000000..070b69e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay_brick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay_brick.png new file mode 100644 index 0000000..e25633b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay_brick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay_lump.png new file mode 100644 index 0000000..ceed6fa Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_clay_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cloud.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cloud.png new file mode 100644 index 0000000..faf0ec1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cloud.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_coal_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_coal_lump.png new file mode 100644 index 0000000..dae47e3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_coal_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cobble.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cobble.png new file mode 100644 index 0000000..2a28d25 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_cobble.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_dirt.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_dirt.png new file mode 100644 index 0000000..7cb9c89 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_dirt.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_fence.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_fence.png new file mode 100644 index 0000000..e3510c5 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_fence.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_fire_bg.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_fire_bg.png new file mode 100644 index 0000000..e3370f4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_fire_bg.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_fire_fg.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_fire_fg.png new file mode 100644 index 0000000..7a126e3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_fire_fg.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_front.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_front.png new file mode 100644 index 0000000..4da398c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_front.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_front_active.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_front_active.png new file mode 100644 index 0000000..06c4ab3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_front_active.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_side.png new file mode 100644 index 0000000..c729de9 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_furnace_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_glass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_glass.png new file mode 100644 index 0000000..fd665a4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_glass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass.png new file mode 100644 index 0000000..1d76708 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass_footsteps.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass_footsteps.png new file mode 100644 index 0000000..8349033 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass_footsteps.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass_side.png new file mode 100644 index 0000000..4f4f680 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_grass_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_gravel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_gravel.png new file mode 100644 index 0000000..4b47e23 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_gravel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_iron_lump.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_iron_lump.png new file mode 100644 index 0000000..6b515f6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_iron_lump.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_junglegrass.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_junglegrass.png new file mode 100644 index 0000000..7066f7d Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_junglegrass.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_jungletree.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_jungletree.png new file mode 100644 index 0000000..a1fd36a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_jungletree.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_jungletree_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_jungletree_top.png new file mode 100644 index 0000000..a13fdae Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_jungletree_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_ladder.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_ladder.png new file mode 100644 index 0000000..46757b8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_ladder.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava.png new file mode 100644 index 0000000..a4cf649 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava_flowing_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava_flowing_animated.png new file mode 100644 index 0000000..0bbd136 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava_flowing_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava_source_animated.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava_source_animated.png new file mode 100644 index 0000000..aa9d57c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_lava_source_animated.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_leaves.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_leaves.png new file mode 100644 index 0000000..00ce447 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_leaves.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mese.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mese.png new file mode 100644 index 0000000..123f0f4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mese.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mineral_coal.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mineral_coal.png new file mode 100644 index 0000000..0f52062 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mineral_coal.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mineral_iron.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mineral_iron.png new file mode 100644 index 0000000..6c894ce Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mineral_iron.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mossycobble.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mossycobble.png new file mode 100644 index 0000000..5082953 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_mossycobble.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_back.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_back.png new file mode 100644 index 0000000..e479ace Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_back.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_front.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_front.png new file mode 100644 index 0000000..c9dd6a3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_front.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_rb.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_rb.png new file mode 100644 index 0000000..685a22c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_rb.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_side.png new file mode 100644 index 0000000..bc85427 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_nc_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_paper.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_paper.png new file mode 100644 index 0000000..3c31f77 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_paper.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_papyrus.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_papyrus.png new file mode 100644 index 0000000..3707e40 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_papyrus.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail.png new file mode 100644 index 0000000..777e10c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_crossing.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_crossing.png new file mode 100644 index 0000000..a988c47 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_crossing.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_curved.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_curved.png new file mode 100644 index 0000000..f87e826 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_curved.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_t_junction.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_t_junction.png new file mode 100644 index 0000000..fd25b5b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_rail_t_junction.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sand.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sand.png new file mode 100644 index 0000000..1a56cc7 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sand.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sandstone.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sandstone.png new file mode 100644 index 0000000..bd9cb86 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sandstone.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sapling.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sapling.png new file mode 100644 index 0000000..9360232 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sapling.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_scorched_stuff.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_scorched_stuff.png new file mode 100644 index 0000000..c7efc7e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_scorched_stuff.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sign_wall.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sign_wall.png new file mode 100644 index 0000000..93c075a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_sign_wall.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_steel_block.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_steel_block.png new file mode 100644 index 0000000..9c0a0e2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_steel_block.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_steel_ingot.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_steel_ingot.png new file mode 100644 index 0000000..ad133bc Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_steel_ingot.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_stick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_stick.png new file mode 100644 index 0000000..055a6ac Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_stick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_stone.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_stone.png new file mode 100644 index 0000000..a835fe0 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_stone.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_bottom.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_bottom.png new file mode 100644 index 0000000..4eda060 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_bottom.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_side.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_side.png new file mode 100644 index 0000000..c259726 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_side.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_top.png new file mode 100644 index 0000000..a031a34 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tnt_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_mesepick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_mesepick.png new file mode 100644 index 0000000..2b5e12c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_mesepick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelaxe.png new file mode 100644 index 0000000..fae19dd Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelpick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelpick.png new file mode 100644 index 0000000..3a8f586 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelpick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelshovel.png new file mode 100644 index 0000000..d5b1bc6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelsword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelsword.png new file mode 100644 index 0000000..efc61a0 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_steelsword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stoneaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stoneaxe.png new file mode 100644 index 0000000..532e16f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stoneaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stonepick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stonepick.png new file mode 100644 index 0000000..d9156ee Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stonepick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stoneshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stoneshovel.png new file mode 100644 index 0000000..7bbd2d4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stoneshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stonesword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stonesword.png new file mode 100644 index 0000000..533b873 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_stonesword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodaxe.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodaxe.png new file mode 100644 index 0000000..6e70f4a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodaxe.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodpick.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodpick.png new file mode 100644 index 0000000..15c61f4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodpick.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodshovel.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodshovel.png new file mode 100644 index 0000000..e0b3608 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodshovel.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodsword.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodsword.png new file mode 100644 index 0000000..8099af1 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tool_woodsword.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch.png new file mode 100644 index 0000000..21d98bd Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch_on_ceiling.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch_on_ceiling.png new file mode 100644 index 0000000..dccd380 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch_on_ceiling.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch_on_floor.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch_on_floor.png new file mode 100644 index 0000000..c220107 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_torch_on_floor.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tree.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tree.png new file mode 100644 index 0000000..65abfc2 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tree.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tree_top.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tree_top.png new file mode 100644 index 0000000..3e6bd52 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_tree_top.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_water.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_water.png new file mode 100644 index 0000000..3e385ae Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_water.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_wood.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_wood.png new file mode 100644 index 0000000..57c1d7c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/default_wood.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/heart.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/heart.png new file mode 100644 index 0000000..c25f43b Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/heart.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/player.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/player.png new file mode 100644 index 0000000..cf5d83f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/player.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/player_back.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/player_back.png new file mode 100644 index 0000000..d498674 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/player_back.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/treeprop.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/treeprop.png new file mode 100644 index 0000000..eb8a8e6 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/treeprop.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/wieldhand.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/wieldhand.png new file mode 100644 index 0000000..dbed6ad Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/default/textures/wieldhand.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/init.lua new file mode 100644 index 0000000..3e2e778 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/init.lua @@ -0,0 +1,592 @@ +-- +-- Experimental things +-- + +-- For testing random stuff + +experimental = {} + +function experimental.print_to_everything(msg) + minetest.log("action", msg) + minetest.chat_send_all(msg) +end + +--[[ +experimental.player_visual_index = 0 +function switch_player_visual() + for _, obj in pairs(minetest.get_connected_players()) do + if experimental.player_visual_index == 0 then + obj:set_properties({visual="upright_sprite"}) + else + obj:set_properties({visual="cube"}) + end + end + experimental.player_visual_index = (experimental.player_visual_index + 1) % 2 + minetest.after(1.0, switch_player_visual) +end +minetest.after(1.0, switch_player_visual) +]] + +minetest.register_node("experimental:soundblock", { + tile_images = {"unknown_node.png", "default_tnt_bottom.png", + "default_tnt_side.png", "default_tnt_side.png", + "default_tnt_side.png", "default_tnt_side.png"}, + inventory_image = minetest.inventorycube("unknown_node.png", + "default_tnt_side.png", "default_tnt_side.png"), + groups = {dig_immediate=3}, +}) + +minetest.register_alias("sb", "experimental:soundblock") + +minetest.register_abm({ + nodenames = {"experimental:soundblock"}, + interval = 1, + chance = 1, + action = function(p0, node, _, _) + minetest.sound_play("default_grass_footstep", {pos=p0, gain=0.5}) + end, +}) + +--[[ +stepsound = -1 +function test_sound() + print("test_sound") + stepsound = minetest.sound_play("default_grass_footstep", {gain=1.0}) + minetest.after(2.0, test_sound) + --minetest.after(0.1, test_sound_stop) +end +function test_sound_stop() + print("test_sound_stop") + minetest.sound_stop(stepsound) + minetest.after(2.0, test_sound) +end +test_sound() +--]] + +function on_step(dtime) + -- print("experimental on_step") + --[[ + objs = minetest.get_objects_inside_radius({x=0,y=0,z=0}, 10) + for k, obj in pairs(objs) do + name = obj:get_player_name() + if name then + print(name.." at "..dump(obj:getpos())) + print(name.." dir: "..dump(obj:get_look_dir())) + print(name.." pitch: "..dump(obj:get_look_pitch())) + print(name.." yaw: "..dump(obj:get_look_yaw())) + else + print("Some object at "..dump(obj:getpos())) + end + end + --]] + --[[ + if experimental.t1 == nil then + experimental.t1 = 0 + end + experimental.t1 = experimental.t1 + dtime + if experimental.t1 >= 2 then + experimental.t1 = experimental.t1 - 2 + minetest.log("time of day is "..minetest.get_timeofday()) + if experimental.day then + minetest.log("forcing day->night") + experimental.day = false + minetest.set_timeofday(0.0) + else + minetest.log("forcing night->day") + experimental.day = true + minetest.set_timeofday(0.5) + end + minetest.log("time of day is "..minetest.get_timeofday()) + end + --]] +end +minetest.register_globalstep(on_step) + +-- +-- Random stuff +-- + +-- +-- TNT (not functional) +-- + +minetest.register_craft({ + output = 'experimental:tnt', + recipe = { + {'default:wood'}, + {'default:coal_lump'}, + {'default:wood'} + } +}) + +minetest.register_node("experimental:tnt", { + tile_images = {"default_tnt_top.png", "default_tnt_bottom.png", + "default_tnt_side.png", "default_tnt_side.png", + "default_tnt_side.png", "default_tnt_side.png"}, + inventory_image = minetest.inventorycube("default_tnt_top.png", + "default_tnt_side.png", "default_tnt_side.png"), + drop = '', -- Get nothing + material = { + diggability = "not", + }, +}) + +minetest.register_on_punchnode(function(p, node) + if node.name == "experimental:tnt" then + minetest.remove_node(p) + minetest.add_entity(p, "experimental:tnt") + nodeupdate(p) + end +end) + +local TNT = { + -- Static definition + physical = true, -- Collides with things + -- weight = 5, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "cube", + textures = {"default_tnt_top.png", "default_tnt_bottom.png", + "default_tnt_side.png", "default_tnt_side.png", + "default_tnt_side.png", "default_tnt_side.png"}, + -- Initial value for our timer + timer = 0, + -- Number of punches required to defuse + health = 1, + blinktimer = 0, + blinkstatus = true, +} + +-- Called when a TNT object is created +function TNT:on_activate(staticdata) + print("TNT:on_activate()") + self.object:setvelocity({x=0, y=4, z=0}) + self.object:setacceleration({x=0, y=-10, z=0}) + self.object:settexturemod("^[brighten") + self.object:set_armor_groups({immortal=1}) +end + +-- Called periodically +function TNT:on_step(dtime) + --print("TNT:on_step()") + self.timer = self.timer + dtime + self.blinktimer = self.blinktimer + dtime + if self.blinktimer > 0.5 then + self.blinktimer = self.blinktimer - 0.5 + if self.blinkstatus then + self.object:settexturemod("") + else + self.object:settexturemod("^[brighten") + end + self.blinkstatus = not self.blinkstatus + end +end + +-- Called when object is punched +function TNT:on_punch(hitter) + print("TNT:on_punch()") + self.health = self.health - 1 + if self.health <= 0 then + self.object:remove() + hitter:get_inventory():add_item("main", "experimental:tnt") + --hitter:set_hp(hitter:get_hp() - 1) + end +end + +-- Called when object is right-clicked +function TNT:on_rightclick(clicker) + --pos = self.object:getpos() + --pos = {x=pos.x, y=pos.y+0.1, z=pos.z} + --self.object:moveto(pos, false) +end + +--print("TNT dump: "..dump(TNT)) +--print("Registering TNT"); +minetest.register_entity("experimental:tnt", TNT) + +-- Add TNT's old name also +minetest.register_alias("TNT", "experimental:tnt") + +-- +-- The dummyball! +-- + +minetest.register_entity("experimental:dummyball", { + initial_properties = { + hp_max = 20, + physical = false, + collisionbox = {-0.4,-0.4,-0.4, 0.4,0.4,0.4}, + visual = "sprite", + visual_size = {x=1, y=1}, + textures = {"experimental_dummyball.png"}, + spritediv = {x=1, y=3}, + initial_sprite_basepos = {x=0, y=0}, + }, + + phase = 0, + phasetimer = 0, + + on_activate = function(self, staticdata) + minetest.log("Dummyball activated!") + end, + + on_step = function(self, dtime) + self.phasetimer = self.phasetimer + dtime + if self.phasetimer > 2.0 then + self.phasetimer = self.phasetimer - 2.0 + self.phase = self.phase + 1 + if self.phase >= 3 then + self.phase = 0 + end + self.object:setsprite({x=0, y=self.phase}) + phasearmor = { + [0]={cracky=3}, + [1]={crumbly=3}, + [2]={fleshy=3} + } + self.object:set_armor_groups(phasearmor[self.phase]) + end + end, + + on_punch = function(self, hitter) + end, +}) + +minetest.register_on_chat_message(function(name, message) + local cmd = "/dummyball" + if message:sub(0, #cmd) == cmd then + if not minetest.get_player_privs(name)["give"] then + minetest.chat_send_player(name, "you don't have permission to spawn (give)") + return true -- Handled chat message + end + if not minetest.get_player_privs(name)["interact"] then + minetest.chat_send_player(name, "you don't have permission to interact") + return true -- Handled chat message + end + local player = minetest.get_player_by_name(name) + if player == nil then + print("Unable to spawn entity, player is nil") + return true -- Handled chat message + end + local entityname = "experimental:dummyball" + local p = player:getpos() + p.y = p.y + 1 + minetest.add_entity(p, entityname) + minetest.chat_send_player(name, '"'..entityname + ..'" spawned.'); + return true -- Handled chat message + end +end) + +-- +-- A test entity for testing animated and yaw-modulated sprites +-- + +minetest.register_entity("experimental:testentity", { + -- Static definition + physical = true, -- Collides with things + -- weight = 5, + collisionbox = {-0.7,-1.35,-0.7, 0.7,1.0,0.7}, + --collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "sprite", + visual_size = {x=2, y=3}, + textures = {"dungeon_master.png^[makealpha:128,0,0^[makealpha:128,128,0"}, + spritediv = {x=6, y=5}, + initial_sprite_basepos = {x=0, y=0}, + + on_activate = function(self, staticdata) + print("testentity.on_activate") + self.object:setsprite({x=0,y=0}, 1, 0, true) + --self.object:setsprite({x=0,y=0}, 4, 0.3, true) + + -- Set gravity + self.object:setacceleration({x=0, y=-10, z=0}) + -- Jump a bit upwards + self.object:setvelocity({x=0, y=10, z=0}) + end, + + on_punch = function(self, hitter) + self.object:remove() + hitter:add_to_inventory('craft testobject1 1') + end, +}) + +-- +-- More random stuff +-- + +minetest.register_on_respawnplayer(function(player) + print("on_respawnplayer") + -- player:setpos({x=0, y=30, z=0}) + -- return true +end) + +minetest.register_on_generated(function(minp, maxp) + --print("on_generated: minp="..dump(minp).." maxp="..dump(maxp)) + --cp = {x=(minp.x+maxp.x)/2, y=(minp.y+maxp.y)/2, z=(minp.z+maxp.z)/2} + --minetest.add_node(cp, {name="sand"}) +end) + +-- Example setting get +--print("setting max_users = " .. dump(minetest.setting_get("max_users"))) +--print("setting asdf = " .. dump(minetest.setting_get("asdf"))) + +minetest.register_on_chat_message(function(name, message) + --[[print("on_chat_message: name="..dump(name).." message="..dump(message)) + local cmd = "/testcommand" + if message:sub(0, #cmd) == cmd then + print(cmd.." invoked") + return true + end + local cmd = "/help" + if message:sub(0, #cmd) == cmd then + print("script-overridden help command") + minetest.chat_send_all("script-overridden help command") + return true + end]] +end) + +-- Grow papyrus on TNT every 10 seconds +--[[minetest.register_abm({ + nodenames = {"TNT"}, + interval = 10.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + print("TNT ABM action") + pos.y = pos.y + 1 + minetest.add_node(pos, {name="papyrus"}) + end, +})]] + +-- Replace texts of alls signs with "foo" every 10 seconds +--[[minetest.register_abm({ + nodenames = {"sign_wall"}, + interval = 10.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + print("ABM: Sign text changed") + local meta = minetest.get_meta(pos) + meta:set_text("foo") + end, +})]] + +--[[local ncpos = nil +local ncq = 1 +local ncstuff = { + {2, 1, 0, 3}, {3, 0, 1, 2}, {4, -1, 0, 1}, {5, -1, 0, 1}, {6, 0, -1, 0}, + {7, 0, -1, 0}, {8, 1, 0, 3}, {9, 1, 0, 3}, {10, 1, 0, 3}, {11, 0, 1, 2}, + {12, 0, 1, 2}, {13, 0, 1, 2}, {14, -1, 0, 1}, {15, -1, 0, 1}, {16, -1, 0, 1}, + {17, -1, 0, 1}, {18, 0, -1, 0}, {19, 0, -1, 0}, {20, 0, -1, 0}, {21, 0, -1, 0}, + {22, 1, 0, 3}, {23, 1, 0, 3}, {24, 1, 0, 3}, {25, 1, 0, 3}, {10, 0, 1, 2} +} +local ncold = {} +local nctime = nil + +minetest.register_abm({ + nodenames = {"dirt_with_grass"}, + interval = 100000.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + if ncpos ~= nil then + return + end + + if pos.x % 16 ~= 8 or pos.z % 16 ~= 8 then + return + end + + pos.y = pos.y + 1 + n = minetest.get_node(pos) + print(dump(n)) + if n.name ~= "air" then + return + end + + pos.y = pos.y + 2 + ncpos = pos + nctime = os.clock() + minetest.add_node(ncpos, {name="nyancat"}) + end +}) + +minetest.register_abm({ + nodenames = {"nyancat"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + if ncpos == nil then + return + end + if pos.x == ncpos.x and pos.y == ncpos.y and pos.z == ncpos.z then + clock = os.clock() + if clock - nctime < 0.1 then + return + end + nctime = clock + + s0 = ncstuff[ncq] + ncq = s0[1] + s1 = ncstuff[ncq] + p0 = pos + p1 = {x = p0.x + s0[2], y = p0.y, z = p0.z + s0[3]} + p2 = {x = p1.x + s1[2], y = p1.y, z = p1.z + s1[3]} + table.insert(ncold, 1, p0) + while #ncold >= 10 do + minetest.add_node(ncold[#ncold], {name="air"}) + table.remove(ncold, #ncold) + end + minetest.add_node(p0, {name="nyancat_rainbow"}) + minetest.add_node(p1, {name="nyancat", param1=s0[4]}) + minetest.add_node(p2, {name="air"}) + ncpos = p1 + end + end, +})--]] + +minetest.register_node("experimental:tester_node_1", { + description = "Tester Node 1 (construct/destruct/timer)", + tile_images = {"wieldhand.png"}, + groups = {oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + -- This was known to cause a bug in minetest.item_place_node() when used + -- via minetest.place_node(), causing a placer with no position + paramtype2 = "facedir", + + on_construct = function(pos) + experimental.print_to_everything("experimental:tester_node_1:on_construct("..minetest.pos_to_string(pos)..")") + local meta = minetest.get_meta(pos) + meta:set_string("mine", "test") + local timer = minetest.get_node_timer(pos) + timer:start(4, 3) + end, + + after_place_node = function(pos, placer) + experimental.print_to_everything("experimental:tester_node_1:after_place_node("..minetest.pos_to_string(pos)..")") + local meta = minetest.get_meta(pos) + if meta:get_string("mine") == "test" then + experimental.print_to_everything("correct metadata found") + else + experimental.print_to_everything("incorrect metadata found") + end + end, + + on_destruct = function(pos) + experimental.print_to_everything("experimental:tester_node_1:on_destruct("..minetest.pos_to_string(pos)..")") + end, + + after_destruct = function(pos) + experimental.print_to_everything("experimental:tester_node_1:after_destruct("..minetest.pos_to_string(pos)..")") + end, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + experimental.print_to_everything("experimental:tester_node_1:after_dig_node("..minetest.pos_to_string(pos)..")") + end, + + on_timer = function(pos, elapsed) + experimental.print_to_everything("on_timer(): elapsed="..dump(elapsed)) + return true + end, +}) + +minetest.register_craftitem("experimental:tester_tool_1", { + description = "Tester Tool 1", + inventory_image = "experimental_tester_tool_1.png", + on_use = function(itemstack, user, pointed_thing) + --print(dump(pointed_thing)) + if pointed_thing.type == "node" then + if minetest.get_node(pointed_thing.under).name == "experimental:tester_node_1" then + local p = pointed_thing.under + minetest.log("action", "Tester tool used at "..minetest.pos_to_string(p)) + minetest.dig_node(p) + else + local p = pointed_thing.above + minetest.log("action", "Tester tool used at "..minetest.pos_to_string(p)) + minetest.place_node(p, {name="experimental:tester_node_1"}) + end + end + end, +}) + +minetest.register_craft({ + output = 'experimental:tester_tool_1', + recipe = { + {'group:crumbly'}, + {'group:crumbly'}, + } +}) + +--[[minetest.register_on_joinplayer(function(player) + minetest.after(3, function() + player:set_inventory_formspec("size[8,7.5]".. + "image[1,0.6;1,2;player.png]".. + "list[current_player;main;0,3.5;8,4;]".. + "list[current_player;craft;3,0;3,3;]".. + "list[current_player;craftpreview;7,1;1,1;]") + end) +end)]] + +-- Create a detached inventory +local inv = minetest.create_detached_inventory("test_inventory", { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + experimental.print_to_everything("allow move asked") + return count -- Allow all + end, + allow_put = function(inv, listname, index, stack, player) + experimental.print_to_everything("allow put asked") + return 1 -- Allow only 1 + end, + allow_take = function(inv, listname, index, stack, player) + experimental.print_to_everything("allow take asked") + return 4 -- Allow 4 at max + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + experimental.print_to_everything(player:get_player_name().." moved items") + end, + on_put = function(inv, listname, index, stack, player) + experimental.print_to_everything(player:get_player_name().." put items") + end, + on_take = function(inv, listname, index, stack, player) + experimental.print_to_everything(player:get_player_name().." took items") + end, +}) +inv:set_size("main", 4*6) +inv:add_item("main", "experimental:tester_tool_1") +inv:add_item("main", "experimental:tnt 5") + +minetest.register_chatcommand("test1", { + params = "", + description = "Test 1: Modify player's inventory view", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return + end + player:set_inventory_formspec( + "size[13,7.5]".. + "image[6,0.6;1,2;player.png]".. + "list[current_player;main;5,3.5;8,4;]".. + "list[current_player;craft;8,0;3,3;]".. + "list[current_player;craftpreview;12,1;1,1;]".. + "list[detached:test_inventory;main;0,0;4,6;0]".. + "button[0.5,7;2,1;button1;Button 1]".. + "button_exit[2.5,7;2,1;button2;Exit Button]" + ) + minetest.chat_send_player(name, "Done."); + end, +}) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + experimental.print_to_everything("Inventory fields 1: player="..player:get_player_name()..", fields="..dump(fields)) +end) +minetest.register_on_player_receive_fields(function(player, formname, fields) + experimental.print_to_everything("Inventory fields 2: player="..player:get_player_name()..", fields="..dump(fields)) + return true -- Disable the first callback +end) +minetest.register_on_player_receive_fields(function(player, formname, fields) + experimental.print_to_everything("Inventory fields 3: player="..player:get_player_name()..", fields="..dump(fields)) +end) + +minetest.log("experimental modname="..dump(minetest.get_current_modname())) +minetest.log("experimental modpath="..dump(minetest.get_modpath("experimental"))) +minetest.log("experimental worldpath="..dump(minetest.get_worldpath())) + +-- END diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/textures/experimental_dummyball.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/textures/experimental_dummyball.png new file mode 100644 index 0000000..256414f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/textures/experimental_dummyball.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/textures/experimental_tester_tool_1.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/textures/experimental_tester_tool_1.png new file mode 100644 index 0000000..587923c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/experimental/textures/experimental_tester_tool_1.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/give_initial_stuff/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/give_initial_stuff/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/give_initial_stuff/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/give_initial_stuff/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/give_initial_stuff/init.lua new file mode 100644 index 0000000..29b835c --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/give_initial_stuff/init.lua @@ -0,0 +1,16 @@ +minetest.register_on_newplayer(function(player) + print("[minimal] giving initial stuff to player") + player:get_inventory():add_item('main', 'default:pick_stone') + player:get_inventory():add_item('main', 'default:torch 99') + player:get_inventory():add_item('main', 'default:cobble 99') + player:get_inventory():add_item('main', 'default:wood 99') + player:get_inventory():add_item('main', 'default:axe_steel') + player:get_inventory():add_item('main', 'default:shovel_steel') + player:get_inventory():add_item('main', 'default:pick_wood') + player:get_inventory():add_item('main', 'default:pick_steel') + player:get_inventory():add_item('main', 'default:pick_mese') + player:get_inventory():add_item('main', 'default:mese 99') + player:get_inventory():add_item('main', 'default:water_source 99') + player:get_inventory():add_item('main', 'experimental:tester_tool_1') +end) + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/init.lua new file mode 100644 index 0000000..98ad69b --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/init.lua @@ -0,0 +1,128 @@ +-- legacy (Minetest 0.4 mod) +-- Provides as much backwards-compatibility as feasible + +-- +-- Aliases to support loading 0.3 and old 0.4 worlds and inventories +-- + +minetest.register_alias("stone", "default:stone") +minetest.register_alias("stone_with_coal", "default:stone_with_coal") +minetest.register_alias("stone_with_iron", "default:stone_with_iron") +minetest.register_alias("dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("dirt_with_grass_footsteps", "default:dirt_with_grass_footsteps") +minetest.register_alias("dirt", "default:dirt") +minetest.register_alias("sand", "default:sand") +minetest.register_alias("gravel", "default:gravel") +minetest.register_alias("sandstone", "default:sandstone") +minetest.register_alias("clay", "default:clay") +minetest.register_alias("brick", "default:brick") +minetest.register_alias("tree", "default:tree") +minetest.register_alias("jungletree", "default:jungletree") +minetest.register_alias("junglegrass", "default:junglegrass") +minetest.register_alias("leaves", "default:leaves") +minetest.register_alias("cactus", "default:cactus") +minetest.register_alias("papyrus", "default:papyrus") +minetest.register_alias("bookshelf", "default:bookshelf") +minetest.register_alias("glass", "default:glass") +minetest.register_alias("wooden_fence", "default:fence_wood") +minetest.register_alias("rail", "default:rail") +minetest.register_alias("ladder", "default:ladder") +minetest.register_alias("wood", "default:wood") +minetest.register_alias("mese", "default:mese") +minetest.register_alias("cloud", "default:cloud") +minetest.register_alias("water_flowing", "default:water_flowing") +minetest.register_alias("water_source", "default:water_source") +minetest.register_alias("lava_flowing", "default:lava_flowing") +minetest.register_alias("lava_source", "default:lava_source") +minetest.register_alias("torch", "default:torch") +minetest.register_alias("sign_wall", "default:sign_wall") +minetest.register_alias("furnace", "default:furnace") +minetest.register_alias("chest", "default:chest") +minetest.register_alias("locked_chest", "default:chest_locked") +minetest.register_alias("cobble", "default:cobble") +minetest.register_alias("mossycobble", "default:mossycobble") +minetest.register_alias("steelblock", "default:steelblock") +minetest.register_alias("nyancat", "default:nyancat") +minetest.register_alias("nyancat_rainbow", "default:nyancat_rainbow") +minetest.register_alias("sapling", "default:sapling") +minetest.register_alias("apple", "default:apple") + +minetest.register_alias("WPick", "default:pick_wood") +minetest.register_alias("STPick", "default:pick_stone") +minetest.register_alias("SteelPick", "default:pick_steel") +minetest.register_alias("MesePick", "default:pick_mese") +minetest.register_alias("WShovel", "default:shovel_wood") +minetest.register_alias("STShovel", "default:shovel_stone") +minetest.register_alias("SteelShovel", "default:shovel_steel") +minetest.register_alias("WAxe", "default:axe_wood") +minetest.register_alias("STAxe", "default:axe_stone") +minetest.register_alias("SteelAxe", "default:axe_steel") +minetest.register_alias("WSword", "default:sword_wood") +minetest.register_alias("STSword", "default:sword_stone") +minetest.register_alias("SteelSword", "default:sword_steel") + +minetest.register_alias("Stick", "default:stick") +minetest.register_alias("paper", "default:paper") +minetest.register_alias("book", "default:book") +minetest.register_alias("lump_of_coal", "default:coal_lump") +minetest.register_alias("lump_of_iron", "default:iron_lump") +minetest.register_alias("lump_of_clay", "default:clay_lump") +minetest.register_alias("steel_ingot", "default:steel_ingot") +minetest.register_alias("clay_brick", "default:clay_brick") +minetest.register_alias("scorched_stuff", "default:scorched_stuff") + +-- +-- Old items +-- + +minetest.register_craftitem(":rat", { + description = "Rat", + inventory_image = "rat.png", + on_drop = function(item, dropper, pos) + item:take_item() + return item + end, + on_place = function(item, dropped, pointed) + pos = minetest.get_pointed_thing_position(pointed, true) + if pos ~= nil then + item:take_item() + return item + end + end +}) + +minetest.register_craftitem(":cooked_rat", { + description = "Cooked rat", + inventory_image = "cooked_rat.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craftitem(":firefly", { + description = "Firefly", + inventory_image = "firefly.png", + on_drop = function(item, dropper, pos) + item:take_item() + return item + end, + on_place = function(item, dropped, pointed) + pos = minetest.get_pointed_thing_position(pointed, true) + if pos ~= nil then + item:take_item() + return item + end + end +}) + +minetest.register_craft({ + type = "cooking", + output = "cooked_rat", + recipe = "rat", +}) + +minetest.register_craft({ + type = "cooking", + output = "scorched_stuff", + recipe = "cooked_rat", +}) + +-- END diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/apple_iron.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/apple_iron.png new file mode 100644 index 0000000..db59458 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/apple_iron.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/cooked_rat.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/cooked_rat.png new file mode 100644 index 0000000..776dc4e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/cooked_rat.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/dungeon_master.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/dungeon_master.png new file mode 100644 index 0000000..d52d8cc Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/dungeon_master.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/fireball.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/fireball.png new file mode 100644 index 0000000..124469c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/fireball.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/firefly.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/firefly.png new file mode 100644 index 0000000..ea95a6a Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/firefly.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/oerkki1.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/oerkki1.png new file mode 100644 index 0000000..061709c Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/oerkki1.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/oerkki1_damaged.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/oerkki1_damaged.png new file mode 100644 index 0000000..b2a3033 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/oerkki1_damaged.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/rat.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/rat.png new file mode 100644 index 0000000..04cf9b8 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/legacy/textures/rat.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/stairs/depends.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/stairs/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/stairs/depends.txt @@ -0,0 +1 @@ +default diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/stairs/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/stairs/init.lua new file mode 100644 index 0000000..4929d13 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/stairs/init.lua @@ -0,0 +1,93 @@ +stairs = {} + +-- Node will be called stairs:stair_ +function stairs.register_stair(subname, recipeitem, groups, images, description) + minetest.register_node("stairs:stair_" .. subname, { + description = description, + drawtype = "nodebox", + tile_images = images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + }) + + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 4', + recipe = { + {recipeitem, "", ""}, + {recipeitem, recipeitem, ""}, + {recipeitem, recipeitem, recipeitem}, + }, + }) +end + +-- Node will be called stairs:slab_ +function stairs.register_slab(subname, recipeitem, groups, images, description) + minetest.register_node("stairs:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tile_images = images, + paramtype = "light", + is_ground_content = true, + groups = groups, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + }) + + minetest.register_craft({ + output = 'stairs:slab_' .. subname .. ' 3', + recipe = { + {recipeitem, recipeitem, recipeitem}, + }, + }) +end + +-- Nodes will be called stairs:{stair,slab}_ +function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab) + stairs.register_stair(subname, recipeitem, groups, images, desc_stair) + stairs.register_slab(subname, recipeitem, groups, images, desc_slab) +end + +stairs.register_stair_and_slab("wood", "default:wood", + {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + {"default_wood.png"}, + "Wooden stair", + "Wooden slab") + +stairs.register_stair_and_slab("stone", "default:stone", + {cracky=3}, + {"default_stone.png"}, + "Stone stair", + "Stone slab") + +stairs.register_stair_and_slab("cobble", "default:cobble", + {cracky=3}, + {"default_cobble.png"}, + "Cobble stair", + "Cobble slab") + +stairs.register_stair_and_slab("brick", "default:brick", + {cracky=3}, + {"default_brick.png"}, + "Brick stair", + "Brick slab") + +stairs.register_stair_and_slab("sandstone", "default:sandstone", + {crumbly=2,cracky=2}, + {"default_sandstone.png"}, + "Sandstone stair", + "Sandstone slab") diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/test/init.lua b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/test/init.lua new file mode 100644 index 0000000..051b479 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/games/minimal/mods/test/init.lua @@ -0,0 +1,11 @@ +-- +-- Minimal Development Test +-- Mod: test +-- + +-- Try out PseudoRandom +pseudo = PseudoRandom(13) +assert(pseudo:next() == 22290) +assert(pseudo:next() == 13854) + + diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/logo.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/logo.png new file mode 100644 index 0000000..89be884 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/logo.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/menu_header.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/menu_header.png new file mode 100644 index 0000000..abf2403 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/menu_header.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/no_screenshot.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/no_screenshot.png new file mode 100644 index 0000000..e309a3e Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/no_screenshot.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/smoke_puff.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/smoke_puff.png new file mode 100644 index 0000000..e0f038f Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/smoke_puff.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/sunrisebg.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/sunrisebg.png new file mode 100644 index 0000000..1d03dd3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/sunrisebg.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_item.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_item.png new file mode 100644 index 0000000..27a3450 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_item.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_node.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_node.png new file mode 100644 index 0000000..cb59ff4 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_node.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_object.png b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_object.png new file mode 100644 index 0000000..c0166c3 Binary files /dev/null and b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/bin/share/textures/base/pack/unknown_object.png differ diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/serverlist/.gitignore b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/serverlist/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/serverlist/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/base.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/base.txt new file mode 100644 index 0000000..1c26471 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/base.txt @@ -0,0 +1 @@ +trans_alphach diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/opengl_fragment.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/opengl_fragment.glsl new file mode 100644 index 0000000..bf6bbf0 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/opengl_fragment.glsl @@ -0,0 +1,46 @@ + +uniform sampler2D myTexture; +uniform sampler2D normalTexture; + +uniform vec4 skyBgColor; +uniform float fogDistance; + +varying vec3 vPosition; + +varying vec3 viewVec; + +void main (void) +{ + vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0])); + float alpha = col.a; + vec2 uv = gl_TexCoord[0].st; + vec4 base = texture2D(myTexture, uv); + vec4 final_color = vec4(0.2, 0.2, 0.2, 1.0) * base; + vec3 vVec = normalize(viewVec); + vec3 bump = normalize(texture2D(normalTexture, uv).xyz * 2.0 - 1.0); + vec3 R = reflect(-vVec, bump); + vec3 lVec = normalize(vec3(0.0, -0.4, 0.5)); + float diffuse = max(dot(lVec, bump), 0.0); + + vec3 color = diffuse * texture2D(myTexture, gl_TexCoord[0].st).rgb; + + + float specular = pow(clamp(dot(R, lVec), 0.0, 1.0),1.0); + color += vec3(0.2*specular*diffuse); + + + col = vec4(color.r, color.g, color.b, alpha); + col *= gl_Color; + col = col * col; // SRGB -> Linear + col *= 1.8; + col.r = 1.0 - exp(1.0 - col.r) / exp(1.0); + col.g = 1.0 - exp(1.0 - col.g) / exp(1.0); + col.b = 1.0 - exp(1.0 - col.b) / exp(1.0); + col = sqrt(col); // Linear -> SRGB + if(fogDistance != 0.0){ + float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0)); + alpha = mix(alpha, 0.0, d); + } + + gl_FragColor = vec4(col.r, col.g, col.b, alpha); +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/opengl_vertex.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/opengl_vertex.glsl new file mode 100644 index 0000000..99c208b --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_liquids/opengl_vertex.glsl @@ -0,0 +1,98 @@ + +uniform mat4 mWorldViewProj; +uniform mat4 mInvWorld; +uniform mat4 mTransWorld; +uniform float dayNightRatio; + +varying vec3 vPosition; +varying vec3 viewVec; + +void main(void) +{ + gl_Position = mWorldViewProj * gl_Vertex; + + vPosition = (mWorldViewProj * gl_Vertex).xyz; + + vec3 tangent; + vec3 binormal; + + vec3 c1 = cross( gl_Normal, vec3(0.0, 0.0, 1.0) ); + vec3 c2 = cross( gl_Normal, vec3(0.0, 1.0, 0.0) ); + + if( length(c1)>length(c2) ) + { + tangent = c1; + } + else + { + tangent = c2; + } + + tangent = normalize(tangent); + +//binormal = cross(gl_Normal, tangent); +//binormal = normalize(binormal); + + vec4 color; + //color = vec4(1.0, 1.0, 1.0, 1.0); + + float day = gl_Color.r; + float night = gl_Color.g; + float light_source = gl_Color.b; + + /*color.r = mix(night, day, dayNightRatio); + color.g = color.r; + color.b = color.r;*/ + + float rg = mix(night, day, dayNightRatio); + rg += light_source * 1.5; // Make light sources brighter + float b = rg; + + // Moonlight is blue + b += (day - night) / 13.0; + rg -= (day - night) / 13.0; + + // Emphase blue a bit in darker places + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025); + + // Artificial light is yellow-ish + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065); + + color.r = rg; + color.g = rg; + color.b = b; + + // Make sides and bottom darker than the top + color = color * color; // SRGB -> Linear + if(gl_Normal.y <= 0.5) + color *= 0.6; + //color *= 0.7; + color = sqrt(color); // Linear -> SRGB + + color.a = gl_Color.a; + + gl_FrontColor = gl_BackColor = color; + + gl_TexCoord[0] = gl_MultiTexCoord0; + + vec3 n1 = normalize(gl_NormalMatrix * gl_Normal); + vec4 tangent1 = vec4(tangent.x, tangent.y, tangent.z, 0); + //vec3 t1 = normalize(gl_NormalMatrix * tangent1); + //vec3 b1 = cross(n1, t1); + + vec3 v; + vec3 vVertex = vec3(gl_ModelViewMatrix * gl_Vertex); + vec3 vVec = -vVertex; + //v.x = dot(vVec, t1); + //v.y = dot(vVec, b1); + //v.z = dot(vVec, n1); + //viewVec = vVec; + viewVec = normalize(vec3(0.0, -0.4, 0.5)); + //Vector representing the 0th texture coordinate passed to fragment shader +//gl_TexCoord[0] = vec2(gl_MultiTexCoord0); + +// Transform the current vertex +//gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/base.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/base.txt new file mode 100644 index 0000000..080df30 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/base.txt @@ -0,0 +1 @@ +trans_alphach_ref diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/opengl_fragment.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/opengl_fragment.glsl new file mode 100644 index 0000000..c72e8cb --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/opengl_fragment.glsl @@ -0,0 +1,45 @@ + +uniform sampler2D myTexture; +uniform sampler2D normalTexture; + +uniform vec4 skyBgColor; +uniform float fogDistance; + +varying vec3 vPosition; + +varying vec3 viewVec; + +void main (void) +{ + vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0])); + float alpha = col.a; + vec2 uv = gl_TexCoord[0].st; + vec4 base = texture2D(myTexture, uv); + vec4 final_color = vec4(0.2, 0.2, 0.2, 1.0) * base; + vec3 vVec = normalize(viewVec); + vec3 bump = normalize(texture2D(normalTexture, uv).xyz * 2.0 - 1.0); + vec3 R = reflect(-vVec, bump); + vec3 lVec = normalize(vec3(0.0, -0.4, 0.5)); + float diffuse = max(dot(lVec, bump), 0.0); + + vec3 color = diffuse * texture2D(myTexture, gl_TexCoord[0].st).rgb; + + + float specular = pow(clamp(dot(R, lVec), 0.0, 1.0),1.0); + color += vec3(0.2*specular*diffuse); + + + col = vec4(color.r, color.g, color.b, alpha); + col *= gl_Color; + col = col * col; // SRGB -> Linear + col *= 1.8; + col.r = 1.0 - exp(1.0 - col.r) / exp(1.0); + col.g = 1.0 - exp(1.0 - col.g) / exp(1.0); + col.b = 1.0 - exp(1.0 - col.b) / exp(1.0); + col = sqrt(col); // Linear -> SRGB + if(fogDistance != 0.0){ + float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0)); + col = mix(col, skyBgColor, d); + } + gl_FragColor = vec4(col.r, col.g, col.b, alpha); +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/opengl_vertex.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/opengl_vertex.glsl new file mode 100644 index 0000000..99c208b --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/bumpmaps_solids/opengl_vertex.glsl @@ -0,0 +1,98 @@ + +uniform mat4 mWorldViewProj; +uniform mat4 mInvWorld; +uniform mat4 mTransWorld; +uniform float dayNightRatio; + +varying vec3 vPosition; +varying vec3 viewVec; + +void main(void) +{ + gl_Position = mWorldViewProj * gl_Vertex; + + vPosition = (mWorldViewProj * gl_Vertex).xyz; + + vec3 tangent; + vec3 binormal; + + vec3 c1 = cross( gl_Normal, vec3(0.0, 0.0, 1.0) ); + vec3 c2 = cross( gl_Normal, vec3(0.0, 1.0, 0.0) ); + + if( length(c1)>length(c2) ) + { + tangent = c1; + } + else + { + tangent = c2; + } + + tangent = normalize(tangent); + +//binormal = cross(gl_Normal, tangent); +//binormal = normalize(binormal); + + vec4 color; + //color = vec4(1.0, 1.0, 1.0, 1.0); + + float day = gl_Color.r; + float night = gl_Color.g; + float light_source = gl_Color.b; + + /*color.r = mix(night, day, dayNightRatio); + color.g = color.r; + color.b = color.r;*/ + + float rg = mix(night, day, dayNightRatio); + rg += light_source * 1.5; // Make light sources brighter + float b = rg; + + // Moonlight is blue + b += (day - night) / 13.0; + rg -= (day - night) / 13.0; + + // Emphase blue a bit in darker places + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025); + + // Artificial light is yellow-ish + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065); + + color.r = rg; + color.g = rg; + color.b = b; + + // Make sides and bottom darker than the top + color = color * color; // SRGB -> Linear + if(gl_Normal.y <= 0.5) + color *= 0.6; + //color *= 0.7; + color = sqrt(color); // Linear -> SRGB + + color.a = gl_Color.a; + + gl_FrontColor = gl_BackColor = color; + + gl_TexCoord[0] = gl_MultiTexCoord0; + + vec3 n1 = normalize(gl_NormalMatrix * gl_Normal); + vec4 tangent1 = vec4(tangent.x, tangent.y, tangent.z, 0); + //vec3 t1 = normalize(gl_NormalMatrix * tangent1); + //vec3 b1 = cross(n1, t1); + + vec3 v; + vec3 vVertex = vec3(gl_ModelViewMatrix * gl_Vertex); + vec3 vVec = -vVertex; + //v.x = dot(vVec, t1); + //v.y = dot(vVec, b1); + //v.z = dot(vVec, n1); + //viewVec = vVec; + viewVec = normalize(vec3(0.0, -0.4, 0.5)); + //Vector representing the 0th texture coordinate passed to fragment shader +//gl_TexCoord[0] = vec2(gl_MultiTexCoord0); + +// Transform the current vertex +//gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/base.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/base.txt new file mode 100644 index 0000000..080df30 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/base.txt @@ -0,0 +1 @@ +trans_alphach_ref diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/opengl_fragment.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/opengl_fragment.glsl new file mode 100644 index 0000000..ebf943c --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/opengl_fragment.glsl @@ -0,0 +1,25 @@ + +uniform sampler2D myTexture; +uniform vec4 skyBgColor; +uniform float fogDistance; + +varying vec3 vPosition; + +void main (void) +{ + //vec4 col = vec4(1.0, 0.0, 0.0, 1.0); + vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0])); + float a = col.a; + col *= gl_Color; + col = col * col; // SRGB -> Linear + col *= 1.8; + col.r = 1.0 - exp(1.0 - col.r) / exp(1.0); + col.g = 1.0 - exp(1.0 - col.g) / exp(1.0); + col.b = 1.0 - exp(1.0 - col.b) / exp(1.0); + col = sqrt(col); // Linear -> SRGB + if(fogDistance != 0.0){ + float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0)); + col = mix(col, skyBgColor, d); + } + gl_FragColor = vec4(col.r, col.g, col.b, a); +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/opengl_vertex.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/opengl_vertex.glsl new file mode 100644 index 0000000..3cf1f12 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_1/opengl_vertex.glsl @@ -0,0 +1,58 @@ + +uniform mat4 mWorldViewProj; +uniform mat4 mInvWorld; +uniform mat4 mTransWorld; +uniform float dayNightRatio; + +varying vec3 vPosition; + +void main(void) +{ + gl_Position = mWorldViewProj * gl_Vertex; + + vPosition = (mWorldViewProj * gl_Vertex).xyz; + + vec4 color; + //color = vec4(1.0, 1.0, 1.0, 1.0); + + float day = gl_Color.r; + float night = gl_Color.g; + float light_source = gl_Color.b; + + /*color.r = mix(night, day, dayNightRatio); + color.g = color.r; + color.b = color.r;*/ + + float rg = mix(night, day, dayNightRatio); + rg += light_source * 1.0; // Make light sources brighter + float b = rg; + + // Moonlight is blue + b += (day - night) / 13.0; + rg -= (day - night) / 13.0; + + // Emphase blue a bit in darker places + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025); + + // Artificial light is yellow-ish + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065); + + color.r = rg; + color.g = rg; + color.b = b; + + // Make sides and bottom darker than the top + color = color * color; // SRGB -> Linear + if(gl_Normal.y <= 0.5) + color *= 0.6; + //color *= 0.7; + color = sqrt(color); // Linear -> SRGB + + color.a = gl_Color.a; + + gl_FrontColor = gl_BackColor = color; + + gl_TexCoord[0] = gl_MultiTexCoord0; +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/base.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/base.txt new file mode 100644 index 0000000..1c26471 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/base.txt @@ -0,0 +1 @@ +trans_alphach diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/opengl_fragment.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/opengl_fragment.glsl new file mode 100644 index 0000000..38bc943 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/opengl_fragment.glsl @@ -0,0 +1,23 @@ + +uniform sampler2D myTexture; +uniform float fogDistance; + +varying vec3 vPosition; + +void main (void) +{ + vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0])); + col *= gl_Color; + float a = gl_Color.a; + col = col * col; // SRGB -> Linear + col *= 1.8; + col.r = 1.0 - exp(1.0 - col.r) / exp(1.0); + col.g = 1.0 - exp(1.0 - col.g) / exp(1.0); + col.b = 1.0 - exp(1.0 - col.b) / exp(1.0); + col = sqrt(col); // Linear -> SRGB + if(fogDistance != 0.0){ + float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0)); + a = mix(a, 0.0, d); + } + gl_FragColor = vec4(col.r, col.g, col.b, a); +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/opengl_vertex.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/opengl_vertex.glsl new file mode 100644 index 0000000..2881bad --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_2/opengl_vertex.glsl @@ -0,0 +1,51 @@ + +uniform mat4 mWorldViewProj; +uniform mat4 mInvWorld; +uniform mat4 mTransWorld; +uniform float dayNightRatio; + +varying vec3 vPosition; + +void main(void) +{ + gl_Position = mWorldViewProj * gl_Vertex; + + vPosition = (mWorldViewProj * gl_Vertex).xyz; + + vec4 color; + //color = vec4(1.0, 1.0, 1.0, 1.0); + + float day = gl_Color.r; + float night = gl_Color.g; + float light_source = gl_Color.b; + + /*color.r = mix(night, day, dayNightRatio); + color.g = color.r; + color.b = color.r;*/ + + float rg = mix(night, day, dayNightRatio); + rg += light_source * 1.0; // Make light sources brighter + float b = rg; + + // Moonlight is blue + b += (day - night) / 13.0; + rg -= (day - night) / 13.0; + + // Emphase blue a bit in darker places + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025); + + // Artificial light is yellow-ish + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065); + + color.r = rg; + color.g = rg; + color.b = b; + + color.a = gl_Color.a; + + gl_FrontColor = gl_BackColor = color; + + gl_TexCoord[0] = gl_MultiTexCoord0; +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/base.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/base.txt new file mode 100644 index 0000000..1c26471 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/base.txt @@ -0,0 +1 @@ +trans_alphach diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/opengl_fragment.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/opengl_fragment.glsl new file mode 100644 index 0000000..535774c --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/opengl_fragment.glsl @@ -0,0 +1,25 @@ + +uniform sampler2D myTexture; +uniform float fogDistance; + +varying vec3 vPosition; + +void main (void) +{ + vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0])); + col *= gl_Color; + float a = col.a; + col = col * col; // SRGB -> Linear + col *= 1.8; + col.r = 1.0 - exp(1.0 - col.r) / exp(1.0); + col.g = 1.0 - exp(1.0 - col.g) / exp(1.0); + col.b = 1.0 - exp(1.0 - col.b) / exp(1.0); + col = sqrt(col); // Linear -> SRGB + + if(fogDistance != 0.0){ + float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0)); + a = mix(a, 0.0, d); + } + + gl_FragColor = vec4(col.r, col.g, col.b, a); +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/opengl_vertex.glsl b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/opengl_vertex.glsl new file mode 100644 index 0000000..2881bad --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/client/shaders/test_shader_3/opengl_vertex.glsl @@ -0,0 +1,51 @@ + +uniform mat4 mWorldViewProj; +uniform mat4 mInvWorld; +uniform mat4 mTransWorld; +uniform float dayNightRatio; + +varying vec3 vPosition; + +void main(void) +{ + gl_Position = mWorldViewProj * gl_Vertex; + + vPosition = (mWorldViewProj * gl_Vertex).xyz; + + vec4 color; + //color = vec4(1.0, 1.0, 1.0, 1.0); + + float day = gl_Color.r; + float night = gl_Color.g; + float light_source = gl_Color.b; + + /*color.r = mix(night, day, dayNightRatio); + color.g = color.r; + color.b = color.r;*/ + + float rg = mix(night, day, dayNightRatio); + rg += light_source * 1.0; // Make light sources brighter + float b = rg; + + // Moonlight is blue + b += (day - night) / 13.0; + rg -= (day - night) / 13.0; + + // Emphase blue a bit in darker places + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025); + + // Artificial light is yellow-ish + // See C++ implementation in mapblock_mesh.cpp finalColorBlend() + rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065); + + color.r = rg; + color.g = rg; + color.b = b; + + color.a = gl_Color.a; + + gl_FrontColor = gl_BackColor = color; + + gl_TexCoord[0] = gl_MultiTexCoord0; +} diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/doc/minetest/README.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/doc/minetest/README.txt new file mode 100644 index 0000000..eb5dee1 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/doc/minetest/README.txt @@ -0,0 +1,412 @@ +Minetest +============ + +An InfiniMiner/Minecraft inspired game. + +Copyright (c) 2010-2013 Perttu Ahola +and contributors (see source file comments and the version control log) + +In case you downloaded the source code: +--------------------------------------- +If you downloaded the Minetest Engine source code in which this file is +contained, you probably want to download the minetest_game project too: + https://github.com/minetest/minetest_game/ +See the README.txt in it. + +Further documentation +---------------------- +- Website: http://minetest.net/ +- Wiki: http://wiki.minetest.net/ +- Developer wiki: http://dev.minetest.net/ +- Forum: http://forum.minetest.net/ +- Github: https://github.com/minetest/minetest/ +- doc/ directory of source distribution + +This game is not finished +-------------------------- +- Don't expect it to work as well as a finished game will. +- Please report any bugs. When doing that, debug.txt is useful. + +Default Controls +----------------- +- WASD: move +- Space: jump/climb +- Shift: sneak/go down +- Q: drop item +- I: inventory +- Mouse: turn/look +- Mouse left: dig/punch +- Mouse right: place/use +- Mouse wheel: select item +- Esc: pause menu +- T: chat +- Settable in the configuration file, see the section below. + +Paths +------ +$bin - Compiled binaries +$share - Distributed read-only data +$user - User-created modifiable data + +Windows .zip / RUN_IN_PLACE source: +$bin = bin +$share = . +$user = . + +Linux installed: +$bin = /usr/bin +$share = /usr/share/minetest +$user = ~/.minetest + +OS X: +$bin = ? +$share = ? +$user = ~/Library/Application Support/minetest + +World directory +---------------- +- Worlds can be found as separate folders in: + $user/worlds/ + +Configuration file: +------------------- +- Default location: + $user/minetest.conf +- It is created by Minetest when it is ran the first time. +- A specific file can be specified on the command line: + --config + +Command-line options: +--------------------- +- Use --help + +Compiling on GNU/Linux: +----------------------- + +Install dependencies. Here's an example for Debian/Ubuntu: +$ apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev + +Download source, extract (this is the URL to the latest of source repository, which might not work at all times): +$ wget https://github.com/minetest/minetest/tarball/master -O master.tar.gz +$ tar xf master.tar.gz +$ cd minetest-minetest-286edd4 (or similar) + +Download minetest_game (otherwise only the "Minimal development test" game is available) +$ cd games/ +$ wget https://github.com/minetest/minetest_game/tarball/master -O minetest_game.tar.gz +$ tar xf minetest_game.tar.gz +$ mv minetest-minetest_game-* minetest_game +$ cd .. + +Build a version that runs directly from the source directory: +$ cmake . -DRUN_IN_PLACE=1 +$ make -j2 + +Run it: +$ cd bin +$ ./minetest + +- Use cmake . -LH to see all CMake options and their current state +- If you want to install it system-wide (or are making a distribution package), you will want to use -DRUN_IN_PLACE=0 +- You can build a bare server or a bare client by specifying -DBUILD_CLIENT=0 or -DBUILD_SERVER=0 +- You can select between Release and Debug build by -DCMAKE_BUILD_TYPE= + - Debug build is slower, but gives much more useful output in a debugger +- If you build a bare server, you don't need to have Irrlicht installed. In that case use -DIRRLICHT_SOURCE_DIR=/the/irrlicht/source + +Compiling on Windows: +--------------------- +- This section is outdated. In addition to what is described here: + - In addition to minetest, you need to download minetest_game. + - If you wish to have sound support, you need libogg, libvorbis and libopenal + +- You need: + * CMake: + http://www.cmake.org/cmake/resources/software.html + * MinGW or Visual Studio + http://www.mingw.org/ + http://msdn.microsoft.com/en-us/vstudio/default + * Irrlicht SDK 1.7: + http://irrlicht.sourceforge.net/downloads.html + * Zlib headers (zlib125.zip) + http://www.winimage.com/zLibDll/index.html + * Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip): + http://www.winimage.com/zLibDll/index.html + * Optional: gettext library and tools: + http://gnuwin32.sourceforge.net/downlinks/gettext.php + - This is used for other UI languages. Feel free to leave it out. + * And, of course, Minetest: + http://minetest.net/download.php +- Steps: + - Select a directory called DIR hereafter in which you will operate. + - Make sure you have CMake and a compiler installed. + - Download all the other stuff to DIR and extract them into there. + ("extract here", not "extract to packagename/") + NOTE: zlib125dll.zip needs to be extracted into zlib125dll + - All those packages contain a nice base directory in them, which + should end up being the direct subdirectories of DIR. + - You will end up with a directory structure like this (+=dir, -=file): + ----------------- + + DIR + - zlib-1.2.5.tar.gz + - zlib125dll.zip + - irrlicht-1.7.1.zip + - 110214175330.zip (or whatever, this is the minetest source) + + zlib-1.2.5 + - zlib.h + + win32 + ... + + zlib125dll + - readme.txt + + dll32 + ... + + irrlicht-1.7.1 + + lib + + include + ... + + gettext (optional) + +bin + +include + +lib + + minetest + + src + + doc + - CMakeLists.txt + ... + ----------------- + - Start up the CMake GUI + - Select "Browse Source..." and select DIR/minetest + - Now, if using MSVC: + - Select "Browse Build..." and select DIR/minetest-build + - Else if using MinGW: + - Select "Browse Build..." and select DIR/minetest + - Select "Configure" + - Select your compiler + - It will warn about missing stuff, ignore that at this point. (later don't) + - Make sure the configuration is as follows + (note that the versions may differ for you): + ----------------- + BUILD_CLIENT [X] + BUILD_SERVER [ ] + CMAKE_BUILD_TYPE Release + CMAKE_INSTALL_PREFIX DIR/minetest-install + IRRLICHT_SOURCE_DIR DIR/irrlicht-1.7.1 + RUN_IN_PLACE [X] + WARN_ALL [ ] + ZLIB_DLL DIR/zlib125dll/dll32/zlibwapi.dll + ZLIB_INCLUDE_DIR DIR/zlib-1.2.5 + ZLIB_LIBRARIES DIR/zlib125dll/dll32/zlibwapi.lib + GETTEXT_BIN_DIR DIR/gettext/bin + GETTEXT_INCLUDE_DIR DIR/gettext/include + GETTEXT_LIBRARIES DIR/gettext/lib/intl.lib + GETTEXT_MSGFMT DIR/gettext/bin/msgfmt + ----------------- + - Hit "Configure" + - Hit "Configure" once again 8) + - If something is still coloured red, you have a problem. + - Hit "Generate" + If using MSVC: + - Open the generated minetest.sln + - The project defaults to the "Debug" configuration. Make very sure to + select "Release", unless you want to debug some stuff (it's slower + and might not even work at all) + - Build the ALL_BUILD project + - Build the INSTALL project + - You should now have a working game with the executable in + DIR/minetest-install/bin/minetest.exe + - Additionally you may create a zip package by building the PACKAGE + project. + If using MinGW: + - Using the command line, browse to the build directory and run 'make' + (or mingw32-make or whatever it happens to be) + - You may need to copy some of the downloaded DLLs into bin/, see what + running the produced executable tells you it doesn't have. + - You should now have a working game with the executable in + DIR/minetest/bin/minetest.exe + +Windows releases of minetest are built using a bat script like this: +-------------------------------------------------------------------- + +set sourcedir=%CD% +set installpath="C:\tmp\minetest_install" +set irrlichtpath="C:\tmp\irrlicht-1.7.2" + +set builddir=%sourcedir%\bvc10 +mkdir %builddir% +pushd %builddir% +cmake %sourcedir% -G "Visual Studio 10" -DIRRLICHT_SOURCE_DIR=%irrlichtpath% -DRUN_IN_PLACE=1 -DCMAKE_INSTALL_PREFIX=%installpath% +if %errorlevel% neq 0 goto fail +"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Release +if %errorlevel% neq 0 goto fail +"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" INSTALL.vcxproj /p:Configuration=Release +if %errorlevel% neq 0 goto fail +"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" PACKAGE.vcxproj /p:Configuration=Release +if %errorlevel% neq 0 goto fail +popd +echo Finished. +exit /b 0 + +:fail +popd +echo Failed. +exit /b 1 + +License of Minetest textures and sounds +--------------------------------------- + +This applies to textures and sounds contained in the main Minetest +distribution. + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + +BlockMen: + textures/base/pack/menuheader.png + +erlehmann: + misc/minetest-icon-24x24.png + misc/minetest-icon.ico + misc/minetest-icon.svg + textures/base/pack/logo.png + +License of Minetest source code +------------------------------- + +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Irrlicht +--------------- + +This program uses the Irrlicht Engine. http://irrlicht.sourceforge.net/ + + The Irrlicht Engine License + +Copyright © 2002-2005 Nikolaus Gebhardt + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute +it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you use + this software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + 3. This notice may not be removed or altered from any source + distribution. + + +JThread +--------------- + +This program uses the JThread library. License for JThread follows: + +Copyright (c) 2000-2006 Jori Liesenborgs (jori.liesenborgs@gmail.com) + +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. + +Lua +--------------- + +Lua is licensed under the terms of the MIT license reproduced below. +This means that Lua is free software and can be used for both academic +and commercial purposes at absolutely no cost. + +For details and rationale, see http://www.lua.org/license.html . + +Copyright (C) 1994-2008 Lua.org, PUC-Rio. + +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. + +Fonts +--------------- + +DejaVu Sans Mono: + + Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. + Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) + +Bitstream Vera Fonts Copyright: + + Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is + a trademark of Bitstream, Inc. + +Arev Fonts Copyright: + + Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. + +Liberation Fonts Copyright: + + Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc. + +DroidSansFallback: + + Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/doc/minetest/lua_api.txt b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/doc/minetest/lua_api.txt new file mode 100644 index 0000000..d0090a8 --- /dev/null +++ b/_CPack_Packages/Darwin/Bundle/minetest-0.4.8-dev-osx/minetest.app/Contents/Resources/doc/minetest/lua_api.txt @@ -0,0 +1,2397 @@ +Minetest Lua Modding API Reference 0.4.8 +======================================== +More information at http://www.minetest.net/ +Developer Wiki: http://dev.minetest.net/ + +Introduction +------------- +Content and functionality can be added to Minetest 0.4 by using Lua +scripting in run-time loaded mods. + +A mod is a self-contained bunch of scripts, textures and other related +things that is loaded by and interfaces with Minetest. + +Mods are contained and ran solely on the server side. Definitions and media +files are automatically transferred to the client. + +If you see a deficiency in the API, feel free to attempt to add the +functionality in the engine and API. You can send such improvements as +source code patches to . + +Programming in Lua +------------------- +If you have any difficulty in understanding this, please read: + http://www.lua.org/pil/ + +Startup +-------- +Mods are loaded during server startup from the mod load paths by running +the init.lua scripts in a shared environment. + +Paths +----- +RUN_IN_PLACE=1: (Windows release, local build) + $path_user: Linux: + Windows: + $path_share: Linux: + Windows: + +RUN_IN_PLACE=0: (Linux release) + $path_share: Linux: /usr/share/minetest + Windows: /minetest-0.4.x + $path_user: Linux: ~/.minetest + Windows: C:/users//AppData/minetest (maybe) + +Games +----- +Games are looked up from: + $path_share/games/gameid/ + $path_user/games/gameid/ +where gameid is unique to each game. + +The game directory contains the file game.conf, which contains these fields: + name = +eg. + name = Minetest + +The game directory can contain the file minetest.conf, which will be used +to set default settings when running the particular game. + +Mod load path +------------- +Generic: + $path_share/games/gameid/mods/ + $path_share/mods/ + $path_user/games/gameid/mods/ + $path_user/mods/ <-- User-installed mods + $worldpath/worldmods/ + +In a run-in-place version (eg. the distributed windows version): + minetest-0.4.x/games/gameid/mods/ + minetest-0.4.x/mods/gameid/ <-- User-installed mods + minetest-0.4.x/worlds/worldname/worldmods/ + +On an installed version on linux: + /usr/share/minetest/games/gameid/mods/ + ~/.minetest/mods/gameid/ <-- User-installed mods + ~/.minetest/worlds/worldname/worldmods + +Mod load path for world-specific games +-------------------------------------- +It is possible to include a game in a world; in this case, no mods or +games are loaded or checked from anywhere else. + +This is useful for eg. adventure worlds. + +This happens if the following directory exists: + $world/game/ + +Mods should be then be placed in: + $world/game/mods/ + +Modpack support +---------------- +Mods can be put in a subdirectory, if the parent directory, which otherwise +should be a mod, contains a file named modpack.txt. This file shall be +empty, except for lines starting with #, which are comments. + +Mod directory structure +------------------------ +mods +|-- modname +| |-- depends.txt +| |-- screenshot.png +| |-- description.txt +| |-- init.lua +| |-- textures +| | |-- modname_stuff.png +| | `-- modname_something_else.png +| |-- sounds +| |-- media +| `-- +`-- another + +modname: + The location of this directory can be fetched by using + minetest.get_modpath(modname) + +depends.txt: + List of mods that have to be loaded before loading this mod. + A single line contains a single modname. + + Optional dependencies can be defined by appending a question mark + to a single modname. Their meaning is that if the specified mod + is missing, that does not prevent this mod from being loaded. + +screenshot.png: + A screenshot shown in modmanager within mainmenu. + +description.txt: + File containing desctiption to be shown within mainmenu. + +optdepends.txt: + An alternative way of specifying optional dependencies. + Like depends.txt, a single line contains a single modname. + + NOTE: This file exists for compatibility purposes only and + support for it will be removed from the engine by the end of 2013. + +init.lua: + The main Lua script. Running this script should register everything it + wants to register. Subsequent execution depends on minetest calling the + registered callbacks. + + minetest.setting_get(name) and minetest.setting_getbool(name) can be used + to read custom or existing settings at load time, if necessary. + +textures, sounds, media: + Media files (textures, sounds, whatever) that will be transferred to the + client and will be available for use by the mod. + +Naming convention for registered textual names +---------------------------------------------- +Registered names should generally be in this format: + "modname:" ( can have characters a-zA-Z0-9_) + +This is to prevent conflicting names from corrupting maps and is +enforced by the mod loader. + +Example: mod "experimental", ideal item/node/entity name "tnt": + -> the name should be "experimental:tnt". + +Enforcement can be overridden by prefixing the name with ":". This can +be used for overriding the registrations of some other mod. + +Example: Any mod can redefine experimental:tnt by using the name + ":experimental:tnt" when registering it. +(also that mod is required to have "experimental" as a dependency) + +The ":" prefix can also be used for maintaining backwards compatibility. + +Aliases +------- +Aliases can be added by using minetest.register_alias(name, convert_to) + +This will make Minetest to convert things called name to things called +convert_to. + +This can be used for maintaining backwards compatibility. + +This can be also used for setting quick access names for things, eg. if +you have an item called epiclylongmodname:stuff, you could do + minetest.register_alias("stuff", "epiclylongmodname:stuff") +and be able to use "/giveme stuff". + +Textures +-------- +Mods should generally prefix their textures with modname_, eg. given +the mod name "foomod", a texture could be called + "foomod_foothing.png" + +Textures are referred to by their complete name, or alternatively by +stripping out the file extension: + eg. foomod_foothing.png + eg. foomod_foothing + +Sounds +------- +Only OGG files are supported. + +For positional playing of sounds, only single-channel (mono) files are +supported. Otherwise OpenAL will play them non-positionally. + +Mods should generally prefix their sounds with modname_, eg. given +the mod name "foomod", a sound could be called + "foomod_foosound.ogg" + +Sounds are referred to by their name with a dot, a single digit and the +file extension stripped out. When a sound is played, the actual sound file +is chosen randomly from the matching sounds. + +When playing the sound "foomod_foosound", the sound is chosen randomly +from the available ones of the following files: + foomod_foosound.ogg + foomod_foosound.0.ogg + foomod_foosound.1.ogg + ... + foomod_foosound.9.ogg + +Examples of sound parameter tables: +-- Play locationless on all clients +{ + gain = 1.0, -- default +} +-- Play locationless to a player +{ + to_player = name, + gain = 1.0, -- default +} +-- Play in a location +{ + pos = {x=1,y=2,z=3}, + gain = 1.0, -- default + max_hear_distance = 32, -- default +} +-- Play connected to an object, looped +{ + object = , + gain = 1.0, -- default + max_hear_distance = 32, -- default + loop = true, -- only sounds connected to objects can be looped +} + +SimpleSoundSpec: +eg. "" +eg. "default_place_node" +eg. {} +eg. {name="default_place_node"} +eg. {name="default_place_node", gain=1.0} + +Registered definitions of stuff +-------------------------------- +Anything added using certain minetest.register_* functions get added to +the global minetest.registered_* tables. + +minetest.register_entity(name, prototype table) + -> minetest.registered_entities[name] + +minetest.register_node(name, node definition) + -> minetest.registered_items[name] + -> minetest.registered_nodes[name] + +minetest.register_tool(name, item definition) + -> minetest.registered_items[name] + +minetest.register_craftitem(name, item definition) + -> minetest.registered_items[name] + +Note that in some cases you will stumble upon things that are not contained +in these tables (eg. when a mod has been removed). Always check for +existence before trying to access the fields. + +Example: If you want to check the drawtype of a node, you could do: + +local function get_nodedef_field(nodename, fieldname) + if not minetest.registered_nodes[nodename] then + return nil + end + return minetest.registered_nodes[nodename][fieldname] +end +local drawtype = get_nodedef_field(nodename, "drawtype") + +Example: minetest.get_item_group(name, group) has been implemented as: + +function minetest.get_item_group(name, group) + if not minetest.registered_items[name] or not + minetest.registered_items[name].groups[group] then + return 0 + end + return minetest.registered_items[name].groups[group] +end + +Nodes +------ +Nodes are the bulk data of the world: cubes and other things that take the +space of a cube. Huge amounts of them are handled efficiently, but they +are quite static. + +The definition of a node is stored and can be accessed by name in + minetest.registered_nodes[node.name] +See "Registered definitions of stuff". + +Nodes are passed by value between Lua and the engine. +They are represented by a table: + {name="name", param1=num, param2=num} + +param1 and param2 are 8 bit integers. The engine uses them for certain +automated functions. If you don't use these functions, you can use them to +store arbitrary values. + +The functions of param1 and param2 are determined by certain fields in the +node definition: +param1 is reserved for the engine when paramtype != "none": + paramtype = "light" + ^ The value stores light with and without sun in it's + upper and lower 4 bits. +param2 is reserved for the engine when any of these are used: + liquidtype == "flowing" + ^ The level and some flags of the liquid is stored in param2 + drawtype == "flowingliquid" + ^ The drawn liquid level is read from param2 + drawtype == "torchlike" + drawtype == "signlike" + paramtype2 == "wallmounted" + ^ The rotation of the node is stored in param2. You can make this value + by using minetest.dir_to_wallmounted(). + paramtype2 == "facedir" + ^ The rotation of the node is stored in param2. Furnaces and chests are + rotated this way. Can be made by using minetest.dir_to_facedir(). + Values range 0 - 23 + facedir modulo 4 = axisdir + 0 = y+ 1 = z+ 2 = z- 3 = x+ 4 = x- 5 = y- + facedir's two less significant bits are rotation around the axis + paramtype2 == "leveled" + ^ The drawn node level is read from param2, like flowingliquid + +Nodes can also contain extra data. See "Node Metadata". + +Node drawtypes +--------------- +There are a bunch of different looking node types. These are mostly just +copied from Minetest 0.3; more may be made in the future. + +Look for examples in games/minimal or games/minetest_game. + +- normal +- airlike +- liquid +- flowingliquid +- glasslike +- glasslike_framed +- allfaces +- allfaces_optional +- torchlike +- signlike +- plantlike +- fencelike +- raillike +- nodebox -- See below. EXPERIMENTAL + +Node boxes +----------- +Node selection boxes are defined using "node boxes" + +The "nodebox" node drawtype allows defining visual of nodes consisting of +arbitrary number of boxes. It allows defining stuff like stairs. Only the +"fixed" and "leveled" box type is supported for these. +^ Please note that this is still experimental, and may be incompatibly + changed in the future. + +A nodebox is defined as any of: +{ + -- A normal cube; the default in most things + type = "regular" +} +{ + -- A fixed box (facedir param2 is used, if applicable) + type = "fixed", + fixed = box OR {box1, box2, ...} +} +{ + -- A box like the selection box for torches + -- (wallmounted param2 is used, if applicable) + type = "wallmounted", + wall_top = box, + wall_bottom = box, + wall_side = box +} + +A box is defined as: + {x1, y1, z1, x2, y2, z2} +A box of a regular node would look like: + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + +type = "leveled" is same as "fixed", but y2 will be automaticaly setted to level from param2 + +Ore types +--------------- +These tell in what manner the ore is generated. +All default ores are of the uniformly-distributed scatter type. + +- scatter + Randomly chooses a location and generates a cluster of ore. + If noise_params is specified, the ore will be placed if the 3d perlin noise at + that point is greater than the noise_threshhold, giving the ability to create a non-equal + distribution of ore. +- sheet + Creates a sheet of ore in a blob shape according to the 2d perlin noise described by noise_params. + The relative height of the sheet can be controlled by the same perlin noise as well, by specifying + a non-zero 'scale' parameter in noise_params. IMPORTANT: The noise is not transformed by offset or + scale when comparing against the noise threshhold, but scale is used to determine relative height. + The height of the blob is randomly scattered, with a maximum height of clust_size. + clust_scarcity and clust_num_ores are ignored. + This is essentially an improved version of the so-called "stratus" ore seen in some unofficial mods. +- claylike - NOT YET IMPLEMENTED + Places ore if there are no more than clust_scarcity number of specified nodes within a Von Neumann + neighborhood of clust_size radius. + +Ore attributes +------------------- +Currently supported flags: absheight + - absheight + Also produce this same ore between the height range of -height_max and -height_min. + Useful for having ore in sky realms without having to duplicate ore entries. + +Decoration types +------------------- +The varying types of decorations that can be placed. +The default value is simple, and is currently the only type supported. + +- simple + Creates a 1xHx1 column of a specified node (or a random node from a list, if a decoration + list is specified). Can specify a certain node it must spawn next to, such as water or lava, + for example. Can also generate a decoration of random height between a specified lower and + upper bound. This type of decoration is intended for placement of grass, flowers, cacti, + papyrus, and so on. +- schematic + Copies a box of MapNodes from a specified schematic file (or raw description). Can specify a + probability of a node randomly appearing when placed. This decoration type is intended to be used + for multi-node sized discrete structures, such as trees, cave spikes, rocks, and so on. + +Schematic specifier +-------------------- + A schematic specifier identifies a schematic by either a filename to a Minetest Schematic file (.mts) +or through raw data supplied through Lua, in the form of a table. This table must specify two fields: + - The 'size' field is a 3d vector containing the dimensions of the provided schematic. + - The 'data' field is a flat table of MapNodes making up the schematic, in the order of [z [y [x]]]. +Important: The default value for param1 in MapNodes here is 255, which represents "always place". + +In the bulk MapNode data, param1, instead of the typical light values, instead represents the +probability of that node appearing in the structure. +When passed to minetest.create_schematic, probability is an integer value ranging from 0 to 255: + - A probability value of 0 means that node will never appear (0% chance). + - A probability value of 255 means the node will always appear (100% chance). + - If the probability value p is greater than 0, then there is a (p / 256 * 100)% chance that node + will appear when the schematic is placed on the map. + +Important note: Node aliases cannot be used for a raw schematic provided when registering as a decoration. + +Schematic attributes +--------------------- +Currently supported flags: place_center_x, place_center_y, place_center_z + - place_center_x + Placement of this decoration is centered along the X axis. + - place_center_y + Placement of this decoration is centered along the Y axis. + - place_center_z + Placement of this decoration is centered along the Z axis. + +HUD element types +------------------- +The position field is used for all element types. +To account for differing resolutions, the position coordinates are the percentage of the screen, +ranging in value from 0 to 1. +The name field is not yet used, but should contain a description of what the HUD element represents. +The direction field is the direction in which something is drawn. +0 draws from left to right, 1 draws from right to left, 2 draws from top to bottom, and 3 draws from bottom to top. +The alignment field specifies how the item will be aligned. It ranges from -1 to 1, +with 0 being the center, -1 is moved to the left/up, and 1 is to the right/down. Fractional +values can be used. +The offset field specifies a pixel offset from the position. Contrary to position, +the offset is not scaled to screen size. This allows for some precisely-positioned +items in the HUD. +Below are the specific uses for fields in each type; fields not listed for that type are ignored. + +Note: Future revisions to the HUD API may be incompatible; the HUD API is still in the experimental stages. + +- image + Displays an image on the HUD. + - scale: The scale of the image, with 1 being the original texture size. + Only the X coordinate scale is used (positive values) + Negative values represent that percentage of the screen it + should take; e.g. x=-100 means 100% (width) + - text: The name of the texture that is displayed. + - alignment: The alignment of the image. + - offset: offset in pixels from position. +- text + Displays text on the HUD. + - scale: Defines the bounding rectangle of the text. + A value such as {x=100, y=100} should work. + - text: The text to be displayed in the HUD element. + - number: An integer containing the RGB value of the color used to draw the text. + Specify 0xFFFFFF for white text, 0xFF0000 for red, and so on. + - alignment: The alignment of the text. + - offset: offset in pixels from position. +- statbar + Displays a horizontal bar made up of half-images. + - text: The name of the texture that is used. + - number: The number of half-textures that are displayed. + If odd, will end with a vertically center-split texture. + - direction + - offset: offset in pixels from position. +- inventory + - text: The name of the inventory list to be displayed. + - number: Number of items in the inventory to be displayed. + - item: Position of item that is selected. + - direction + +Representations of simple things +-------------------------------- +Position/vector: + {x=num, y=num, z=num} +For helper functions see "Vector helpers". + +pointed_thing: + {type="nothing"} + {type="node", under=pos, above=pos} + {type="object", ref=ObjectRef} + +Items +------ +Node (register_node): + A node from the world +Tool (register_tool): + A tool/weapon that can dig and damage things according to tool_capabilities +Craftitem (register_craftitem): + A miscellaneous item + +Items and item stacks can exist in three formats: + +Serialized; This is called stackstring or itemstring: +eg. 'default:dirt 5' +eg. 'default:pick_wood 21323' +eg. 'default:apple' + +Table format: +eg. {name="default:dirt", count=5, wear=0, metadata=""} + ^ 5 dirt nodes +eg. {name="default:pick_wood", count=1, wear=21323, metadata=""} + ^ a wooden pick about 1/3 weared out +eg. {name="default:apple", count=1, wear=0, metadata=""} + ^ an apple. + +ItemStack: +C++ native format with many helper methods. Useful for converting between +formats. See the Class reference section for details. + +When an item must be passed to a function, it can usually be in any of +these formats. + +Groups +------- +In a number of places, there is a group table. Groups define the +properties of a thing (item, node, armor of entity, capabilities of +tool) in such a way that the engine and other mods can can interact with +the thing without actually knowing what the thing is. + +Usage: +- Groups are stored in a table, having the group names with keys and the + group ratings as values. For example: + groups = {crumbly=3, soil=1} + ^ Default dirt + groups = {crumbly=2, soil=1, level=2, outerspace=1} + ^ A more special dirt-kind of thing +- Groups always have a rating associated with them. If there is no + useful meaning for a rating for an enabled group, it shall be 1. +- When not defined, the rating of a group defaults to 0. Thus when you + read groups, you must interpret nil and 0 as the same value, 0. + +You can read the rating of a group for an item or a node by using + minetest.get_item_group(itemname, groupname) + +Groups of items +---------------- +Groups of items can define what kind of an item it is (eg. wool). + +Groups of nodes +---------------- +In addition to the general item things, groups are used to define whether +a node is destroyable and how long it takes to destroy by a tool. + +Groups of entities +------------------- +For entities, groups are, as of now, used only for calculating damage. +The rating is the percentage of damage caused by tools with this damage group. +See "Entity damage mechanism". + +object.get_armor_groups() -> a group-rating table (eg. {fleshy=100}) +object.set_armor_groups({fleshy=30, cracky=80}) + +Groups of tools +---------------- +Groups in tools define which groups of nodes and entities they are +effective towards. + +Groups in crafting recipes +--------------------------- +An example: Make meat soup from any meat, any water and any bowl +{ + output = 'food:meat_soup_raw', + recipe = { + {'group:meat'}, + {'group:water'}, + {'group:bowl'}, + }, + -- preserve = {'group:bowl'}, -- Not implemented yet (TODO) +} +An another example: Make red wool from white wool and red dye +{ + type = 'shapeless', + output = 'wool:red', + recipe = {'wool:white', 'group:dye,basecolor_red'}, +} + +Special groups +--------------- +- immortal: Disables the group damage system for an entity +- level: Can be used to give an additional sense of progression in the game. + - A larger level will cause eg. a weapon of a lower level make much less + damage, and get weared out much faster, or not be able to get drops + from destroyed nodes. + - 0 is something that is directly accessible at the start of gameplay + - There is no upper limit +- dig_immediate: (player can always pick up node without tool wear) + - 2: node is removed without tool wear after 0.5 seconds or so + (rail, sign) + - 3: node is removed without tool wear immediately (torch) +- disable_jump: Player (and possibly other things) cannot jump from node +- fall_damage_add_percent: damage speed = speed * (1 + value/100) +- bouncy: value is bounce speed in percent +- falling_node: if there is no walkable block under the node it will fall +- attached_node: if the node under it is not a walkable block the node will be + dropped as an item. If the node is wallmounted the + wallmounted direction is checked. +- soil: saplings will grow on nodes in this group +- connect_to_raillike: makes nodes of raillike drawtype connect to + other group members with same drawtype + +Known damage and digging time defining groups +---------------------------------------------- +- crumbly: dirt, sand +- cracky: tough but crackable stuff like stone. +- snappy: something that can be cut using fine tools; eg. leaves, small + plants, wire, sheets of metal +- choppy: something that can be cut using force; eg. trees, wooden planks +- fleshy: Living things like animals and the player. This could imply + some blood effects when hitting. +- explody: Especially prone to explosions +- oddly_breakable_by_hand: + Can be added to nodes that shouldn't logically be breakable by the + hand but are. Somewhat similar to dig_immediate, but times are more + like {[1]=3.50,[2]=2.00,[3]=0.70} and this does not override the + speed of a tool if the tool can dig at a faster speed than this + suggests for the hand. + +Examples of custom groups +-------------------------- +Item groups are often used for defining, well, //groups of items//. +- meat: any meat-kind of a thing (rating might define the size or healing + ability or be irrelevant - it is not defined as of yet) +- eatable: anything that can be eaten. Rating might define HP gain in half + hearts. +- flammable: can be set on fire. Rating might define the intensity of the + fire, affecting eg. the speed of the spreading of an open fire. +- wool: any wool (any origin, any color) +- metal: any metal +- weapon: any weapon +- heavy: anything considerably heavy + +Digging time calculation specifics +----------------------------------- +Groups such as **crumbly**, **cracky** and **snappy** are used for this +purpose. Rating is 1, 2 or 3. A higher rating for such a group implies +faster digging time. + +The **level** group is used to limit the toughness of nodes a tool can dig +and to scale the digging times / damage to a greater extent. + +^ PLEASE DO UNDERSTAND THIS, otherwise you cannot use the system to it's + full potential. + +Tools define their properties by a list of parameters for groups. They +cannot dig other groups; thus it is important to use a standard bunch of +groups to enable interaction with tools. + +**Tools define:** + * Full punch interval + * Maximum drop level + * For an arbitrary list of groups: + * Uses (until the tool breaks) + * Maximum level (usually 0, 1, 2 or 3) + * Digging times + * Damage groups + +**Full punch interval**: +When used as a weapon, the tool will do full damage if this time is spent +between punches. If eg. half the time is spent, the tool will do half +damage. + +**Maximum drop level** +Suggests the maximum level of node, when dug with the tool, that will drop +it's useful item. (eg. iron ore to drop a lump of iron). +- This is not automated; it is the responsibility of the node definition + to implement this + +**Uses** +Determines how many uses the tool has when it is used for digging a node, +of this group, of the maximum level. For lower leveled nodes, the use count +is multiplied by 3^leveldiff. +- uses=10, leveldiff=0 -> actual uses: 10 +- uses=10, leveldiff=1 -> actual uses: 30 +- uses=10, leveldiff=2 -> actual uses: 90 + +**Maximum level** +Tells what is the maximum level of a node of this group that the tool will +be able to dig. + +**Digging times** +List of digging times for different ratings of the group, for nodes of the +maximum level. + * For example, as a lua table, ''times={2=2.00, 3=0.70}''. This would + result in the tool to be able to dig nodes that have a rating of 2 or 3 + for this group, and unable to dig the rating 1, which is the toughest. + Unless there is a matching group that enables digging otherwise. + +**Damage groups** +List of damage for groups of entities. See "Entity damage mechanism". + +Example definition of the capabilities of a tool +------------------------------------------------- +tool_capabilities = { + full_punch_interval=1.5, + max_drop_level=1, + groupcaps={ + crumbly={maxlevel=2, uses=20, times={[1]=1.60, [2]=1.20, [3]=0.80}} + } + damage_groups = {fleshy=2}, +} + +This makes the tool be able to dig nodes that fullfill both of these: +- Have the **crumbly** group +- Have a **level** group less or equal to 2 + +Table of resulting digging times: +crumbly 0 1 2 3 4 <- level + -> 0 - - - - - + 1 0.80 1.60 1.60 - - + 2 0.60 1.20 1.20 - - + 3 0.40 0.80 0.80 - - + +level diff: 2 1 0 -1 -2 + +Table of resulting tool uses: + -> 0 - - - - - + 1 180 60 20 - - + 2 180 60 20 - - + 3 180 60 20 - - + +Notes: +- At crumbly=0, the node is not diggable. +- At crumbly=3, the level difference digging time divider kicks in and makes + easy nodes to be quickly breakable. +- At level > 2, the node is not diggable, because it's level > maxlevel + +Entity damage mechanism +------------------------ +Damage calculation: +damage = 0 +foreach group in cap.damage_groups: + damage += cap.damage_groups[group] * limit(actual_interval / cap.full_punch_interval, 0.0, 1.0) + * (object.armor_groups[group] / 100.0) + -- Where object.armor_groups[group] is 0 for inexisting values +return damage + +Client predicts damage based on damage groups. Because of this, it is able to +give an immediate response when an entity is damaged or dies; the response is +pre-defined somehow (eg. by defining a sprite animation) (not implemented; +TODO). +- Currently a smoke puff will appear when an entity dies. + +The group **immortal** completely disables normal damage. + +Entities can define a special armor group, which is **punch_operable**. This +group disables the regular damage mechanism for players punching it by hand or +a non-tool item, so that it can do something else than take damage. + +On the Lua side, every punch calls ''entity:on_punch(puncher, +time_from_last_punch, tool_capabilities, direction)''. This should never be +called directly, because damage is usually not handled by the entity itself. + * ''puncher'' is the object performing the punch. Can be nil. Should never be + accessed unless absolutely required, to encourage interoperability. + * ''time_from_last_punch'' is time from last punch (by puncher) or nil. + * ''tool_capabilities'' can be nil. + * ''direction'' is a unit vector, pointing from the source of the punch to + the punched object. + +To punch an entity/object in Lua, call ''object:punch(puncher, +time_from_last_punch, tool_capabilities, direction)''. + * Return value is tool wear. + * Parameters are equal to the above callback. + * If ''direction'' is nil and ''puncher'' is not nil, ''direction'' will be + automatically filled in based on the location of ''puncher''. + +Node Metadata +------------- +The instance of a node in the world normally only contains the three values +mentioned in "Nodes". However, it is possible to insert extra data into a +node. It is called "node metadata"; See "NodeMetaRef". + +Metadata contains two things: +- A key-value store +- An inventory + +Some of the values in the key-value store are handled specially: +- formspec: Defines a right-click inventory menu. See "Formspec". +- infotext: Text shown on the screen when the node is pointed at + +Example stuff: + +local meta = minetest.get_meta(pos) +meta:set_string("formspec", + "invsize[8,9;]".. + "list[context;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") +meta:set_string("infotext", "Chest"); +local inv = meta:get_inventory() +inv:set_size("main", 8*4) +print(dump(meta:to_table())) +meta:from_table({ + inventory = { + main = {[1] = "default:dirt", [2] = "", [3] = "", [4] = "", [5] = "", [6] = "", [7] = "", [8] = "", [9] = "", [10] = "", [11] = "", [12] = "", [13] = "", [14] = "default:cobble", [15] = "", [16] = "", [17] = "", [18] = "", [19] = "", [20] = "default:cobble", [21] = "", [22] = "", [23] = "", [24] = "", [25] = "", [26] = "", [27] = "", [28] = "", [29] = "", [30] = "", [31] = "", [32] = ""} + }, + fields = { + formspec = "invsize[8,9;]list[context;main;0,0;8,4;]list[current_player;main;0,5;8,4;]", + infotext = "Chest" + } +}) + +Formspec +-------- +Formspec defines a menu. Currently not much else than inventories are +supported. It is a string, with a somewhat strange format. + +Spaces and newlines can be inserted between the blocks, as is used in the +examples. + +Examples: +- Chest: + invsize[8,9;] + list[context;main;0,0;8,4;] + list[current_player;main;0,5;8,4;] +- Furnace: + invsize[8,9;] + list[context;fuel;2,3;1,1;] + list[context;src;2,1;1,1;] + list[context;dst;5,1;2,2;] + list[current_player;main;0,5;8,4;] +- Minecraft-like player inventory + invsize[8,7.5;] + image[1,0.6;1,2;player.png] + list[current_player;main;0,3.5;8,4;] + list[current_player;craft;3,0;3,3;] + list[current_player;craftpreview;7,1;1,1;] + +Elements: + +size[,] +^ Define the size of the menu in inventory slots +^ deprecated: invsize[,;] + +list[;;,;,;] +list[;;,;,;] +^ Show an inventory list + +listcolors[;] +^ Sets background color of slots in HEX-Color format +^ Sets background color of slots on mouse hovering + +listcolors[;;] +^ Sets background color of slots in HEX-Color format +^ Sets background color of slots on mouse hovering +^ Sets color of slots border + +listcolors[;;;;] +^ Sets background color of slots in HEX-Color format +^ Sets background color of slots on mouse hovering +^ Sets color of slots border +^ Sets background color of tooltips +^ Sets font color of tooltips + +image[,;,;] +^ Show an image +^ Position and size units are inventory slots + +item_image[,;,;] +^ Show an inventory image of registered item/node +^ Position and size units are inventory slots + +bgcolor[;] +^ Sets background color of formspec in HEX-Color format +^ If true the background color is drawn fullscreen (does not effect the size of the formspec) + +background[,;,;] +^ Use a background. Inventory rectangles are not drawn then. +^ Position and size units are inventory slots +^ Example for formspec 8x4 in 16x resolution: image shall be sized 8*16px x 4*16px + +background[,;,;;] +^ Use a background. Inventory rectangles are not drawn then. +^ Position and size units are inventory slots +^ Example for formspec 8x4 in 16x resolution: image shall be sized 8*16px x 4*16px +^ If true the background is clipped to formspec size (x and y are used as offset values, w and h are ignored) + +pwdfield[,;,;;