From b1b82636e9cb1312b781e0c7be6b22298b4d3c13 Mon Sep 17 00:00:00 2001 From: cale Date: Thu, 31 Dec 2015 11:01:14 +0100 Subject: [PATCH] uploaded --- game.conf | 1 + game.conf~ | 1 + mods/central_message/README.md | 53 +++ mods/central_message/depends.txt | 0 mods/central_message/description.txt | 1 + mods/central_message/init.lua | 114 +++++++ mods/classes/LICENSE.txt | 16 + mods/classes/depends.txt | 3 + mods/classes/depends.txt~ | 3 + mods/classes/init.lua | 39 +++ mods/classes/init.lua~ | 39 +++ .../textures/classes_chemical_spear.png | Bin 0 -> 193 bytes mods/classes/textures/classes_hoe.png | Bin 0 -> 212 bytes mods/classes/textures/classes_spear.png | Bin 0 -> 193 bytes mods/decor/depends.txt | 3 + mods/decor/depends.txt~ | 3 + mods/decor/init.lua | 0 mods/decor/init.lua~ | 0 mods/default/LICENSE.txt | 16 + mods/default/craft.lua | 38 +++ mods/default/craft.lua~ | 38 +++ mods/default/craftitems.lua | 30 ++ mods/default/craftitems.lua~ | 30 ++ mods/default/init.lua | 10 + mods/default/init.lua~ | 10 + mods/default/mapgen.lua | 87 +++++ mods/default/mapgen.lua~ | 87 +++++ mods/default/nodes.lua | 319 ++++++++++++++++++ mods/default/nodes.lua~ | 319 ++++++++++++++++++ mods/default/player.lua | 35 ++ mods/default/player.lua~ | 35 ++ mods/default/textures/bubble.png | Bin 0 -> 369 bytes mods/default/textures/crack_anylength.png | Bin 0 -> 450 bytes mods/default/textures/default_alt_dirt.png | Bin 0 -> 229 bytes mods/default/textures/default_axe_stone.png | Bin 0 -> 283 bytes .../default/textures/default_basic_hammer.png | Bin 0 -> 278 bytes mods/default/textures/default_blade.png | Bin 0 -> 225 bytes mods/default/textures/default_coin.png | Bin 0 -> 459 bytes mods/default/textures/default_dirt.png | Bin 0 -> 237 bytes mods/default/textures/default_dry_grass.png | Bin 0 -> 238 bytes mods/default/textures/default_flower_1.png | Bin 0 -> 463 bytes mods/default/textures/default_flower_2.png | Bin 0 -> 461 bytes mods/default/textures/default_glass.png | Bin 0 -> 268 bytes mods/default/textures/default_grass.png | Bin 0 -> 238 bytes mods/default/textures/default_iron_lump.png | Bin 0 -> 282 bytes mods/default/textures/default_knife.png | Bin 0 -> 302 bytes mods/default/textures/default_ladder.png | Bin 0 -> 490 bytes mods/default/textures/default_leaves_1.png | Bin 0 -> 316 bytes .../textures/default_leaves_cutter.png | Bin 0 -> 226 bytes mods/default/textures/default_log.png | Bin 0 -> 274 bytes mods/default/textures/default_plant_grass.png | Bin 0 -> 274 bytes .../default/textures/default_present_side.png | Bin 0 -> 197 bytes mods/default/textures/default_present_top.png | Bin 0 -> 243 bytes mods/default/textures/default_sand.png | Bin 0 -> 226 bytes mods/default/textures/default_stone.png | Bin 0 -> 233 bytes mods/default/textures/default_stone_item.png | Bin 0 -> 239 bytes .../textures/default_stone_with_iron.png | Bin 0 -> 320 bytes mods/default/textures/default_stonebrick.png | Bin 0 -> 537 bytes .../textures/default_stones_on_floor.png | Bin 0 -> 279 bytes mods/default/textures/default_string.png | Bin 0 -> 245 bytes .../textures/default_string_strong.png | Bin 0 -> 245 bytes .../textures/default_treasure_chest.png | Bin 0 -> 495 bytes mods/default/textures/default_water.png | Bin 0 -> 226 bytes mods/default/textures/default_wet_sand.png | Bin 0 -> 226 bytes mods/default/textures/default_wet_stone.png | Bin 0 -> 232 bytes mods/default/textures/default_wood.png | Bin 0 -> 370 bytes mods/default/textures/default_xp.png | Bin 0 -> 324 bytes mods/default/textures/gui_bg.png | Bin 0 -> 608 bytes mods/default/textures/gui_hotbar.png | Bin 0 -> 233 bytes mods/default/textures/gui_hotbar_selected.png | Bin 0 -> 179 bytes mods/default/textures/gui_itemslot_bg.png | Bin 0 -> 161 bytes mods/default/textures/heart.png | Bin 0 -> 201 bytes mods/default/textures/player.png | Bin 0 -> 176 bytes mods/default/textures/player_back.png | Bin 0 -> 176 bytes mods/default/textures/wieldhand.png | Bin 0 -> 249 bytes mods/default/tools.lua | 93 +++++ mods/default/tools.lua~ | 93 +++++ mods/legendary_items/LICENSE.txt | 16 + mods/legendary_items/init.lua | 72 ++++ mods/legendary_items/init.lua~ | 72 ++++ .../textures/legendary_items_paper.png | Bin 0 -> 450 bytes .../textures/legendary_items_paper_green.png | Bin 0 -> 444 bytes .../textures/legendary_items_sword.png | Bin 0 -> 285 bytes .../textures/legendary_items_tp.png | Bin 0 -> 258 bytes mods/mobs/LICENSE.txt | 16 + mods/mobs/init.lua | 57 ++++ mods/mobs/init.lua~ | 57 ++++ mods/mobs/textures/mobs_angry_block.png | Bin 0 -> 271 bytes mods/mobs/textures/mobs_angry_block_top.png | Bin 0 -> 207 bytes mods/potions/LICENSE.txt | 16 + mods/potions/depends.txt | 2 + mods/potions/depends.txt~ | 2 + mods/potions/init.lua | 114 +++++++ mods/potions/init.lua~ | 114 +++++++ mods/potions/textures/potions_blue.png | Bin 0 -> 239 bytes mods/potions/textures/potions_green.png | Bin 0 -> 239 bytes mods/potions/textures/potions_red.png | Bin 0 -> 239 bytes mods/potions/textures/potions_yellow.png | Bin 0 -> 239 bytes mods/quests/LICENSE.txt | 16 + mods/quests/depends.txt | 2 + mods/quests/depends.txt~ | 2 + mods/quests/init.lua | 91 +++++ mods/quests/init.lua~ | 91 +++++ mods/quests/textures/quests_block.png | Bin 0 -> 237 bytes mods/quests/textures/quests_glowing_ray.png | Bin 0 -> 858 bytes mods/quests/textures/quests_map.png | Bin 0 -> 623 bytes mods/quests/textures/quests_map_top.png | Bin 0 -> 198 bytes mods/quests/textures/quests_skin_1.png | Bin 0 -> 256 bytes 108 files changed, 2256 insertions(+) create mode 100644 game.conf create mode 100644 game.conf~ create mode 100644 mods/central_message/README.md create mode 100644 mods/central_message/depends.txt create mode 100644 mods/central_message/description.txt create mode 100644 mods/central_message/init.lua create mode 100644 mods/classes/LICENSE.txt create mode 100644 mods/classes/depends.txt create mode 100644 mods/classes/depends.txt~ create mode 100644 mods/classes/init.lua create mode 100644 mods/classes/init.lua~ create mode 100644 mods/classes/textures/classes_chemical_spear.png create mode 100644 mods/classes/textures/classes_hoe.png create mode 100644 mods/classes/textures/classes_spear.png create mode 100644 mods/decor/depends.txt create mode 100644 mods/decor/depends.txt~ create mode 100644 mods/decor/init.lua create mode 100644 mods/decor/init.lua~ create mode 100644 mods/default/LICENSE.txt create mode 100644 mods/default/craft.lua create mode 100644 mods/default/craft.lua~ create mode 100644 mods/default/craftitems.lua create mode 100644 mods/default/craftitems.lua~ create mode 100644 mods/default/init.lua create mode 100644 mods/default/init.lua~ create mode 100644 mods/default/mapgen.lua create mode 100644 mods/default/mapgen.lua~ create mode 100644 mods/default/nodes.lua create mode 100644 mods/default/nodes.lua~ create mode 100644 mods/default/player.lua create mode 100644 mods/default/player.lua~ create mode 100644 mods/default/textures/bubble.png create mode 100644 mods/default/textures/crack_anylength.png create mode 100644 mods/default/textures/default_alt_dirt.png create mode 100644 mods/default/textures/default_axe_stone.png create mode 100644 mods/default/textures/default_basic_hammer.png create mode 100644 mods/default/textures/default_blade.png create mode 100644 mods/default/textures/default_coin.png create mode 100644 mods/default/textures/default_dirt.png create mode 100644 mods/default/textures/default_dry_grass.png create mode 100644 mods/default/textures/default_flower_1.png create mode 100644 mods/default/textures/default_flower_2.png create mode 100644 mods/default/textures/default_glass.png create mode 100644 mods/default/textures/default_grass.png create mode 100644 mods/default/textures/default_iron_lump.png create mode 100644 mods/default/textures/default_knife.png create mode 100644 mods/default/textures/default_ladder.png create mode 100644 mods/default/textures/default_leaves_1.png create mode 100644 mods/default/textures/default_leaves_cutter.png create mode 100644 mods/default/textures/default_log.png create mode 100644 mods/default/textures/default_plant_grass.png create mode 100644 mods/default/textures/default_present_side.png create mode 100644 mods/default/textures/default_present_top.png create mode 100644 mods/default/textures/default_sand.png create mode 100644 mods/default/textures/default_stone.png create mode 100644 mods/default/textures/default_stone_item.png create mode 100644 mods/default/textures/default_stone_with_iron.png create mode 100644 mods/default/textures/default_stonebrick.png create mode 100644 mods/default/textures/default_stones_on_floor.png create mode 100644 mods/default/textures/default_string.png create mode 100644 mods/default/textures/default_string_strong.png create mode 100644 mods/default/textures/default_treasure_chest.png create mode 100644 mods/default/textures/default_water.png create mode 100644 mods/default/textures/default_wet_sand.png create mode 100644 mods/default/textures/default_wet_stone.png create mode 100644 mods/default/textures/default_wood.png create mode 100644 mods/default/textures/default_xp.png create mode 100644 mods/default/textures/gui_bg.png create mode 100644 mods/default/textures/gui_hotbar.png create mode 100644 mods/default/textures/gui_hotbar_selected.png create mode 100644 mods/default/textures/gui_itemslot_bg.png create mode 100644 mods/default/textures/heart.png create mode 100644 mods/default/textures/player.png create mode 100644 mods/default/textures/player_back.png create mode 100644 mods/default/textures/wieldhand.png create mode 100644 mods/default/tools.lua create mode 100644 mods/default/tools.lua~ create mode 100644 mods/legendary_items/LICENSE.txt create mode 100644 mods/legendary_items/init.lua create mode 100644 mods/legendary_items/init.lua~ create mode 100644 mods/legendary_items/textures/legendary_items_paper.png create mode 100644 mods/legendary_items/textures/legendary_items_paper_green.png create mode 100644 mods/legendary_items/textures/legendary_items_sword.png create mode 100644 mods/legendary_items/textures/legendary_items_tp.png create mode 100644 mods/mobs/LICENSE.txt create mode 100644 mods/mobs/init.lua create mode 100644 mods/mobs/init.lua~ create mode 100644 mods/mobs/textures/mobs_angry_block.png create mode 100644 mods/mobs/textures/mobs_angry_block_top.png create mode 100644 mods/potions/LICENSE.txt create mode 100644 mods/potions/depends.txt create mode 100644 mods/potions/depends.txt~ create mode 100644 mods/potions/init.lua create mode 100644 mods/potions/init.lua~ create mode 100644 mods/potions/textures/potions_blue.png create mode 100644 mods/potions/textures/potions_green.png create mode 100644 mods/potions/textures/potions_red.png create mode 100644 mods/potions/textures/potions_yellow.png create mode 100644 mods/quests/LICENSE.txt create mode 100644 mods/quests/depends.txt create mode 100644 mods/quests/depends.txt~ create mode 100644 mods/quests/init.lua create mode 100644 mods/quests/init.lua~ create mode 100644 mods/quests/textures/quests_block.png create mode 100644 mods/quests/textures/quests_glowing_ray.png create mode 100644 mods/quests/textures/quests_map.png create mode 100644 mods/quests/textures/quests_map_top.png create mode 100644 mods/quests/textures/quests_skin_1.png diff --git a/game.conf b/game.conf new file mode 100644 index 0000000..acd72d0 --- /dev/null +++ b/game.conf @@ -0,0 +1 @@ +name = rpgtest diff --git a/game.conf~ b/game.conf~ new file mode 100644 index 0000000..acd72d0 --- /dev/null +++ b/game.conf~ @@ -0,0 +1 @@ +name = rpgtest diff --git a/mods/central_message/README.md b/mods/central_message/README.md new file mode 100644 index 0000000..f4fc0d6 --- /dev/null +++ b/mods/central_message/README.md @@ -0,0 +1,53 @@ +# Central Message +## Overview +* Description: Simple API to display short messages at the center of the screen +* Author: Wuzzy +* License of everything: WTFPL +* Shortname: `central_message` +* Version: 0.2.0 (using Semantic Versioning 2.0.0, see [SemVer](http://semver.org/)) + +## Longer description +This Minetest mod allows other mods to display a short message at the center of the screen. +Each message is displayed for 5 seconds, then it is removed. +When multiple messages are pushed quickly in succession, the messages will be “stacked” +on the screen. + +This mod can be useful to inform about all sorts of events and is an alternative to use the chat log +to display special events. + +Some usage examples: +* Messages about game events, like victory, defeat, next round starting, etc. +* Error message directed to a single player +* Informational messages +* Administational messages to warn players about a coming server shutdown + +## Settings +This mod can be configured via `minetest.conf`. + +Currently, these settings are recognized: + +* `central_message_max`: Limit the number of messages displayed at once, by providing a number. Use `inf` here for no limit. Default: 7 +* `central_message_color`: Set the message color of all messages. Value must be `ColorString` (see `lua_api.txt`). Default: `0xFFFFFF` (white) + + +## API +### `cmsg.push_message_player(player, message)` +Display a new message to one player only. + +#### Parameters +* `player`: An `ObjectRef` to the player to which to send the message +* `message`: A `string` containing the message to be displayed to the player + +#### Return value +Always `nil`. + + +### `cmsg.push_message_all(message)` +Display a new message to all connected players. + +#### Parameters +* `player`: An `ObjectRef` to the player to which to send the message +* `message`: A `string` containing the message to be displayed to all players + +#### Return value +Always `nil`. diff --git a/mods/central_message/depends.txt b/mods/central_message/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/central_message/description.txt b/mods/central_message/description.txt new file mode 100644 index 0000000..4a6c5db --- /dev/null +++ b/mods/central_message/description.txt @@ -0,0 +1 @@ +Simple API to show messages to the center of the screen to players. diff --git a/mods/central_message/init.lua b/mods/central_message/init.lua new file mode 100644 index 0000000..b4482b8 --- /dev/null +++ b/mods/central_message/init.lua @@ -0,0 +1,114 @@ +cmsg = {} +cmsg.hudids = {} +cmsg.messages = {} +cmsg.settings = {} +cmsg.next_msgids = {} + +cmsg.settings.max_messages = 7 +local setting = minetest.setting_get("central_message_max") +if type(tonumber(setting)) == "number" then + cmsg.settings.max_messages = tonumber(setting) +elseif setting == "inf" then + cmsg.settings.max_messages = nil +end + +cmsg.settings.color = 0xFFFFFF +setting = minetest.setting_get("central_message_color") +if type(tonumber(setting)) == "number" then + cmsg.settings.color = tonumber(setting) +end + +local function update_display(player, pname) + local messages = {} + local start, stop + stop = #cmsg.messages[pname] + if cmsg.settings.max_messages ~= nil then + local max = math.min(cmsg.settings.max_messages, #cmsg.messages[pname]) + if #cmsg.messages[pname] > cmsg.settings.max_messages then + start = stop - max + else + start = 1 + end + else + start = 1 + end + for i=start, stop do + table.insert(messages, cmsg.messages[pname][i].text) + end + local concat = table.concat(messages, "\n") + player:hud_change(cmsg.hudids[pname], "text", concat) +end + +cmsg.push_message_player = function(player, text) + local function push(tbl) + -- Horrible Workaround code starts here + if not (cmsg.last_push < cmsg.steps) then + minetest.after(0, push, tbl) + return + end + + local player = tbl.player + local text = tbl.text + -- Horrible Workaround code ends here + + local pname = player:get_player_name() + if cmsg.hudids[pname] == nil then + cmsg.hudids[pname] = player:hud_add({ + hud_elem_type = "text", + text = text, + number = cmsg.settings.color, + position = {x=0.5, y=0.5}, + offset = {x=-0,y=-256}, + direction = 3, + alignment = {x=0,y=1}, + scale = {x=800,y=20*cmsg.settings.max_messages}, + }) + cmsg.messages[pname] = {} + cmsg.next_msgids[pname] = 0 + table.insert(cmsg.messages[pname], {text=text, msgid=cmsg.next_msgids[pname]}) + else + cmsg.next_msgids[pname] = cmsg.next_msgids[pname] + 1 + table.insert(cmsg.messages[pname], {text=text, msgid=cmsg.next_msgids[pname]}) + update_display(player, pname) + end + + minetest.after(5, function(param) + local pname = param.player:get_player_name() + for i=1, #cmsg.messages[pname] do + if param.msgid == cmsg.messages[pname][i].msgid then + table.remove(cmsg.messages[pname], i) + break + end + end + update_display(player, pname) + end, {player=player, msgid=cmsg.next_msgids[pname]}) + + -- Update timer for Horrible Workaround + cmsg.last_push = cmsg.steps + end + + if cmsg.last_push < cmsg.steps then + push({player=player, text=text}) + else + minetest.after(0, push, {player=player, text=text}) + end +end + +cmsg.push_message_all = function(text) + local players = minetest.get_connected_players() + for i=1,#players do + cmsg.push_message_player(players[i], text) + end +end + +minetest.register_on_leaveplayer(function(player) + cmsg.hudids[player:get_player_name()] = nil +end) + +-- Horrible Workaround code starts here +cmsg.steps = 0 +cmsg.last_push = -1 +minetest.register_globalstep(function(dtime) + cmsg.steps = cmsg.steps + 1 +end) +-- Horrible Workaround code ends here diff --git a/mods/classes/LICENSE.txt b/mods/classes/LICENSE.txt new file mode 100644 index 0000000..cca02cd --- /dev/null +++ b/mods/classes/LICENSE.txt @@ -0,0 +1,16 @@ +License for Code +---------------- + +Copyright (C) 2015 cd2 (cdqwertz) + +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 for Media +----------------- + +CC-BY-SA 3.0 UNPORTED. Created by cd2 (cdqwertz) diff --git a/mods/classes/depends.txt b/mods/classes/depends.txt new file mode 100644 index 0000000..3b93871 --- /dev/null +++ b/mods/classes/depends.txt @@ -0,0 +1,3 @@ +default +legendary_items +mobs diff --git a/mods/classes/depends.txt~ b/mods/classes/depends.txt~ new file mode 100644 index 0000000..3b93871 --- /dev/null +++ b/mods/classes/depends.txt~ @@ -0,0 +1,3 @@ +default +legendary_items +mobs diff --git a/mods/classes/init.lua b/mods/classes/init.lua new file mode 100644 index 0000000..87671ec --- /dev/null +++ b/mods/classes/init.lua @@ -0,0 +1,39 @@ +classes = {} +classes.register_weapon = function(name,levels, def) + for i = 0, levels, 1 do + minetest.register_tool("classes:"..name .. "_lvl_" .. tostring(i), { + description = def.description.."\n Level: ".. tostring(i).. "\n Damage: " .. tostring(def.damage+ i) .." \n Class: " .. def.class, + inventory_image = def.inventory_image, + wield_scale = def.wield_scale, + tool_capabilities = { + max_drop_level=3, + damage_groups = {fleshy=def.damage+ i}, + }, + }) + end +end + +classes.register_weapon("spear", 5, { + description = "Spear", + inventory_image = "classes_spear.png", + wield_scale = {x = 2, y=2, z = 1}, + damage = 15, + class = "warrior", +}) + +classes.register_weapon("chemical_spear", 7, { + description = "Chemical Spear", + inventory_image = "classes_chemical_spear.png", + wield_scale = {x = 2, y=2, z = 1}, + damage = 17, + class = "warrior", +}) + +classes.register_weapon("hoe", 20, { + description = "Hoe", + inventory_image = "classes_hoe.png", + wield_scale = {x = 1, y=1, z = 1}, + damage = 10, + class = "farmer", +}) + diff --git a/mods/classes/init.lua~ b/mods/classes/init.lua~ new file mode 100644 index 0000000..87671ec --- /dev/null +++ b/mods/classes/init.lua~ @@ -0,0 +1,39 @@ +classes = {} +classes.register_weapon = function(name,levels, def) + for i = 0, levels, 1 do + minetest.register_tool("classes:"..name .. "_lvl_" .. tostring(i), { + description = def.description.."\n Level: ".. tostring(i).. "\n Damage: " .. tostring(def.damage+ i) .." \n Class: " .. def.class, + inventory_image = def.inventory_image, + wield_scale = def.wield_scale, + tool_capabilities = { + max_drop_level=3, + damage_groups = {fleshy=def.damage+ i}, + }, + }) + end +end + +classes.register_weapon("spear", 5, { + description = "Spear", + inventory_image = "classes_spear.png", + wield_scale = {x = 2, y=2, z = 1}, + damage = 15, + class = "warrior", +}) + +classes.register_weapon("chemical_spear", 7, { + description = "Chemical Spear", + inventory_image = "classes_chemical_spear.png", + wield_scale = {x = 2, y=2, z = 1}, + damage = 17, + class = "warrior", +}) + +classes.register_weapon("hoe", 20, { + description = "Hoe", + inventory_image = "classes_hoe.png", + wield_scale = {x = 1, y=1, z = 1}, + damage = 10, + class = "farmer", +}) + diff --git a/mods/classes/textures/classes_chemical_spear.png b/mods/classes/textures/classes_chemical_spear.png new file mode 100644 index 0000000000000000000000000000000000000000..53b4c3526eeb36ad14faca4a0a7ba4f0d4a1395a GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~k0hs-R8;GKkUGf{*N775{M_8syb=cIqSVBa)D(sC z%#sWRcTeAd@J2pypdw9A7sn8b)5!@7*fzYn`|{XE z)7O>#K94Myme@VS|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zex5FlAr_~T6BY;wc6x=<11Hv2m#DR)5JzX3_EKVmUEMSY+kZ|xnE4SDm`3mP*X&T>wnixD?{an^LB{Ts5s@6F? literal 0 HcmV?d00001 diff --git a/mods/decor/depends.txt b/mods/decor/depends.txt new file mode 100644 index 0000000..3b93871 --- /dev/null +++ b/mods/decor/depends.txt @@ -0,0 +1,3 @@ +default +legendary_items +mobs diff --git a/mods/decor/depends.txt~ b/mods/decor/depends.txt~ new file mode 100644 index 0000000..3b93871 --- /dev/null +++ b/mods/decor/depends.txt~ @@ -0,0 +1,3 @@ +default +legendary_items +mobs diff --git a/mods/decor/init.lua b/mods/decor/init.lua new file mode 100644 index 0000000..e69de29 diff --git a/mods/decor/init.lua~ b/mods/decor/init.lua~ new file mode 100644 index 0000000..e69de29 diff --git a/mods/default/LICENSE.txt b/mods/default/LICENSE.txt new file mode 100644 index 0000000..cca02cd --- /dev/null +++ b/mods/default/LICENSE.txt @@ -0,0 +1,16 @@ +License for Code +---------------- + +Copyright (C) 2015 cd2 (cdqwertz) + +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 for Media +----------------- + +CC-BY-SA 3.0 UNPORTED. Created by cd2 (cdqwertz) diff --git a/mods/default/craft.lua b/mods/default/craft.lua new file mode 100644 index 0000000..f96fb55 --- /dev/null +++ b/mods/default/craft.lua @@ -0,0 +1,38 @@ +minetest.register_craft({ + output = "default:string_strong", + recipe = { + {"default:string", "default:string", "default:string"}, + } +}) + +minetest.register_craft({ + output = "default:string", + recipe = { + {"group:plant", "group:plant", "group:plant"}, + } +}) + +minetest.register_craft({ + output = "default:plant_grass", + recipe = { + {"default:grass"}, + } +}) + +minetest.register_craft({ + output = "default:basic_hammer", + recipe = { + {"", "default:log_1", ""}, + {"", "default:string_strong", ""}, + {"", "default:log_3", ""}, + } +}) + +minetest.register_craft({ + output = "default:axe_stone", + recipe = { + {"", "default:stone_item", ""}, + {"", "default:string_strong", ""}, + {"", "default:log_3", ""}, + } +}) diff --git a/mods/default/craft.lua~ b/mods/default/craft.lua~ new file mode 100644 index 0000000..f96fb55 --- /dev/null +++ b/mods/default/craft.lua~ @@ -0,0 +1,38 @@ +minetest.register_craft({ + output = "default:string_strong", + recipe = { + {"default:string", "default:string", "default:string"}, + } +}) + +minetest.register_craft({ + output = "default:string", + recipe = { + {"group:plant", "group:plant", "group:plant"}, + } +}) + +minetest.register_craft({ + output = "default:plant_grass", + recipe = { + {"default:grass"}, + } +}) + +minetest.register_craft({ + output = "default:basic_hammer", + recipe = { + {"", "default:log_1", ""}, + {"", "default:string_strong", ""}, + {"", "default:log_3", ""}, + } +}) + +minetest.register_craft({ + output = "default:axe_stone", + recipe = { + {"", "default:stone_item", ""}, + {"", "default:string_strong", ""}, + {"", "default:log_3", ""}, + } +}) diff --git a/mods/default/craftitems.lua b/mods/default/craftitems.lua new file mode 100644 index 0000000..ab6f538 --- /dev/null +++ b/mods/default/craftitems.lua @@ -0,0 +1,30 @@ +minetest.register_craftitem("default:string", { + description = "String", + inventory_image = "default_string.png", +}) + +minetest.register_craftitem("default:stone_item", { + description = "Stone", + inventory_image = "default_stone_item.png", +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Iron Lump", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:string_strong", { + description = "String (STRONG)", + inventory_image = "default_string_strong.png", +}) + +minetest.register_craftitem("default:coin", { + description = "Coin", + inventory_image = "default_coin.png", +}) + +minetest.register_craftitem("default:xp", { + description = "XP", + inventory_image = "default_xp.png", + stack_max = 99*99, +}) diff --git a/mods/default/craftitems.lua~ b/mods/default/craftitems.lua~ new file mode 100644 index 0000000..ab6f538 --- /dev/null +++ b/mods/default/craftitems.lua~ @@ -0,0 +1,30 @@ +minetest.register_craftitem("default:string", { + description = "String", + inventory_image = "default_string.png", +}) + +minetest.register_craftitem("default:stone_item", { + description = "Stone", + inventory_image = "default_stone_item.png", +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Iron Lump", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:string_strong", { + description = "String (STRONG)", + inventory_image = "default_string_strong.png", +}) + +minetest.register_craftitem("default:coin", { + description = "Coin", + inventory_image = "default_coin.png", +}) + +minetest.register_craftitem("default:xp", { + description = "XP", + inventory_image = "default_xp.png", + stack_max = 99*99, +}) diff --git a/mods/default/init.lua b/mods/default/init.lua new file mode 100644 index 0000000..18d5fab --- /dev/null +++ b/mods/default/init.lua @@ -0,0 +1,10 @@ +default = {} + +local modpath = minetest.get_modpath("default") + +dofile(modpath.."/player.lua") +dofile(modpath.."/craftitems.lua") +dofile(modpath.."/nodes.lua") +dofile(modpath.."/tools.lua") +dofile(modpath.."/craft.lua") +dofile(modpath.."/mapgen.lua") diff --git a/mods/default/init.lua~ b/mods/default/init.lua~ new file mode 100644 index 0000000..18d5fab --- /dev/null +++ b/mods/default/init.lua~ @@ -0,0 +1,10 @@ +default = {} + +local modpath = minetest.get_modpath("default") + +dofile(modpath.."/player.lua") +dofile(modpath.."/craftitems.lua") +dofile(modpath.."/nodes.lua") +dofile(modpath.."/tools.lua") +dofile(modpath.."/craft.lua") +dofile(modpath.."/mapgen.lua") diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua new file mode 100644 index 0000000..41787fb --- /dev/null +++ b/mods/default/mapgen.lua @@ -0,0 +1,87 @@ +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_tree", "default:log_1") +minetest.register_alias("mapgen_leaves", "default:leaves_1") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_dirt_with_grass", "default:grass") +minetest.register_alias("mapgen_water_source", "default:water_source") + +minetest.register_biome({ + name = "grassland", + node_top = "default:grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 0, + y_min = 6, + y_max = 31000, + heat_point = 45, + humidity_point = 30, +}) + +minetest.register_biome({ + name = "beach", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + y_min = -112, + y_max = 5, + heat_point = 45, + humidity_point = 30, +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:grass"}, + sidelen = 16, + noise_params = { + offset = -0.015, + scale = 0.5, + spread = {x=200, y=200, z=200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = { + "grassland" + }, + y_min = 0, + y_max = 31000, + decoration = "default:plant_grass", +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:sand"}, + sidelen = 16, + noise_params = { + offset = -0.015, + scale = 0.05, + spread = {x=200, y=200, z=200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = { + "beach" + }, + y_min = 0, + y_max = 31000, + decoration = "default:plant_grass", +}) + +minetest.register_biome({ + name = "swamp", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 2, + node_stone = "default:wet_stone", + y_min = -3, + y_max = 4, + heat_point = 95, + humidity_point = 90, +}) + + + diff --git a/mods/default/mapgen.lua~ b/mods/default/mapgen.lua~ new file mode 100644 index 0000000..41787fb --- /dev/null +++ b/mods/default/mapgen.lua~ @@ -0,0 +1,87 @@ +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_tree", "default:log_1") +minetest.register_alias("mapgen_leaves", "default:leaves_1") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_dirt_with_grass", "default:grass") +minetest.register_alias("mapgen_water_source", "default:water_source") + +minetest.register_biome({ + name = "grassland", + node_top = "default:grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 0, + y_min = 6, + y_max = 31000, + heat_point = 45, + humidity_point = 30, +}) + +minetest.register_biome({ + name = "beach", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + y_min = -112, + y_max = 5, + heat_point = 45, + humidity_point = 30, +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:grass"}, + sidelen = 16, + noise_params = { + offset = -0.015, + scale = 0.5, + spread = {x=200, y=200, z=200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = { + "grassland" + }, + y_min = 0, + y_max = 31000, + decoration = "default:plant_grass", +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:sand"}, + sidelen = 16, + noise_params = { + offset = -0.015, + scale = 0.05, + spread = {x=200, y=200, z=200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = { + "beach" + }, + y_min = 0, + y_max = 31000, + decoration = "default:plant_grass", +}) + +minetest.register_biome({ + name = "swamp", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 2, + node_stone = "default:wet_stone", + y_min = -3, + y_max = 4, + heat_point = 95, + humidity_point = 90, +}) + + + diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua new file mode 100644 index 0000000..56e7480 --- /dev/null +++ b/mods/default/nodes.lua @@ -0,0 +1,319 @@ +minetest.register_node("default:dirt", { + description = "Dirt", + tiles = {"default_dirt.png"}, + groups = {crumbly = 3}, +}) + +minetest.register_node("default:sand", { + description = "Sand", + tiles = {"default_sand.png"}, + groups = {crumbly = 3}, +}) + +minetest.register_node("default:grass", { + description = "Grass", + tiles = {"default_grass.png"}, + groups = {crumbly = 3}, +}) + +minetest.register_node("default:stone", { + description = "Stone", + tiles = {"default_stone.png"}, + groups = {cracky = 3}, + drop = "default:stone_item 5", +}) + +minetest.register_node("default:stonebrick", { + description = "Stonebrick", + tiles = {"default_stonebrick.png"}, + groups = {cracky = 3}, +}) + +minetest.register_node("default:wet_stone", { + description = "Wet Stone", + tiles = {"default_wet_stone.png"}, + groups = {cracky = 3}, + drop = {"default:stone_item 5"}, +}) + +minetest.register_node("default:stone_with_iron", { + description = "Stone with Iron", + tiles = {"default_stone_with_iron.png"}, + groups = {cracky = 2}, + drop = {"default:stone_item 2", "default:iron_lump"}, +}) + +minetest.register_node("default:wood", { + description = "Wood", + tiles = {"default_wood.png"}, + groups = {choppy = 3}, +}) + +minetest.register_node("default:leaves_1", { + description = "leaves", + paramtype = "light", + drawtype = "allfaces", + tiles = {"default_leaves_1.png"}, + groups = {crumbly = 3, leaves = 1}, + walkable = false, + climbable = true, +}) + +minetest.register_node("default:stones_on_floor", { + description = "Stones on Floor", + tiles = {"default_stones_on_floor.png"}, + groups = {snappy = 3}, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + }, + }, + drop = "default:stone_item 2", + +}) + +minetest.register_node("default:log_1", { + description = "Log (thick)", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.4, 0.4, 0.5, 0.4}, + }, + }, + +}) + +minetest.register_node("default:log_2", { + description = "Log", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + }, + +}) + +minetest.register_node("default:log_3", { + description = "Log (thin)", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, 0.5, 0.2}, + }, + }, +}) + + + +minetest.register_node("default:box", { + description = "Box", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0.5, 0.5, -0.4375}, + {-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}, + {0.4375, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + +}) + +minetest.register_node("default:treasure_chest", { + description = "Treasure Chest", + tiles = {"default_treasure_chest.png"}, + groups = {choppy = 3}, + drop = "default:stick 2", + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + local items = {"default:dirt", "default:sand", "default:iron_lump", "default:stone_item", "default:coin"} + local item = items[math.random(5)] + inv:add_item("main", {name = item, count = math.random(2,10)}) + local item = items[math.random(5)] + inv:add_item("main", {name = item, count = math.random(2,10)}) + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + local meta = minetest.get_meta(pos) + meta:from_table(oldmetadata) + local inv = meta:get_inventory() + for i = 1, inv:get_size("main") do + local stack = inv:get_stack("main", i) + if not stack:is_empty() then + local p = { x = pos.x + math.random(0, 5)/5 - 0.5, + y = pos.y, + z = pos.z + math.random(0, 5)/5 - 0.5 + } + minetest.add_item(p, stack) + end + end + end +}) + +minetest.register_node("default:glass", { + description = "Glass", + tiles = {"default_glass.png"}, + drawtype = "glasslike", + paramtype = "light", + groups = {crumbly = 3}, +}) + +minetest.register_node("default:present", { + description = "Present", + tiles = {"default_present_top.png", "default_present_top.png", "default_present_side.png", "default_present_side.png", "default_present_side.png", "default_present_side.png"}, + groups = {crumbly = 3}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.4, 0.4, 0, 0.4}, + }, + }, + paramtype = "light", +}) + +minetest.register_node("default:present_big", { + description = "Present (big)", + tiles = {"default_present_top.png", "default_present_top.png", "default_present_side.png", "default_present_side.png", "default_present_side.png", "default_present_side.png"}, + groups = {crumbly = 3}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.4, 0.4, 0.4, 0.4}, + }, + }, + paramtype = "light", +}) + + +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", + sunlight_propagates = true, + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + }, + groups = {crumbly = 3}, + legacy_wallmounted = true, +}) +-- flowing and sources + +minetest.register_node("default:water_source", { + description = "Water Source", + drawtype = "liquid", + tiles = {"default_water.png"}, + walkable = false, + pointable = false, + diggable = false, + buildable = false, + buildable_to = true, + paramtype = "light", + alpha = 160, + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = 3, + groups = {liquid=3, water = 1}, + post_effect_color = {a=100, r=0, g=64, b=200}, +}) + +minetest.register_node("default:water_flowing", { + description = "Water Flowing", + tiles = {"default_water.png"}, + special_tiles = { + { + name = "default_water.png", + backface_culling = false, + }, + { + name = "default_water.png", + backface_culling = true, + }, + }, + walkable = false, + drawtype = "flowingliquid", + pointable = false, + diggable = false, + buildable = false, + buildable_to = true, + alpha = 160, + drowning = 1, + paramtype = "light", + liquidtype = "flowing", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = 3, + groups = {liquid=3, not_in_creative_inventory=1, water = 1}, + post_effect_color = {a=100, r=0, g=64, b=200}, +}) + +-- plants + +minetest.register_node("default:plant_grass", { + description = "Grass (Plant)", + tiles = {"default_plant_grass.png"}, + drawtype = "plantlike", + paramtype = "light", + invetory_image = "default_plant_grass.png", + builtable = false, + walkable = false, + groups = {crumbly = 3, plant = 1}, +}) + +minetest.register_node("default:flower_1", { + description = "Flower", + tiles = {"default_flower_1.png"}, + drawtype = "plantlike", + paramtype = "light", + invetory_image = "default_flower_1.png", + builtable = false, + walkable = false, + groups = {crumbly = 3, plant = 1}, +}) + +minetest.register_node("default:flower_2", { + description = "Flower (glowing)", + tiles = {"default_flower_2.png"}, + drawtype = "plantlike", + paramtype = "light", + invetory_image = "default_flower_2.png", + light_source = 10, + builtable = false, + walkable = false, + groups = {crumbly = 3, plant = 1}, +}) diff --git a/mods/default/nodes.lua~ b/mods/default/nodes.lua~ new file mode 100644 index 0000000..56e7480 --- /dev/null +++ b/mods/default/nodes.lua~ @@ -0,0 +1,319 @@ +minetest.register_node("default:dirt", { + description = "Dirt", + tiles = {"default_dirt.png"}, + groups = {crumbly = 3}, +}) + +minetest.register_node("default:sand", { + description = "Sand", + tiles = {"default_sand.png"}, + groups = {crumbly = 3}, +}) + +minetest.register_node("default:grass", { + description = "Grass", + tiles = {"default_grass.png"}, + groups = {crumbly = 3}, +}) + +minetest.register_node("default:stone", { + description = "Stone", + tiles = {"default_stone.png"}, + groups = {cracky = 3}, + drop = "default:stone_item 5", +}) + +minetest.register_node("default:stonebrick", { + description = "Stonebrick", + tiles = {"default_stonebrick.png"}, + groups = {cracky = 3}, +}) + +minetest.register_node("default:wet_stone", { + description = "Wet Stone", + tiles = {"default_wet_stone.png"}, + groups = {cracky = 3}, + drop = {"default:stone_item 5"}, +}) + +minetest.register_node("default:stone_with_iron", { + description = "Stone with Iron", + tiles = {"default_stone_with_iron.png"}, + groups = {cracky = 2}, + drop = {"default:stone_item 2", "default:iron_lump"}, +}) + +minetest.register_node("default:wood", { + description = "Wood", + tiles = {"default_wood.png"}, + groups = {choppy = 3}, +}) + +minetest.register_node("default:leaves_1", { + description = "leaves", + paramtype = "light", + drawtype = "allfaces", + tiles = {"default_leaves_1.png"}, + groups = {crumbly = 3, leaves = 1}, + walkable = false, + climbable = true, +}) + +minetest.register_node("default:stones_on_floor", { + description = "Stones on Floor", + tiles = {"default_stones_on_floor.png"}, + groups = {snappy = 3}, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + }, + }, + drop = "default:stone_item 2", + +}) + +minetest.register_node("default:log_1", { + description = "Log (thick)", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.4, 0.4, 0.5, 0.4}, + }, + }, + +}) + +minetest.register_node("default:log_2", { + description = "Log", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + }, + +}) + +minetest.register_node("default:log_3", { + description = "Log (thin)", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, 0.5, 0.2}, + }, + }, +}) + + + +minetest.register_node("default:box", { + description = "Box", + tiles = {"default_log.png"}, + groups = {choppy = 3}, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0.5, 0.5, -0.4375}, + {-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}, + {0.4375, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + +}) + +minetest.register_node("default:treasure_chest", { + description = "Treasure Chest", + tiles = {"default_treasure_chest.png"}, + groups = {choppy = 3}, + drop = "default:stick 2", + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + local items = {"default:dirt", "default:sand", "default:iron_lump", "default:stone_item", "default:coin"} + local item = items[math.random(5)] + inv:add_item("main", {name = item, count = math.random(2,10)}) + local item = items[math.random(5)] + inv:add_item("main", {name = item, count = math.random(2,10)}) + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + local meta = minetest.get_meta(pos) + meta:from_table(oldmetadata) + local inv = meta:get_inventory() + for i = 1, inv:get_size("main") do + local stack = inv:get_stack("main", i) + if not stack:is_empty() then + local p = { x = pos.x + math.random(0, 5)/5 - 0.5, + y = pos.y, + z = pos.z + math.random(0, 5)/5 - 0.5 + } + minetest.add_item(p, stack) + end + end + end +}) + +minetest.register_node("default:glass", { + description = "Glass", + tiles = {"default_glass.png"}, + drawtype = "glasslike", + paramtype = "light", + groups = {crumbly = 3}, +}) + +minetest.register_node("default:present", { + description = "Present", + tiles = {"default_present_top.png", "default_present_top.png", "default_present_side.png", "default_present_side.png", "default_present_side.png", "default_present_side.png"}, + groups = {crumbly = 3}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.4, 0.4, 0, 0.4}, + }, + }, + paramtype = "light", +}) + +minetest.register_node("default:present_big", { + description = "Present (big)", + tiles = {"default_present_top.png", "default_present_top.png", "default_present_side.png", "default_present_side.png", "default_present_side.png", "default_present_side.png"}, + groups = {crumbly = 3}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.4, 0.4, 0.4, 0.4}, + }, + }, + paramtype = "light", +}) + + +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", + sunlight_propagates = true, + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + }, + groups = {crumbly = 3}, + legacy_wallmounted = true, +}) +-- flowing and sources + +minetest.register_node("default:water_source", { + description = "Water Source", + drawtype = "liquid", + tiles = {"default_water.png"}, + walkable = false, + pointable = false, + diggable = false, + buildable = false, + buildable_to = true, + paramtype = "light", + alpha = 160, + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = 3, + groups = {liquid=3, water = 1}, + post_effect_color = {a=100, r=0, g=64, b=200}, +}) + +minetest.register_node("default:water_flowing", { + description = "Water Flowing", + tiles = {"default_water.png"}, + special_tiles = { + { + name = "default_water.png", + backface_culling = false, + }, + { + name = "default_water.png", + backface_culling = true, + }, + }, + walkable = false, + drawtype = "flowingliquid", + pointable = false, + diggable = false, + buildable = false, + buildable_to = true, + alpha = 160, + drowning = 1, + paramtype = "light", + liquidtype = "flowing", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = 3, + groups = {liquid=3, not_in_creative_inventory=1, water = 1}, + post_effect_color = {a=100, r=0, g=64, b=200}, +}) + +-- plants + +minetest.register_node("default:plant_grass", { + description = "Grass (Plant)", + tiles = {"default_plant_grass.png"}, + drawtype = "plantlike", + paramtype = "light", + invetory_image = "default_plant_grass.png", + builtable = false, + walkable = false, + groups = {crumbly = 3, plant = 1}, +}) + +minetest.register_node("default:flower_1", { + description = "Flower", + tiles = {"default_flower_1.png"}, + drawtype = "plantlike", + paramtype = "light", + invetory_image = "default_flower_1.png", + builtable = false, + walkable = false, + groups = {crumbly = 3, plant = 1}, +}) + +minetest.register_node("default:flower_2", { + description = "Flower (glowing)", + tiles = {"default_flower_2.png"}, + drawtype = "plantlike", + paramtype = "light", + invetory_image = "default_flower_2.png", + light_source = 10, + builtable = false, + walkable = false, + groups = {crumbly = 3, plant = 1}, +}) diff --git a/mods/default/player.lua b/mods/default/player.lua new file mode 100644 index 0000000..c6e9c01 --- /dev/null +++ b/mods/default/player.lua @@ -0,0 +1,35 @@ +function default.itemslot_bg(x,y,w,h) + local imgs = "" + for i = 0, w-1,1 do + for j=0, h-1,1 do + imgs = imgs .."image["..x+i..","..y+j..";1,1;gui_itemslot_bg.png]" + end + end + return imgs +end + +default.inv_form = "size[8,7.5;]" +default.inv_form = default.inv_form.."listcolors[#00000000;#10101030;#00000000;#68B259;#FFF]" +default.inv_form = default.inv_form.."bgcolor[#a88e69FF;false]" +default.inv_form = default.inv_form.."list[current_player;main;0,3.5;8,4;]" +default.inv_form = default.inv_form..default.itemslot_bg(0,3.5,8,4) +default.inv_form = default.inv_form.."list[current_player;craft;1.5,0;3,3;]" +default.inv_form = default.inv_form..default.itemslot_bg(1.5,0,3,3) +default.inv_form = default.inv_form.."list[current_player;craftpreview;5,1;1,1;]" +default.inv_form = default.inv_form..default.itemslot_bg(5,1,1,1) + +minetest.register_on_joinplayer(function(player) + player:hud_set_hotbar_image("gui_hotbar.png") + player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") + player:set_inventory_formspec(default.inv_form) + + -- Testing of HUD elements + player:hud_add({ + hud_elem_type = "waypoint", + name = "spawn", + text = "", + number = 255, + world_pos = {x=0,y=0,z=0} + }) +end) + diff --git a/mods/default/player.lua~ b/mods/default/player.lua~ new file mode 100644 index 0000000..c6e9c01 --- /dev/null +++ b/mods/default/player.lua~ @@ -0,0 +1,35 @@ +function default.itemslot_bg(x,y,w,h) + local imgs = "" + for i = 0, w-1,1 do + for j=0, h-1,1 do + imgs = imgs .."image["..x+i..","..y+j..";1,1;gui_itemslot_bg.png]" + end + end + return imgs +end + +default.inv_form = "size[8,7.5;]" +default.inv_form = default.inv_form.."listcolors[#00000000;#10101030;#00000000;#68B259;#FFF]" +default.inv_form = default.inv_form.."bgcolor[#a88e69FF;false]" +default.inv_form = default.inv_form.."list[current_player;main;0,3.5;8,4;]" +default.inv_form = default.inv_form..default.itemslot_bg(0,3.5,8,4) +default.inv_form = default.inv_form.."list[current_player;craft;1.5,0;3,3;]" +default.inv_form = default.inv_form..default.itemslot_bg(1.5,0,3,3) +default.inv_form = default.inv_form.."list[current_player;craftpreview;5,1;1,1;]" +default.inv_form = default.inv_form..default.itemslot_bg(5,1,1,1) + +minetest.register_on_joinplayer(function(player) + player:hud_set_hotbar_image("gui_hotbar.png") + player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") + player:set_inventory_formspec(default.inv_form) + + -- Testing of HUD elements + player:hud_add({ + hud_elem_type = "waypoint", + name = "spawn", + text = "", + number = 255, + world_pos = {x=0,y=0,z=0} + }) +end) + diff --git a/mods/default/textures/bubble.png b/mods/default/textures/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..c34f14452f9e1025fe8e969eec99ede629601b57 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~k1&_8=_GAIU!ag=iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8f0|PZ!4!i_>c-pXF_G5NNgEz^*U$pwU{epUuF`fpLnnpojyr z+m|&h*6dLW*oE}_&$9hjus9i)_Pn~%+L)XBu%vof|7)&}MiGvw`xq?)!W^&M{`!vN z9+PYVgHgib$(q+!KD*ker{}_XAs>y*c~9#?VdS`j2I9O2;^+WOdmyehZD3 zVqE(??(Wz61FRe5!){e>K2?5Gd(Fv;O>?>O{(qY(c3gPMVFxpo1o00*PcnGA`njxg HN@xNAY9@tk literal 0 HcmV?d00001 diff --git a/mods/default/textures/crack_anylength.png b/mods/default/textures/crack_anylength.png new file mode 100644 index 0000000000000000000000000000000000000000..d62f8babade177eed2d602ea06dee74861eae0b9 GIT binary patch literal 450 zcmV;z0X_bSP)6EEpV2+MfUb02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00AmVL_t(o!|hf<4#OY}YfwMM z{|`K?J0WFRZ4;c3AjZT_VB5gxy&v1}42JHdtIFbg&HsdPuto8w=9sBRnH;77(-BTeHbZ98f`95IvBua zx;<9D9B>OUZ2hcLwy^^^*O5$FvzMXl}&eRa5+gL02 z-VdQ0r8SaG6teJHP6VCqnd+@0RX>qXZ<{cfgUl69_eTGq=*#cY)6~5=-4ic8G*Qo_ sK3TL1ner|hsr<=W01IFNEP&epUdL%H`sfeQr)pD+A4=>t_RnBuiW)N}Tg^b5rw57@Uhz6H8K46v{J8G8EiBeFMT9`NV;W z;yqm)Lp+Wr=X7sOU7(tfw7^i}m)M2{AOF|r!q8@C?SFp6o#?VlT-C1|iNevIT#|bP~PU=kAEx3QSoAOM#sdja`&h{M)OB)55 U8hJPJ0aiF4RPZ!4!i_^&o3)nL)oVs`7HrF>KO-SbshN60|e_+EFR997<IY67dI&gf>|&Nw!t?Z1m_#<6-u=+LOd!IcuYuN{|UZ9|J?TuholG{aiF3)PZ!4!i_^&o5?>bRI()Xbt8_~;4bR=t7pg0~(d>AM^ndk} z3@OsxJ(Y*^#@`h_{q;g3=qmMML(XJ%$T%=XZ|;Oq;%6s09I8yg!F zJzqw;#oS9)Sz@^)*;cvez@p=9${S~Oda*Cbax-j@IUB(|QRHkhGXuko+18p)&zN2S PUBck$>gTe~DWM4fMb29~ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_blade.png b/mods/default/textures/default_blade.png new file mode 100644 index 0000000000000000000000000000000000000000..bc479f90ecd37afd18bb975fd30f1167e24eaeef GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~j~KUr?5_0%g+L+664!_l=ltB<)VvY~=c3falGGH1 z^30M91$R&1fbd2>aiAhkPZ!4!i_^&o3)DNhyMOyne3tCq|403_zzi^Bf5k_oE=8Xs z8RtCwlM{g8!Lx@;&!m;yb~g>JvPi}H3j@P@?J0-+e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00A>eL_t(o!|j(ba)U4sMIV`T zP8%PAD|o0N!>Hm2;SjM)4&XAQLxdwxX&6JrcMpK6k0OIZ22I8eVC;AEm4u)S~+JeLZKw<)j8~{Wn0N(+Cf2j+cS|6Zw zkh3)bR1N?t6F}hrpfCY64gi|70D3~n8I#NYZE1Ojk#(&uC5 zK-YE?K}a2InU~UwqgV%6TdE;-!R3p8m^|$6_77-MUWC8=Qw0D3002ovPDHLkV1iI- BuiyXx literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dirt.png b/mods/default/textures/default_dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..d3df41da077d3c3bb53e97ae7fa06fd06a6a39f0 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeQr)pGo`YV6Ym3sBuiW)N}Tg^b5rw57@Uhz6H8K46v{J8G8EiBeFMT9`NV;W z(mh=qLp+Wr=X7sOU7(tfw7_t|PF9^M(jTASb{7%e`NO@L<1WV)1H~N1s2M^gNjuap zH+H0WIn|i(wFUYeJJYix=y-^NXH#sl#J9fW9(%1FNYNNuJ di+1ue+`sfeQr)p3;wlJAE*F@BuiW)N}Tg^b5rw57@Uhz6H8K46v{J8G8EiBeFMT9`NV;W zGCW-zLp+WrubKJytb_M~BM!+9#oQ4Z=8s+m-bz>SP&{BFkjOBal;&o1GA2u)MIIPn%lGgqtUFc7vZUo eF1Z%VGce>X7L1zlNSg;}CxfS}pUXO@geCwQ_D_8P literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_flower_1.png b/mods/default/textures/default_flower_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3c717a47e6cf27ab99fc3b3ee100dfc2695b88d2 GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwgN0?jKh`0CMO`wouiEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI0FNtxu=U`NW|f{VY_*o4FtYMzG*OGwUu77@Fb7k1RIB0UnChi znpk!4!1NE{Ynn@F*csIX!~r)yYE}Om7=C~!a3_8i`VTcEpoeCVh_A>Ru*5%c>UO? z(3<=4_VTv1DUF*8_;O8OB!oY6xG8?%W)%mBCF^@h>zZ5V@wY!i|7wZ+aEN&|PsTk+ z_N`a0?i#iOcC$+wf=h)M=B%0={Nefm|Lh06%lvk}j!FBI1`KBgPgg&ebxsLQ08{$8 A^Z)<= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_flower_2.png b/mods/default/textures/default_flower_2.png new file mode 100644 index 0000000000000000000000000000000000000000..03195b6df1a70bd0455c00a5f1aa0e1c015f403d GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwgN0?iLExDp+HBd;h#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-JoPmMS)YHW=B;xSfFhjmW20T5h|1EqZde_?E1A~~`GaiphKSAeo zH!-;b2M)|@G*@tIIl?u0wScN`*7CIzPTa8gHurr_Xh$c1fV`Hj_50VGB-u7zGK#3# z;Ivre9n&PPhMDXdRmES9#>`OeuAFi!U`>sTu-pD_%}b(>f4%Ew*NfUc*US64xwY8i zNxF-6<;*!+n_|Eh)EBy9$7{Ry&1D?VnOpC^+*7wZN&K_zkuo-au}j; z`te=z!kW6R6?;y!ZDnlKws0$sW{dyrJoki#^@8)ZUN>I1tF*}NZi#jHws2zir-tn0 zpAz}&{lA@HN`JVf?DRGE&8rwr?PEB1&6xqndX+ILY~!V%J9^*szb*E7z+8Ak=47SO zE9c28U$$Okn2|n-uOLF5@j&9-n5O;gb+?%1k9F=gHHh8r0SsjZPgg&ebxsLQ00bAf At^fc4 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_glass.png b/mods/default/textures/default_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a076454c185d01b4e509e32543b53e23f56029c3 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7lw-rOBlk_R@|utif|Tq zL>4nJa0`PlBg3pY5H=O_WL{n0wzi)EY~jw3Q3l@MwB?`=jNv7l`uFLr6!i7 zrYMwWmSiZnd-?{1H}Z)C6_t3pIEF+VetTV!ufc$)_2Igi@kY*R5901LTNmmYoINvX zUc!pDgN#<6SIwIBe>3m%jpef}E{a`zCZ(sjpP_sGX;GU;<#%^wES_YvQFia6|6-S) xFak|Q0uMgMe(LI5o6)~0qu8}(-sO)EZ25&>$UZ!#$K?!C=IQF^vd$@?2>@HWS{48R literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass.png b/mods/default/textures/default_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..dda28e1e620bba35f620932bb20494dc01cb7fbc GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeQr)pbJkNgM85)sBuiW)N}Tg^b5rw57@Uhz6H8K46v{J8G8EiBeFMT9`NV;W zGCW-zLp+Wr`^?NZ;NX4Wh(oeNF?WQ9`J>;8bg=d#Wzp$Pz!=T9a8 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_iron_lump.png b/mods/default/textures/default_iron_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..93022e902c34e1cd8d475d7a7f6293213a206f6b GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~k1(gTM92Hs(?B7~64!_l=ltB<)VvY~=c3falGGH1 z^30M91$R&1fbd2>aiF3mPZ!4!i_^&o609Q3Zcbc5K|%ix-za`|CQ;=ULrQPxGajDr z`-%+K?D)idSivo3mU4-O1PDyoQEzbP_o;&l=Re5k-LG^N$m0;UJIezE_51f7f9)z( zayD|;en|<5y2D59j6WC{{7Fyvapr_`jKZSb43ZN>*lrxzc=V7)LIMMWgM@z6#d*Ry!+y8P( z9)X=nm-T-(Jg9B{lgMDAoTjF<=(Wy`Yty7Hp5J;X@%R~wL#R^I9OED_fr)7)7t6lg z3)XDCm-^ORcW(T7b{Cero6{e>|HW-*a^a9OGxwk5gjU8k$!io>F5abE&ZYPv(}=Nz nbM>VI?T(i~@;U!}lxrD|AInVm&vSzr=t2fhS3j3^P6^^HbUYntAQGGPyxXkj9SlM{%VXsDQ2SnC6708dxr79et@Ll+*wKlx?_(>e$V+b9_t# z>1ygJg+oM2T~LZf(GpJ=$B>A_Z>L@4Y%t()S)0NkxV=EuyvSE@`vrZ+rmJ%- z*Es!BEs|mXeo2itd4CwIf2^q8rur?h#hP=LAI+(HUiwA&t8psN!&yafx7Js%3OekG zjjl3db^efXbu1X literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_leaves_cutter.png b/mods/default/textures/default_leaves_cutter.png new file mode 100644 index 0000000000000000000000000000000000000000..eee159665f72dd90dc4034d3bcb73b9a7d32ed91 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#J~t<~p!)qs%+Ww0$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj3_>4-f>^E#*;>Zdh~k)TyqCjg5^DZ){Bd z?^(pS>sk8jU7nwO-K!?9EPfN*~bQMd1&Wk=57@TIcb22c@T&4QlkLhb1 P&>jX)S3j3^P6`sfeQr)JZB^0sYnDJE$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj3kpJhztgGS3kc5MI-Kn?1yH7Lcsi#OmABk)V}uX#K2^?|dIaOpJ6DW_WNc zV_Nl-;jHG3*D0rjpBk*=UvY1S!nRBDF0QP4%Xxl1niavFF_Bq;fgvhG+kT#O;#Q!$ O7(8A5T-G@yGywqAnOI~1 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_plant_grass.png b/mods/default/textures/default_plant_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..8980d58d67a28cb2dda283da65d917166fb45c20 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwgTaJ%aW7W45kWrE)t`Q~9`MJ5Nc_j?aMX8A;sVNHO znI#zt?w-B@;f;LaKt)xaE{-7)hu=;)$a_G6hdFRw&ZMO`x=ke;zO-IZV$@^0)&9QK zLtvZeQA;Nd#TEf4sg@ODi*Dt}y6!W(B{E^Myq#OsG}R4SpTe1{_+H=YIUsO#$-Wz+ zmAV_|u>O^Ks8=w>`sfeI5y64fB@7hUGvZ$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj3`sfeI5y64Hbs_2P=U>k|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zxt=bLAs)w*@64KW#z7|ID%any4^5ewnP)d-eBFB0Ss6NoqOy_T_9 jtS8DK>);Aj3q}TJd8xf6^VfXgTe~DWM4f-;zzz literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sand.png b/mods/default/textures/default_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..a91958efb6266e520419f72674a657ce5d75b313 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeQr)}S(EQCc{_nZk|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zF`h1tAs)w*ZFcSLZJgH7*?6qsnb-z};<|rT{VSX1`WB?HUo_}W;d)#w@S{PZ!Bq3{ z$G;g`QcV+mvV!D#nT;Mdbcr6$kmPx# literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_stone.png b/mods/default/textures/default_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..db9839a3813df0a50daeb189d23633460de77bbf GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeQr)pQ=Uen^Ou1_k|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw z$(}BbAs)w*V>YF5GV3x5Gxsu{)lFFFvbm>+XW4_v>i%pe*pFDG-#E%>_)psJs64!_l=ltB<)VvY~=c3falGGH1 z^30M91$R&1fbd2>aiF4bPZ!4!i_^&o609Q3ZaGcS+w=bNCs$Wj8&66(aBXe$|I;T< z9Qf%!&*oq@hqB$-6KxNQc!drBO_?|`al*ujjvu8w*(Qjx8KfV+VPs^)^Xu2Ip2aWw afX;V}kUyVV8xjt*g2B_(&t;ucLK6VsB29e& literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_stone_with_iron.png b/mods/default/textures/default_stone_with_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..8a735219e7f0c943ad0fc3672d7220116c7701af GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwgN0?K{OrZY!d!UeHiEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8f0FPZ!6Kh{JEg4EY)qc-Ab_FG%|!yKnmTAAIa-`xory+Hxt# z=>ZEzpG5JNKXKOFeCTz;(USLE&1S%2gKm zM^qmeU7g4MFF=pYVfDpdyo;vfu3Xc#Y-5b$I83Qq`Rx$f~aIOe+y@pzJ+pB{auY2$BDZc<$;}hP5r70pITku08*b}Uhzdy`&47r3#@BUme zvMt2~QOF)QoMlS+orRJxx2KG%x=hOo~%i#N;_d(m@%XD+UpDJ%uu3O6jJ)CI5q zq(1iM!PYQPmuwVnt%-;U_Ef=q8Z3c@8kM<>&kwgN03K@`(RD@bD)r9iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8af&r;B4q#NoG7FA6p&@HjUg=efHgcyr+N3#=~M*E`hD>dS~{ z#4&`0C(7Q5y8Zs!ima7qZg+Z=pFP9CaQltmmF50!#t&+ZRyAf+`dsFzIR166fYI|g zQIGXMh}@KvT__PJ8ma%}vY`+2Ldg?K+^-u0mpL0794blrv0lz&S#bVKhSRe(Sne24 R-3@dKgQu&X%Q~loCIE{BVL$)? literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_string.png b/mods/default/textures/default_string.png new file mode 100644 index 0000000000000000000000000000000000000000..3350d0ce6a749f6731e3a17079dae7ea7f8e793c GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)32LwG0Bw`-&QYBAf*t zk;M!Q+`=Ht$S`Y;1W=H@#M9T6{XRD*mx5JwH4{5fNV3E=qQp5rH#aq}gu%HeHL)Z$ zMWH;iBtya7(>EZzkxv|`DAv=(F~s6@a)Lz0fevq_Ww(FW>+Musn*Q)t#D`3$Fpmol zX5>Bo|0Cz<(mvMty*qf0JTqFOr*O5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%qF7HC#}JFt$q5n}2Rgi+R42W+*V}1*+Wz3zjSnujteLRj zpw`5i{~vF5dCPL!Nf%0XoK200b?E8d@Jld_*)Y+mW9;6nFsOQ~L3Xu! zCnyWDSgRT|P{qB2m7CpL6zLJE85=n3N8ShYnd=sbdbN|<+-A)(lAMBdTHq?)$o(`O zgt^TD9b{OsSoW;EXkr6L2Uq|_X1Z%vLv~b4ub#y002ovPDHLkV1i{u(OCch literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_water.png b/mods/default/textures/default_water.png new file mode 100644 index 0000000000000000000000000000000000000000..67dbace845af717408391190f53933a84fa9d611 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeQr)}b@i}+lk|W>k|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zF`h1tAs)w*b!JvfX`I&3*?6qsnb-z};<`V-+E+F;_hzQBUo_}W;d)#w@S{PZ!Bq3{ z$G;g`QcV+mvV!D#nT;Mdbcr6$kmmdKI;Vst06)x0L;wH) literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_wet_sand.png b/mods/default/textures/default_wet_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..b78c1fc2c0e7eb8399fa618148e0977e30a0d844 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeQr)}IXS|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zF`h1tAs)w*W9)WMXq?v2*?6qsnb-z};<~^8T2?moPR&nYzi7~%!u7aV;75Z*gQ@1@ zkAE|?q?#uBWCh9fG8;W^=n_4gA=7gs#HFT5F`}yf*g*lEb)LR_Cf^wujOOyC2KQWL Q1KPvj>FVdQ&MBb@09Xx3bN~PV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_wet_stone.png b/mods/default/textures/default_wet_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac679ea93c84c4150d31a4821843406fdeace13 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeQr)JKAn~o`>KFKk|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zNuDl_As)w*bu=^*7N{m9EihcLlT~L*hM1t>L6Mrz&(1RZY>;@)v)e-9Sp8wmnL%>% zofRi-R7?HCXz)e3a>>+XDJoAdT1d=X$+6jH!4esnhiAo-n93At9PX~leR1Sq!_^Fi Yojc?zvP${IfVMGsy85}Sb4q9e01U%QAOHXW literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_wood.png b/mods/default/textures/default_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..4ebbb39802fdcf25aae10c4ebb5e6391537a6beb GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W*pj^6T^L#!Vi_DJ{jGQh6yYrJ zh%9Dc;1&j9Muu5)B!GhKC7!;n?Dx4jxup38t2AYRLXst}5hc#~xw)x%B@E6*sfi`2 zDGKG8B^e6tp1uL$jeO!jMYlX%978;g-wm}CI%L4(BOz*Ha;5O7`vb)kMAnm`ubm;ZTUQQ1EuG&5=|zhr+DUg^vw9aQ6^{)OW<$KiqaQ* znl~LVvFn=s_u&nuE9;8w0vx7&&kk;2)1P6Y?XW@X!(BG^T?TwJIE4b1M@*G=<8gkG zKYj8oxo3+`E>+&Zb=Py|cCSx&T%))(On%%_3RIbI@QGD_lBVvJW81ag&b?XFcR*!@PDFO9OG4T!E|yJ&R@Yn@WEgZ0?EC4};`Qn8LdWd;j+%>3 zom;UD;{n|UYWkmUwZ;LkYJ8UtxGleN!VgCJp*ItRNSw8pDtP>6iCQjU|N>9Js z<0~^`H*-{%!rZeA3@4;NuADhjk9DO=x^jz?)RI%by6UF<|Lb%42h*}gkzYOtZ=Mcx OH-o3EpUXO@geCwU2YVF& literal 0 HcmV?d00001 diff --git a/mods/default/textures/gui_bg.png b/mods/default/textures/gui_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..a66c641a2bc90cc3255a7e6946000afd0dbf469c GIT binary patch literal 608 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911L)MWvCLmR|A6^>bP0l+XkK8UbPI literal 0 HcmV?d00001 diff --git a/mods/default/textures/gui_hotbar.png b/mods/default/textures/gui_hotbar.png new file mode 100644 index 0000000000000000000000000000000000000000..c5362f93903e8edd6922e6f5db11bfc63d62301f GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0y~yU}OTa6*$;{*n8J+i&%G*GC+)5S5Q;?~9TpiCy? apUvT3fdFdgVpGTTYOMgkFZxT=_$kW9!B;s(g57)N;=M5SfIujchxsB5A-D>XnvO&c1%FGwJ zmb+q^`sfeI7Y3CB;3*q~d`>4xTQKAs)w*=R^pfckn)N=)i%5RjVD8FZ;*W9XR5UY>;(u r1?yt5o+wmC^HC--59t|YVhjwD-t2lS7hJysG>gI0)z4*}Q$iB}Y?&_0 literal 0 HcmV?d00001 diff --git a/mods/default/textures/heart.png b/mods/default/textures/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..70ef96a8675519aa062a9d69c38ebf90e13d8fda GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~4>!LV$Hr?03P2&r64!_l=ltB<)VvY~=c3falGGH1 z^30M91$R&1fbd2>aiAhYPZ!4!i_^&o5*Y_Nypw#rj?|~rotPsUan&gBRa2vRgW&Y} noQx4Oc$OPT9DJGZfRRB*kw@&){Oc2eni)J@{an^LB{Ts5vJg4O literal 0 HcmV?d00001 diff --git a/mods/default/textures/player.png b/mods/default/textures/player.png new file mode 100644 index 0000000000000000000000000000000000000000..72b3f721ad5dc2f199b578fa23887074c989d8a3 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#J`Xp)zKj8nuPabUvcxr_#5q4VH#M(>!MP|ku_QG` zp**uBL&4qCHz2%`PaLR7!qdeu#N&8!f&}a01d*PmKm#tfgBlL33>*p!jG-M@<^t6) Nc)I$ztaD0e0sx|6D((OP literal 0 HcmV?d00001 diff --git a/mods/default/textures/player_back.png b/mods/default/textures/player_back.png new file mode 100644 index 0000000000000000000000000000000000000000..672b5b740333fdbc3cfb405c00280cb74ecdb3e2 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#J`Xp)zS=j2Dc^xYk|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYw5}q!OAs)w*6C_v{Cy4Yk1sZU<9n^4OW#CX?U<~cJG8d?Z N!PC{xWt~$(6977wEUN$j literal 0 HcmV?d00001 diff --git a/mods/default/textures/wieldhand.png b/mods/default/textures/wieldhand.png new file mode 100644 index 0000000000000000000000000000000000000000..0c90e1279f6e195b29b8ac2d6f20f4bc4da527b8 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#J~t#7FbP0l+XkKCQ3~Y literal 0 HcmV?d00001 diff --git a/mods/default/tools.lua b/mods/default/tools.lua new file mode 100644 index 0000000..a3f0e0b --- /dev/null +++ b/mods/default/tools.lua @@ -0,0 +1,93 @@ +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=2}, + } +}) + + +minetest.register_tool("default:basic_hammer", { + description = "Basic Hammer\n Level: - \n Damage: 8", + inventory_image = "default_basic_hammer.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + cracky={times={[3]=1.00}, uses=10, maxlevel=1}, + choppy={times={[2]=1.50, [3]=1.00}, uses=20, maxlevel=1} + }, + damage_groups = {fleshy=8}, + } +}) + +minetest.register_tool("default:axe_stone", { + description = "Stone Axe\n Level: - \n Damage: 5", + inventory_image = "default_axe_stone.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + cracky={times={[3]=1.50}, uses=5, maxlevel=1}, + choppy={times={[2]=3.50, [3]=1.10}, uses=10, maxlevel=1} + }, + damage_groups = {fleshy=5}, + } +}) + +minetest.register_tool("default:blade", { + description = "Blade\n Level: - \n Damage: 10", + inventory_image = "default_blade.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.50}, uses=1000, maxlevel=1} + }, + damage_groups = {fleshy=10}, + } +}) + +minetest.register_tool("default:knife", { + description = "Knife\n Level: - \n Damage: 12", + inventory_image = "default_knife.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.10}, uses=1000, maxlevel=1}, + choppy={times={[3]=2.00}, uses=50, maxlevel=1} + }, + damage_groups = {fleshy=12}, + } +}) + +minetest.register_tool("default:knife_big", { + description = "Knife (big)\n Level: - \n Damage: 15", + inventory_image = "default_knife.png", + wield_scale = {x = 1.5, y=1.5, z = 1}, + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.05}, uses=1000, maxlevel=1}, + choppy={times={[3]=2.00}, uses=50, maxlevel=1} + }, + damage_groups = {fleshy=15}, + } +}) + +minetest.register_tool("default:leaves_cutter", { + description = "Leaves Cutter", + inventory_image = "default_leaves_cutter.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.10}, uses=1000, maxlevel=1}, + choppy={times={[3]=2.00}, uses=50, maxlevel=1} + } + } +}) diff --git a/mods/default/tools.lua~ b/mods/default/tools.lua~ new file mode 100644 index 0000000..a3f0e0b --- /dev/null +++ b/mods/default/tools.lua~ @@ -0,0 +1,93 @@ +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=2}, + } +}) + + +minetest.register_tool("default:basic_hammer", { + description = "Basic Hammer\n Level: - \n Damage: 8", + inventory_image = "default_basic_hammer.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + cracky={times={[3]=1.00}, uses=10, maxlevel=1}, + choppy={times={[2]=1.50, [3]=1.00}, uses=20, maxlevel=1} + }, + damage_groups = {fleshy=8}, + } +}) + +minetest.register_tool("default:axe_stone", { + description = "Stone Axe\n Level: - \n Damage: 5", + inventory_image = "default_axe_stone.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + cracky={times={[3]=1.50}, uses=5, maxlevel=1}, + choppy={times={[2]=3.50, [3]=1.10}, uses=10, maxlevel=1} + }, + damage_groups = {fleshy=5}, + } +}) + +minetest.register_tool("default:blade", { + description = "Blade\n Level: - \n Damage: 10", + inventory_image = "default_blade.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.50}, uses=1000, maxlevel=1} + }, + damage_groups = {fleshy=10}, + } +}) + +minetest.register_tool("default:knife", { + description = "Knife\n Level: - \n Damage: 12", + inventory_image = "default_knife.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.10}, uses=1000, maxlevel=1}, + choppy={times={[3]=2.00}, uses=50, maxlevel=1} + }, + damage_groups = {fleshy=12}, + } +}) + +minetest.register_tool("default:knife_big", { + description = "Knife (big)\n Level: - \n Damage: 15", + inventory_image = "default_knife.png", + wield_scale = {x = 1.5, y=1.5, z = 1}, + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.05}, uses=1000, maxlevel=1}, + choppy={times={[3]=2.00}, uses=50, maxlevel=1} + }, + damage_groups = {fleshy=15}, + } +}) + +minetest.register_tool("default:leaves_cutter", { + description = "Leaves Cutter", + inventory_image = "default_leaves_cutter.png", + tool_capabilities = { + max_drop_level=3, + groupcaps= { + leaves={times={[1]=0.10}, uses=1000, maxlevel=1}, + choppy={times={[3]=2.00}, uses=50, maxlevel=1} + } + } +}) diff --git a/mods/legendary_items/LICENSE.txt b/mods/legendary_items/LICENSE.txt new file mode 100644 index 0000000..cca02cd --- /dev/null +++ b/mods/legendary_items/LICENSE.txt @@ -0,0 +1,16 @@ +License for Code +---------------- + +Copyright (C) 2015 cd2 (cdqwertz) + +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 for Media +----------------- + +CC-BY-SA 3.0 UNPORTED. Created by cd2 (cdqwertz) diff --git a/mods/legendary_items/init.lua b/mods/legendary_items/init.lua new file mode 100644 index 0000000..c2af889 --- /dev/null +++ b/mods/legendary_items/init.lua @@ -0,0 +1,72 @@ +minetest.register_craftitem("legendary_items:paper", { + description = "The Legendary Paper", + inventory_image = "legendary_items_paper.png", +}) + +minetest.register_craftitem("legendary_items:paper_green", { + description = "Green Paper (rare)", + inventory_image = "legendary_items_paper_green.png", +}) + +minetest.register_craftitem("legendary_items:teleporting", { + description = "Stick of Teleporting", + inventory_image = "legendary_items_tp.png", + on_place = function(itemstack, placer, pointed_thing) + if not placer or not placer:is_player() then + return + end + placer:setpos(pointed_thing.above) + minetest.add_particlespawner({ + amount = 50, + time = 1, + minpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + maxpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + minvel = {x=-2, y=-2, z=-2}, + maxvel = {x=2, y=4, z=2}, + minacc = {x=-2, y=-2, z=-2}, + maxacc = {x=2, y=4, z=2}, + minexptime = 1, + maxexptime = 1, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "heart.png", + }) + end, +}) + +minetest.register_tool("legendary_items:sword", { + description = "The Legendary Sword", + inventory_image = "legendary_items_sword.png", + wield_scale = {x = 2, y=2, z = 1}, + tool_capabilities = { + max_drop_level=3, + damage_groups = {fleshy=50}, + }, + on_place = function(itemstack, placer, pointed_thing) + if not placer or not placer:is_player() then + return + end + placer:set_hp(placer:get_hp()+8) + minetest.add_particlespawner({ + amount = 50, + time = 1, + minpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + maxpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + minvel = {x=-2, y=-2, z=-2}, + maxvel = {x=2, y=4, z=2}, + minacc = {x=-2, y=-2, z=-2}, + maxacc = {x=2, y=4, z=2}, + minexptime = 1, + maxexptime = 1, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "heart.png", + }) + end, +}) + + diff --git a/mods/legendary_items/init.lua~ b/mods/legendary_items/init.lua~ new file mode 100644 index 0000000..c2af889 --- /dev/null +++ b/mods/legendary_items/init.lua~ @@ -0,0 +1,72 @@ +minetest.register_craftitem("legendary_items:paper", { + description = "The Legendary Paper", + inventory_image = "legendary_items_paper.png", +}) + +minetest.register_craftitem("legendary_items:paper_green", { + description = "Green Paper (rare)", + inventory_image = "legendary_items_paper_green.png", +}) + +minetest.register_craftitem("legendary_items:teleporting", { + description = "Stick of Teleporting", + inventory_image = "legendary_items_tp.png", + on_place = function(itemstack, placer, pointed_thing) + if not placer or not placer:is_player() then + return + end + placer:setpos(pointed_thing.above) + minetest.add_particlespawner({ + amount = 50, + time = 1, + minpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + maxpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + minvel = {x=-2, y=-2, z=-2}, + maxvel = {x=2, y=4, z=2}, + minacc = {x=-2, y=-2, z=-2}, + maxacc = {x=2, y=4, z=2}, + minexptime = 1, + maxexptime = 1, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "heart.png", + }) + end, +}) + +minetest.register_tool("legendary_items:sword", { + description = "The Legendary Sword", + inventory_image = "legendary_items_sword.png", + wield_scale = {x = 2, y=2, z = 1}, + tool_capabilities = { + max_drop_level=3, + damage_groups = {fleshy=50}, + }, + on_place = function(itemstack, placer, pointed_thing) + if not placer or not placer:is_player() then + return + end + placer:set_hp(placer:get_hp()+8) + minetest.add_particlespawner({ + amount = 50, + time = 1, + minpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + maxpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z}, + minvel = {x=-2, y=-2, z=-2}, + maxvel = {x=2, y=4, z=2}, + minacc = {x=-2, y=-2, z=-2}, + maxacc = {x=2, y=4, z=2}, + minexptime = 1, + maxexptime = 1, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "heart.png", + }) + end, +}) + + diff --git a/mods/legendary_items/textures/legendary_items_paper.png b/mods/legendary_items/textures/legendary_items_paper.png new file mode 100644 index 0000000000000000000000000000000000000000..34633890f2e0c33e5e16ba1936a583e9fc8d14b6 GIT binary patch literal 450 zcmV;z0X_bSP)<0h<010qNS#tmY3ljhU3ljkVnw%H_000McNliru-wY8AF%MkRP|*MY02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00AmVL_t(I%gvHYN&`U%+1CJ4(dnb0Nn%Df>=Q;YW`l<5&>>5P9zCsdZcs!saNVZ+Xt>t!P?foyE;2m91ka! zZLwCK{DriHM!jAI31tzLh6W%peFI1gNjwZk04!AJczk-!&nuOg9{`-F&d(yiWK^>5 s#4*-bg@8mtmPvM>)4jcO<0h<010qNS#tmY3ljhU3ljkVnw%H_000McNliru-wY8AG6oJJyS4xT02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00AUPL_t(I%gvEJOM^iWgrAeN zek6nxf<#16LShVpjS|p5VPR<_HrAq8#ZIuZ5-hCz6DdR+n?Mr8O0=;EA!=*98;j%) zKi<4zrCZJ1?ab`5@YiKLIKQgsvGc%qDht5c(w_OX!CSIN6Hfrb7=xtH9A%pDz>90G zDy7USV5qgKp|SV&y@otk&+P_xFDzzOD5T32(q+2tHGTzvvzv+lB!?s#?F#_%>18D0 zuxu0#Oymjx)^!1Bwl6=Wcs`q2jGy4Nu`h=WTygut@BNMrTPnu4a`V$ECQ~f#Jhp8eBtSrKD_gn{Hax~BVOEdgW49~AcI~0udp+j}7at zD6s99%6Q<;tXpF^!8kLq;StaEP|k+%L)(QrIzM}h@D(X+`0O1trCGr literal 0 HcmV?d00001 diff --git a/mods/mobs/LICENSE.txt b/mods/mobs/LICENSE.txt new file mode 100644 index 0000000..cca02cd --- /dev/null +++ b/mods/mobs/LICENSE.txt @@ -0,0 +1,16 @@ +License for Code +---------------- + +Copyright (C) 2015 cd2 (cdqwertz) + +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 for Media +----------------- + +CC-BY-SA 3.0 UNPORTED. Created by cd2 (cdqwertz) diff --git a/mods/mobs/init.lua b/mods/mobs/init.lua new file mode 100644 index 0000000..befb89a --- /dev/null +++ b/mods/mobs/init.lua @@ -0,0 +1,57 @@ +local function get_velocity(v, yaw, y) + local x = -math.sin(yaw) * v + local z = math.cos(yaw) * v + return {x = x, y = y, z = z} +end + +minetest.register_entity("mobs:angry_block", { + hp_max = 30, + physical = true, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "cube", + visual_size = {x=1, y=1}, + textures = {"mobs_angry_block_top.png", "mobs_angry_block_top.png", "mobs_angry_block.png", "mobs_angry_block.png", "mobs_angry_block.png", "mobs_angry_block.png"}, + spritediv = {x=1, y=1}, + initial_sprite_basepos = {x=0, y=0}, + is_visible = true, + makes_footstep_sound = false, + automatic_rotate = true, + speed = 0, + pl = nil, + + on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction) + if not puncher or not puncher:is_player() then + return + end + self.pl = puncher + end, + + on_step = function(self, dtime) + if math.random(0, 50) == 15 then + self.object:setvelocity({x=math.random(-2, 2), y=-1, z=math.random(-2, 2)}) + + if self.pl ~= nil then + self.pl:set_hp(self.pl:get_hp()-3) + if vector.distance(self.object:getpos(), self.pl:getpos()) > 5 then + self.pl = nil + end + end + end + end, +}) + +minetest.register_craftitem("mobs:angry_block", { + description = "Angry Block", + inventory_image = "[inventorycube{mobs_angry_block_top.png{mobs_angry_block.png{mobs_angry_block.png", + + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return + end + minetest.add_entity(pointed_thing.above, "mobs:angry_block") + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, +}) diff --git a/mods/mobs/init.lua~ b/mods/mobs/init.lua~ new file mode 100644 index 0000000..befb89a --- /dev/null +++ b/mods/mobs/init.lua~ @@ -0,0 +1,57 @@ +local function get_velocity(v, yaw, y) + local x = -math.sin(yaw) * v + local z = math.cos(yaw) * v + return {x = x, y = y, z = z} +end + +minetest.register_entity("mobs:angry_block", { + hp_max = 30, + physical = true, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "cube", + visual_size = {x=1, y=1}, + textures = {"mobs_angry_block_top.png", "mobs_angry_block_top.png", "mobs_angry_block.png", "mobs_angry_block.png", "mobs_angry_block.png", "mobs_angry_block.png"}, + spritediv = {x=1, y=1}, + initial_sprite_basepos = {x=0, y=0}, + is_visible = true, + makes_footstep_sound = false, + automatic_rotate = true, + speed = 0, + pl = nil, + + on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction) + if not puncher or not puncher:is_player() then + return + end + self.pl = puncher + end, + + on_step = function(self, dtime) + if math.random(0, 50) == 15 then + self.object:setvelocity({x=math.random(-2, 2), y=-1, z=math.random(-2, 2)}) + + if self.pl ~= nil then + self.pl:set_hp(self.pl:get_hp()-3) + if vector.distance(self.object:getpos(), self.pl:getpos()) > 5 then + self.pl = nil + end + end + end + end, +}) + +minetest.register_craftitem("mobs:angry_block", { + description = "Angry Block", + inventory_image = "[inventorycube{mobs_angry_block_top.png{mobs_angry_block.png{mobs_angry_block.png", + + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return + end + minetest.add_entity(pointed_thing.above, "mobs:angry_block") + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, +}) diff --git a/mods/mobs/textures/mobs_angry_block.png b/mods/mobs/textures/mobs_angry_block.png new file mode 100644 index 0000000000000000000000000000000000000000..ef0bf176e2d59c4703f0dd13946796eac3f18a2d GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeI5ZpAvskqD`TLLWQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyua zr>Bc!h{y5doDS~f1*!>+0b=q00`9&Lw$b6?;qfsslFic*X6`+>g0=Zl6Hsu1h+Ed8 zBdfYu>$TL>SRa@33a|U(-IISIW#g_kR)0A~y9FOArnK7R9uYTK{4?PS)2gc(EXA5> zT}PB%n^;|@u{T?EXslo7KKbPeR_7y3n~F6JXU=auG^s%W=#nIzJ=#ByWdj|>;OXk; Jvd$@?2>>zARg(Y! literal 0 HcmV?d00001 diff --git a/mods/mobs/textures/mobs_angry_block_top.png b/mods/mobs/textures/mobs_angry_block_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8f4c25a5c286ecff90c4ab3dea0be8d424d36b38 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeI5ZpAtUigVHbcxk|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zo}Mm_As)w*b2_+_7pNvQ28hM~3%L72*hYtkhsVdnNH$MLn7Q}h3f9G9Jy8Z($c)1$ lnLM + +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 for Media +----------------- + +CC-BY-SA 3.0 UNPORTED. Created by cd2 (cdqwertz) diff --git a/mods/potions/depends.txt b/mods/potions/depends.txt new file mode 100644 index 0000000..07f8b9f --- /dev/null +++ b/mods/potions/depends.txt @@ -0,0 +1,2 @@ +default +central_message diff --git a/mods/potions/depends.txt~ b/mods/potions/depends.txt~ new file mode 100644 index 0000000..07f8b9f --- /dev/null +++ b/mods/potions/depends.txt~ @@ -0,0 +1,2 @@ +default +central_message diff --git a/mods/potions/init.lua b/mods/potions/init.lua new file mode 100644 index 0000000..1e68853 --- /dev/null +++ b/mods/potions/init.lua @@ -0,0 +1,114 @@ +minetest.register_craftitem("potions:healing", { + description = "Potion of Healing", + inventory_image = "potions_red.png", + + on_drop = function(itemstack, dropper, pos) + if not dropper or not dropper:is_player() then + return + end + dropper:set_hp(dropper:get_hp()+10) + itemstack:take_item() + return itemstack + end, + + on_use = function(itemstack, user, pointed_thing) + if not user or not user:is_player() then + return + end + user:set_hp(user:get_hp()+10) + itemstack:take_item() + return itemstack + end, +}) + +minetest.register_craftitem("potions:jumping", { + description = "Potion of Jumping", + inventory_image = "potions_blue.png", + + on_drop = function(itemstack, dropper, pos) + if not dropper or not dropper:is_player() then + return + end + dropper:set_physics_override({ + gravity = 0.1, + }) + + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + gravity = 1, + }) + end, dropper) + itemstack:take_item() + return itemstack + end, + + on_use = function(itemstack, user, pointed_thing) + if not user or not user:is_player() then + return + end + user:set_physics_override({ + gravity = 0.1, + }) + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + gravity = 1, + }) + end, user) + itemstack:take_item() + return itemstack + end, +}) + +minetest.register_craftitem("potions:running", { + description = "Potion of Running", + inventory_image = "potions_yellow.png", + + on_drop = function(itemstack, dropper, pos) + if not dropper or not dropper:is_player() then + return + end + dropper:set_physics_override({ + speed = 3, + }) + + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + speed = 1, + }) + end, dropper) + itemstack:take_item() + return itemstack + end, + + on_use = function(itemstack, user, pointed_thing) + if not user or not user:is_player() then + return + end + user:set_physics_override({ + speed = 3, + }) + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + speed = 1, + }) + end, user) + itemstack:take_item() + return itemstack + end, +}) diff --git a/mods/potions/init.lua~ b/mods/potions/init.lua~ new file mode 100644 index 0000000..1e68853 --- /dev/null +++ b/mods/potions/init.lua~ @@ -0,0 +1,114 @@ +minetest.register_craftitem("potions:healing", { + description = "Potion of Healing", + inventory_image = "potions_red.png", + + on_drop = function(itemstack, dropper, pos) + if not dropper or not dropper:is_player() then + return + end + dropper:set_hp(dropper:get_hp()+10) + itemstack:take_item() + return itemstack + end, + + on_use = function(itemstack, user, pointed_thing) + if not user or not user:is_player() then + return + end + user:set_hp(user:get_hp()+10) + itemstack:take_item() + return itemstack + end, +}) + +minetest.register_craftitem("potions:jumping", { + description = "Potion of Jumping", + inventory_image = "potions_blue.png", + + on_drop = function(itemstack, dropper, pos) + if not dropper or not dropper:is_player() then + return + end + dropper:set_physics_override({ + gravity = 0.1, + }) + + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + gravity = 1, + }) + end, dropper) + itemstack:take_item() + return itemstack + end, + + on_use = function(itemstack, user, pointed_thing) + if not user or not user:is_player() then + return + end + user:set_physics_override({ + gravity = 0.1, + }) + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + gravity = 1, + }) + end, user) + itemstack:take_item() + return itemstack + end, +}) + +minetest.register_craftitem("potions:running", { + description = "Potion of Running", + inventory_image = "potions_yellow.png", + + on_drop = function(itemstack, dropper, pos) + if not dropper or not dropper:is_player() then + return + end + dropper:set_physics_override({ + speed = 3, + }) + + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + speed = 1, + }) + end, dropper) + itemstack:take_item() + return itemstack + end, + + on_use = function(itemstack, user, pointed_thing) + if not user or not user:is_player() then + return + end + user:set_physics_override({ + speed = 3, + }) + + minetest.after(10.0, function(pl) + if not pl or not pl:is_player() then + return + end + pl:set_physics_override({ + speed = 1, + }) + end, user) + itemstack:take_item() + return itemstack + end, +}) diff --git a/mods/potions/textures/potions_blue.png b/mods/potions/textures/potions_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c3bfed79aac5997df4c409c81377b3ede8e46c89 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~j}(`hWc{fRlYl~!C9V-A&iT2ysd*&~&PAz-C8;S2 z<(VZJ3hti10pX2&;y^{=o-U3d7N?UFBv>sDZq2^_Px1fY;)iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8afzr;B5V#p&b(308}PTeGkKQ@*@|L3pVc?;ggU9e?)EPZehd zg2V0p?C`eg=N`JY+Ky?^?q1VZ;)He$9~=iT#VesOo3J~c)I$ztaD0e0sw@cN0|Ts literal 0 HcmV?d00001 diff --git a/mods/potions/textures/potions_red.png b/mods/potions/textures/potions_red.png new file mode 100644 index 0000000000000000000000000000000000000000..6bfdfabcd311dc77f726b0d578bb27e3e578144a GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~j}(`hZd@IUI#5Wm#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-J9H=PV)5S5w;&gI?1gpitt=ZTADPP{fAiPwJcMoIFjz8x&Ws5Td z!QtiK-%IW|bXaoBmMs#UMhvmWJP(XmmWxj?6_#Z?v2Ag4zIJ$0Z;)He$9~=iT^blNFV?J literal 0 HcmV?d00001 diff --git a/mods/potions/textures/potions_yellow.png b/mods/potions/textures/potions_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..fd1681f12ea5c0bdb8734803b761f3481bcee7ec GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~j}(_WW9i<=R-lk%iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8afzr;B5V#p&b(308}PTeGkKQ@*@|L3pVc?;ggU9e>Ur+R)ty z1P?Di|IQP$=OIs2R8)_PWWzd1wgSnf%iJesb@DN%+`f2l`+4n+Zko#LejH~jXgw^z Z&hVyE!|b%2e-zLP22WQ%mvv4FO#l^MP89$E literal 0 HcmV?d00001 diff --git a/mods/quests/LICENSE.txt b/mods/quests/LICENSE.txt new file mode 100644 index 0000000..cca02cd --- /dev/null +++ b/mods/quests/LICENSE.txt @@ -0,0 +1,16 @@ +License for Code +---------------- + +Copyright (C) 2015 cd2 (cdqwertz) + +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 for Media +----------------- + +CC-BY-SA 3.0 UNPORTED. Created by cd2 (cdqwertz) diff --git a/mods/quests/depends.txt b/mods/quests/depends.txt new file mode 100644 index 0000000..07f8b9f --- /dev/null +++ b/mods/quests/depends.txt @@ -0,0 +1,2 @@ +default +central_message diff --git a/mods/quests/depends.txt~ b/mods/quests/depends.txt~ new file mode 100644 index 0000000..07f8b9f --- /dev/null +++ b/mods/quests/depends.txt~ @@ -0,0 +1,2 @@ +default +central_message diff --git a/mods/quests/init.lua b/mods/quests/init.lua new file mode 100644 index 0000000..00502aa --- /dev/null +++ b/mods/quests/init.lua @@ -0,0 +1,91 @@ +minetest.register_node("quests:quest_block", { + description = "Quest Block", + tiles = {"quests_block.png"}, + groups = {quest = 1, cracky = 3}, + on_punch = function(pos, node, player, pointed_thing) + + local meta = minetest.get_meta(pos) + local items = {"default:dirt", "default:sand", "default:iron_lump", "default:stone_item", "default:string"} + local item = items[math.random(5)] + meta:set_string("infotext", "Bring me some " .. item .. ", pls :)") + meta:set_string("item", item) + end, + + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + print(itemstack) + print(itemstack:to_table()) + if not itemstack or not itemstack:to_table() then + return + end + if itemstack:to_table().name == meta:get_string("item") then + meta:set_string("infotext", "Thank you!") + player:get_inventory():add_item("main", {name = "default:xp"}) + minetest.add_particlespawner({ + amount = 500, + time = 5, + minpos = {x=pos.x, y=pos.y, z=pos.z}, + maxpos = {x=pos.x, y=pos.y, z=pos.z}, + minvel = {x=-2, y=0, z=-2}, + maxvel = {x=2, y=0, z=2}, + minacc = {x=-2, y=0, z=-2}, + maxacc = {x=2, y=0, z=2}, + minexptime = 5, + maxexptime = 5, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "default_xp.png", + }) + minetest.remove_node(pos) + cmsg.push_message_player(player, "You got some XP!") + else + meta:set_string("infotext", "That isnt the item I am searching for..") + end + end, +}) + +minetest.register_node("quests:map", { + description = "Map", + tiles = {"quests_map_top.png", "quests_map_top.png", "quests_map.png", "quests_map.png", "quests_map.png", "quests_map.png"}, + groups = {quest = 1, cracky = 3}, + on_punch = function(pos, node, player, pointed_thing) + player:get_inventory():add_item("main", {name = "default:xp", count = math.random(3, 20)}) + minetest.add_particlespawner({ + amount = 500, + time = 5, + minpos = {x=pos.x, y=pos.y, z=pos.z}, + maxpos = {x=pos.x, y=pos.y, z=pos.z}, + minvel = {x=-2, y=0, z=-2}, + maxvel = {x=2, y=0, z=2}, + minacc = {x=-2, y=0, z=-2}, + maxacc = {x=2, y=0, z=2}, + minexptime = 5, + maxexptime = 5, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "default_xp.png", + }) + minetest.remove_node(pos) + cmsg.push_message_player(player, "You got some XP!") + end, +}) + +minetest.register_node("quests:ray", { + description = "Ray", + tiles = {"quests_glowing_ray.png"}, + groups = {ray=1}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + light_source = 7, + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, 0.5, 0.2}, + }, + }, +}) diff --git a/mods/quests/init.lua~ b/mods/quests/init.lua~ new file mode 100644 index 0000000..00502aa --- /dev/null +++ b/mods/quests/init.lua~ @@ -0,0 +1,91 @@ +minetest.register_node("quests:quest_block", { + description = "Quest Block", + tiles = {"quests_block.png"}, + groups = {quest = 1, cracky = 3}, + on_punch = function(pos, node, player, pointed_thing) + + local meta = minetest.get_meta(pos) + local items = {"default:dirt", "default:sand", "default:iron_lump", "default:stone_item", "default:string"} + local item = items[math.random(5)] + meta:set_string("infotext", "Bring me some " .. item .. ", pls :)") + meta:set_string("item", item) + end, + + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + print(itemstack) + print(itemstack:to_table()) + if not itemstack or not itemstack:to_table() then + return + end + if itemstack:to_table().name == meta:get_string("item") then + meta:set_string("infotext", "Thank you!") + player:get_inventory():add_item("main", {name = "default:xp"}) + minetest.add_particlespawner({ + amount = 500, + time = 5, + minpos = {x=pos.x, y=pos.y, z=pos.z}, + maxpos = {x=pos.x, y=pos.y, z=pos.z}, + minvel = {x=-2, y=0, z=-2}, + maxvel = {x=2, y=0, z=2}, + minacc = {x=-2, y=0, z=-2}, + maxacc = {x=2, y=0, z=2}, + minexptime = 5, + maxexptime = 5, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "default_xp.png", + }) + minetest.remove_node(pos) + cmsg.push_message_player(player, "You got some XP!") + else + meta:set_string("infotext", "That isnt the item I am searching for..") + end + end, +}) + +minetest.register_node("quests:map", { + description = "Map", + tiles = {"quests_map_top.png", "quests_map_top.png", "quests_map.png", "quests_map.png", "quests_map.png", "quests_map.png"}, + groups = {quest = 1, cracky = 3}, + on_punch = function(pos, node, player, pointed_thing) + player:get_inventory():add_item("main", {name = "default:xp", count = math.random(3, 20)}) + minetest.add_particlespawner({ + amount = 500, + time = 5, + minpos = {x=pos.x, y=pos.y, z=pos.z}, + maxpos = {x=pos.x, y=pos.y, z=pos.z}, + minvel = {x=-2, y=0, z=-2}, + maxvel = {x=2, y=0, z=2}, + minacc = {x=-2, y=0, z=-2}, + maxacc = {x=2, y=0, z=2}, + minexptime = 5, + maxexptime = 5, + minsize = 1, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "default_xp.png", + }) + minetest.remove_node(pos) + cmsg.push_message_player(player, "You got some XP!") + end, +}) + +minetest.register_node("quests:ray", { + description = "Ray", + tiles = {"quests_glowing_ray.png"}, + groups = {ray=1}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + light_source = 7, + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, 0.5, 0.2}, + }, + }, +}) diff --git a/mods/quests/textures/quests_block.png b/mods/quests/textures/quests_block.png new file mode 100644 index 0000000000000000000000000000000000000000..583dd14887cb4c77814cf7ff4509f7ca7fd13012 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeI8LEF6NKt8*TuFBuiW)N}Tg^b5rw57@Uhz6H8K46v{J8G8EiBeFMT9`NV;W z(mh=qLp+Wr>zw6GT%eken2;bK@L>7Gm-2QsDMa3 cE}dgya6Tt#b;IMK3eZXhPgg&ebxsLQ06{ZMK>z>% literal 0 HcmV?d00001 diff --git a/mods/quests/textures/quests_glowing_ray.png b/mods/quests/textures/quests_glowing_ray.png new file mode 100644 index 0000000000000000000000000000000000000000..b3230b2d698046de4e3b7a3791cbd31e5ed1c243 GIT binary patch literal 858 zcmV-g1Eu_lP)}9er2X9p2>@?Zbe9IH{MPwuxhd z5J=_kKR?3eA^~lm03x9eagop#Pyk<8Uxn=G>E?(&_JxwhZuOco(`YU0m`4{ zI{~J9oL??WYCW4jM&7g^@_NaFWZ!ur1Q4=&9z^`0Z2+VIgyTz|0SVb}c??wAPLM@P zrgesrN&wqa?tsV+-Xg;O8o{()2?SyCV4R@614y*&3`qL>4xr9UaD$KQrnu5n#(`M<>gxi%$%FS2>>{JA zy<|03x^F`&W$TBP8RD(OT?zQiygX>+H4c`q8qi2uIg|G1;>CRs>7)#4t~72SlIuf= zD|-u=YJ-Sh3BiD_5IrDApc7fk%cDimlv+C8_^E%y6<&i#V>%fh=Yev zuldb73o?9Z#>bc@gD*We5g6hF?Am=Ad}9fU!_7#KrZ+PvYITU0#F3mF(BUW?PBfL? zb~WsY$a_6H#$Fp$JI=Kr<_crRt36jMyO(JRAnPI>Y5}8`sqDpAcxTZ9Vc|+fz>)Do z$B6-vMIW1SwQOO3QNf_v|C?Rs**~kgLyjo&}v?uK8T(U>D;tKnOZA|=)_BcR9?)%CTBigou`l3=7O`JgyCq; z7t~TlJ`??`CzOxg5EVsxp=~Z!<07%Bpf;Xkyjeds8SNQu|Gu#+C~cjY5T^f~1b#h| zPT5{pA5z?Lo^8BCtZ>On!Julv+aMBvD?6F7X$|iP<<4-wsHf=$b~R)pqYA&Y8NIS+ k3_?;$W7^ki?y&nXU6#1ZCv_AdmOTXV(G1`sejX4U{ok(jL&8eHHG|^SGhW6lp!_j4y0W z(TwxMe(eX-4=Csnm`sfeI7YZE!jx3piZEWWQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyvF zgQtsQh{y5dIT6C=9lQ@5I&k2?@#Eggm+fnRojKx=Y>;(u1?yt5o+wmC^HC--59t|Y bVhjvYg6!=(^>(HM&0_F$^>bP0l+XkK4fHwj literal 0 HcmV?d00001 diff --git a/mods/quests/textures/quests_skin_1.png b/mods/quests/textures/quests_skin_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6017a085c3caa05922714ecdecd5ec6075797b1d GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeI5}GZA+m*UN4}KWQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyua zm8Xkih{y5dIX0C>%$g4_o^4iHnSM|!Yt09~?W{Z^kqyT)J~0T(T|RFoaOjlUWhS5P z%H0#*8mmdQ@_5NSF#3BuH7rH1{awD1?g7btdsf_G=K%sHraw>Ifg&qdl@Bn91#ONv szdw9&p+VNc6|9TJdZK`g2b&ofJl@L&w7gX41iFI3)78&qol`;+0H%gfxc~qF literal 0 HcmV?d00001