From 94c006d1670652dcf208ec1de9c5d00f0cedc8cb Mon Sep 17 00:00:00 2001 From: cale Date: Fri, 19 Feb 2016 18:21:57 +0100 Subject: [PATCH] added filter --- mods/filter/LICENSE.txt | 16 +++++++ mods/filter/depends.txt | 1 + mods/filter/init.lua | 47 +++++++++++++++++++++ mods/filter/textures/filter_filter.png | Bin 0 -> 215 bytes mods/filter/textures/filter_filter_top.png | Bin 0 -> 292 bytes 5 files changed, 64 insertions(+) create mode 100644 mods/filter/LICENSE.txt create mode 100644 mods/filter/depends.txt create mode 100644 mods/filter/init.lua create mode 100644 mods/filter/textures/filter_filter.png create mode 100644 mods/filter/textures/filter_filter_top.png diff --git a/mods/filter/LICENSE.txt b/mods/filter/LICENSE.txt new file mode 100644 index 0000000..6f6a256 --- /dev/null +++ b/mods/filter/LICENSE.txt @@ -0,0 +1,16 @@ +License for Code +---------------- + +Copyright (C) 2016 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/filter/depends.txt b/mods/filter/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/filter/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/filter/init.lua b/mods/filter/init.lua new file mode 100644 index 0000000..5d789b7 --- /dev/null +++ b/mods/filter/init.lua @@ -0,0 +1,47 @@ +filter = {} +filter.materials = {} + +local filter_form = "size[8,6]" +local filter_form = filter_form..default.gui_colors +local filter_form = filter_form..default.gui_bg +local filter_form = filter_form.."list[current_name;main;3.5,0.3;1,1;]" +local filter_form = filter_form..default.itemslot_bg(3.5,0.3,1,1) +local filter_form = filter_form.."list[current_player;main;0,1.85;8,1;]" +local filter_form = filter_form..default.itemslot_bg(0,1.85,8,1) +local filter_form = filter_form.."list[current_player;main;0,3.08;8,3;8]" +local filter_form = filter_form..default.itemslot_bg(0,3.08,8,3) + +function filter.register_material(name, drops) + filter.materials[name] = drops +end + +filter.register_material("default:sand", {"default:stone_item", "default:diamond"}) + +minetest.register_node("filter:filter", { + description = "Filter", + tiles = {"filter_filter_top.png", "filter_filter.png"}, + groups = {crumbly=3}, + on_punch = function(pos, node, player, pointed_thing) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local item = inv:get_stack("main", 1) + print("[filter] item : " .. item:to_string()) + if item:get_count() == 1 then + if filter.materials[item:get_name()] then + inv:set_stack("main", 1, {name = filter.materials[item:get_name()][1]}) + else + meta:set_string("infotext", "[filter] This wont work...") + end + else + meta:set_string("infotext", "[filter] Put only one item in the filter!") + end + end, + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", filter_form) + meta:set_string("infotext", "Filter") + local inv = meta:get_inventory() + inv:set_size("main", 1) + end, +}) diff --git a/mods/filter/textures/filter_filter.png b/mods/filter/textures/filter_filter.png new file mode 100644 index 0000000000000000000000000000000000000000..fdd1d55f58589198a2e65f1dc4d2a32a9357d763 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sf114cXUX`+~o-cqxk|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zfu1goAs)xyUfU=Lw1xS=3q#J|`i}D@C7N$Jo#$NgaZ;OJ{q!zD!3=Is=77-JV|Ubz z?|-{@h<{9 literal 0 HcmV?d00001 diff --git a/mods/filter/textures/filter_filter_top.png b/mods/filter/textures/filter_filter_top.png new file mode 100644 index 0000000000000000000000000000000000000000..a2bb606885eec0ffee02f510016adcd8cc57ea3c GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&pIsNm!6aC$aRyY@m>2iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8afKr;B4q#NoHs47r#U1z0caKX__(&)o0p->@(HsM8#~Ejmc! zh^eE{zmPtTx*6>iQ-bE*2wBy|!0>LLHnZG~7#@MD*@nl~$6VVi=GLCQ_WG?e6N>lU zWp>Es)l`+LsAoz0b}`Q78Pl3GH7O168F(*1(1Co#nz=JObiQ6@ytDUr