From 9138ce81a9800e91aba38c5a49926d0ee3e7618f Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sun, 29 Nov 2015 00:34:51 +0000 Subject: [PATCH] Remove creative and crafting --- mods/creative/README.txt | 22 ----- mods/creative/depends.txt | 1 - mods/creative/init.lua | 177 ------------------------------------ mods/ctf_inventory/init.lua | 43 +++++++++ 4 files changed, 43 insertions(+), 200 deletions(-) delete mode 100644 mods/creative/README.txt delete mode 100644 mods/creative/depends.txt delete mode 100644 mods/creative/init.lua create mode 100644 mods/ctf_inventory/init.lua diff --git a/mods/creative/README.txt b/mods/creative/README.txt deleted file mode 100644 index 7d49b98..0000000 --- a/mods/creative/README.txt +++ /dev/null @@ -1,22 +0,0 @@ -Minetest 0.4 mod: creative -========================== - -Implements creative mode. - -Switch on by using the "creative_mode" setting. - -Registered items that -- have a description, and -- do not have the group not_in_creative_inventory -are added to the creative inventory. - -License of source code and media files: ---------------------------------------- -Copyright (C) 2012 Perttu Ahola (celeron55) - -This program is free software. It comes without any warranty, to -the extent permitted by applicable law. You can redistribute it -and/or modify it under the terms of the Do What The Fuck You Want -To Public License, Version 2, as published by Sam Hocevar. See -http://sam.zoy.org/wtfpl/COPYING for more details. - diff --git a/mods/creative/depends.txt b/mods/creative/depends.txt deleted file mode 100644 index 4ad96d5..0000000 --- a/mods/creative/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/creative/init.lua b/mods/creative/init.lua deleted file mode 100644 index 68d5180..0000000 --- a/mods/creative/init.lua +++ /dev/null @@ -1,177 +0,0 @@ --- minetest/creative/init.lua - -creative_inventory = {} -creative_inventory.creative_inventory_size = 0 - --- Create detached creative inventory after loading all mods -minetest.after(0, function() - local inv = minetest.create_detached_inventory("creative", { - allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) - if minetest.setting_getbool("creative_mode") then - return count - else - return 0 - end - end, - allow_put = function(inv, listname, index, stack, player) - return 0 - end, - allow_take = function(inv, listname, index, stack, player) - if minetest.setting_getbool("creative_mode") then - return -1 - else - return 0 - end - end, - on_move = function(inv, from_list, from_index, to_list, to_index, count, player) - end, - on_put = function(inv, listname, index, stack, player) - end, - on_take = function(inv, listname, index, stack, player) - --print(player:get_player_name().." takes item from creative inventory; listname="..dump(listname)..", index="..dump(index)..", stack="..dump(stack)) - if stack then - minetest.log("action", player:get_player_name().." takes "..dump(stack:get_name()).." from creative inventory") - --print("stack:get_name()="..dump(stack:get_name())..", stack:get_count()="..dump(stack:get_count())) - end - end, - }) - local creative_list = {} - for name,def in pairs(minetest.registered_items) do - if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) - and def.description and def.description ~= "" then - table.insert(creative_list, name) - end - end - table.sort(creative_list) - inv:set_size("main", #creative_list) - for _,itemstring in ipairs(creative_list) do - inv:add_item("main", ItemStack(itemstring)) - end - creative_inventory.creative_inventory_size = #creative_list - --print("creative inventory size: "..dump(creative_inventory.creative_inventory_size)) -end) - --- Create the trash field -local trash = minetest.create_detached_inventory("creative_trash", { - -- Allow the stack to be placed and remove it in on_put() - -- This allows the creative inventory to restore the stack - allow_put = function(inv, listname, index, stack, player) - if minetest.setting_getbool("creative_mode") then - return stack:get_count() - else - return 0 - end - end, - on_put = function(inv, listname, index, stack, player) - inv:set_stack(listname, index, "") - end, -}) -trash:set_size("main", 1) - - -creative_inventory.set_creative_formspec = function(player, start_i, pagenum) - pagenum = math.floor(pagenum) - local pagemax = math.floor((creative_inventory.creative_inventory_size-1) / (6*4) + 1) - player:set_inventory_formspec( - "size[13,7.5]".. - --"image[6,0.6;1,2;player.png]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - "list[current_player;main;5,3.5;8,1;]".. - "list[current_player;main;5,4.75;8,3;8]".. - "list[current_player;craft;8,0;3,3;]".. - "list[current_player;craftpreview;12,1;1,1;]".. - "image[11,1;1,1;gui_furnace_arrow_bg.png^[transformR270]".. - "list[detached:creative;main;0.3,0.5;4,6;"..tostring(start_i).."]".. - "label[2.0,6.55;"..tostring(pagenum).."/"..tostring(pagemax).."]".. - "button[0.3,6.5;1.6,1;creative_prev;<<]".. - "button[2.7,6.5;1.6,1;creative_next;>>]".. - "listring[current_player;main]".. - "listring[current_player;craft]".. - "listring[current_player;main]".. - "listring[detached:creative;main]".. - "label[5,1.5;Trash:]".. - "list[detached:creative_trash;main;5,2;1,1;]".. - default.get_hotbar_bg(5,3.5) - ) -end -minetest.register_on_joinplayer(function(player) - -- If in creative mode, modify player's inventory forms - if not minetest.setting_getbool("creative_mode") then - return - end - creative_inventory.set_creative_formspec(player, 0, 1) -end) -minetest.register_on_player_receive_fields(function(player, formname, fields) - if not minetest.setting_getbool("creative_mode") then - return - end - -- Figure out current page from formspec - local current_page = 0 - local formspec = player:get_inventory_formspec() - local start_i = string.match(formspec, "list%[detached:creative;main;[%d.]+,[%d.]+;[%d.]+,[%d.]+;(%d+)%]") - start_i = tonumber(start_i) or 0 - - if fields.creative_prev then - start_i = start_i - 4*6 - end - if fields.creative_next then - start_i = start_i + 4*6 - end - - if start_i < 0 then - start_i = start_i + 4*6 - end - if start_i >= creative_inventory.creative_inventory_size then - start_i = start_i - 4*6 - end - - if start_i < 0 or start_i >= creative_inventory.creative_inventory_size then - start_i = 0 - end - - creative_inventory.set_creative_formspec(player, start_i, start_i / (6*4) + 1) -end) - -if minetest.setting_getbool("creative_mode") then - local digtime = 0.5 - minetest.register_item(":", { - type = "none", - wield_image = "wieldhand.png", - wield_scale = {x=1,y=1,z=2.5}, - range = 10, - tool_capabilities = { - full_punch_interval = 0.5, - max_drop_level = 3, - groupcaps = { - crumbly = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - cracky = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - snappy = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - choppy = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - oddly_breakable_by_hand = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - }, - damage_groups = {fleshy = 10}, - } - }) - - minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) - return true - end) - - function minetest.handle_node_drops(pos, drops, digger) - if not digger or not digger:is_player() then - return - end - local inv = digger:get_inventory() - if inv then - for _,item in ipairs(drops) do - item = ItemStack(item):get_name() - if not inv:contains_item("main", item) then - inv:add_item("main", item) - end - end - end - end - -end diff --git a/mods/ctf_inventory/init.lua b/mods/ctf_inventory/init.lua new file mode 100644 index 0000000..0191857 --- /dev/null +++ b/mods/ctf_inventory/init.lua @@ -0,0 +1,43 @@ +local fs = "size[8,8.5]" .. + "bgcolor[#080808BB;true]" .. + "background[5,5;1,1;gui_formbg.png;true]" .. + "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .. + "list[current_player;main;0,4.25;8,1;]" .. + "list[current_player;main;0,5.5;8,3;8]" .. + "textlist[0,0;7.85,4;help;" + +local items = { + "Welcome to Capture the Flag!", + "* There is no crafting, look for stuff in chests.", + "* Your team color is displayed in the top left.", + " to talk with only your team, type: /t message", + "* If the match is getting boring, type /vote_next", + "* rubenwardy is the only admin or mod on this server.", + " Message him using /mail rubenwardy your message" +} +for i = 1, #items do + if i > 1 then + fs = fs .. "," + end + fs = fs .. minetest.formspec_escape(items[i]) +end + + --"list[current_player;craft;1.75,0.5;3,3;]" .. + --"list[current_player;craftpreview;5.75,1.5;1,1;]" .. + --"image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]" .. + --"listring[current_player;main]" .. + --"listring[current_player;craft]" .. +fs = fs .. + "]" .. + "image[0,4.25;1,1;gui_hb_bg.png]" .. + "image[1,4.25;1,1;gui_hb_bg.png]" .. + "image[2,4.25;1,1;gui_hb_bg.png]" .. + "image[3,4.25;1,1;gui_hb_bg.png]" .. + "image[4,4.25;1,1;gui_hb_bg.png]" .. + "image[5,4.25;1,1;gui_hb_bg.png]" .. + "image[6,4.25;1,1;gui_hb_bg.png]" .. + "image[7,4.25;1,1;gui_hb_bg.png]" + +minetest.register_on_joinplayer(function(player) + player:set_inventory_formspec(fs) +end)