From 3a3e202207fb0e31f05e933d0d6b2a745e16e6a4 Mon Sep 17 00:00:00 2001 From: kaadmy Date: Tue, 1 Sep 2015 19:11:29 -0700 Subject: [PATCH] adding jewels --- mods/default/tools.lua | 2 +- mods/jewels/README.txt | 8 ++ mods/jewels/depends.txt | 1 + mods/jewels/init.lua | 108 ++++++++++++++++++ mods/jewels/textures/jewels_jewel.png | Bin 0 -> 472 bytes mods/jewels/textures/jewels_jewel.xcf | Bin 0 -> 1284 bytes .../jewels/textures/jewels_jeweled_handle.xcf | Bin 0 -> 1937 bytes 7 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 mods/jewels/README.txt create mode 100644 mods/jewels/depends.txt create mode 100644 mods/jewels/init.lua create mode 100644 mods/jewels/textures/jewels_jewel.png create mode 100644 mods/jewels/textures/jewels_jewel.xcf create mode 100644 mods/jewels/textures/jewels_jeweled_handle.xcf diff --git a/mods/default/tools.lua b/mods/default/tools.lua index 78792a7..02708b6 100644 --- a/mods/default/tools.lua +++ b/mods/default/tools.lua @@ -30,7 +30,7 @@ if minetest.setting_getbool("creative_mode") == true then { type = "none", wield_image = "wieldhand.png", - wield_scale = {x=1,y=1,z=2.0}, + wield_scale = {x=1.5,y=3,z=3}, tool_capabilities = { full_punch_interval = 1.0, max_drop_level = 0, diff --git a/mods/jewels/README.txt b/mods/jewels/README.txt new file mode 100644 index 0000000..d6b2551 --- /dev/null +++ b/mods/jewels/README.txt @@ -0,0 +1,8 @@ +Jewels mod +========== +By Kaadmy + +Adds tools with different stats via a Jeweler's Workbench. + +Asset license: WTFPL +Source license: WTFPL diff --git a/mods/jewels/depends.txt b/mods/jewels/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/jewels/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/jewels/init.lua b/mods/jewels/init.lua new file mode 100644 index 0000000..fc4f0d0 --- /dev/null +++ b/mods/jewels/init.lua @@ -0,0 +1,108 @@ +-- +-- Jewels mod +-- By Kaadmy +-- + +jewels = {} +jewels.registered_jewels = {} + +local function p(i) + if i >= 0 then i = "+" .. i end + return i +end + +function jewels.register_jewel(toolname, new_toolname, def) + -- registers a new tool with different stats + + local data = { + overlay = def.overlay or "jewels_jeweled_handle.png", -- overlay image + stats = { + digspeed = def.stats.digspeed, -- negative digs faster + maxlevel = def.stats.maxlevel, -- positive digs higher levels + maxdrop= def.stats.maxdrop, -- positive increases max drop level + uses = def.stats.uses, -- positive increases uses + fleshy = def.stats.fleshy, -- positive increases fleshy damage + range = def.stats.range, -- positive increases reach distance with tool + } + } + + jewels.registered_jewels[toolname] = data + + local tooldef = minetest.registered_tools[toolname] + + local new_tool_invimage = "" + if tooldef.inventory_image then + new_tool_invimage = tooldef.inventory_image .. "^" .. data.overlay + end + + local new_tool_wieldimage = "" + if tooldef.wield_image then + new_tool_wieldimage = tooldef.wield_image .. "^" .. data.overlay + end + + local new_tooldef = tooldef + local desc = new_tooldef.description or "" + + desc = "Jeweled " .. desc + + new_tooldef.inventory_image = new_tool_invimage + new_tooldef.wield_image = new_tool_wieldimage + + if data.stats.range and new_tooldef.range then + new_tooldef.range = new_tooldef.range + data.stats.range + desc = desc .. "\nRange: " .. p(data.stats.range) + end + + if new_tooldef.tool_capabilities then + if data.stats.maxdrop and new_tooldef.tool_capabilities.max_drop_level then + new_tooldef.tool_capabilities.max_drop_level = new_tooldef.tool_capabilities.max_drop_level + data.stats.maxdrop + desc = desc .. "\nDrop level: " .. p(data.stats.maxdrop) + end + + if data.stats.digspeed then + for group, cap in pairs(new_tooldef.tool_capabilities.groupcaps) do + for i, _ in ipairs(cap.times) do + cap.times[i] = cap.times[i] + data.stats.digspeed + end + + if data.stats.maxlevel and cap.maxlevel then + cap.maxlevel = cap.maxlevel + data.stats.maxlevel + desc = desc .. "\nDig level: " .. p(data.stats.maxlevel) + end + + if data.stats.uses and cap.uses then + cap.uses = cap.uses + data.stats.uses + desc = desc .. "\nUses: " .. p(data.stats.uses) + end + end + desc = desc .. "\nDig speed: " .. p(data.stats.digspeed) .. " seconds" + end + + if data.stats.fleshy and new_tooldef.tool_capabilities.damage_groups and new_tooldef.tool_capabilities.damage_groups.fleshy then + new_tooldef.tool_capabilities.damage_groups.fleshy = new_tooldef.tool_capabilities.damage_groups.fleshy + data.stats.fleshy + desc = desc .. "\nDamage: " .. p(data.stats.fleshy) + end + end + + new_tooldef.description = desc + + minetest.register_tool(new_toolname, new_tooldef) +end + +jewels.register_jewel( + "default:pick_steel", + "jewels:pick_steel_digspeed", + { + stats = { + fleshy = 2, + } + }) + +minetest.register_craftitem( + "jewels:jewel", + { + description = "Jewel", + inventory_image = "jewels_jewel.png", + stack_max = 10 + }) + diff --git a/mods/jewels/textures/jewels_jewel.png b/mods/jewels/textures/jewels_jewel.png new file mode 100644 index 0000000000000000000000000000000000000000..e30a2a35063d868f26af55b550987cc4492ef082 GIT binary patch literal 472 zcmV;}0Vn>6P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00BTrL_t(I%cYYsPQx%1hCd@1 z2tr+us&+=bz?+MhkvvC8os*dpSh)eKbAzt-1$uzK8L0;-Vq_p|7--tK4Q1e;oW$Sn z|2@CJ89hJT10W)Z$l#s}fDi)f^*Z?=B5b}!d(eA-STE-I#r$9Zu-$G6ArL}9M2Im0 zv_KnUq%6z5@kxT|beg<$&S9->vmz%ea;&wj_Z|Q{gZiyW4fORTF{rAl&5C^goE14` zS+?GL;%1-+lTk*Oqz`A4G1+8%V$zp6YFq*XH18h?(9}zubEc{)RP|uchli9H#T9^2 zRWA8M#|Z}K06}ni@cWF;c z5E0zd9m~4;+1NMf!Dn?mrXtdcNPCV+ZlNCyV0QCqZm+LU{-N%d{!QOtREk_0!_4Ra O0000G literal 0 HcmV?d00001 diff --git a/mods/jewels/textures/jewels_jewel.xcf b/mods/jewels/textures/jewels_jewel.xcf new file mode 100644 index 0000000000000000000000000000000000000000..18d1ed787d36eda07220b12d2e1106cb8a0810ec GIT binary patch literal 1284 zcmZ`%yKdV+5L_NfNtP|daUN9)7KULL3T$jm7fC^+2#{8Q8d;`jB6=92jM#+%HfdO; zz0yCBg5ROx{BIVy?=r`~zD=k?-#NQlic1wThx79KB< zwRhi$BoQx>4sr|my2QeJ1%80F5#iWocQhD;!wL2z&8_$2urmpdy)W_P#0x%r{3M-C zLyZTWC~QXK_*iOSTeO=@F8ZODjQa8MUVXP0bw~Zt*xNNra~vIYy#2TPCY}HXWor+k zM^B6{`riM6jGiZ_oo+mgyo1HNP`r4mSk{_n!+7Gw!|q9#$o#0+OTx)gpiDn5%`5ju zI=f#}Uu9pRn-($SuvtFEr?>gflu2u%T;dT-T+g@4zvY~9IM}Z5uo7VV6}IVC&U1N& zwoO%@k*qV$*kLG>DOOwqAJY~$Xx8dcgYH`7it@w9%G>P+%G*ojT0>`xL1-K0T4|#k zh0jo~b)Fka+bB0%rI*UJt5s?l?b_B3ps3e6byCBzA<|%D0Ub_N3f(UK=1bT}Q>N;Q zk;6cY9L|kwKQ`j~4~+Pwk!#K}7_s;U4Bt4(RA!u@5Wq>6U0oTDZ=9H|%9c(tH&e;n zNoHpbpg760#7UM;3@)AcoT#L962M84+;_6QCr-BEWQVL`gY2SCZc(FZQK7ZMq4mN> RI=~gwYUtI$*#LKk{sNnzEmHsh literal 0 HcmV?d00001 diff --git a/mods/jewels/textures/jewels_jeweled_handle.xcf b/mods/jewels/textures/jewels_jeweled_handle.xcf new file mode 100644 index 0000000000000000000000000000000000000000..6ec351c5693e23d9512f13ec0f8c9642d2ac1a69 GIT binary patch literal 1937 zcmcgsJx|+U5I(<&lMskXKj_rK0|Tj)s_31~&<;_hB6W@AB?Q}8!qp`6UzglDWsB64^^ERe6!oG4f zar9`-(bR7|F7VOw$yvAO4P9eD%?0DdI-|0+J`cUA;SGBy_Jq%m9A{!rmj&|aRa0Uq z9_2nL(q`!PuT;aE+s@2gEgiXdlHdoZ0_Hyxfon?Uuni^SMXz#lJtuGGPsSaHF@AY~I@S*g%Nhor>E7PA1zO7bp{?o#wJ_!ZlB{TWOk- zBr9clkk?4AAp~lP{y=rE(AAK&duVj!P?hf3O^$;ez@yOuL0h!wIMkr9gA{;qunNPn z3NWl9jE;oc%3we{Wf;DKVI?pwGZ-^=En)b64u)TZ;Y(|h!9d`|ieX#=2C7P7AP6uH z+6?0$fw8*^!!!#p%sdPsAK*1J6wum?;-f-gCMen&iXYc`6xZnS@@JSu6sBy-3(}6ED(jh_y0LdWOEIO|KuXpz~-2YL>ZzQ}x@q0vyOHKxw%Ope-wa%oSjU z|6PHQwe<~9L&)jVD?lgQFSrJh>tN3ITy|*7?2tJ-W-rSg)k%*QxOJ;kjcSlLsT^%k hC8}cbLW)FGfq+{rLY}AuE`xQRPgXX;nAr%;{0pl`wuJxy literal 0 HcmV?d00001