From 0a14ab26c1b7528199a4c29dfe5ee21b0909403d Mon Sep 17 00:00:00 2001 From: jogag Date: Wed, 26 Aug 2015 17:21:57 +0200 Subject: [PATCH] Add mods: digiprinter, digiboard, digilines_weather_sensor, digilines_memory, digilines_crafting, homedecor_plastic --- digiboard/depends.txt | 2 + digiboard/init.lua | 53 ++++++ digiboard/textures/keyboard_bottom.png | Bin 0 -> 218 bytes digiboard/textures/keyboard_side.png | Bin 0 -> 209 bytes digiboard/textures/keyboard_top.png | Bin 0 -> 251 bytes digilines_crafting/init.lua | 64 ++++++++ digilines_memory/depends.txt | 1 + digilines_memory/init.lua | 104 ++++++++++++ .../textures/digilines_memory.png | Bin 0 -> 574 bytes digilines_weather_sensor/depends.txt | 2 + digilines_weather_sensor/init.lua | 64 ++++++++ .../textures/digilines_weather_sensor.png | Bin 0 -> 158 bytes digiprinter/depends.txt | 2 + digiprinter/init.lua | 154 ++++++++++++++++++ digiprinter/textures/digiprinter_b.png | Bin 0 -> 170 bytes digiprinter/textures/digiprinter_bt.png | Bin 0 -> 154 bytes digiprinter/textures/digiprinter_f.png | Bin 0 -> 166 bytes digiprinter/textures/digiprinter_inv.png | Bin 0 -> 2435 bytes digiprinter/textures/digiprinter_l.png | Bin 0 -> 183 bytes digiprinter/textures/digiprinter_r.png | Bin 0 -> 182 bytes digiprinter/textures/digiprinter_t.png | Bin 0 -> 204 bytes homedecor_plastic/init.lua | 79 +++++++++ .../textures/homedecor_oil_extract.png | Bin 0 -> 1966 bytes .../textures/homedecor_paraffin.png | Bin 0 -> 345 bytes .../textures/homedecor_plastic_sheeting.png | Bin 0 -> 293 bytes 25 files changed, 525 insertions(+) create mode 100644 digiboard/depends.txt create mode 100644 digiboard/init.lua create mode 100644 digiboard/textures/keyboard_bottom.png create mode 100644 digiboard/textures/keyboard_side.png create mode 100644 digiboard/textures/keyboard_top.png create mode 100644 digilines_crafting/init.lua create mode 100644 digilines_memory/depends.txt create mode 100644 digilines_memory/init.lua create mode 100644 digilines_memory/textures/digilines_memory.png create mode 100644 digilines_weather_sensor/depends.txt create mode 100644 digilines_weather_sensor/init.lua create mode 100644 digilines_weather_sensor/textures/digilines_weather_sensor.png create mode 100644 digiprinter/depends.txt create mode 100644 digiprinter/init.lua create mode 100644 digiprinter/textures/digiprinter_b.png create mode 100644 digiprinter/textures/digiprinter_bt.png create mode 100644 digiprinter/textures/digiprinter_f.png create mode 100644 digiprinter/textures/digiprinter_inv.png create mode 100644 digiprinter/textures/digiprinter_l.png create mode 100644 digiprinter/textures/digiprinter_r.png create mode 100644 digiprinter/textures/digiprinter_t.png create mode 100644 homedecor_plastic/init.lua create mode 100644 homedecor_plastic/textures/homedecor_oil_extract.png create mode 100644 homedecor_plastic/textures/homedecor_paraffin.png create mode 100644 homedecor_plastic/textures/homedecor_plastic_sheeting.png diff --git a/digiboard/depends.txt b/digiboard/depends.txt new file mode 100644 index 0000000..2cec86e --- /dev/null +++ b/digiboard/depends.txt @@ -0,0 +1,2 @@ +default +digilines diff --git a/digiboard/init.lua b/digiboard/init.lua new file mode 100644 index 0000000..8137796 --- /dev/null +++ b/digiboard/init.lua @@ -0,0 +1,53 @@ + + +-- Original Digiboard mod by bas080 +-- Cracked by jogag +-- Added features: settable channel, no more minetest.env, settable field caption (via digiline) + +minetest.register_node("digiboard:keyboard", { + description = "Digiboard", + tiles = {"keyboard_top.png", "keyboard_bottom.png", "keyboard_side.png", "keyboard_side.png", "keyboard_side.png", "keyboard_side.png"}, + walkable = true, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-4/8, -4/8, 0, 4/8, -3/8, 4/8}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-4/8, -4/8, 0, 4/8, -3/8, 4/8}, + }, + }, + digiline = { receptor = {}, + effector = { + action = function(pos, node, channel, msg) + local meta = minetest.get_meta(pos) + if channel == meta:get_string("channel") then + meta:set_string("formspec", "field[text;"..msg..";]") + end + end + }, + }, + groups = {choppy = 3, dig_immediate = 2}, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;]") + meta:set_string("infotext", "Keyboard") + meta:set_int("lines", 0) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.get_meta(pos) + local channel = meta:get_string("channel") + if fields.channel then + meta:set_string("channel") + meta:set_string("formspec", "field[text;Enter text;]") + elseif fields.text then + digiline:receptor_send(pos, digiline.rules.default, channel, text) + end + end, +}) diff --git a/digiboard/textures/keyboard_bottom.png b/digiboard/textures/keyboard_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..47155a581a4ea6e81cac5c6cf4dbda4cd63bff8c GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@&H$efR|bZ3A0MBzv@|8wJ?nvj zj3q&S!3+-1Zlr-YN#5=*3>~bp9w6lf9+AZi4BWyX%*Zfnjs#GUy~NYkmHjTeID@Ld zi+k6e0EHw=Tq8=H^K)}k^GX<;i&7IyQd1PlGfOfQ+&z5*!W;R-fr?Z;T^vIsE+=!e zGPSJ`pIWV367o;LdzVG7hML!PC{xWt~$(698O~ BI4l4F literal 0 HcmV?d00001 diff --git a/digiboard/textures/keyboard_side.png b/digiboard/textures/keyboard_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c5183f4fe667ef14e76775f72612a4a3647999fb GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwYU7SJH+9gSU2~a4`)5S3);_%z+8+i{na4&Hj$*IQ7P`+H}eV&ZM=ITY}YkF^AE(m|C{fkq?!37A8 w&6)gP+=V5zGV~zBoY1fL+4g;uHu5iEd}1VVWsZbl9MC2PPgg&ebxsLQ099B*NB{r; literal 0 HcmV?d00001 diff --git a/digiboard/textures/keyboard_top.png b/digiboard/textures/keyboard_top.png new file mode 100644 index 0000000000000000000000000000000000000000..3e20f9cc1573e06234f20702cc9d36c6fd76def2 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@o&cW^*HqnfA0MBzw6yyA`uk>@ zAaTZ$AirP+hi5m^K%69RcNc~ZR#^`qhqJ&VvY3H^TNs2H8D`Cq01C2~c>21s-(?qP zP>~a>J+%lZBw6AbQR1ARo12*a3)z4*}Q$iB}J6}h0 literal 0 HcmV?d00001 diff --git a/digilines_crafting/init.lua b/digilines_crafting/init.lua new file mode 100644 index 0000000..ff4c371 --- /dev/null +++ b/digilines_crafting/init.lua @@ -0,0 +1,64 @@ + +-- Created by jogag +-- Part of the Digiline Stuff pack +-- Mod: crafting recipes for all devices +-- Also adds recipes for RTC and Lightsensor + +------------------------------ +-- DIGILINE BUILTIN DEVICES -- +------------------------------ + +-- RTC +minetest.register_craft({ + output = "digilines_rtc:rtc 2", + recipe = { + { "default:steel_ingot" }, + { "mesecons_materials:silicon" }, + { "digilines:wire_std_00000000" }, + }, +}) + +-- Light sensor +minetest.register_craft({ + output = "digilines_lightsensor:lightsensor 2", + recipe = { + { "homedecor:plastic", "default:glass" }, + { "", "mesecons_materials:silicon" }, + { "", "digilines:wire_std_00000000" }, + }, +}) + +------------------------- +-- DIGILINE STUFF PACK -- +------------------------- + +-- Memory chip (16 spaces) +minetest.register_craft({ + output = "digilines_memory:memory_1", + recipe = { + { "mesecons_materials:silicon", "mesecons_materials:silicon", "mesecons_materials:silicon" }, + { "group:mesecon_conductor_craftable", "default:mese_crystal_fragment", "group:mesecon_conductor_craftable" }, + { "mesecons_materials:fiber", "digilines:wire_std_00000000", "mesecons_materials:fiber" }, + }, +}) + +-- Weather sensor +minetest.register_craft({ + output = "digilines_weather_sensor:sensor 2", + recipe = { + { "default:stick" }, + { "mesecons_materials:silicon" }, + { "digilines:wire_std_00000000" }, + }, +}) + +-- Digiprinter +minetest.register_craft({ + output = "digiprinter:printer", + recipe = { + { "homedecor:plastic_sheeting", "", "" }, + { "digilines:wire_std_00000000", "default:mese_crystal", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + }, +}) + diff --git a/digilines_memory/depends.txt b/digilines_memory/depends.txt new file mode 100644 index 0000000..da1d119 --- /dev/null +++ b/digilines_memory/depends.txt @@ -0,0 +1 @@ +digilines diff --git a/digilines_memory/init.lua b/digilines_memory/init.lua new file mode 100644 index 0000000..6e545bb --- /dev/null +++ b/digilines_memory/init.lua @@ -0,0 +1,104 @@ + +-- Created by jogag +-- Part of the Digiline Stuff pack +-- Mod: digiline memory chip +-- A memory chip you can use to store several strings +-- "SET
" to write +-- "GET
" to read +-- "ERASE" to delete all!!! xD + +local GET_CMD = "GET" +local SET_CMD = "SET" +local DEL_CMD = "ERASE" + +local OK_MSG = "OK" + +-- list with the various chip sizes +-- (put two equal chips in crafting grid to upgrade) +local MEMORY_CHIPS = { 16, 32, 64, 128, 256, 512, 1024 } + +-- all taken from digiline RTC mod +local chip_nodebox = +{ + type = "fixed", + fixed = { + { -8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }, -- bottom slab + + { -7/16, -7/16, -7/16, 7/16, -5/16, 7/16 }, + } +} + +local chip_selbox = +{ + type = "fixed", + fixed = {{ -8/16, -8/16, -8/16, 8/16, -3/16, 8/16 }} +} + +local get_chip_size = function(pos) + return MEMORY_CHIPS[tonumber(minetest.get_node(pos).name:split("_")[3])] +end + +local on_digiline_receive = function(pos, node, channel, msg) + local meta = minetest.get_meta(pos) + local data = minetest.deserialize(meta:get_string("data")) + -- ^^ xDDDDD + if channel == meta:get_string("channel") then + if msg == DEL_CMD then + meta:set_string("data", "return {}") + digiline:receptor_send(pos, digilines.rules.default, channel, OK_MSG) + return + end + + if msg:split(" ")[2] == nil then return end -- no arguments :/ + + cmd = msg:split(" ")[2] + addr = tonumber(msg:split(" ")[2]) + if addr == nil or addr < 1 or addr > get_chip_size(pos) then return end -- invalid address + + if cmd == GET_CMD then digiline:receptor_send(pos, digiline.rules.default, channel, data[addr]) + elseif cmd == SET_CMD and msg:split(" ")[3] ~= nil then + data[addr] = msg:sub(cmd:len() + tostring(addr):len() + 2, -1) -- its too complicated... + meta:set_string("data", minetest.serialize(data)) + digiline:receptor_send(pos, digilines.rules.default, channel, OK_MSG) + end + end +end + +for i, s in ipairs(MEMORY_CHIPS) do + minetest.register_node("digilines_memory:memory_"..i, { + description = "Digiline Memory Chip ("..s.." addresses)", + drawtype = "nodebox", + tiles = {"digilines_memory.png"}, + + paramtype = "light", + paramtype2 = "facedir", + groups = {dig_immediate=2}, + selection_box = chip_selbox, + node_box = chip_nodebox, + digiline = { + receptor = {}, + effector = { action = on_digiline_receive }, + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + meta:set_string("infotext", "Memory Chip ("..get_chip_size(pos).." addresses)") + meta:set_string("channel", "") + meta:set_string("data", "return {}") -- xD + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.channel then minetest.get_meta(pos):set_string("channel", fields.channel) end + end, + }) + + if i ~= 1 then + minetest.register_craft({ + type = "shapeless", + output = "digilines_memory:memory_"..i, + recipe = { + "digilines_memory:memory_"..(i - 1), + "digilines_memory:memory_"..(i - 1), + }, + }) + end +end diff --git a/digilines_memory/textures/digilines_memory.png b/digilines_memory/textures/digilines_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa9c3e6bfe49e07111bf4f4baab54c0bf7b6dad GIT binary patch literal 574 zcmV-E0>S->P)*Mt*Y*wo*f-sMU6~05!O)HK#UB;V8I7S z|HE!UL@^N5U=|d_UtpktpyC5{XSZkiS#=G1XPm`o^+sO>Mcs4HEp(-_EIU?KRTWiL z5#e7-RdI`h8(5;)5j3D)0SG}c&fsg0D%i+iBSTwu_%`(S@;nE?TEm6Q8;s5l5d(1? zGcV^Pal(97;RZq^F=bKn?&U{(8_4sVCBlhw2^X)NM^(9X{a)XqSHuV+eK$|vJi<4D zx6eP&mi{P0RkRpq*tvFx7uhbxSwwnH5JKmnE&lB`Nq7_&x!ASW9g-7y3rli85qPC3!am3PCE-Uo59o7&t;ucLK6TI Cax%RD literal 0 HcmV?d00001 diff --git a/digiprinter/depends.txt b/digiprinter/depends.txt new file mode 100644 index 0000000..d3d64c2 --- /dev/null +++ b/digiprinter/depends.txt @@ -0,0 +1,2 @@ +digilines +memorandum diff --git a/digiprinter/init.lua b/digiprinter/init.lua new file mode 100644 index 0000000..64423ef --- /dev/null +++ b/digiprinter/init.lua @@ -0,0 +1,154 @@ + +-- Created by jogag +-- Part of the Digiline Stuff pack +-- Mod: Digiprinter - a digiline-controlled printer +-- It prints paper via the Writable Paper (memorandum) mod +-- then it sends "OK" or "ERR_PAPER" or "ERR_SPACE" + +local OK_MSG = "OK" +local NO_PAPER_MSG = "ERR_PAPER" +local NO_SPACE_MSG = "ERR_SPACE" + +local PRINT_DELAY = 3 + +-- taken from pipeworks mod +local function facedir_to_dir(facedir) + --a table of possible dirs + return ({{x=0, y=0, z=1}, + {x=1, y=0, z=0}, + {x=0, y=0, z=-1}, + {x=-1, y=0, z=0}, + {x=0, y=-1, z=0}, + {x=0, y=1, z=0}}) + + --indexed into by a table of correlating facedirs + [({[0]=1, 2, 3, 4, + 5, 2, 6, 4, + 6, 2, 5, 4, + 1, 5, 3, 6, + 1, 6, 3, 5, + 1, 4, 3, 2}) + + --indexed into by the facedir in question + [facedir]] +end + +local print_paper = function(pos, node, msg) + local inv = minetest.get_meta(pos):get_inventory() + + local vel = facedir_to_dir(node.param2) + local front = { x = pos.x - vel.x, y = pos.y - vel.y, z = pos.z - vel.z } + if minetest.get_node(front).name ~= "air" then + -- search for the next block + vel = { x = vel.x * 2, y = vel.y * 2, z = vel.z * 2 } + front = { x = pos.x - vel.x, y = pos.y - vel.y, z = pos.z - vel.z } + end + + if inv:is_empty("paper") then digiline:receptor_send(pos, digiline.rules.default, channel, NO_PAPER_MSG) + elseif minetest.get_node(front).name ~= "air" then digiline:receptor_send(pos, digiline.rules.default, channel, NO_SPACE_MSG) + else + local paper = inv:get_stack("paper", 1) + paper:take_item() + inv:set_stack("paper", 1, paper) + + minetest.add_node(front, { + name = (msg == "" and "memorandum:letter_empty" or "memorandum:letter_written"), + param2 = node.param2 + }) + + local meta = minetest.get_meta(front) + meta:set_string("text", msg) + meta:set_string("signed", "Digiprinter") + meta:set_string("infotext", 'On this piece of paper is written: "'..msg..'" Printed with Digiprinter') -- xD + + digiline:receptor_send(pos, digiline.rules.default, channel, OK_MSG) + end + minetest.get_meta(pos):set_string("infotext", "Digiline Printer Idle") +end + +local on_digiline_receive = function(pos, node, channel, msg) + local meta = minetest.get_meta(pos) + if channel == meta:get_string("channel") and not meta:get_string("infotext"):find("Busy") then + meta:set_string("infotext", "Digiline Printer Busy") + minetest.after(PRINT_DELAY, print_paper, pos, node, msg) + end +end + +-- taken from computer mod xD +minetest.register_node("digiprinter:printer", { + description = "Digiline Printer", + inventory_image = "computer_printer_inv.png", + tiles = {"digiprinter_t.png","digiprinter_bt.png","digiprinter_l.png", + "digiprinter_r.png","digiprinter_b.png","digiprinter_f.png"}, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = {snappy=3}, + sound = default.node_sound_wood_defaults(), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375}, + {-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375}, + {-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375}, + {0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375}, + {-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375}, + {-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375}, + {-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5}, + {-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0} + }, + }, + digiline = { + receptor = {}, + effector = { + action = on_digiline_receive + }, + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("channel", "") + meta:set_string("infotext", "Digiline Printer Idle") + meta:set_string("formspec", "size[8,10]".. + ((default and default.gui_bg) or "").. + ((default and default.gui_bg_img) or "").. + ((default and default.gui_slots) or "").. + "label[0,0;Digiline Printer]".. + "label[3.5,2;Paper]".. + "list[current_name;paper;3.5,2.5;1,1;]".. + "field[2,3.5;5,5;channel;Channel;${channel}]".. + ((default and default.get_hotbar_bg) and default.get_hotbar_bg(0,6) or "").. + "list[current_player;main;0,6;8,4;]") + local inv = meta:get_inventory() + inv:set_size("paper", 1) + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.channel then minetest.get_meta(pos):set_string("channel", fields.channel) end + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then return 0 end + return (stack:get_name() == "default:paper" and stack:get_count() or 0) + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + return (minetest.get_meta(pos):get_string("infotext"):find("Busy") and stack:get_count() or 0) + end, + can_dig = function(pos, player) + return minetest.get_meta(pos):get_inventory():is_empty("paper") + end, +}) + +-- printer crafting: +-- +-------+ +-- | ? P ? | +-- | ? M ? | +-- | ? D ? | +-- +-------+ +minetest.register_craft({ + output = "digiprinter:printer", + recipe = { + { "homedecor", "default:paper", "" }, + { "", "default:mese_crystal", "" }, + { "", "digilines:wire_std_000000", "" }, + }, +}) + diff --git a/digiprinter/textures/digiprinter_b.png b/digiprinter/textures/digiprinter_b.png new file mode 100644 index 0000000000000000000000000000000000000000..a3bc6b1478f0efb2e13bc9df4b5d9c4d1738cc1b GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJLQfaRkch*{2@ zEPwc`+PrF5_>jTP#7;1B3xM`E(&ihYefw-K>R6&Lm&QgtM TGtYkpTF&6<>gTe~DWM4f0XIE9 literal 0 HcmV?d00001 diff --git a/digiprinter/textures/digiprinter_bt.png b/digiprinter/textures/digiprinter_bt.png new file mode 100644 index 0000000000000000000000000000000000000000..6e03ece9d1427acbd924856ccd38270c1f436143 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@o&cW^S0D`p*{P|YKi}YbEhGfw zFqQ=Q1v5B2yO9Ru*m$})hDd}bCnyNFFfp#=xfWo+p>Tkseim1%j<2iuO|DSkZ=%b7 uXeTlk8cHbeu&J<32(1-;_3YP59v%ic77LASZ69^ Pw3xxu)z4*}Q$iB}q?S9} literal 0 HcmV?d00001 diff --git a/digiprinter/textures/digiprinter_inv.png b/digiprinter/textures/digiprinter_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..064d996e73aea72f1b5369cefb90594c72a989ef GIT binary patch literal 2435 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 Q=bzsT*2%+>XHU)iA9fHIC;$Ke literal 0 HcmV?d00001 diff --git a/digiprinter/textures/digiprinter_l.png b/digiprinter/textures/digiprinter_l.png new file mode 100644 index 0000000000000000000000000000000000000000..94be11e8f73835f599cee5d0aca47c1c21846ef3 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJI!_nJkch)?r+V`>DDbeZoWJ+^ z!Ow#Iy|Ftsv;`=+F52gLZ=K3zp{`<}T800ZcT>b_*Cd3QPMHUSqQpXJSA z6Pcu9gtLRR4ZevjxX-<1Z`0N4(1z?J-%aoLConZXWXa>a@SU|N@tHe|-tMR;Uzt>2 f+i55K`e|T2K`43Y``R}LL8g1U`njxgN@xNA6sbiW literal 0 HcmV?d00001 diff --git a/digiprinter/textures/digiprinter_r.png b/digiprinter/textures/digiprinter_r.png new file mode 100644 index 0000000000000000000000000000000000000000..bd25496836d377e3a407d4d661165a00fcdfa5cb GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJT2B|pkch)?r+RZ8P~dS%w*Ng( zeV%^Bo3dbWE?R{MgM_g+UK%|%=) zg5hf}?^87RF2-?~`_8^5Cl#aJNt`Zeu?rlTC$Dal%YRVLlx_QSjpvQ12U^P<;x70< eSa{y^Z!Z6p2gyrw0(NJC4EJ>Pb6Mw<&;$U`UqXHW literal 0 HcmV?d00001 diff --git a/digiprinter/textures/digiprinter_t.png b/digiprinter/textures/digiprinter_t.png new file mode 100644 index 0000000000000000000000000000000000000000..5fe417409cd46977ce36e9bc19e568aaa31e0244 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ$(}BbArXg@6BKy<1$St&m6S7d zF+O_qNF=dH#w3C7hkts{%Z6{)!VI=;+tjpK^XQE;Ql$qj6f#)(^0H^J{E?4fpCHOQ z#p=PMW_FDk?-U)jF|U}Y!0yTsFo%1^MBdH8!4JQj(CKJ%WhtP zZgb5Zu3#?M@_s|oEK7#?Wa0il7ha3^GzA)LVqlPbFt1;&b-oJFc?_PeelF{r5}E+w CpiG+p literal 0 HcmV?d00001 diff --git a/homedecor_plastic/init.lua b/homedecor_plastic/init.lua new file mode 100644 index 0000000..8071072 --- /dev/null +++ b/homedecor_plastic/init.lua @@ -0,0 +1,79 @@ + +-- Created by jogag +-- Part of the Digiline Stuff pack +-- Mod: Plastic from homedecor, if homedecor is not installed :) +-- + Also checks for pipeworks! + +-- Texture license: from VanessaE, WTFPL + +if not minetest.get_modpath("homedecor") and not minetest.get_modpath("pipeworks") then + + minetest.register_craftitem(":homedecor:oil_extract", { + description = "Oil extract", + inventory_image = "homedecor_oil_extract.png", + }) + + minetest.register_craftitem(":homedecor:paraffin", { + description = "Unprocessed paraffin", + inventory_image = "homedecor_paraffin.png", + }) + + minetest.register_alias("homedecor:plastic_base", "homedecor:paraffin") + + minetest.register_craftitem(":homedecor:plastic_sheeting", { + description = "Plastic sheet", + inventory_image = "homedecor_plastic_sheeting.png", + }) + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:oil_extract 6", + recipe = { "default:junglegrass", + "default:junglegrass", + "default:junglegrass" + } + }) + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:oil_extract 3", + recipe = { "default:dry_shrub", + "default:dry_shrub", + "default:dry_shrub" + }, + }) + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:oil_extract 4", + recipe = { "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves" + } + }) + + minetest.register_craft({ + type = "cooking", + output = "homedecor:paraffin", + recipe = "homedecor:oil_extract", + }) + + minetest.register_craft({ + type = "fuel", + recipe = "homedecor:paraffin", + burntime = 30, + }) + + minetest.register_craft({ + type = "fuel", + recipe = "homedecor:plastic_sheeting", + burntime = 30, + }) + + minetest.register_alias("pipeworks:oil_extract", "homedecor:oil_extract") + minetest.register_alias("pipeworks:paraffin", "homedecor:paraffin") + minetest.register_alias("pipeworks:plastic_sheeting", "homedecor:plastic_sheeting") +end diff --git a/homedecor_plastic/textures/homedecor_oil_extract.png b/homedecor_plastic/textures/homedecor_oil_extract.png new file mode 100644 index 0000000000000000000000000000000000000000..e34623d0551bbf2334f46393b2a66ade0ca7b8b6 GIT binary patch literal 1966 zcmV;f2T}NmP))Rd!KV>=4LXXt)b124^d+!s8kw|Fe7L~6^YPd(_)Klv4VXQ`XDIycx03ad|5pJ~IZ~(kls0c)4hflp3Y5<-){$j&g zI$(?)H74_wm_W=RqMdB*SB4sZI7+_koVm-nl~8A5IOkxQp{kFcn4SCZPy#SLJ+mK# zuUhLu=I+NbGmNz$qA~CFdqW4nGsjLgiReh+%)avK7g~^IgA79iV*2EX*}2Du3IJow zA#3Sq5I7XE-{)_@#(;=e6i1(*ed)kZ05Cm0vp-G!BgPo?u6}PQ7-L|vt#OQ?-{15A zJag=1lMR2#F!lw3U3K-l!XaY;M6vhy%-nZ3Hv?2Z4d83W7#L&MOniu_%mM~*`1#qF zKC>wSc>3wty#SuDhTxomF(xm321t^!yr2k$@0>b)W@1wTFg-mpN=)}M(=KKP5ko|f zrfJvZz3)G%d`AEPQS439^xK;X0AuKmg8J6-nz7$6MJ};`RrPZxX6KG<3IL8hd+I|4 z^^GAg8*uJS*H1R9YJ!5gSO8#5LHFfj*B5{%pPFHx%Ga4`R}ffO7a|B7utCtdj0<7I z23!~d!~<81s`@b(hL2TUGFJ+KW14b~j|PnfTsVqwWCSh@!N!8f0LU1iqEOL6;-Sm} z25^{(kJJ)?Q>V{Ngrkio!o~=~umNjr*6bM6+47|5Y9LRfa-k03>O;&l$7R zI+u$WRWC6rh@)tmPyB6l41s+`%rZ0R8jl=^Y4zkNXMj%<5Of?wmE{GMoeL23CUmy2 z!P{NL1oa9+c2ChMR`F0#hzfj?bXw;CwiD4!wF3aaM_0fYboB+|72ao#l6ZLUb7wP$ zeJW+=p`bujchnJp-93V}Ce?i+`AQ3*inNm%YO(dLHq1orG=PZql%3CdeJhu$0-B}6 zK1q;75yYomPOjWfcrP$jwK+XKGg=!4oH~7GLcBLcH5Y~sLEzx5fwNg5#B5-#0W(0v zD7OMc01<)rf;9CINf1RTk|ajE9bg z7EQ@CK!gBD=UyU0v)QB|4C}KCT)w>63sf04@lS6Y0Pq6>8HJ7j2%!l3$GH~u{<5eps>oYjjm@zqOr9pf#>1mvib%4#NfwJP zPZ)e+%=#VRlNOX9PL7g<0q_A)q;_`)qPX!U# zSv{nT;*Bx|Y8aR_c*mke6>T6Q2U`i>#6!_T=Ykt5RCo;UgIhoODtluh+q2gXSvwWv rlxFN&(J)=jtZ0kTh2#0x-pREfDC$N*K|~Z4L`Bdur1ORjbfHC|ln#V!@?U;3x!wNy#c})~ zE(_bXeKbvD7eygNnx@ui;WSOQ%F=b6kgKYavMfJCuxW(DFvvKLI`@6AApr6`--jrR zcM2#(Fwe8B>nh8#Xb4Vl@dE5aRDor>Biy!4LvRA1u4}UkiK1v9qKYjXAOeCDfMyRk zNRmX+q>j00000NkvXXu0mjfHCcNh literal 0 HcmV?d00001